How to design 3D objects using a virtual 3D grid and hand-drawn sketches

A 3D grid-based method for designing 3D objects with curved edges addresses the complexity of existing methods by allowing intuitive deformation of cubes to fit user-drawn curves, facilitating quick and versatile shape generation suitable for augmented and virtual reality applications.

JP7870611B2Active Publication Date: 2026-06-05DASSAULT SYSTEMES SA

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
DASSAULT SYSTEMES SA
Filing Date
2021-12-10
Publication Date
2026-06-05

Smart Images

  • Figure 0007870611000001
    Figure 0007870611000001
  • Figure 0007870611000002
    Figure 0007870611000002
  • Figure 0007870611000003
    Figure 0007870611000003
Patent Text Reader

Abstract

To design a 3D object in a scene.SOLUTION: A computer implemented method comprises the steps of: providing a 3D grid of cubes in a scene, the 3D grid of cubes controlling a subdivision surface, the subdivision surface modeling the 3D object; receiving a user stroke of a curve on at least one external face of at least a cube of the grid of cubes; determining a first set of cubes which intersect with the curve on the external face, a second set of cubes which is adjacent to the first set of cubes, perpendicularly to the external face, and a third set of cubes, called intersected cubes, comprising the first set of cubes and the second set of cubes; for each intersected cube, deforming the intersected cube by moving at least one vertex of the intersected cube so as to fit the curve, thereby deforming the subdivision surface.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of 3D content generation. The present invention relates to a method for designing 3D objects by using a virtual 3D grid and a freehand sketch. The present invention particularly relates to the generation of 3D objects in an immersive environment (augmented reality or virtual reality), and in particular, is well adapted to augmented reality, but may also be applied to the generation of 3D objects using standard devices such as desktops, laptops, or mobile devices.

Background Art

[0002] In the field of 3D content generation, the appearance of the video game "Minecraft" has made it possible to intuitively generate 3D objects without any prior knowledge of computer-aided design. In this game, 3D objects are composed of an assembly of cubes based on volume elements (voxels). The user is placed in a virtual world and can add cubes and generate their own structures by adding textures to the cubes.

[0003] In a variant called "Minecraft Earth" suitable for mobile devices having a camera (mobile phone, tablet), the user can generate 3D objects in augmented reality, that is, using reality as a context. The user can change the orientation of the object, which facilitates the generation process.

[0004] However, rendering those objects is very cubic, even when using very small cubes. Therefore, it may not be suitable for generating objects with curved shapes. In fact, most objects in daily life do not have sharp edges, but rather curved edges.

[0005] The xShape application, which runs on Dassault Systèmes' 3DEXPERIENCE platform, is intended for a wider range of advanced users. Starting with very simple shapes, such as a cube, users control the shape using intuitive tools, such as dragging on control points located at edges, surfaces, or vertices.

[0006] To avoid manipulating edges, surfaces, or vertices one by one, the application provides a feature of interest called "Align Cage Points," which uses curves to modify existing volumes. The user sketches a curve around a 3D object, and the shape of the 3D object is modified according to the curve.

[0007] The resulting shape is flat and editable. However, only trained designers can use such a complex application. In addition, several steps need to be implemented according to the user experience, and the sequence of steps has some interruptions even for experienced users.

[0008] In fact, modifying a volume with a curve using this paradigm is - To generate volume, -The following is how to generate a curve: Selecting a plane, Generating points on a plane, Editing points on a plane to generate a curve that closely matches the user's intent, - Selecting the portion of the volume affected by the curve, It is accompanied by.

[0009] Ultimately, the volume deforms according to the curve, but the result may not be close to the user's original intention, often requiring further tweaking. [Overview of the Initiative] [Problems that the invention aims to solve]

[0010] Therefore, there is a need to acquire a computer-aided method for designing 3D objects with curved edges that is intuitive for most users and allows for the generation of new shapes as quickly as possible. [Means for solving the problem]

[0011] The object of the present invention is a computer-aided method for designing 3D objects in a scene, a) A step of creating a 3D grid of cubes in the scene, wherein the 3D grid of cubes controls subdivision surfaces, and the subdivision surfaces model 3D objects. b) A step of receiving a user stroke of a curve on at least one outer surface of at least one cube of a cubic grid, c) A step of determining a first set of cubes that intersect a curve on their outer surface, a second set of cubes perpendicular to the outer surface and adjacent to the first set of cubes, and a third set of cubes referred to as intersecting cubes, which includes the first set of cubes and the second set of cubes. d) For each intersecting cube, the step of deforming the intersecting cube by moving at least one vertex of the intersecting cube to fit the curve, thereby deforming the subdivision surface, This includes methods performed by computers.

[0012] Conveniently, the method is executed after step c). This includes step c'), and step c') is, - A step of calculating the number of cubes in the 3D grid on both sides of the intersecting cubes in the outer plane, - The step of removing the set of cubes containing the smallest cube from the scene, Includes.

[0013] Advantageously, step d) includes a step of filtering the vertices of the intersecting cubes so as to move only the vertices that are not shared with the vertices of the non-intersecting cubes.

[0014] Advantageously, step d) includes a step of propagating a curve on a second set of cubes and moving the vertices of the second set of cubes to fit the propagated curve.

[0015] Advantageously, the vertices are moved by applying the orthogonal projection of the vertices on the curve.

[0016] Advantageously, the method - calculating the minimum distance between each vertex and the curve, and - correcting the position of one of the vertices so as to have the continuity of the subdivision surface when the minimum distance to the curve is equal for at least two vertices. including.

[0017] Advantageously, step a) includes a step of detecting user interaction, and the step of detecting user interaction includes continuously adding or removing the cubes of the first set of cubes and / or the second set of cubes by hovering on the 3D object and holding a pointing element. including.

[0018] Advantageously, the scene is located in an immersive environment.

[0019] Advantageously, the subdivision surface is calculated by using the Catmull-Clark scheme.

[0020] Advantageously, the 3D grid of cubes and the subdivision surface are superimposed, and the 3D grid is displayed partially transparently.

[0021] Advantageously, the method includes the step of receiving user input, which includes drawing lines within a scene, and the design of the 3D object is completed by calculating the symmetry of the subdivision surface with respect to the lines.

[0022] The present invention also relates to a computer program product including computer-executable instructions for causing a computer system to execute the method described above.

[0023] The present invention also relates to a non-transitory computer-readable data storage medium including computer-executable instructions for causing a computer system to execute the method described above.

[0024] The present invention also relates to a computer system including a processor coupled to a memory, the memory storing computer-executable instructions for causing the computer system to execute the method described above.

[0025] Additional features and advantages of the present invention will become apparent from the following description when used in conjunction with the accompanying drawings.

Brief Description of the Drawings

[0026] [Figure 1] Shows different steps of the method according to the present invention. [Figure 2] Shows different steps of the method according to the present invention. [Figure 3] Shows different steps of the method according to the present invention. [Figure 4] Shows different steps of the method according to the present invention. [Figure 5] Shows different steps of the method according to the present invention. [Figure 6] Shows different steps of the method according to the present invention. [Figure 7] Shows different steps of the method according to the present invention. [Figure 8] Shows different steps of the method according to the present invention. [Figure 9] Shows different steps of the method according to the present invention. [Figure 10] Different steps of the method according to the present invention are shown. [Figure 11] Different steps of the method according to the present invention are shown. [Figure 12] Different steps of the method according to the present invention are shown. [Figure 13] Different steps of the method according to the present invention are shown. [Figure 14] Different steps of the method according to the present invention are shown. [Figure 15] Different steps of the method according to the present invention are shown. [Figure 16] Different steps of the method according to the present invention are shown. [Figure 17] Different steps of the method according to the present invention are shown. [Figure 18] The steps for processing matching vertices are shown. [Figure 19] The steps for processing matching vertices are shown. [Figure 20] The steps for processing matching vertices are shown. [Figure 21] The steps for processing matching vertices are shown. [Figure 22] The design of an object according to the present invention is shown. [Figure 23] The design of an object according to the present invention is shown. [Figure 24] The design of an object according to the present invention is shown. [Figure 25] The design of an object according to the present invention is shown. [Figure 26] The design of an object according to the present invention is shown. [Figure 27] The design of an object according to the present invention is shown. [Figure 28] The design of an object according to the present invention is shown. [Figure 29] The design of an object according to the present invention is shown. [Figure 30]The design of an object according to the present invention is shown. [Figure 31] The design of an object according to the present invention is shown. [Figure 32] The design of an object according to the present invention is shown. [Figure 33] The design of an object according to the present invention is shown. [Figure 34] The design of an object according to the present invention is shown. [Figure 35] The design of an object according to the present invention is shown. [Figure 36] The design of an object according to the present invention is shown. [Figure 37] The design of an object according to the present invention is shown. [Figure 38] The design of an object according to the present invention is shown. [Figure 39] The design of an object according to the present invention is shown. [Figure 40] The design of an object according to the present invention is shown. [Figure 41] Block diagrams of appropriate computer systems for carrying out methods according to different embodiments of the present invention are shown. [Figure 42] Block diagrams of appropriate computer systems for carrying out methods according to different embodiments of the present invention are shown. [Modes for carrying out the invention]

[0027] The method of the present invention is disclosed in connection with Figures 1-17.

[0028] In the first step a) of the method of the present invention, a 3D grid of cubes CB is provided in the scene, as shown in Figure 1. Each cube corresponds to a voxel. The user can lay out the entire 3D grid of cubes CB in the scene and anchor it in the scene. The size of each cube, along with the dimensions of the 3D grid of cubes CB, may be initially set by the user. Default dimensions for the grid and default dimensions for each cube may also be used.

[0029] The 3D grid of the cube CB controls the subdivision surfaces used to model 3D objects. The 3D grid of the cube CB is a control cage for the subdivision surfaces.

[0030] The user can start from a 3D grid of cubes (CB) and add or remove single cubes or sets of cubes. To do this, the user holds a pointing element that hovers over the 3D grid of cubes (CB) and continuously adds or removes cubes.

[0031] When a pointing element is held, the user can remove only the cubes intersected by the cursor (in one layer in depth). The user can also remove cubes in "columns" (a column is a series of cubes) that are aligned perpendicularly to the outer surface of the cube the cursor is directed to (in several layers in depth).

[0032] Deleting cubes in one or more layers may be defined by the user in the application's context menu.

[0033] Alternatively, instead of starting with the entire grid, the user can start with an "empty grid," that is, a 2D array corresponding to the footprint of the 3D grid in the scene. The size of each square, along with the dimensions of the 2D array, may be initially set by the user. Default dimensions may also be used. The user then adds cubes by continuously hovering over the cube grid and holding down the pointing element.

[0034] In another alternative example, the 3D grid may simply be partially full, containing a coarse approximation of the 3D objects (obtained in a previous step, such as importing 3D voxel objects or rebuilding the 3D scene, by using a visual algorithm or machine learning).

[0035] Therefore, generating an assembly of cubes is straightforward, whether starting from a full grid or an empty grid. Cubes are generated sequentially in most popular programs, making it very user-friendly. Cubes can be aligned within the grid, simply added as neighborhoods to existing cubes, or added directly onto a grid displayed on the ground. This helps in generating complete cubes around a desired shape.

[0036] In a preferred embodiment, the 3D grid of the cube CB and the subdivision surfaces controlled by the 3D grid of the cube CB are superimposed. The 3D grid of the cube CB is displayed partially transparently so that the user can easily control the 3D grid and subdivision surfaces of the cube CB.

[0037] After that step, the subdivided surface used to model the 3D object is a coarse volume that is rather cubic, with sharp edges.

[0038] Figure 1 shows the 3D grid of a cube CB or its sub-elements.

[0039] In the second step b) of the method, the user sketches the curve CR on at least one outer surface of at least one cube in the grid of cube CB. The main idea of ​​the method is to sculpt a deformable cube (voxel) which is used as a control cage for the subdivided surface.

[0040] The cubic 3D grid has more bounding volume than it actually contains. It also acts as a scaffold, a drawing support that allows the user to draw directly, enabling fast and accurate 3D stroke placement.

[0041] User strokes may be beautified and flattened to generate a clean 3D curve CR. Beautification may be performed by interpolating the curve according to techniques known to those skilled in the art.

[0042] The subdivision surface is calculated each time the curve CR is drawn. In step c) of the method, a first set of cubes intersecting the curve CR on the outer surface is determined. To determine the outer surface, it may be determined among different faces of the grid closest to the screen plane, for example, by calculating the dot product of normals to the plane.

[0043] A second set of cubes adjacent to the first set of cubes perpendicular to the outer surface, i.e., continuously connected to the first set of cubes perpendicular to the outer surface, is also determined. With respect to the outer plane, the first set of cubes can be thought of as being defined by a curve following the first layer, and the second set of cubes as being defined by a curve following deeper layers. The second set of cubes may contain one or more layers in the depth direction.

[0044] The third set of cubes, referred to as intersecting cube IC, includes the first set of cubes and the second set of cubes, as shown in Figure 2.

[0045] Each of the intersecting cubes IC has its own coordinates within the scene, and thus the position of its vertices can be easily determined. The position of the vertices changes to conform to the curve CR, which deforms the subdivision surface (step d).

[0046] Subdivision surfaces conform to the last generated curve as soon as they are drawn when the stylus or finger is lifted. This method of designing 3D objects is similar to the situation in clay modeling. The ideal approach is actually to virtually change the shape of 3D objects, drawing inspiration from clay modeling (widely used in the automotive industry) or woodworking techniques. Those techniques are widely used in the automotive industry to change the shape of 3D models.

[0047] The determination of which vertex VT will move is determined by the position of the intersecting cube IC relative to the 3D grid of cube CB.

[0048] The curve CR may be drawn on cubes located around the 3D grid of cube CB. As shown in Figure 3, in the case where the intersecting cube IC is not located around the 3D grid of cube CB, the set of cubes with the minimum number of cubes LN is removed from the 3D scene, and the set of cubes with the maximum number of cubes HN is retained for object design. Separation may be implemented by using nearest neighbor search computation.

[0049] Removing a set of cubes with the minimum number of cubes LN from the scene also gives the impression of sculpting. Figure 4 shows a 3D grid of cubes CB that do not have the minimum part. This automated method of "chipping away" in volume is intended to speed up the sculpting process without any interruption and to encourage the user to gradually refine the model. Alternatively, after the curve CR is drawn (e.g., using a menu, gesture, or partial "Undo" command), it is possible to let the user choose which parts to keep.

[0050] Once the minimum portion is removed, the intersecting cube IC can be deformed to fit the curve CR. Figure 5 shows all the vertices VT of the intersecting cube IC. Note that all of them need to be moved. Therefore, step d) includes filtering the vertices VT of the intersecting cube IC so that only the vertices VT that are not shared with the vertices of the non-intersecting cube NIC are moved. As shown in Figures 6 and 7, the vertices VTN of the intersecting cube IC that are shared with the non-intersecting cube NIC should be in the grid and need to be removed from the list of vertices to be moved. Only the vertices represented by circles need to be moved, and the vertices represented by horizontal lines need to be kept.

[0051] The deformation of each intersecting cube IC is performed by calculating the nearest corresponding point on the sketched curve for each vertex belonging to the outer surface. As shown in Figures 8 and 9, vertex VT is moved by applying a orthogonal projection of vertex VT onto the curve CR. In particular, when the nearest corresponding point on the sketched curve is one of the extremities of the curve CR, the vertex can be moved to one of the extremities of the curve CR.

[0052] The resulting shifted vertices of the outer surface are shown in Figures 9 and 10.

[0053] Next, as shown in Figure 11, the curve propagates over a second set of cubes AC. The propagation involves duplicating the curve CR on adjacent faces directly adjacent to the cube that has just been moved. The vertices of the second set of cubes AC also move to fit the propagated vertices. The displacement is performed in the same manner as for the vertices of the outer faces.

[0054] As shown in Figures 12-16, the vertices move and the curves propagate until all the cubes in the column are deformed. The term "column" refers to a set of individual cubes aligned perpendicular to the outer faces of the first set of cubes.

[0055] Since the subdivided surfaces are controlled by a 3D grid of cubes, the shape of the subdivided surfaces can be modified by deforming the cubes.

[0056] In a preferred embodiment, the subdivision surfaces for modeling the 3D object are computed using the Catmull-Clark scheme. The Catmull-Clark scheme is applied to the control mesh resulting from the deformation of a cubic 3D grid. All edges are initialized as sharp edges, but edges to which moved vertices belong are redefined as flat edges. Other approximation schemes, such as the Doo-Sabin scheme, may be used.

[0057] The subdivided surface has a completely new resulting topology, is polygon-free, continuous, and editable. Therefore, the subdivided surface may be used as is for further editing, or it may be exported to other CAD tools.

[0058] Cubes and deformed cubes have a highly structured geometry with their parallel faces and angles, and therefore the resulting subfaces are easily machinable, that is, they can be produced by either additive manufacturing or subtractive manufacturing.

[0059] The modeled 3D objects are versatile enough to have a mix of sharp and flat edges, enabling not only the generation of organic shapes but also surfaces similar to those produced by industrial designers.

[0060] Figures 18 to 21 illustrate the steps for handling coincident vertices. In fact, some vertices (VT1, VT2) may be projected onto the same point on the curve. This situation can occur, for example, at the end of the curve CR, as shown in Figure 18.

[0061] In the enlarged windows of Figures 19 and 20, it can be seen that moving two vertices of a cube to the same point opens up a subdivision surface.

[0062] Therefore, if the minimum distance to the curve CR is equal for at least two vertices (VT1, VT2), the following substep is implemented. - A step to calculate the minimum distance between each vertex (VT1, VT2) and the curve CR. - A step of correcting the position of one of the aforementioned vertices (VT1, VT2) so that the subdivided surface has continuity.

[0063] The continuity of the subdivision surface may be obtained, for example, by correcting the position of one of the coincident vertices (VT1, VT2) along the vertical direction, i.e., the position of the vertices in the plane, as shown in Figure 21. It is also possible to ensure that the two vertices are at the minimum distance from each other.

[0064] Alternatively, to avoid matching vertices, we can ensure that vertices do not move beyond a certain value, for example, beyond half the edge of the cube. This solution is more stable because it avoids large vertex displacements, but it does not necessarily preserve the shape that conforms to the curve.

[0065] In another embodiment, the user can successively add new cubes, which deform the subdivision surface. The user hovers over the 3D object and holds a pointing element. When a cube is added to a deformed cube, a new cube with sharp edges is added and adapts to the next deformation. This allows adding material to redo it and get closer to the desired 3D shape, as a sculptor would. This may also be done to remove cubes.

[0066] The method of the present invention may be implemented in either a virtual reality environment (virtual reality VR) or augmented reality (augmented reality AR). In a preferred embodiment, a tablet-based AR solution may be used instead of VR for the following reasons: - Non-isolating characteristics of AR Users can still interact with the environment, design objects, and use the environment for context and inspiration. Other users can see the 3D objects being designed with the designer by viewing the designer's screen, or even by viewing them on their own screen (if the application was generated with a multi-user AR experience in mind, all participants will have an augmented view of their own scene). - Compared to virtual reality, worries are reduced, -AR applications are now widespread, -The latest generation of frameworks, such as Apple's "ARKit" or Google's "ARCore," make AR experiences easier on pocket-sized phones or tablets, instead of requiring the use of cumbersome VR hardware. - Using the pen and tablet feels natural, and by constraining the pen's movement to the tablet's surface, it provides precision through haptic feedback.

[0067] Both AR and VR allow users to walk around a shape-shifting model from various angles, thus separating 3D modeling from 3D scene navigation interactions. Instead of having to deal with how to adjust the virtual camera's viewpoint to find the best angle, users can focus on generating the 3D model. In most cases, displaying the model at its actual size makes the modeling process faster and easier.

[0068] Figures 22 to 40 show the design of an object (armchair) in AR using the method according to the present invention.

[0069] Figure 22: A 3D grid of cubes is created within the scene. The cubic grid and the subdivision surfaces controlled by the 3D grid of cubes are superimposed.

[0070] Figures 23 and 24: The user selects the "Cut" command and sketches strokes along the vertical direction for all adjacent cubes, which removes the portion with the minimum number of cubes from the scene (removal of a column of cubes).

[0071] Figures 25 and 26: The user repeats the "cut" command on another set of cubes.

[0072] Figures 27-30: The user selects the "Remove Cubes" command, sketches a curve on the cubes, and then removes only the cubes that intersect with the curve.

[0073] Figures 31-34: The user selects the "Cut" command on the other set of cubes to design the legs (sharp edges) of an armchair.

[0074] Figure 35: The user selects the "Transform" command to design the backrest (flat edge) of an armchair. The user sketches curved strokes on a first set of cubes that intersect with the curves, which serve as drawing aids.

[0075] Figure 36: Along with the first set of cubes, a second set of cubes adjacent to the first set of cubes perpendicular to the outer surface deforms to conform to the curve. Thus, the subdivided surface deforms.

[0076] Figure 37: The deformation is repeated to design the armrest (sharp edge).

[0077] Figures 38 and 39: The user selects the “Symmetry” command. The design of the 3D object is completed by the user drawing lines in the scene and then calculating the symmetry of the subdivision surfaces with respect to the lines. Since the index defining each cube is known, finding its symmetrical cube is straightforward. Each deformed cube should have exactly the same deformed symmetry. To do this, - Correct the position of the vertices of the symmetrical cube, - Correct the list of vertices included in flat edges, - It is necessary to calculate the number of existing parts in the scene. Therefore, if the calculation of the symmetry of the subdivision surface adds a second part to the scene, an error message will be sent.

[0078] Figure 40: The design of the 3D object is complete.

[0079] The embodiments described above ensure that the user experience is met without any interruption, and that multiple clicks are avoided. New shapes can be generated quickly.

[0080] The method of the present invention may be executed by a appropriately programmed general-purpose computer, which may include a computer network, that stores a suitable program in a non-volatile format on a computer-readable medium such as a hard disk, solid-state disk, or CD-ROM, and executes the aforementioned program using its microprocessor(s) and memory.

[0081] The method of the present invention may be performed by a well-programmed general-purpose computer or computer system, which may include a computer network, that stores a suitable program in a non-volatile format on a computer-readable medium such as a hard disk, solid-state disk, or CD-ROM, and executes the aforementioned program using its microprocessor(s) and memory.

[0082] A computer suitable for carrying out a method according to an exemplary embodiment of the present invention is described with reference to Figure 41. In Figure 24, the computer includes a central processing unit (CPU) P that carries out the steps of the method described above and runs an executable program, i.e., a set of computer-readable instructions stored in memory devices such as RAM MEM1, ROM MEM2, or a hard disk drive (HDD) MEM3, or a DVD / CD drive MEM4, or stored remotely. In addition, one or more computer files defining the concrete reinforcement bar may also be stored in one or more of the memory devices MEM1 to MEM4, or stored remotely.

[0083] The claimed invention is not limited by the form of the computer-readable medium on which the computer-readable instructions for the processing of the present invention are stored. For example, the instructions and files may be stored on a CD, DVD, flash memory, RAM, ROM, PROM, EPROM, EEPROM, hard disk, or any other computer-communicated information processing device such as a server or computer. The program may be stored on the same memory device or on different memory devices.

[0084] Furthermore, a suitable computer program may be provided to perform the method of the present invention as a utility application, background daemon, or component of an operating system, or a combination thereof, running together with the CPU CP and an operating system such as Microsoft Vista, Microsoft Windows 8, UNIX, Solaris, LINUX, Apple MAC-OS, and other systems known to those skilled in the art.

[0085] CPU P may be a Xenon processor from Intel of America or an Opteron processor from AMD of America, or other processor types such as a Freescale ColdFire, IMX, or ARM processor from Freescale Corporation of America. Alternatively, the CPU may be a processor such as a Core2 Duo from Intel Corporation of America, as recognized by those skilled in the art, or it may be implemented on an FPGA, ASIC, PLD, or using discrete logic circuits. Furthermore, the CPU may be implemented as multiple processors working cooperatively to execute computer-readable instructions for the processing of the present invention as described above.

[0086] In Figure 41, the computer CPT also includes network interface NIs, such as Intel Ethernet PRO network interface cards from Intel Corporation of America, for interacting with networks such as local area networks (LANs), wide area networks (WANs), and the internet. The method may be implemented remotely by a web application.

[0087] The computer further includes a display controller DC, such as an NVIDIA GeForce GTX graphics adapter from NVIDIA Corporation of America, for interface with a display DY, such as a Hewlett Packard HPL2445w LCD monitor. A general-purpose I / O interface IF interfaces with a keyboard KB, as well as rollerballs, mice, and touchpads. The display, keyboard, high-sensitivity surface for touch mode, and pointing device, together with the display controller and I / O interface, form a graphical user interface used by the user to provide input commands to move the pointer, for example, and used by the computer to display three-dimensional scenes and graphical tools.

[0088] In augmented reality, the method of the present invention may be performed using a handheld device as a computer CPT. The handheld device is equipped with a camera to superimpose a designed object in a real-world scene captured by the camera.

[0089] Alternatively, AR may use a pair of mixed-reality head-mounted smart glasses (SG), such as Microsoft HoloLens. 3D objects are displayed, and commands are provided by hand detection or by at least one remote control (RC).

[0090] In VR, virtual reality headsets such as Oculus Quest may be used to display 3D objects and 3D scenes to the user. Along with the display of 3D objects, commands are provided by hand detection or by at least one remote control device (RC).

[0091] The disk controller DKC connects the HDD MEM3 and DVD / CD MEM4 to the communication bus CBS, which may be ISA, EISA, VESA, PCI, or similar for interconnecting all computer components.

[0092] The overall characteristics and functionality of the display controller, disk controller, network interface, and I / O interface, along with the display, keyboard, and pointing device, are omitted in this specification for brevity, assuming their characteristics are already known.

[0093] Figure 42 is a block diagram of a computer system suitable for carrying out a method according to a different exemplary embodiment of the present invention.

[0094] In Figure 42, the executable program and computer files containing the designed 3D objects are stored in a memory device DB connected to the server SC. The overall architecture of the memory device and server may be identical to that discussed above with reference to Figure 41, except that a display controller, high-sensitivity surface, display, keyboard, and / or pointing device may be absent in the server.

[0095] The server SC is then connected to the administrator system ADS and end-user computers EUC via the network NW.

Claims

1. A computer-aided method for designing 3D objects within a scene, a) A step of providing a 3D grid of cubes (CB) within the scene, wherein the 3D grid of cubes (CB) controls a subdivision surface, and the subdivision surface models the 3D object. b) The step of receiving a user stroke of a curve (CR) on at least one outer surface of at least one cube of the grid of the cube (CB), c) A step of determining a first set of cubes that intersect the curve (CR) on the outer surface, a second set of cubes perpendicular to the outer surface and adjacent to the first set of cubes, and a third set of cubes referred to as intersecting cubes, which includes the first set of cubes and the second set of cubes. d) For each intersecting cube (IC), move at least one vertex (VT) of the intersecting cube (IC) to conform to the curve (CR), thereby deforming the subdivision surface and thus deforming the intersecting cube (IC); Equipped with, Step d) includes the step of propagating the curve (CR) on the second set of cubes (AC) and moving the vertices (VT) of the second set of cubes (AC) to fit the propagated curve, method.

2. The step further comprises step c') which is performed after step c), wherein step c') is - A step of calculating the number of cubes in the 3D grid on both sides of the intersecting cubes (IC) in the outer plane, - The step of removing the set of cubes having the smallest cube (LN) from the aforementioned scene, The method according to claim 1, including the method described in claim 1.

3. The method according to claim 1 or 2, wherein step d) includes filtering the vertices (VT) of the intersecting cube (IC) so that only the vertices (VT) that are not shared with the vertices of the non-intersecting cube (NIC) are moved.

4. The method according to any one of claims 1 to 3, wherein the vertex (VT) is moved by applying a right-angle projection of the vertex (VT) on the curve (CR).

5. - A step of calculating the minimum distance between each vertex (VT1, VT2) and the curve (CR), - If the minimum distance to the curve is equal for at least two vertices (VT1, VT2), the step of correcting the position of one of the vertices (VT1, VT2) so that the subdivided surface has continuity, The method according to any one of claims 1 to 4.

6. The method according to any one of claims 1 to 5, wherein step a) includes detecting a user interaction, the step of detecting a user interaction includes successively adding or removing cubes from a first set of cubes and / or a second set of cubes by hovering over the 3D object and holding a pointing element.

7. The aforementioned scene is set in an immersive environment, according to the method according to any one of claims 1 to 6.

8. The method according to any one of claims 1 to 7, wherein the subdivided surface is calculated by using the Catmull-Clark scheme.

9. The method according to any one of claims 1 to 8, wherein the 3D grid of the cube and the subdivision surface are superimposed, and the 3D grid is displayed partially transparent.

10. The method according to any one of claims 1 to 9, further comprising the step of receiving user input, which includes drawing lines in the scene, wherein the design of the 3D object is completed by calculating the symmetry of the subdivision surface with respect to the lines.

11. A computer program comprising a computer executable instruction causing a computer system to perform the method according to any one of claims 1 to 10.

12. Non-temporary computer-readable data storage media (M1, M2, M3, M4) including computer-executable instructions for causing a computer system to execute the method according to any one of claims 1 to 10.

13. A computer system comprising a processor (P) coupled to memories (M1, M2, M3, M4), wherein the memories store computer executable instructions that cause the computer system to perform the method according to any one of claims 1 to 10.