EP1787263A1 - Mesh design method and tool - Google Patents
Mesh design method and toolInfo
- Publication number
- EP1787263A1 EP1787263A1 EP05775913A EP05775913A EP1787263A1 EP 1787263 A1 EP1787263 A1 EP 1787263A1 EP 05775913 A EP05775913 A EP 05775913A EP 05775913 A EP05775913 A EP 05775913A EP 1787263 A1 EP1787263 A1 EP 1787263A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- mesh
- procedural
- tool
- card
- points
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
Definitions
- the present invention relates to a tool and method of mesh design, which can be used in most areas where meshes are present, such as for example the modeling of images or objects, video games, video in general, industrial design, etc.
- the present invention provides a mesh design method for generating or modifying a mesh of an input assembly comprising a plurality of elementary geometric shapes (such as for example triangles) describing a surface in a three-dimensional space according to an initial spatial arrangement on which the procedural map is operable to modify said arrangement, comprising the steps of: a. -Introduce the data constituting the mesh to be processed in a mesh modification tool; b. -input the parameters of at least one modifiable procedural map intended to produce a spatial cursor in a tool for generating or modifying procedural maps; vs. generate the procedural map using said modifiable procedural map generation or modification tool; d.
- a mesh design method for generating or modifying a mesh of an input assembly comprising a plurality of elementary geometric shapes (such as for example triangles) describing a surface in a three-dimensional space according to an initial spatial arrangement on which the procedural map is operable to modify said arrangement, comprising the steps of: a. -In
- the re-arrangement of the points is controlled by at least one modifiable procedural map including indications relating to a direction and a distance for the points to be moved.
- these indications can be contained either in a single card or in several cards (for example a card with direction vectors and a card with distances or lengths).
- the direction vectors are normals at the surface defined by the mesh.
- Each of the points of the initial spatial arrangement is likely to be moved in the direction indicated by the spatial cursor.
- This direction can be selected from a plurality of directions in space. In general, it can be any angle (any angle); according to a particular embodiment, said angle is an orthogonal angle. Note that each point can be moved independently (and therefore differently) from others.
- said card is a procedural map, with a tree structure, comprising a plurality of stages, each with at least one node, said card being intended to produce a spatial cursor, which is associated with at least one parameter.
- the method further comprises a subdivision step of subdividing at least a portion of the elementary geometric shapes.
- the subdivision factor can be fixed and at least 2, but is advantageously selected by the user depending on the context.
- the subdivision step consists for example of: a. check if the subdivision stop criterion is reached; b. if the criterion is not satisfied, perform at least one subdivision and return to step (a); vs. if the criterion is satisfied, discontinue the subdivision.
- the subdivision stop criterion can be a threshold, a minimum, and so on.
- the possibility of making one or more subdivisions of at least a portion of the mesh to increase the number of elementary geometric shapes is particularly interesting. It allows to use a simple starting grid, which can subsequently be completed appropriately to perform tasks more complex than those allowed by the simple starting grid.
- the subdivision thus makes it possible to generate the additional points that make it possible to adjust the complexity or density of the mesh as a function of the level necessary to achieve the desired result.
- Such automatic subdivision allows considerable time savings, since manually making such additions of points is very long and very tedious.
- a test makes it possible to check, for example, whether the desired mesh does or does not require the addition of new points. For example, one can check if the deviation from the theoretical result (that which would be obtained if one carried out an infinity of loops of subdivisions) is acceptable. Otherwise, according to another embodiment, if a test is independent of the position of the points, it can then be checked whether the number of elementary geometric shapes is at least equal to that which the user needs.
- a threshold is set, for example as a function of the number of elementary geometric shapes and or the desired precision, or the fineness of the subdivision, etc. As long as the threshold is not reached, new points are added by subdividing the elementary geometric shapes. Depending on the case, the subdivision may concern all the elementary geometric shapes, or only a part of them.
- the method according to the invention takes place with a display of the mesh.
- the mesh is thus preferably displayed at all stages, ie before it is modified, during and after modification.
- the display makes it possible to display the mesh and the procedural card or cards arranged on the mesh, with correspondence of the points. Such a visualization can be facilitated for example by coloring the mesh according to the card.
- the method according to the invention takes place with a display of at least one of the procedural maps implemented, or at least a portion thereof.
- a display is very useful for adjusting the parameters of a card during work.
- a display is particularly useful.
- the method according to the invention comprises one or more steps of modifying the procedural map / spatial cursor. After map modifications, one can then proceed directly to the stage of rearrangement of the points of the mesh.
- One or more procedural maps can be modified before or after points of the mesh have been rearranged.
- the manipulation of the selection of the portion of the mesh to be modified is performed from the mesh display window.
- the user may also be able to view the operations performed by a representation of the map on the mesh that reflects the changes in progress.
- the displacement calculations are preferably carried out at the end of the modifications, (and actuated for example using a command "creation of the mesh") so as to optimize the necessary calculation time.
- the mesh display window -presenting both the mesh and the map applied thereto- advantageously makes it possible to display the representation of the modified procedural map, substantially as the modifications are made.
- the work done in the window of visualization of the mesh makes it possible to obtain a tool and a mode of work very ergonomic, very visual and thus very practical for the user. Indeed, if the modifications in progress are not presented or presented only in the procedural map display window, the user may have some difficulty in imagining the result of these modifications on the mesh.
- the spatial map / cursor depends on the time.
- This embodiment makes it possible to create structures that vary as a function of time. In such a case, the subdivisions must be made before traveling.
- the position of the points of the mesh depends on the time, but the number of elementary geometric shapes and the topology are preferably independent of time.
- the mesh is generated by a mesh generator, for example during the introduction of the data / parameters of the latter to the mesh modification tool.
- various tests may be applied to prevent the points or vertices being deployed beyond a useful limit, from which they are no longer visible. Indeed, it is generally useless to position points in non-visible places. This causes unnecessary losses of computing resources and memories. It is thus possible to check for each elementary geometric form if it forms an intersection with another. To minimize the time required, it is often more practical and sufficient to perform this type of test only for a limited number of elementary geometric shapes, for example those located in a given neighborhood.
- the invention further provides a mesh design tool for generating or modifying a mesh of an input assembly having a plurality of elementary geometric shapes (such as triangles) describing a surface in a three-dimensional space according to a spatial arrangement. initial state on which the procedural map is capable of acting to modify said arrangement, said tool comprising:
- an input unit of the mesh for receiving the data corresponding to a mesh to be modified
- a tool for generating or modifying procedural maps making it possible to generate procedural maps having a tree structure, comprising a plurality of stages, each with at least one node to which at least one parameter is associated, intended to produce a spatial cursor, comprising:
- a card parameter input unit for receiving predefined procedural card parameters taking into account the data of at least one input set on which the spatial cursor will act in order to modify the initial spatial arrangement
- a processing unit for processing said parameters, so as to generate said spatial cursor map, so that the map has a tree structure
- an output making it possible to transmit the generated cards
- an integrator capable on the one hand of matching the different points of the spatial cursor with the corresponding points of the mesh, and on the other hand of re-arranging at least a part points of the input set according to the data provided by the one or more procedural maps so as to generate a modified spatial arrangement for at least a portion of the elementary geometric shapes.
- the tool according to the invention gives the user a very great flexibility of work. Thus, changes can be made easily and quickly, with an appropriate tool, rather than manually.
- the tool according to the invention advantageously comprises, during its implementation, a display window of the mesh, capable of presenting the mesh to be modified (preferably before, during and after integration).
- the tool preferably includes a node selection tool for selecting at least one node of a stage.
- the mesh design tool also comprises:
- a tool for selecting and modifying card parameters in order firstly to select a parameter to be modified, and secondly to allow the entry of the new value of the parameter;
- a processing unit for processing said parameters so as to generate said modified spatial cursor map
- instructions for implementation to ensure the operation of the tool and in particular of the processing unit; an output, making it possible to transmit the modified card.
- the node selection tool advantageously comprises a depth selection unit, making it possible to select the extent of the modification to be made on the shaft.
- it comprises a mobile node-object location frame.
- the frame can be controlled by a cursor directly from the work interface.
- the mesh design tool also comprising a mesh generation module.
- a mesh generation module can be arranged to cooperate with the mesh input unit. The user thus has a tool allowing him to create a mesh, which is easily modifiable later with the other elements of the mesh modification tool.
- FIGS. 1 to 24 The invention will be described with reference to FIGS. 1 to 24 attached, presented solely by way of non-limiting example, in which:
- FIGS. 1a, 1b and 1c illustrate the basic principles for the mapping between the points of the procedural maps and the corresponding points of the mesh to be modified;
- FIGS. 2a and 2b show the main steps of two embodiments of the method according to the invention;
- FIG. 2c illustrates the main functional elements of the tool according to the invention during its implementation;
- FIGS. 3 to 8 show on the one hand the working interface of the tool according to the invention, and on the other hand the various steps making it possible to modify a mesh from an modifiable procedural card;
- FIGS. 9 to 14 illustrate various examples of tree structures for procedural maps, example parameters and examples of modifications
- FIGS. 15 to 19 show different examples of procedural maps with a tree structure
- FIGS. 20 to 23 show examples of modifications made to modifiable procedural maps
- FIG. 24 illustrates an exemplary interface for a tool for generating and / or modifying procedural maps with a tree structure.
- the F function contributes a lot to the definition of the basic form of the object-node. It is also referred to in this document as "morphlet”.
- a morphlet can take virtually any form.
- Such a procedural map with a tree structure can be represented by the following equation:
- -x is a vector of the type (X 1 , X 2 X n );
- -T is a tree comprising nodes (j, k) and in which
- -j indicates the current level, among a total potential number of levels jmax (j e (0, 1, 2 jmax);
- Figures 9 to 14 illustrate examples of local modifications that can be achieved through the tree structure of the invention.
- different values of H have been assigned.
- the left half-shaft of FIG. 10 has a value of H of 0.2; the one on the right, a value of H of 0.8.
- the shaft is symmetrical but the invention makes it possible to produce unsymmetrical shafts.
- FIG. 14 illustrates the major types of parameters with which the invention makes it possible to work to create or modify procedural maps: the action parameters such as p and D, and the structure parameters, such as H, F and ⁇ .
- Figures 15 to 19 illustrate examples of procedural maps having tree structures.
- j 0, with a simple node, a simple NO object node is generated, taking the form of a uniform and centered disk ( Figure 15).
- Figure 18 shows the sum of these different layers. This very simple example makes it possible to visualize the basic forms of each level.
- Figure 19 illustrates a sum of the same type but for a higher number of levels, therefore a higher number of node-objects, hence a more complex structure in this example.
- Figures 20 to 23 illustrate examples of map modifications that can be made using the method and tools of the invention.
- the mobile frame 23 of the node selection tool 20 is located on an object node 51 to be processed.
- the following figure shows the result after deleting this node. We see very well that the changes can be made at a local level, without affecting the rest of the map.
- Figures 22 and 23 illustrate a similar process of changing the parameters at a node.
- the function or morphlet F has been modified, thereby affecting the basic form of the node-object of this quarter map. Indeed, we see in Figure 23 the disks of Figure 22 which are now thinned or crushed.
- FIG. 24 illustrates an example of a working interface obtained by a tool 10 for generating and / or modifying procedural maps with a tree structure.
- a tool 10 for generating and / or modifying procedural maps with a tree structure.
- such a tool can be provided either for the modification of existing procedural maps, or for the generation and modification of such maps.
- the basic tool includes a node selection tool, including a J-level selector 21, and a node selector, allowing the selection of a given node in the selected level.
- a node selection tool including a J-level selector 21, and a node selector, allowing the selection of a given node in the selected level.
- the user selects a layer, corresponding to a given level J and a node object, corresponding to a node K.
- the tool 10 includes a parametering tool 30, for selecting a parameter, either to give it a first value, or to modify or adjust it, as the case may be.
- a tool such as the node selector 20 offers this possibility.
- Such a tool can advantageously provide two functions: a level selection unit 21, and a node selection unit.
- the node selection tool comprises a mobile screen target 23. This target is advantageously configured so as to allow delimiting at least one object node 51 in a given layer. In the illustrated examples, the target is substantially square in shape.
- the tool includes a mode of displacement so as to allow the self-positioning of the target on a node-object or on a set of node-objects, for example the nearest nodes, when the target is not perfectly positioned by the user on a node.
- the target can be controlled by any type of conventional control of a computer, such as a mouse, a pointer, keyboard keys such as arrows, or a remote control such as a machine, a specially designed circuit or a control software . It can also be controlled directly from the interface of the node selection tool, for example by means of a cursor 24 controlling the movement of the target 23 on the card.
- the tool 23 is configured so that when a level is selected, the shape and size of the frame 23 adapts to those of the object node 51 of the corresponding level.
- the tool 23 makes it possible to select any node of the selected level.
- the node selection tool 20 comprises highlighting means, making it possible to indicate to the user which nodes are selected. Such an indication may be made by color or intensity change, flashing, or any other effective visual means.
- the tool 10 preferably includes a depth selector 26, allowing the user to indicate whether the current operation only concerns the nodes of the selected level or whether the subtrees should also be treated in a similar manner.
- the parametering tool 30 first makes it possible to select a parameter to be considered. Then, its new (modified or initial) can be entered.
- the tool is advantageously adapted so as to be able to process at least one, but preferably all types of parameters illustrated in this document, such as: F: 34, H: 35, ⁇ : 36, p: 33, D (x) : 31, D (y): 32.
- the interface allows the user to give a value to the different parameters.
- a function such as the one illustrated.
- a drop-down menu can offer the user a series of functions from which he can choose. It is the same for the parameter ⁇ .
- the user gives a value, for example between 0 and 1, for example using a cursor or other similar tool.
- a drop-down menu can also be proposed.
- H and D for x and y
- the values can be entered in a manner similar to that of the parameter p, with values for example between 0 and 1 for H , and as a percentage for D.
- a time scale 70 representing the time makes it possible to work with cards whose parameters may be called to vary as a function of time.
- FIG. 1a shows the basic principle upon which the present invention is based. This example is deliberately very simple for demonstration purposes. It goes without saying that many applications in the field of computer graphics involve meshes and procedural maps more complex.
- a mesh 60 consisting of a number of elementary geometric shapes 61, has an initial spatial arrangement.
- the information or data used to modify the position of at least one of the elementary geometrical shapes 61 are provided by one or more procedural maps 50 with a tree structure 40.
- eight triangles 61 are arranged in a plan to form a square.
- the procedural map 50 must contain at least the repositioning information for the points to be moved.
- FIG. 1b shows the correspondence between the sections or regions or points of the procedural map 50 of instruction or positioning calculation, and the different points of the mesh 60 to be modified. For each point of the mesh corresponds a point of the map. In this example, the pairing of the points corresponds simply as if the procedural map were superimposed on the initial mesh. The arrows of correspondence of Figure 1b illustrate this aspect.
- the mapping When the mapping is done, the data used to reposition the points of the mesh 60 have been transferred or sent to the computer. In this theoretical diagram, we illustrate the transposition of the map to the mesh. In practice, a means or calculation tool is required to read or interpret the positioning data of the card and establish the new position.
- Figure 1c shows the result of the calculation performed to reposition the points to move.
- the displacement information contained in the map has been applied to the mesh 60. It can be seen that the pale portion of the map 50 containing non-zero values has allowed the repositioning of a corresponding portion of the points of the mesh 60, as a function of the values contained therein. in the map.
- the repositioning data can be provided in any format for establishing a new position, for example using vectors.
- additional procedural maps may be useful for providing the data. For example, a map for distances, and one for angles or directions. In the example illustrated in FIG. 1, the displacements are orthogonal; only a distance map is sufficient to establish the new positions.
- Figure 1c also shows examples of displacement values for points that have been repositioned. Procedural maps therefore act as spatial cursors, making it possible to redefine the positions of different points of a mesh to be modified.
- FIGS 2a and 2b show functional diagrams for illustrating the different steps of the method according to the invention.
- a starting mesh 60 is considered in order to make modifications.
- a procedural map 50 is established by the user. This card contains the parameters or data relating to the movements of the points to be made.
- a mapping step makes it possible to match the points of the card 50 with those of the mesh 60.
- the transmitted data then make it possible to carry out distance calculations and possible direction calculations (for cases where the displacements are not not orthogonal).
- the step of moving the points can then be performed.
- a modified mesh is thus obtained.
- the method and the tool according to the invention make it possible to modify the procedural card or cards.
- the map is modified by the user, using tools that are described later in this document. From this modified map, applied to the starting grid, the distances and directions calculations are carried out, making it possible to proceed with the displacements of the points of the mesh. A new mesh is then obtained. This new mesh can of course be modified again, as many times as necessary, to obtain a satisfactory result.
- FIG. 2a shows the calculation and displacement steps as being carried out successively, they can be performed in parallel, or in a different order.
- the moving step is advantageously performed at the end of the process, to allow the prior obtaining of all the data necessary to perform these movements.
- FIG. 2b shows an advantageous variant of FIG. 2a, furthermore comprising one (or several) subdivision steps of the mesh 60. It is indeed common that the basic mesh is not dense enough to obtain the desired result. from the travel data provided. Rather than manually adding the missing mesh points, the method and the tool according to the invention make it possible to enrich or increase the density of the mesh by adding, using an iterative process, missing points. This very advantageous feature of the invention is described in more detail later in this document.
- FIG. 2c shows the various functional elements used in the implementation of the invention.
- An integrator 100 receives on the one hand the data of an input unit 102 of the mesh 60, and on the other hand the data of a tool for generating and / or modifying 103 of procedural card.
- the integrator 100 includes calculation instructions enabling it to map or match the cards with the mesh. It also includes calculation instructions enabling it to calculate the distances and possible directions, in order to proceed with the displacements of the points of the mesh for which information relating to a displacement has been provided.
- the resulting mesh is preferably stored by a backup unit 104 of the mesh.
- Integrator 100 also plays a key role in cases where a card needs to be modified. Advantageously, it makes it possible to manage or to carry out these modifications starting from the window of visualization of the mesh. Information about the changes made is passed to the map generation / modification tool, which generates the new map with these changes. Finally, the integrator makes it possible to calculate distances and possible directions for a modified map. The movements of the corresponding points can then be made.
- FIG. 3 illustrates an example of a working interface 110 of such an integrator 100. The illustrated example has two viewing windows: a first window 111 for displaying the card 50 or at least a portion of a card in progress. use, and a window 112 for viewing the mesh.
- this second window 112 makes it possible to represent not only the mesh 60 alone, but also the assembly resulting from the mapping of the cards with the mesh. This aspect is particularly advantageous and facilitates and greatly enhances the work of the user who can view the elements for which he wishes to make changes.
- Card parameterizing tools 130 are arranged on the working interface 110 and comprise, in the illustrated example: a "function" command 134 for entering or modifying the basic function of the procedural card used.
- Other commands making it possible to enter or modify other parameter values can also be used on this interface, for example the commands presented in the parameterization tool 30 of the interface of FIG. 24 (for the parameters Xi, D and p).
- the interface 110 of the integrator 100 may have a time scale in order to make it possible to establish one or more parameters that may vary as a function of time.
- Tools 140 for integrating and calculating the mesh are also presented in FIG. 3. These tools comprise a selection control of the mapping mode 141 which makes it possible to choose from known modes, such as parameterization mapping. UV, spherical, cylindrical, cubic, planar, etc.
- a subdivision command 142 makes it possible to establish the importance of the subdivisions to be realized.
- it is a division by 4.
- a displacement command 143 makes it possible to enter the mode (or angle) of displacement. According to one embodiment variant, this command is advantageously replaced by one or more procedural cards, especially in cases where the angles are not all the same for all points.
- it is a displacement according to a plane normal.
- a threshold command 144 for adjusting the subdivision threshold is also present. In the example, it is a cursor to select a value between 0 and the maximum threshold.
- the illustrated example includes a command button 145 to start the creation of the mesh, that is to say the step of moving the points.
- the commands arranged under the mesh display window are advantageously dedicated to the options and tasks performed using this window. For example, in the example shown, a level selection command 121 selects which level or stage on the tree the current change is to be applied. A depth selector 126 also makes it possible to indicate whether the modification applies only to the current node or to all the nodes that depend on it (the child nodes).
- the working interface preferably comprises a command "position of the camera” 150 for simulating a positioning of a camera relative to the object being worked.
- this command is used to select the viewing angles and the distance between the camera and the object.
- FIG. 3 presents an example of a basic mesh 60 used as an input set, presented in the window 112 for displaying the mesh.
- the other window 111 shows an example of a procedural map 50 with a tree structure, which will make it possible to modify the basic mesh presented in FIG.
- FIG. 4 presents the step of mapping between the points of the procedural map and those corresponding to the mesh, from the map and the grid presented in FIG. 3.
- the type of correspondence, the number of subdivision to be applied to the initial mesh as well as the type of displacement can be indicated by the user with the various integration tools 140 and mesh calculation provided on the working interface 110.
- the dotted arrows show how the points of the map are matched to those of the mesh.
- the mesh display window 112 of FIG. 5 shows the mesh 60 once the movements have been made.
- This same figure also shows the selection tool 123 or target used to select a portion of the mesh on which the user wishes to make local changes. It selects the work stage and at which nodes the changes will apply, thanks to commands 121 and 126.
- Figure 6 illustrates the next step of making the desired changes on the selected mesh portion.
- the user moves the selected mesh portion to position it at another location, as indicated by the dotted arrow.
- the working interface allows the user to work from the viewing window, which is particularly useful for visualizing the effect of current changes on the mesh.
- Figure 6 shows that at this stage, the new mesh is not yet calculated.
- the window has (within the target 23) an image of the section of the selected procedural map. Note on this same figure, the viewing window 111 of the procedural map that shows the modification made to the map.
- the modifications are made and controlled from the window 112 for viewing the mesh.
- the modifications can be controlled and performed from the viewing window 111 of the card.
- FIG. 7 shows this step, in which the modified mesh is established, for example by activation of the command "creation of the mesh" 145. It is clearly seen in the figure the appearance of the vertical displacements in the portion of mesh that has been displaced. .
- FIG. 8 illustrates the final result obtained once all the modifications have been made.
- the exemplary embodiment of the integrator 100 has been described and presented with an interface 110 in which one finds both the working tools of the procedural maps and those relating to the mesh.
- the tool is split into different subsets. For example, it comprises a tool and an interface of the type of those of FIG. 24, used in parallel with a mesh management interface that does not have a card display window and card parameterization tools.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
The invention relates to a mesh design method which is used to generate or modify a mesh (60) of an input set comprising a plurality of basic geometric shapes (61). The inventive method comprises the following steps consisting in: (a) introducing the data forming the mesh (60) to be processed into a mesh modification tool; (b) introducing the parameters of at least one modifiable procedural map (50), which is intended to produce a spatial cursor, into a procedural card generation or modification tool; (c) generating the procedural card (50) using said procedural card generation or modification tool; (d) matching the different points of the procedural card(s) (50) with the corresponding parameters or points of the mesh (60); and (e) rearranging at least part of the points of the input set as a function of the data supplied by the procedural card(s) such as to generate a modified spatial arrangement for at least part of the basic geometric shapes. The invention also relates to a corresponding mesh design tool.
Description
Outil et procédé de conception de maillage Mesh design tool and method
La présente invention concerne un outil et une méthode de conception de maillage, susceptibles d'être utilisés dans la plupart des domaines où les maillages sont présents, comme par exemple la modélisation d'images ou d'objets, les jeux vidéos, la vidéo en général, le design industriel, etc.The present invention relates to a tool and method of mesh design, which can be used in most areas where meshes are present, such as for example the modeling of images or objects, video games, video in general, industrial design, etc.
Un grand nombre d'application en trois dimensions sont entièrement ou partiellement réalisées avec du maillage. Ce mode de construction d'image est très pratique et comporte de nombreux avantages, comme par exemple le fait de pouvoir habiller un même maillage de plusieurs façons distinctes, permettant ainsi de générer facilement et rapidement plusieurs objets la structure de base est identique ou similaire.A large number of three-dimensional applications are wholly or partially realized with mesh. This mode of image construction is very practical and has many advantages, such as for example being able to dress the same mesh in several different ways, thus making it possible to easily and quickly generate several objects the basic structure is identical or similar.
Par contre, dans les nombreux cas où on doit modifier un maillage existant, les manipulations à effectuer sont en général fastidieuses et coûteuses. Il faut soit recommencer ou reconstruire un nouveau maillage, soit modifier manuellement chacun des points que l'on souhaite repositionner, en ajoutant manuellement les éventuels points complémentaires nécessaires à l'enrichissement du maillage du base. Dans les cas ou de nombreux objets sont à traiter, les coûts engendrés peuvent facilement devenir prohibitifs.On the other hand, in the many cases where an existing mesh must be modified, the manipulations to be carried out are generally tedious and expensive. You must either start again or rebuild a new mesh, or manually change each of the points you want to reposition, manually adding any additional points needed to enrich the mesh base. In cases where many objects are to be treated, the costs generated can easily become prohibitive.
Pour pallier ces inconvénients, la présente invention prévoit un procédé de conception de maillage pour générer ou modifier un maillage d'un ensemble d'entrée comportant une pluralité de formes géométriques élémentaires (comme par exemple des triangles) décrivant une surface dans un espace tridimensionnel selon un agencement spatial initial sur lequel la carte procédurale est susceptible d'agir de façon à modifier ledit agencement, comportant les étapes consistant à : a. -introduire les données constituant le maillage à traiter dans un outil de modification de maillage;
b. -introduire les paramètres d'au moins une carte procédurale modifiable destinée à produire un curseur spatial dans un outil de génération ou modification de cartes procédurales; c. -générer la carte procédurale à l'aide dudit outil de génération ou modification de carte procédurale modifiable ; d. -effectuer une mise en correspondance entre les différents points de la ou des cartes procédurales (ou du curseur spatial) et les points ou paramètres correspondants du maillage ; e. -ré-agencer au moins une partie des points de l'ensemble d'entrée en fonction des données fournies par la ou les cartes procédurales de façon à générer un agencement spatial modifié pour au moins une partie des formes géométriques élémentaires.To overcome these drawbacks, the present invention provides a mesh design method for generating or modifying a mesh of an input assembly comprising a plurality of elementary geometric shapes (such as for example triangles) describing a surface in a three-dimensional space according to an initial spatial arrangement on which the procedural map is operable to modify said arrangement, comprising the steps of: a. -Introduce the data constituting the mesh to be processed in a mesh modification tool; b. -input the parameters of at least one modifiable procedural map intended to produce a spatial cursor in a tool for generating or modifying procedural maps; vs. generate the procedural map using said modifiable procedural map generation or modification tool; d. performing a mapping between the different points of the procedural map (s) (or spatial cursor) and the corresponding points or parameters of the mesh; e. -Re-arranging at least a portion of the points of the input set according to the data provided by the one or more procedural maps so as to generate a modified spatial arrangement for at least a portion of the elementary geometric shapes.
Selon un mode de réalisation avantageux, le ré-agencement des points est commandé par au moins une carte procédurale modifiable comportant des indications relatives à une direction et une distance pour les points à déplacer.According to an advantageous embodiment, the re-arrangement of the points is controlled by at least one modifiable procedural map including indications relating to a direction and a distance for the points to be moved.
Selon divers modes de réalisation, ces indications peuvent être contenues soit dans une seule carte, soit dans plusieurs cartes (par exemple une carte avec des vecteurs direction et une carte avec les distances ou longueurs). Selon une autre variante, les vecteurs direction sont des normales à la surface définie par le maillage.According to various embodiments, these indications can be contained either in a single card or in several cards (for example a card with direction vectors and a card with distances or lengths). According to another variant, the direction vectors are normals at the surface defined by the mesh.
Chacun des points de l'agencement spatial initial est susceptible d'être déplacé suivant la direction indiquée par le curseur spatial. Cette direction peut être sélectionnée parmi une pluralité de directions dans l'espace. En général, il peut s'agir de tout angle (angle quelconque) ; selon un exemple de réalisation particulier, ledit angle est un angle orthogonal. A noter que chaque point peut être déplacé indépendamment (et donc différemment) des autres.Each of the points of the initial spatial arrangement is likely to be moved in the direction indicated by the spatial cursor. This direction can be selected from a plurality of directions in space. In general, it can be any angle (any angle); according to a particular embodiment, said angle is an orthogonal angle. Note that each point can be moved independently (and therefore differently) from others.
De manière avantageuse, ladite carte est une carte procédurale, à structure en arbre, comportant une pluralité d'étages, chacun avec au moins un nœud, ladite
carte étant destinée à produire un curseur spatial, auquel est associé au moins un paramètre.Advantageously, said card is a procedural map, with a tree structure, comprising a plurality of stages, each with at least one node, said card being intended to produce a spatial cursor, which is associated with at least one parameter.
De manière avantageuse, le procédé comporte en plus une étape de subdivision consistant à subdiviser au moins une portion des formes géométriques élémentaires. Le facteur de subdivision peut être fixe et au minimum de 2, mais est avantageusement sélectionné par l'utilisateur en fonction du contexte.Advantageously, the method further comprises a subdivision step of subdividing at least a portion of the elementary geometric shapes. The subdivision factor can be fixed and at least 2, but is advantageously selected by the user depending on the context.
L'étape de subdivision consiste par exemple à : a. vérifier si le critère d'arrêt de subdivision est atteint ; b. si le critère n'est pas satisfait, effectuer au moins une subdivision et retourner à l'étape (a) ; c. si le critère est satisfait, cesser la subdivision.The subdivision step consists for example of: a. check if the subdivision stop criterion is reached; b. if the criterion is not satisfied, perform at least one subdivision and return to step (a); vs. if the criterion is satisfied, discontinue the subdivision.
Selon divers modes de réalisation, soit on subdivise une fois et on déplace les points nouvellement introduits, puis on resubdivise à nouveau, et ainsi de suite, soit, dans les cas où le critère de subdivision ne dépend pas de la position des points, on effectue toutes les subdivisions d'abord, puis on déplace la totalité des nouveaux points pour lesquels un déplacement est prévu.According to various embodiments, either one subdivide once and move the newly introduced points, then resubdivise again, and so on, or, in cases where the subdivision criterion does not depend on the position of the points, performs all the subdivisions first, then moves all the new points for which a displacement is planned.
Le critère d'arrêt de subdivision peut être un seuil, un minimum, etc.The subdivision stop criterion can be a threshold, a minimum, and so on.
La possibilité d'effectuer une ou plusieurs subdivisions d'au moins une partie du maillage afin d'augmenter le nombre de formes géométriques élémentaires est particulièrement intéressante. Elle permet d'utiliser un maillage de départ simple, qui peut par la suite être complété de façon appropriée pour réaliser des tâches plus complexes que celles permises par le maillage simple de départ. La subdivision permet ainsi de générer les points additionnels qui permettent d'ajuster la complexité ou densité du maillage en fonction du niveau nécessaire pour atteindre le résultat souhaité. Une telle subdivision automatique permet des gains de temps considérables, puisque procéder manuellement à de tels ajouts de points est très long et très fastidieux.
Un test permet de vérifier par exemple si le maillage souhaité nécessite ou non l'ajout de nouveaux points. Par exemple, on peut vérifier si l'écart par rapport au résultat théorique (celui qui serait obtenu si on effectuait une infinité de boucles de subdivisions) est acceptable. Autrement, selon un autre exemple de réalisation, si un test est indépendant de la position des points, on peut alors vérifier si le nombre de formes géométriques élémentaires est au moins égal à celui dont l'utilisateur besoin.The possibility of making one or more subdivisions of at least a portion of the mesh to increase the number of elementary geometric shapes is particularly interesting. It allows to use a simple starting grid, which can subsequently be completed appropriately to perform tasks more complex than those allowed by the simple starting grid. The subdivision thus makes it possible to generate the additional points that make it possible to adjust the complexity or density of the mesh as a function of the level necessary to achieve the desired result. Such automatic subdivision allows considerable time savings, since manually making such additions of points is very long and very tedious. A test makes it possible to check, for example, whether the desired mesh does or does not require the addition of new points. For example, one can check if the deviation from the theoretical result (that which would be obtained if one carried out an infinity of loops of subdivisions) is acceptable. Otherwise, according to another embodiment, if a test is independent of the position of the points, it can then be checked whether the number of elementary geometric shapes is at least equal to that which the user needs.
Selon un mode de réalisation avantageux, un seuil est posé, par exemple en fonction du nombre de formes géométriques élémentaires et ou de la précision souhaitée, ou de la finesse de la subdivision, etc. Tant que le seuil n'est pas atteint, des nouveaux points sont ajoutés en subdivisant les formes géométriques élémentaires. Selon les cas, la subdivision peut concerner la totalité des formes géométriques élémentaires, soit seulement une partie de celles-ci.According to an advantageous embodiment, a threshold is set, for example as a function of the number of elementary geometric shapes and or the desired precision, or the fineness of the subdivision, etc. As long as the threshold is not reached, new points are added by subdividing the elementary geometric shapes. Depending on the case, the subdivision may concern all the elementary geometric shapes, or only a part of them.
De manière avantageuse, le procédé selon l'invention se déroule avec un affichage du maillage. Le maillage est ainsi de préférence affiché à toutes les étapes, soit avant qu'il soit modifié, pendant et après modification. Selon une variante avantageuse de réalisation, l'affichage permet de visualiser le maillage et la ou les cartes procédurales disposées sur le maillage, avec correspondance des points. Une telle visualisation peut être facilitée par exemple grâce à une coloration du maillage en fonction de la carte.Advantageously, the method according to the invention takes place with a display of the mesh. The mesh is thus preferably displayed at all stages, ie before it is modified, during and after modification. According to an advantageous embodiment variant, the display makes it possible to display the mesh and the procedural card or cards arranged on the mesh, with correspondence of the points. Such a visualization can be facilitated for example by coloring the mesh according to the card.
De manière avantageuse, le procédé selon l'invention se déroule avec un affichage d'au moins une des cartes procédurales mises en œuvre, ou d'au moins une portion de celles-ci. Un tel affichage est très utile pour régler les paramètres d'une carte en cours de travail. En outre, dans le cas où une carte ou plusieurs cartes doivent être modifiées, un tel affichage est particulièrement utile.Advantageously, the method according to the invention takes place with a display of at least one of the procedural maps implemented, or at least a portion thereof. Such a display is very useful for adjusting the parameters of a card during work. In addition, in the case where a card or several cards must be modified, such a display is particularly useful.
De manière avantageuse, le procédé selon l'invention comporte une ou plusieurs étapes consistant à modifier la carte procédurale/curseur spatial. Après des
modifications de cartes, on peut ensuite procéder directement à l'étape de réagencement des points du maillage.Advantageously, the method according to the invention comprises one or more steps of modifying the procedural map / spatial cursor. After map modifications, one can then proceed directly to the stage of rearrangement of the points of the mesh.
Une ou plusieurs cartes procédurales peuvent être modifiées avant ou après que des points du maillage aient été réagencés. De manière préférentielle, la manipulation de la sélection de la portion du maillage à modifier est effectuée à partir de la fenêtre de visualisation du maillage. L'utilisateur peut également avoir la possibilité de visualiser les opérations effectuées grâce à une représentation de la carte sur le maillage qui reflète les modifications en cours. Les calculs de déplacement sont de préférence effectués à la fin des modifications, (et actionnés par exemple à l'aide d'une commande « création du maillage ») de façon à optimiser le temps de calcul nécessaire. Ainsi, la fenêtre de visualisation du maillage -présentant à la fois le maillage et la carte appliquée à ce dernier- permet de manière avantageuse d'afficher la représentation de la carte procédurale modifiée, sensiblement au fur et à mesure que les modifications sont effectuées.One or more procedural maps can be modified before or after points of the mesh have been rearranged. Preferably, the manipulation of the selection of the portion of the mesh to be modified is performed from the mesh display window. The user may also be able to view the operations performed by a representation of the map on the mesh that reflects the changes in progress. The displacement calculations are preferably carried out at the end of the modifications, (and actuated for example using a command "creation of the mesh") so as to optimize the necessary calculation time. Thus, the mesh display window -presenting both the mesh and the map applied thereto- advantageously makes it possible to display the representation of the modified procedural map, substantially as the modifications are made.
Le travail effectué dans la fenêtre de visualisation du maillage permet d'obtenir un outil et un mode de travail très ergonomiques, très visuels et donc forts pratiques pour l'utilisateur. En effet, si les modifications en cours de réalisation ne sont pas présentées ou présentées uniquement dans la fenêtre de visualisation de la carte procédurale, l'utilisateur peut éprouver certaines difficultés à imaginer le résultat de ces modifications sur le maillage.The work done in the window of visualization of the mesh makes it possible to obtain a tool and a mode of work very ergonomic, very visual and thus very practical for the user. Indeed, if the modifications in progress are not presented or presented only in the procedural map display window, the user may have some difficulty in imagining the result of these modifications on the mesh.
Selon un mode de réalisation avantageux, la carte/curseur spatial dépend du temps. Ce mode de réalisation permet de créer des structures qui varient en fonction du temps. Dans un tel cas, les subdivisions doivent être réalisées avant les déplacements. Ainsi, la position des points du maillage dépend du temps, mais le nombre de formes géométriques élémentaires ainsi que la topologie sont de préférence indépendants du temps.
Selon un mode de réalisation avantageux, le maillage est généré par un générateur de maillage, par exemple lors de l'introduction des données/paramètres de ce dernier à l'outil de modification de maillage.According to an advantageous embodiment, the spatial map / cursor depends on the time. This embodiment makes it possible to create structures that vary as a function of time. In such a case, the subdivisions must be made before traveling. Thus, the position of the points of the mesh depends on the time, but the number of elementary geometric shapes and the topology are preferably independent of time. According to an advantageous embodiment, the mesh is generated by a mesh generator, for example during the introduction of the data / parameters of the latter to the mesh modification tool.
Selon diverses variantes de réalisation, divers tests peuvent être appliqués pour éviter que les points ou sommets soient déployés au-delà d'une limite utile, à partir de laquelle ils ne sont plus visibles. En effet, il est en général inutile de positionner des points à des endroits non visibles. Cela occasionne des pertes inutiles de ressources de calcul et de mémoires. Il est ainsi possible de vérifier pour chaque forme géométrique élémentaire si elle forme une intersection avec une autre. Pour minimiser le temps nécessaire, il est souvent plus pratique et suffisant d'effectuer ce type de test uniquement pour un nombre limité de formes géométriques élémentaires, par exemple celles situées dans un voisinage donné.According to various embodiments, various tests may be applied to prevent the points or vertices being deployed beyond a useful limit, from which they are no longer visible. Indeed, it is generally useless to position points in non-visible places. This causes unnecessary losses of computing resources and memories. It is thus possible to check for each elementary geometric form if it forms an intersection with another. To minimize the time required, it is often more practical and sufficient to perform this type of test only for a limited number of elementary geometric shapes, for example those located in a given neighborhood.
L'invention prévoit par ailleurs un outil de conception de maillage destiné à générer ou modifier un maillage d'un ensemble d'entrée comportant une pluralité de formes géométriques élémentaires (telles que des triangles) décrivant une surface dans un espace tridimensionnel selon un agencement spatial initial sur lequel la carte procédurale est susceptible d'agir de façon à modifier ledit agencement, ledit outil comportant :The invention further provides a mesh design tool for generating or modifying a mesh of an input assembly having a plurality of elementary geometric shapes (such as triangles) describing a surface in a three-dimensional space according to a spatial arrangement. initial state on which the procedural map is capable of acting to modify said arrangement, said tool comprising:
-une unité d'entrée du maillage, pour recevoir les données correspondant à un maillage à modifier ;an input unit of the mesh, for receiving the data corresponding to a mesh to be modified;
-un outil de génération ou de modification de cartes procédurales permettant la génération de cartes procédurales à structure en arbre, comportant une pluralité d'étages, chacun avec au moins un nœud auquel est associé au moins un paramètre, destinées à produire un curseur spatial, comprenant :a tool for generating or modifying procedural maps making it possible to generate procedural maps having a tree structure, comprising a plurality of stages, each with at least one node to which at least one parameter is associated, intended to produce a spatial cursor, comprising:
-une unité d'entrée de paramètres de cartes, pour recevoir des paramètres prédéfinis de cartes procédurales prenant en compte les données d'au moins un ensemble d'entrée sur lequel le curseur spatial agira afin de modifier l'agencement spatial initial ;
-une unité de traitement destinée à traiter lesdits paramètres, de façon à générer ladite carte curseur spatial, de sorte que la carte ait une structure en arbre;a card parameter input unit, for receiving predefined procedural card parameters taking into account the data of at least one input set on which the spatial cursor will act in order to modify the initial spatial arrangement; a processing unit for processing said parameters, so as to generate said spatial cursor map, so that the map has a tree structure;
-des instructions de mise en œuvre, pour assurer le fonctionnement de l'outil et notamment de l'unité de traitement ;instructions for implementation, to ensure the operation of the tool and in particular of the processing unit;
-une sortie, permettant de transmettre les cartes produites, -un intégrateur, susceptible d'une part de mettre en correspondance les différents points du curseur spatial avec les points correspondant du maillage, et d'autre part de ré-agencer au moins une partie des points de l'ensemble d'entrée en fonction des données fournies par la ou les cartes procédurales de façon à générer un agencement spatial modifié pour au moins une partie des formes géométriques élémentaires.an output, making it possible to transmit the generated cards, an integrator, capable on the one hand of matching the different points of the spatial cursor with the corresponding points of the mesh, and on the other hand of re-arranging at least a part points of the input set according to the data provided by the one or more procedural maps so as to generate a modified spatial arrangement for at least a portion of the elementary geometric shapes.
Puisque les cartes procédurales à structure en arbre sont modifiables, l'outil selon l'invention confère à l'utilisateur une très grande souplesse de travail. Ainsi, les modifications peuvent être faites aisément et rapidement, avec un outil approprié, plutôt que manuellement.Since the procedural maps with tree structure are modifiable, the tool according to the invention gives the user a very great flexibility of work. Thus, changes can be made easily and quickly, with an appropriate tool, rather than manually.
L'outil selon l'invention comporte avantageusement, lors de sa mise en œuvre, une fenêtre de visualisation du maillage, susceptible de présenter le maillage à modifier (de préférence avant, pendant et après l'intégration).The tool according to the invention advantageously comprises, during its implementation, a display window of the mesh, capable of presenting the mesh to be modified (preferably before, during and after integration).
Ledit outil comprend de préférence un outil de sélection de nœuds permettant la sélection d'au moins un nœud d'un étage.The tool preferably includes a node selection tool for selecting at least one node of a stage.
Un tel outil peut être mis en place soit par l'entremise de la fenêtre de visualisation de la carte procédurale, ou encore par l'entremise de la fenêtre de visualisation du maillage. Il permet par exemple de déplacer une portion sélectionnée et/ou de modifier les paramètres d'une (ou même plusieurs) carte procédurale associée à cette sélection uniquement. Le reste de la carte peut soit rester inchangé, soit être modifié selon d'autres paramètres.
Selon une variante de réalisation avantageuse, l'outil de conception de maillage comprend par ailleurs :Such a tool can be implemented either through the procedural map display window, or through the window for viewing the mesh. It allows for example to move a selected portion and / or change the parameters of one (or more) procedural map associated with this selection only. The rest of the map can either remain unchanged or be modified according to other parameters. According to an advantageous variant embodiment, the mesh design tool also comprises:
-un outil de sélection et de modification de paramètres de cartes, pour d'une part sélectionner un paramètre à modifier, et d'autre part permettre l'entrée de la nouvelle valeur du paramètre ;a tool for selecting and modifying card parameters, in order firstly to select a parameter to be modified, and secondly to allow the entry of the new value of the parameter;
-une unité de traitement destinée à traiter lesdits paramètres de façon à générer ladite carte curseur spatial modifiée ;a processing unit for processing said parameters so as to generate said modified spatial cursor map;
-des instructions de mise en œuvre, pour assurer le fonctionnement de l'outil et notamment de l'unité de traitement ; -une sortie, permettant de transmettre la carte modifiée.instructions for implementation, to ensure the operation of the tool and in particular of the processing unit; an output, making it possible to transmit the modified card.
L'outil de sélection de noeuds comporte avantageusement une unité de sélection de profondeur, permettant de sélectionner l'étendue de la modification à réaliser sur l'arbre. Selon un autre exemple de réalisation, il comporte un cadre mobile de localisation de nœud-objet. Ledit cadre peut être commandé par un curseur directement depuis l'interface de travail.The node selection tool advantageously comprises a depth selection unit, making it possible to select the extent of the modification to be made on the shaft. According to another exemplary embodiment, it comprises a mobile node-object location frame. The frame can be controlled by a cursor directly from the work interface.
Selon un autre mode de réalisation avantageux, l'outil de conception de maillage, comportant également un module de génération de maillage. Un tel module peut être agencé pour coopérer avec le l'unité d'entrée de maillage. L'utilisateur dispose ainsi d'un outil lui permettant de créer un maillage, qui est aisément modifiable par la suite avec les autres éléments de l'outil de modification de maillage.According to another advantageous embodiment, the mesh design tool, also comprising a mesh generation module. Such a module can be arranged to cooperate with the mesh input unit. The user thus has a tool allowing him to create a mesh, which is easily modifiable later with the other elements of the mesh modification tool.
L'invention sera décrite à l'aide des figures 1 à 24 jointes, présentées uniquement à titre d'exemple non limitatif, dans lesquelles :The invention will be described with reference to FIGS. 1 to 24 attached, presented solely by way of non-limiting example, in which:
-les figures 1a, 1 b et 1c illustrent les principes de base pour la mise en correspondance entre les points des cartes procédurales et les points correspondants du maillage à modifier ; -les figures 2a et 2b présentent les principales étapes de deux modes de réalisation du procédé selon l'invention ;
-la figure 2c illustre les principaux éléments fonctionnels de l'outil selon l'invention lors de sa mise en œuvre ;FIGS. 1a, 1b and 1c illustrate the basic principles for the mapping between the points of the procedural maps and the corresponding points of the mesh to be modified; FIGS. 2a and 2b show the main steps of two embodiments of the method according to the invention; FIG. 2c illustrates the main functional elements of the tool according to the invention during its implementation;
-les figures 3 à 8 montrent d'une part l'interface de travail de l'outil selon l'invention, et d'autre part les différentes étapes permettant de modifier un maillage à partir d'une carte procédurale modifiable ;FIGS. 3 to 8 show on the one hand the working interface of the tool according to the invention, and on the other hand the various steps making it possible to modify a mesh from an modifiable procedural card;
-les figures 9 à 14 illustrent différents exemples de structures en arbre pour cartes procédurales, des exemples de paramètres et des exemples de modifications ; -les figures 15 à 19 montrent illustrent différents exemples de cartes procédurales à structure en arbre ; -les figures 20 à 23 montrent des exemples de modifications apportées à des cartes procédurales modifiables ;FIGS. 9 to 14 illustrate various examples of tree structures for procedural maps, example parameters and examples of modifications; FIGS. 15 to 19 show different examples of procedural maps with a tree structure; FIGS. 20 to 23 show examples of modifications made to modifiable procedural maps;
-la figure 24 illustre un exemple d'interface pour un outil permettant de générer et/ou modifier des cartes procédurales à structure en arbre.FIG. 24 illustrates an exemplary interface for a tool for generating and / or modifying procedural maps with a tree structure.
La présente invention est basée sur l'utilisation de cartes procédurales à structure à arbre. Les figures 9 à 14 illustrent des exemples de tels arbres (pour le cas spécifiques dans lequel n=1 , où n est la dimension du support. Par exemple, n=2 pour une image, n=3 pour un volume, n= 1 pour une courbe). Dans l'exemple de la figure 9, à j=0, on retrouve un nœud simple. Deux nœuds enfants ou fils se trouvent au niveau j=1 , et quatre au niveau j=2. Tous les nœuds sont similaires. La fonction F contribue pour beaucoup à la définition de la forme de base du nœud-objet. Elle est également désignée dans ce document par le terme « morphlet ». Un morphlet peut prendre pratiquement n'importe quelle forme. Une telle carte procédurale à structure en arbre peut être représentée par l'équation suivante :The present invention is based on the use of procedural maps with tree structure. Figures 9 to 14 illustrate examples of such trees (for the specific case where n = 1, where n is the size of the support, for example, n = 2 for an image, n = 3 for a volume, n = 1 for a curve). In the example of Figure 9, at j = 0, there is a single node. Two child nodes or sons are at level j = 1, and four at level j = 2. All nodes are similar. The F function contributes a lot to the definition of the basic form of the object-node. It is also referred to in this document as "morphlet". A morphlet can take virtually any form. Such a procedural map with a tree structure can be represented by the following equation:
∑ ∑ F (2j x - k) , ( j , k ) j kΣ Σ F (2 j x - k), (j, k) jk
formant un arbre T, et également représentée dans de document par :
∑ F (2jx - k) G - k) eTforming a tree T, and also represented in document by: Σ F (2 j x - k) G - k) eT
dans lequel:in which:
-F est une fonction ou morphlet Rn →R-F is a function or morphlet R n → R
-x est un vecteur du type (X1 , X2 Xn );-x is a vector of the type (X 1 , X 2 X n );
-T est un arbre comprenant des noeuds ( j , k ) et dans lequel-T is a tree comprising nodes (j, k) and in which
-j indique le niveau actuel, parmi un nombre potentiel total de niveaux jmax ( j e (0, 1 , 2 jmax ) ;-j indicates the current level, among a total potential number of levels jmax (j e (0, 1, 2 jmax);
-k est un vecteur de déplacement pour chaque noeud N et du type (xi , X2 i Xn ) •-k is a displacement vector for each node N and of the type (xi, X 2 i Xn) •
Les figures 9 à 14 illustrent des exemples de modifications locales qu'il est possible de réaliser grâce à la structure en arbre selon l'invention. Par exemple, à la figure 10, des valeurs différentes de H ont été attribuées. Ainsi, le demi arbre de gauche de la figure 10 comporte une valeur de H de 0,2 ; celui de droite, une valeur de H de 0,8.Figures 9 to 14 illustrate examples of local modifications that can be achieved through the tree structure of the invention. For example, in Figure 10, different values of H have been assigned. Thus, the left half-shaft of FIG. 10 has a value of H of 0.2; the one on the right, a value of H of 0.8.
L'arbre est symétrique mais l'invention permet de produire des arbres non symétriques. Ce type de modification peut permettre de modifier localement le niveau de rugosité d'une carte : en tendant vers H=1 une surface sera plus lisse ; en tendant vers H=O, une surface sera plus rugueuse.The shaft is symmetrical but the invention makes it possible to produce unsymmetrical shafts. This type of modification can make it possible to locally modify the roughness level of a card: by tending towards H = 1, a surface will be smoother; tending towards H = O, a surface will be rougher.
A la figure 12, certains sous-arbres ou branches sont supprimés. Le paramètre P représente une probabilité de supprimer des branches d'un arbre. Avec p=0,2, il y a une probabilité de o,2 de supprimer des branches ; pour p=0,8, cette probabilité est de 0,8. Ce paramètre peut être ajusté pour conserver ou non un forte densité de sous-arbres.In Figure 12, some subtrees or branches are deleted. Parameter P represents a probability of removing branches from a tree. With p = 0.2, there is a probability of o, 2 to remove branches; for p = 0.8, this probability is 0.8. This parameter can be adjusted to maintain or not a high density of subtrees.
La figure 13 illustre les possibilités offertes par le paramètre D, soit le décalage. Le décalage permet de déplacer un ou plusieurs noeuds de leurs positions d'origine.
Enfin, la figure 14 illustre les grands types de paramètres avec lesquels l'invention permet de travailler pour créer ou modifier des cartes procédurales : les paramètres d'action tels que p et D, et les paramètres de structure, tels que H, F et ξ.Figure 13 illustrates the possibilities offered by the parameter D, the offset. The offset moves one or more nodes from their original positions. Finally, FIG. 14 illustrates the major types of parameters with which the invention makes it possible to work to create or modify procedural maps: the action parameters such as p and D, and the structure parameters, such as H, F and ξ.
Les figures 15 à 19 illustrent des exemples de cartes procédurales possédant des structures en arbre. Par exemple, la figure 1 présente un exemple dans lequel un morphlet de type F= 1 , si X2 + y2 < 1 , autrement, F=O. A j=0, avec un nœud simple, un nœud-objet NO simple est généré, prenant la forme d'un disque uniforme et centré (figure 15).Figures 15 to 19 illustrate examples of procedural maps having tree structures. For example, Figure 1 shows an example in which a morphlet of type F = 1, if X2 + y2 <1, otherwise, F = O. At j = 0, with a simple node, a simple NO object node is generated, taking the form of a uniform and centered disk (Figure 15).
Pour j=1 , au second niveau, figure 16, on retrouve quatre nœud-objets, dans cet exemple, quatre disques de plus petite taille, chacun étant uniforme. Cette couche est donc divisée en quatre sections, chacune formant un nœud-objet. Chaque section occupe VA de la carte initiale, selon l'arrangement de type quadratique et uniforme de cet exemple. On voit donc l'effet des principaux paramètres : j indique le niveau actuel, k permet le déplacement de nœud-objets, dans cet exemple depuis le centre de la carte vers le centre d'un des quarts. Le morphlet de base F demeure inchangé.For j = 1, at the second level, Figure 16, there are four node-objects, in this example, four smaller disks, each being uniform. This layer is thus divided into four sections, each forming a node-object. Each section occupies VA of the initial map, according to the quadratic and uniform type arrangement of this example. We thus see the effect of the main parameters: j indicates the current level, k allows the displacement of node-objects, in this example from the center of the map towards the center of one of the quarters. The basic morphlet F remains unchanged.
La figure suivante (figure 17) illustre le 3Θ niveau 0=2), pour un même morphlet. Depuis le niveau précédent, il y a une nouvelle subdivision en 4 quarts, chaque quart possédant son nœud-objet, dans cet exemple, un disque similaire, mais toujours plus petit.The following figure (Figure 17) illustrates the 3 Θ level 0 = 2), for the same morphlet. Since the previous level, there is a new subdivision in 4 quarters, each quarter having its node-object, in this example, a similar disc, but always smaller.
La figure 18 montre la somme de ces différentes couches. Cet exemple très simple permet de bien visualiser les formes de base de chaque niveau. La figure 19 illustre une somme du même type mais pour un nombre plus élevé de niveaux, donc un nombre plus élevé de nœud-objets, d'où une structure plus complexe dans cet exemple.
EXEMPLES DE MODIFICATIONSFigure 18 shows the sum of these different layers. This very simple example makes it possible to visualize the basic forms of each level. Figure 19 illustrates a sum of the same type but for a higher number of levels, therefore a higher number of node-objects, hence a more complex structure in this example. EXAMPLES OF MODIFICATIONS
Les figures 20 à 23 illustrent des exemples de modifications de cartes qu'il est possible de réaliser à l'aide de la méthode et des outils selon l'invention. A la figure 20, le cadre mobile 23 de l'outil de sélection de nœud 20 est localisé sur un nœud-objet 51 à traiter. La figure suivante illustre le résultat suite à la suppression de ce nœud. On voit très bien que les modifications peuvent donc être faites à un niveau local, sans affecter le reste de la carte.Figures 20 to 23 illustrate examples of map modifications that can be made using the method and tools of the invention. In FIG. 20, the mobile frame 23 of the node selection tool 20 is located on an object node 51 to be processed. The following figure shows the result after deleting this node. We see very well that the changes can be made at a local level, without affecting the rest of the map.
Les figures 22 et 23 illustrent un processus similaire de modification des paramètres au niveau d'un nœud. Dans cet exemple, la fonction ou morphlet F a été modifiée, affectant de ce fait la forme de base du nœud-objet de ce quart de carte. En effet, on aperçoit à la figure 23 les disques de la figure 22 qui sont à présent amincis ou écrasés.Figures 22 and 23 illustrate a similar process of changing the parameters at a node. In this example, the function or morphlet F has been modified, thereby affecting the basic form of the node-object of this quarter map. Indeed, we see in Figure 23 the disks of Figure 22 which are now thinned or crushed.
La figure 24 illustre un exemple d'une interface de travail obtenue par un outil 10 de génération et/ou modification de cartes procédurales à structure en arbre. Selon diverses variantes de réalisation, un tel outil peut être fourni soit pour la modification de cartes procédurales existantes, soit pour la génération et la modification de telles cartes.FIG. 24 illustrates an example of a working interface obtained by a tool 10 for generating and / or modifying procedural maps with a tree structure. According to various embodiments, such a tool can be provided either for the modification of existing procedural maps, or for the generation and modification of such maps.
L'outil de base comporte un outil 20 de sélection de nœuds, comprenant un sélecteur 21 de niveau J, et un sélecteur de nœud, permettant la sélection d'un nœud donné dans le niveau choisi. En pratique, tel que décrit ci-après, l'utilisateur sélectionne une couche, correspondant à un niveau J donné et un nœud-objet, correspondant à un nœud K.The basic tool includes a node selection tool, including a J-level selector 21, and a node selector, allowing the selection of a given node in the selected level. In practice, as described below, the user selects a layer, corresponding to a given level J and a node object, corresponding to a node K.
L'outil 10 comporte un outil de paramétrage 30, permettant de sélectionner un paramètre, soit pour lui donner une première valeur, ou encore pour la modifier ou l'ajuster, selon le cas. Pour modifier une carte, un ou plusieurs nœuds 41 sont tout d'abord sélectionnés. Un outil tel que le sélecteur 20 de nœud offre cette possibilité. Un tel outil peut avantageusement fournir deux fonctions : une unité 21 de sélection de niveau, et une unité de sélection de nœud.
L'outil de sélection de noeud comporte une cible d'écran mobile 23. Cette cible est avantageusement configurée de façon à permettre de délimiter au moins un nœud-objet 51 dans une couche donnée. Dans les exemples illustrés, la cible est de forme sensiblement carrée. Pour faciliter la sélection des nœuds, l'outil comporte un mode de déplacement de façon à permettre l'auto-positionnement de la cible sur un nœud-objet ou sur un ensemble de nœuds-objets, par exemple les nœuds les plus près, lorsque la cible n'est pas parfaitement positionnée par l'utilisateur sur un nœud. La cible peut être commandée par tout type de commande classique d'un ordinateur, telle une souris, un pointeur, des touches du clavier telles que les flèches, ou une commande à distance telle une machine, un circuit spécialement conçu ou un logiciel de pilotage. Elle peut également être contrôlée directement depuis l'interface de l'outil 20 de sélection de nœud, par exemple à l'aide d'un curseur 24 contrôlant le déplacement de la cible 23 sur la carte.The tool 10 includes a parametering tool 30, for selecting a parameter, either to give it a first value, or to modify or adjust it, as the case may be. To modify a map, one or more nodes 41 are first selected. A tool such as the node selector 20 offers this possibility. Such a tool can advantageously provide two functions: a level selection unit 21, and a node selection unit. The node selection tool comprises a mobile screen target 23. This target is advantageously configured so as to allow delimiting at least one object node 51 in a given layer. In the illustrated examples, the target is substantially square in shape. To facilitate the selection of the nodes, the tool includes a mode of displacement so as to allow the self-positioning of the target on a node-object or on a set of node-objects, for example the nearest nodes, when the target is not perfectly positioned by the user on a node. The target can be controlled by any type of conventional control of a computer, such as a mouse, a pointer, keyboard keys such as arrows, or a remote control such as a machine, a specially designed circuit or a control software . It can also be controlled directly from the interface of the node selection tool, for example by means of a cursor 24 controlling the movement of the target 23 on the card.
De manière avantageuse, l'outil 23 est configuré de sorte que lorsqu'un niveau est sélectionné, la forme et la taille du cadre 23 s'adapte à ceux du noeud-objet 51 du niveau correspondant. L'outil 23 permet de sélectionner tout nœud du niveau sélectionné.Advantageously, the tool 23 is configured so that when a level is selected, the shape and size of the frame 23 adapts to those of the object node 51 of the corresponding level. The tool 23 makes it possible to select any node of the selected level.
Selon une autre variante, l'outil 20 de sélection de noeuds comporte un moyen de mise en évidence, permettant de bien indiquer à l'utilisateur quels nœuds sont sélectionnés. Une telle indication peut être réalisée par changement de couleur ou d'intensité, un clignotement, ou tout autre moyen visuel efficace.According to another variant, the node selection tool 20 comprises highlighting means, making it possible to indicate to the user which nodes are selected. Such an indication may be made by color or intensity change, flashing, or any other effective visual means.
L'outil 10 comporte de préférence un sélecteur 26 de profondeur, permettant à l'utilisateur d'indiquer si l'opération en cours concerne uniquement les noeuds du niveau sélectionné ou si les sous-arbres doivent également être traités de façon similaire.
L'outil de paramétrage 30 permet tout d'abord de sélectionner un paramètre à considérer Puis, sa nouvelle (modifiée ou initiale) peut être entrée. L'outil est avantageusement adapté afin de pouvoir traiter au moins un, mais de préférence tous les types de paramètres illustrés dans ce document, tels que : F: 34, H: 35, ξ: 36, p: 33, D(x): 31 , D(y): 32.The tool 10 preferably includes a depth selector 26, allowing the user to indicate whether the current operation only concerns the nodes of the selected level or whether the subtrees should also be treated in a similar manner. The parametering tool 30 first makes it possible to select a parameter to be considered. Then, its new (modified or initial) can be entered. The tool is advantageously adapted so as to be able to process at least one, but preferably all types of parameters illustrated in this document, such as: F: 34, H: 35, ξ: 36, p: 33, D (x) : 31, D (y): 32.
L'interface permet à l'utilisateur de donner une valeur aux différents paramètres. Par exemple, pour F, l'utilisateur entre une fonction, telle que celle illustrée. Selon une variante, un menu déroulant peut proposer à l'utilisateur une série de fonctions parmi lesquelles il peut choisir. Il en est de même pour le paramètre ξ. Pour le paramètre p, l'utilisateur donne une valeur, par exemple entre 0 et 1 , par exemple à l'aide d'un curseur ou autre outil similaire. Un menu déroulant peut aussi être proposé. Pour les paramètres H et D (pour x et y), dans le cas où l'utilisateur choisirait le mode interne, les valeurs peuvent être entrées de façon similaires à celle du paramètre p, avec des valeurs par exemple entre 0 et 1 pour H, et en pourcentage pour D. Une échelle de temps 70 représentant le temps permet de travailler avec des cartes dont les paramètres peuvent être appelés à varier en fonction du temps.The interface allows the user to give a value to the different parameters. For example, for F, the user enters a function, such as the one illustrated. According to one variant, a drop-down menu can offer the user a series of functions from which he can choose. It is the same for the parameter ξ. For the parameter p, the user gives a value, for example between 0 and 1, for example using a cursor or other similar tool. A drop-down menu can also be proposed. For parameters H and D (for x and y), in the case where the user chooses the internal mode, the values can be entered in a manner similar to that of the parameter p, with values for example between 0 and 1 for H , and as a percentage for D. A time scale 70 representing the time makes it possible to work with cards whose parameters may be called to vary as a function of time.
Les cartes procédurales en structure en arbre et le maillageProcedural maps in tree structure and mesh
Les figures 1a, 1b et 1c présentent le principe de base sur lequel la présente invention est fondée. Cet exemple est volontairement très simple à des fins de démonstration. Il va de soit que de nombreuses applications dans le domaine de l'infographie impliquent des maillages et des cartes procédurales plus complexes. Un maillage 60 constitué d'un certain nombre de formes géométriques élémentaires 61 , possède un agencement spatial initial. Les informations ou données servant à modifier la position d'au moins une des formes géométriques élémentaires 61 sont fournies par une ou plusieurs cartes procédurales 50 à structure en arbre 40. Dans l'exemple de la figure 1a, huit triangles 61 sont agencés dans un plan de façon à former un carré. La carte procédurale 50 doit contenir au moins les informations de repositionnement pour les points à déplacer.
La carte 50 possède donc des informations différentes dans sa portion gauche supérieure, correspondant aux points à déplacer, de celles du reste de la carte, correspondant à des points que l'on ne souhaite pas déplacer. La figure 1b montre la correspondance entre les sections ou régions ou points de la carte procédurale 50 d'instructions ou de calcul de positionnement, et les différents points du maillage 60 à modifier. Pour chaque point du maillage correspond un point de la carte. L'appariement des points correspond dans cet exemple s'effectue simplement, comme si on superposait la carte procédurale sur le maillage initial. Les flèches de correspondance de la figure 1b illustrent cet aspect.Figures 1a, 1b and 1c show the basic principle upon which the present invention is based. This example is deliberately very simple for demonstration purposes. It goes without saying that many applications in the field of computer graphics involve meshes and procedural maps more complex. A mesh 60 consisting of a number of elementary geometric shapes 61, has an initial spatial arrangement. The information or data used to modify the position of at least one of the elementary geometrical shapes 61 are provided by one or more procedural maps 50 with a tree structure 40. In the example of FIG. 1a, eight triangles 61 are arranged in a plan to form a square. The procedural map 50 must contain at least the repositioning information for the points to be moved. The card 50 therefore has different information in its upper left portion, corresponding to the points to be moved, those of the rest of the card, corresponding to points that we do not want to move. FIG. 1b shows the correspondence between the sections or regions or points of the procedural map 50 of instruction or positioning calculation, and the different points of the mesh 60 to be modified. For each point of the mesh corresponds a point of the map. In this example, the pairing of the points corresponds simply as if the procedural map were superimposed on the initial mesh. The arrows of correspondence of Figure 1b illustrate this aspect.
Lorsque la mise en correspondance est effectuée, les données servant à repositionner les points du maillage 60 ont été transférées ou envoyées au calculateur. Dans ce schéma théorique, on illustre la transposition de la carte vers le maillage. En pratique, un moyen ou outil de calcul est nécessaire pour lire ou interpréter les données de positionnement de la carte et établir la nouvelle position.When the mapping is done, the data used to reposition the points of the mesh 60 have been transferred or sent to the computer. In this theoretical diagram, we illustrate the transposition of the map to the mesh. In practice, a means or calculation tool is required to read or interpret the positioning data of the card and establish the new position.
La figure 1c montre le résultat du calcul effectué pour repositionner les points à déplacer. Les informations de déplacement contenues dans la carte ont été appliquées au maillage 60. On constate que la portion pâle de la carte 50 contenant des valeurs non nulles a permis le repositionnement d'une portion correspondante des points du maillage 60, en fonction des valeurs contenues dans la carte.Figure 1c shows the result of the calculation performed to reposition the points to move. The displacement information contained in the map has been applied to the mesh 60. It can be seen that the pale portion of the map 50 containing non-zero values has allowed the repositioning of a corresponding portion of the points of the mesh 60, as a function of the values contained therein. in the map.
Les données de repositionnement peuvent être fournies dans tout format permettant d'établir une nouvelle position, par exemple à l'aide de vecteurs. A ce titre, plusieurs cartes procédurales complémentaires peuvent être utiles pour fournir les données. Par exemple, une carte pour les distances, et une pour les angles ou directions. Dans l'exemple illustré à la figure 1 , les déplacements sont orthogonaux ; seule une carte distance suffit à établir les nouvelles positions. La figure 1c présente également des exemples de valeurs de déplacement pour les points qui ont été repositionnés.
Les cartes procédurales agissent donc comme des curseurs spatiaux, permettant de redéfinir les positions de différents points d'un maillage à modifier.The repositioning data can be provided in any format for establishing a new position, for example using vectors. As such, several additional procedural maps may be useful for providing the data. For example, a map for distances, and one for angles or directions. In the example illustrated in FIG. 1, the displacements are orthogonal; only a distance map is sufficient to establish the new positions. Figure 1c also shows examples of displacement values for points that have been repositioned. Procedural maps therefore act as spatial cursors, making it possible to redefine the positions of different points of a mesh to be modified.
Les figures 2a et 2b présentent des diagrammes fonctionnels permettant d'illustrer les différentes étapes de la méthode selon l'invention. Un maillage 60 de départ est considéré afin d'y apporter des modifications. Une carte procédurale 50 est établie par l'utilisateur. Cette carte contient les paramètres ou données relatifs aux déplacements des points à effectuer. Une étape de mise en correspondance permet d'apparier les points de la carte 50 à ceux du maillage 60. Les données transmises permettent ensuite d'effectuer des calculs de distances et d'éventuels calculs de direction (pour les cas où les déplacements ne sont pas orthogonaux). L'étape de déplacement des points peut alors être effectuée. Un maillage modifié est ainsi obtenu.Figures 2a and 2b show functional diagrams for illustrating the different steps of the method according to the invention. A starting mesh 60 is considered in order to make modifications. A procedural map 50 is established by the user. This card contains the parameters or data relating to the movements of the points to be made. A mapping step makes it possible to match the points of the card 50 with those of the mesh 60. The transmitted data then make it possible to carry out distance calculations and possible direction calculations (for cases where the displacements are not not orthogonal). The step of moving the points can then be performed. A modified mesh is thus obtained.
Selon un mode de réalisation avantageux, la méthode et l'outil selon l'invention permettent de procéder à des modifications de la ou des cartes procédurales. La carte est modifiée par l'utilisateur, à l'aide d'outils qui sont décrits plus loin dans ce document. A partir de cette carte modifiée, appliquée au maillage de départ, les calculs de distances et de directions sont effectués, permettant de procéder aux déplacements des points du maillage. Un nouveau maillage est alors obtenu. Ce nouveau maillage peut bien sûr être modifié à nouveau, autant de fois que nécessaire, pour obtenir un résultat satisfaisant.According to an advantageous embodiment, the method and the tool according to the invention make it possible to modify the procedural card or cards. The map is modified by the user, using tools that are described later in this document. From this modified map, applied to the starting grid, the distances and directions calculations are carried out, making it possible to proceed with the displacements of the points of the mesh. A new mesh is then obtained. This new mesh can of course be modified again, as many times as necessary, to obtain a satisfactory result.
Bien que la figure 2a présente les étapes de calculs et de déplacements comme étant réalisées de façon successive, celles-ci peuvent être effectuées en parallèle, ou selon un ordre différent. Bien sûr, l'étape de déplacement est avantageusement réalisée en fin de processus, afin de permettre l'obtention préalable de l'ensemble des données nécessaires pour effectuer ces déplacements.
La figure 2b présente une variante avantageuse de la figure 2a, comprenant par ailleurs une (ou plusieurs) étapes de subdivision du maillage 60. Il est en effet fréquent que le maillage de base ne soit pas suffisamment dense pour permettre d'obtenir le résultat escompté à partir des données de déplacements fournies. Plutôt que de procéder manuellement à l'ajout des points de maillage manquants, la méthode et l'outil selon l'invention permettent d'enrichir ou d'augmenter la densité du maillage en ajoutant, à l'aide d'un processus itératif, les points manquants. Cette particularité fort avantageuse de l'invention est décrite plus en détails ultérieurement dans ce document.Although FIG. 2a shows the calculation and displacement steps as being carried out successively, they can be performed in parallel, or in a different order. Of course, the moving step is advantageously performed at the end of the process, to allow the prior obtaining of all the data necessary to perform these movements. FIG. 2b shows an advantageous variant of FIG. 2a, furthermore comprising one (or several) subdivision steps of the mesh 60. It is indeed common that the basic mesh is not dense enough to obtain the desired result. from the travel data provided. Rather than manually adding the missing mesh points, the method and the tool according to the invention make it possible to enrich or increase the density of the mesh by adding, using an iterative process, missing points. This very advantageous feature of the invention is described in more detail later in this document.
La figure 2c présente les différents éléments fonctionnels utilisés lors de la mise en œuvre de l'invention. Un intégrateur 100 reçoit d'une part les données d'une unité d'entrée 102 du maillage 60, et d'autre part les données d'un outil de génération et/ou de modification 103 de carte procédurale. L'intégrateur 100 comporte des instructions de calcul lui permettant d'effectuer la mise en correspondance ou appariement des cartes avec le maillage. Il comporte également des instructions de calcul lui permettant de calculer les distances et les éventuelles directions, afin de procéder aux déplacements des points du maillage pour lesquels des informations relatives à un déplacement ont été fournies.Figure 2c shows the various functional elements used in the implementation of the invention. An integrator 100 receives on the one hand the data of an input unit 102 of the mesh 60, and on the other hand the data of a tool for generating and / or modifying 103 of procedural card. The integrator 100 includes calculation instructions enabling it to map or match the cards with the mesh. It also includes calculation instructions enabling it to calculate the distances and possible directions, in order to proceed with the displacements of the points of the mesh for which information relating to a displacement has been provided.
Le maillage résultant est de préférence mémorisé par une unité de sauvegarde 104 du maillage.The resulting mesh is preferably stored by a backup unit 104 of the mesh.
L'intégrateur 100 joue également un rôle clé pour les cas où une carte doit être modifiée. De manière avantageuse, il permet de gérer ou réaliser ces modifications à partir de la fenêtre de visualisation du maillage. Les informations relatives aux modifications apportées sont transmises à l'outil de génération/modification de cartes, qui génère la nouvelle carte comportant ces modifications. Enfin, l'intégrateur permet d'effectuer les calculs relatifs aux distances et aux éventuelles directions pour une carte modifiée. Les déplacements des points correspondants peuvent alors être réalisés.
La figure 3 illustre un exemple d'interface de travail 110 d'un tel intégrateur 100. L'exemple illustré possède deux fenêtres de visualisation : une première fenêtre 111 pour visualiser la carte 50 ou au moins une portion d'une carte en cours d'utilisation, et une fenêtre 112 de visualisation du maillage. Selon un mode de réalisation avantageux de l'invention, cette seconde fenêtre 112 permet de représenter non seulement le maillage 60 seul, mais également l'ensemble résultant de la mise en correspondance des cartes avec le maillage. Cet aspect est particulièrement avantageux et facilite et agrémente grandement le travail de l'utilisateur qui peut ainsi visualiser les éléments pour lesquels il souhaite réaliser des modifications.Integrator 100 also plays a key role in cases where a card needs to be modified. Advantageously, it makes it possible to manage or to carry out these modifications starting from the window of visualization of the mesh. Information about the changes made is passed to the map generation / modification tool, which generates the new map with these changes. Finally, the integrator makes it possible to calculate distances and possible directions for a modified map. The movements of the corresponding points can then be made. FIG. 3 illustrates an example of a working interface 110 of such an integrator 100. The illustrated example has two viewing windows: a first window 111 for displaying the card 50 or at least a portion of a card in progress. use, and a window 112 for viewing the mesh. According to an advantageous embodiment of the invention, this second window 112 makes it possible to represent not only the mesh 60 alone, but also the assembly resulting from the mapping of the cards with the mesh. This aspect is particularly advantageous and facilitates and greatly enhances the work of the user who can view the elements for which he wishes to make changes.
Des outils de paramétrage de cartes 130 sont disposées sur l'interface de travail 110 et comportent, dans l'exemple illustré : une commande « fonction » 134 pour entrer ou modifier la fonction de base de la carte procédurale utilisée. Une commande 135 pour entrer ou modifier la valeur de H, et une commande 125 pour entrer ou modifier la valeur de Jmax. D'autres commandes permettant d'entrer ou de modifier d'autres valeurs de paramètres peuvent aussi être utilisées sur cette interface, comme par exemple les commandes présentées dans l'outil de paramétrage 30 de l'interface de la figure 24 (pour les paramètres Xi, D et p). Par ailleurs, comme dans l'interface de la figure 24, l'interface 110 de l'intégrateur 100 peut présenter une échelle de temps afin de permettre d'établir un ou plusieurs paramètres qui peuvent varier en fonction du temps.Card parameterizing tools 130 are arranged on the working interface 110 and comprise, in the illustrated example: a "function" command 134 for entering or modifying the basic function of the procedural card used. A command 135 to enter or modify the value of H, and a command 125 to enter or modify the value of Jmax. Other commands making it possible to enter or modify other parameter values can also be used on this interface, for example the commands presented in the parameterization tool 30 of the interface of FIG. 24 (for the parameters Xi, D and p). Moreover, as in the interface of FIG. 24, the interface 110 of the integrator 100 may have a time scale in order to make it possible to establish one or more parameters that may vary as a function of time.
Des outils d'intégration 140 et de calcul du maillage sont également présentés à la figure 3. Ces outils comportent une commande de sélection du mode de mise en correspondance 141 qui permet de choisir parmi des modes connus, tels que la mise en correspondance par paramétrisation UV, sphérique, cylindrique, cubique, planaire, etc.Tools 140 for integrating and calculating the mesh are also presented in FIG. 3. These tools comprise a selection control of the mapping mode 141 which makes it possible to choose from known modes, such as parameterization mapping. UV, spherical, cylindrical, cubic, planar, etc.
Une commande de subdivision 142 permet d'établir l'importance des subdivisions à réaliser. Dans l'exemple illustré, il s'agit d'une division par 4. Une commande déplacement 143 permet d'entrer le mode (ou angle) de déplacement. Selon une
variante de réalisation, cette commande est avantageusement remplacée par une ou plusieurs cartes procédurales, notamment dans les cas où les angles ne sont pas tous les mêmes pour tous les points. Dans l'exemple illustré, il s'agit d'un déplacement selon une normale au plan. Une commande seuil 144 permettant d'ajuster le seuil de subdivision est également présente. Dans l'exemple, il s'agit d'un curseur permettant de sélectionner une valeur entre 0 et le seuil maximum. Enfin, l'exemple illustré comporte un bouton de commande 145 pour lancer la création du maillage, c'est-à-dire l'étape de déplacement des points.A subdivision command 142 makes it possible to establish the importance of the subdivisions to be realized. In the illustrated example, it is a division by 4. A displacement command 143 makes it possible to enter the mode (or angle) of displacement. According to one embodiment variant, this command is advantageously replaced by one or more procedural cards, especially in cases where the angles are not all the same for all points. In the illustrated example, it is a displacement according to a plane normal. A threshold command 144 for adjusting the subdivision threshold is also present. In the example, it is a cursor to select a value between 0 and the maximum threshold. Finally, the illustrated example includes a command button 145 to start the creation of the mesh, that is to say the step of moving the points.
Les commandes disposées sous la fenêtre de visualisation du maillage sont avantageusement dédiées aux options et tâches réalisées à l'aide de cette fenêtre. Par exemple, dans l'exemple illustré, une commande de sélection de niveau 121 permet de sélectionner à quel niveau ou étage sur l'arbre la modification en cours doit être appliquée. Un sélecteur de profondeur 126 permet par ailleurs d'indiquer si la modification s'applique seulement au nœud courant ou à tous les nœuds qui en dépendent (les nœuds fils).The commands arranged under the mesh display window are advantageously dedicated to the options and tasks performed using this window. For example, in the example shown, a level selection command 121 selects which level or stage on the tree the current change is to be applied. A depth selector 126 also makes it possible to indicate whether the modification applies only to the current node or to all the nodes that depend on it (the child nodes).
Enfin, l'interface de travail comporte de préférence une commande « position de la caméra » 150 permettant de simuler un positionnement d'une caméra par rapport à l'objet en cours de travail. Dans l'exemple illustré, cette commande permet de sélectionner les angles de visualisation ainsi que la distance entre la caméra et l'objet.Finally, the working interface preferably comprises a command "position of the camera" 150 for simulating a positioning of a camera relative to the object being worked. In the example shown, this command is used to select the viewing angles and the distance between the camera and the object.
En plus de l'interface de base, la figure 3 présente un exemple de maillage 60 de base utilisé comme ensemble d'entrée, présenté dans la fenêtre 112 de visualisation du maillage. L'autre fenêtre 111 présente un exemple de carte procédurale 50 à structure en arbre, qui permettra de procéder à des modifications du maillage de base présenté à la figure 5.In addition to the basic interface, FIG. 3 presents an example of a basic mesh 60 used as an input set, presented in the window 112 for displaying the mesh. The other window 111 shows an example of a procedural map 50 with a tree structure, which will make it possible to modify the basic mesh presented in FIG.
La figure 4 présente l'étape de mise en correspondance entre les points de la carte procédurale et ceux correspondant du maillage, à partir de la carte et du maillage présentés à la figure 3. Le type de correspondance, le nombre de
subdivision à appliquer au maillage initial ainsi que le type de déplacement peuvent être indiqués par l'utilisateur avec les divers outils d'intégration 140 et de calcul du maillage prévus sur l'interface de travail 110. Les flèches en pointillés montrent comment les points de la carte sont appariés à ceux du maillage. Une fois la mise en correspondance effectuée, la commande « création du maillage » 145 permet de procéder aux différents calculs nécessaires pour effectuer les déplacements des points affectés par la carte.FIG. 4 presents the step of mapping between the points of the procedural map and those corresponding to the mesh, from the map and the grid presented in FIG. 3. The type of correspondence, the number of subdivision to be applied to the initial mesh as well as the type of displacement can be indicated by the user with the various integration tools 140 and mesh calculation provided on the working interface 110. The dotted arrows show how the points of the map are matched to those of the mesh. Once the mapping has been done, the command "creation of the mesh" 145 makes it possible to carry out the various calculations necessary to make the displacements of the points affected by the card.
La fenêtre 112 de visualisation du maillage de la figure 5 montre le maillage 60 une fois les déplacements effectués. Cette même figure montre également l'outil de sélection 123 ou cible utilisé afin de sélectionner une portion du maillage sur laquelle l'utilisateur souhaite procéder à des modifications locales. Il sélectionne l'étage de travail et à quels nœuds les modifications s'appliqueront, grâce aux commandes 121 et 126.The mesh display window 112 of FIG. 5 shows the mesh 60 once the movements have been made. This same figure also shows the selection tool 123 or target used to select a portion of the mesh on which the user wishes to make local changes. It selects the work stage and at which nodes the changes will apply, thanks to commands 121 and 126.
La figure 6 illustre l'étape suivante, consistant à effectuer les modifications souhaitées sur la portion de maillage sélectionnée. Dans cet exemple l'utilisateur déplace la portion de maillage sélectionnée pour la positionner à un autre endroit, tel qu'indiqué par la flèche en trait pointillé. L'interface de travail permet à l'utilisateur de travailler à partir de la fenêtre de visualisation, ce qui est particulièrement pratique pour bien visualiser l'effet des modifications en cours sur le maillage. La figure 6 montre bien qu'à cette étape, le nouveau maillage n'est pas encore calculé. La fenêtre présente (à l'intérieur de la cible 23) une image de la section de la carte procédurale sélectionnée. A noter sur cette même figure, la fenêtre 111 de visualisation de la carte procédurale qui montre bien la modification apportée à la carte.Figure 6 illustrates the next step of making the desired changes on the selected mesh portion. In this example, the user moves the selected mesh portion to position it at another location, as indicated by the dotted arrow. The working interface allows the user to work from the viewing window, which is particularly useful for visualizing the effect of current changes on the mesh. Figure 6 shows that at this stage, the new mesh is not yet calculated. The window has (within the target 23) an image of the section of the selected procedural map. Note on this same figure, the viewing window 111 of the procedural map that shows the modification made to the map.
Dans cet exemple, les modifications sont effectuées et commandées à partir de la fenêtre 112 de visualisation du maillage. Selon une variante de réalisation, les modifications peuvent être commandées et effectuées à partir de la fenêtre 111 de visualisation de la carte.
Lorsque l'utilisateur est satisfait des modifications apportées à la carte, il peut lancer le calcul pour la création du maillage comportant ces modifications. La figure 7 présente cette étape, dans laquelle le maillage modifié est établi, par exemple par activation de la commande « création du maillage » 145. On voit bien sur la figure l'apparition des déplacements verticaux dans la portion de maillage qui a été déplacée.In this example, the modifications are made and controlled from the window 112 for viewing the mesh. According to an alternative embodiment, the modifications can be controlled and performed from the viewing window 111 of the card. When the user is satisfied with the modifications made to the card, he can start the calculation for the creation of the mesh containing these modifications. FIG. 7 shows this step, in which the modified mesh is established, for example by activation of the command "creation of the mesh" 145. It is clearly seen in the figure the appearance of the vertical displacements in the portion of mesh that has been displaced. .
Enfin, la figure 8 illustre le résultat final obtenu une fois l'ensemble des modifications effectuées.Finally, FIG. 8 illustrates the final result obtained once all the modifications have been made.
L'exemple de réalisation de l'intégrateur 100 a été décrit et présenté avec une interface 110 dans laquelle on retrouve à la fois les outils de travail des cartes procédurales et ceux relatifs au maillage. Selon diverses variantes de réalisation, l'outil est scindé en différents sous-ensembles. Par exemple, il comprend un outil et une interface du type de ceux de la figure 24, utilisés en parallèle avec une interface de gestion de maillage dépourvue de fenêtre de visualisation de carte et d'outils de paramétrage de carte.
The exemplary embodiment of the integrator 100 has been described and presented with an interface 110 in which one finds both the working tools of the procedural maps and those relating to the mesh. According to various embodiments, the tool is split into different subsets. For example, it comprises a tool and an interface of the type of those of FIG. 24, used in parallel with a mesh management interface that does not have a card display window and card parameterization tools.
Claims
1. Procédé de conception de maillage pour générer ou modifier un maillage (60) d'un ensemble d'entrée comportant une pluralité de formes géométriques élémentaires (61) décrivant une surface dans un espace tridimensionnel selon un agencement spatial initial sur lequel la carte procédurale est susceptible d'agir de façon à modifier ledit agencement, comportant les étapes consistant à : a. -introduire les données constituant le maillage (60) à traiter dans un outil de modification de maillage; b. -introduire les paramètres d'au moins une carte procédurale (50) modifiable destinée à produire un curseur spatial dans un outil de génération ou modification de cartes procédurales ; c.-générer la carte procédurale (50) à l'aide dudit outil de génération ou modification de carte procédurale modifiable ; d. -effectuer une mise en correspondance entre les différents points de la ou des cartes procédurales (50) et les points correspondants du maillage (60) ; e.-ré-agencer au moins une partie des points de l'ensemble d'entrée en fonction des données fournies par la ou les cartes procédurales de façon à générer un agencement spatial modifié pour au moins une partie des formes géométriques élémentaires.A mesh design method for generating or modifying a mesh (60) of an input assembly having a plurality of elementary geometric shapes (61) describing a surface in a three-dimensional space according to an initial spatial arrangement on which the procedural map is operable to modify said arrangement, comprising the steps of: a. -Introduce the data constituting the mesh (60) to be processed in a mesh modification tool; b. inserting the parameters of at least one modifiable procedural map (50) intended to produce a spatial cursor in a tool for generating or modifying procedural maps; c.-generating the procedural map (50) using said modifiable procedural map generation or modification tool; d. performing a mapping between the different points of the procedural card or cards (50) and the corresponding points of the mesh (60); e.-re-arranging at least a portion of the points of the input set according to the data provided by the one or more procedural maps so as to generate a modified spatial arrangement for at least a portion of the elementary geometric shapes.
2. Procédé de conception selon la revendication 1 , dans lequel le ré¬ agencement des points est commandé par au moins une carte procédurale (50) modifiable comportant des indications relatives à une direction et une distance pour les points à déplacer.2. The design method according to claim 1, wherein the re¬ arrangement of the points is controlled by at least one modifiable procedural card (50) comprising indications relating to a direction and a distance for the points to be moved.
3. Procédé de conception selon l'une des revendication précédentes, dans lequel ladite carte est une carte procédurale (50), à structure en arbre (40), comportant une pluralité d'étages (43), chacun avec au moins un nœud (41), ladite carte étant destinée à produire un curseur spatial, auquel est associé au moins un paramètre. The method of design according to one of the preceding claims, wherein said card is a procedural card (50), with a tree structure (40), comprising a plurality of stages (43), each with at least one node ( 41), said card being intended to produce a spatial cursor, with which at least one parameter is associated.
4. Procédé de conception selon l'une des revendications précédentes, comportant en plus une étape de subdivision consistant à subdiviser au moins une portion des formes géométriques élémentaires.4. Design method according to one of the preceding claims, further comprising a subdivision step of subdividing at least a portion of the elementary geometric shapes.
5. Procédé de conception selon la revendication 4, dans lequel l'étape de subdivision consiste à : a.vérifier si le critère d'arrêt de subdivision est atteint ; b.si le critère n'est pas satisfait, effectuer au moins une subdivision et retourner à l'étape (a) ; c.si le critère est satisfait, cesser la subdivision.The design method according to claim 4, wherein the step of subdividing comprises: a. Checking whether the subdivision stopping criterion is reached; if the criterion is not satisfied, perform at least one subdivision and return to step (a); if the criterion is satisfied, stop the subdivision.
6. Procédé de conception selon l'une des revendications précédentes, comportant par ailleurs une étape consistant à afficher le maillage.6. Design method according to one of the preceding claims, further comprising a step of displaying the mesh.
7. Procédé de conception selon l'une des revendications précédentes, comportant par ailleurs une étape consistant à afficher au moins une des cartes procédurales mises en oeuvre.7. The design method according to one of the preceding claims, further comprising a step of displaying at least one of the procedural maps implemented.
8. Procédé de conception selon l'une des revendications précédentes, dans lequel on modifie au moins une carte procédurale.8. Design method according to one of the preceding claims, wherein modifying at least one procedural card.
9. Procédé de conception selon l'une des revendications précédentes, dans lequel au moins une carte procédurale dépend du temps.9. Design method according to one of the preceding claims, wherein at least one procedural card depends on time.
10. Procédé de conception selon l'une des revendications précédentes, dans lequel le maillage est généré par un générateur de maillage.10. The design method according to one of the preceding claims, wherein the mesh is generated by a mesh generator.
11. Outil de conception de maillage pour la mise en œuvre du procédé selon l'une des revendications 1 à 10, destiné à générer ou modifier un maillage d'un ensemble d'entrée comportant une pluralité de formes géométriques élémentaires décrivant une surface dans un espace tridimensionnel selon un agencement spatial initial sur lequel la carte procédurale est susceptible d'agir de façon à modifier ledit agencement, ledit outil comportant :11. mesh design tool for implementing the method according to one of claims 1 to 10, for generating or modifying a mesh of an input assembly comprising a plurality of elementary geometric shapes describing a surface in a three-dimensional space according to a initial spatial arrangement on which the procedural map is operable to modify said arrangement, said tool comprising:
-une unité d'entrée du maillage, pour recevoir les données correspondant à un maillage à modifier ; -un outil de génération ou de modification de cartes procédurales (10) permettant la génération de cartes procédurales (50) à structure en arbre (40), comportant une pluralité d'étages (43), chacun avec au moins un nœud auquel est associé au moins un paramètre, destinées à produire un curseur spatial, comprenant :an input unit of the mesh, for receiving the data corresponding to a mesh to be modified; a tool for generating or modifying procedural maps (10) for generating procedural maps (50) with a tree structure (40), comprising a plurality of stages (43), each with at least one node with which it is associated at least one parameter, for producing a spatial cursor, comprising:
-une unité d'entrée (30) de paramètres (31 , 32, 33, 34, 35a, 35b, 36) de cartes, pour recevoir des paramètres prédéfinis de cartes procédurales prenant en compte les données d'au moins un ensemble d'entrée sur lequel le curseur spatial agira afin de modifier l'agencement spatial initial ;an input unit (30) for card parameters (31, 32, 33, 34, 35a, 35b, 36) for receiving predefined parameters of procedural cards taking into account the data of at least one set of input on which the spatial cursor will act to modify the initial spatial arrangement;
-une unité de traitement destinée à traiter lesdits paramètres, de façon à générer ladite carte curseur spatial, de sorte que la carte ait une structure en arbre;a processing unit for processing said parameters, so as to generate said spatial cursor map, so that the map has a tree structure;
-des instructions de mise en œuvre, pour assurer le fonctionnement de l'outil et notamment de l'unité de traitement ;instructions for implementation, to ensure the operation of the tool and in particular of the processing unit;
-une sortie, permettant de transmettre les cartes produites ; -un intégrateur, susceptible d'une part de mettre en correspondance les différents points du curseur spatial avec les points correspondant du maillage, et d'autre part de ré-agencer au moins une partie des points de l'ensemble d'entrée en fonction des données fournies par la ou les cartes procédurales de façon à générer un agencement spatial modifié pour au moins une partie des formes géométriques élémentaires.an output, to transmit the cards produced; an integrator, able on the one hand to match the different points of the spatial cursor with the corresponding points of the mesh, and on the other hand to re-arrange at least a portion of the points of the input set according to data provided by the one or more procedural maps so as to generate a modified spatial arrangement for at least a portion of the elementary geometric shapes.
12. Outil de conception de maillage selon la revendication 11 , comportant, lors de sa mise en œuvre, une fenêtre de visualisation du maillage, susceptible de présenter le maillage à modifier.12. mesh design tool according to claim 11, comprising, during its implementation, a mesh display window, may have the mesh to be modified.
13. Outil de conception de maillage selon l'une des revendications 11 ou 12, comprenant par ailleurs un outil de sélection de nœuds (20) permettant la sélection d'au moins un nœud d'un étage d'une carte. 13. mesh design tool according to one of claims 11 or 12, further comprising a node selection tool (20) for selecting at least one node of a floor of a card.
14. Outil de conception de maillage selon l'une des revendications 11 à 13, comprenant par ailleurs :The mesh design tool according to one of claims 11 to 13, further comprising:
-un outil de sélection et de modification de paramètres de cartes (30), pour d'une part sélectionner un paramètre à modifier, et d'autre part permettre l'entrée de la nouvelle valeur du paramètre (31 , 32, 33, 34, 35a, 35b, 36) ; -une unité de traitement destinée à traiter lesdits paramètres de façon à générer ladite carte modifiée ;a tool for selecting and modifying card parameters (30), firstly to select a parameter to be modified, and secondly to allow the input of the new value of the parameter (31, 32, 33, 34). 35a, 35b, 36); a processing unit for processing said parameters so as to generate said modified card;
-des instructions de mise en œuvre, pour assurer le fonctionnement de l'outil et notamment de l'unité de traitement ;instructions for implementation, to ensure the operation of the tool and in particular of the processing unit;
-une sortie, permettant de transmettre la carte modifiée.an output, making it possible to transmit the modified card.
15. Outil de conception de maillage selon l'une des revendications 13 ou 14, dans lequel l'outil de sélection de noeuds comporte une unité de sélection de profondeur (26), permettant de sélectionner l'étendue de la modification à réaliser sur l'arbre.The mesh design tool according to one of claims 13 or 14, wherein the node selection tool comprises a depth selection unit (26), making it possible to select the extent of the modification to be made on the screen. 'tree.
16. Outil de conception de maillage selon l'une des revendications 13 à 15, dans lequel l'outil de sélection de noeuds comporte un cadre mobile (23) de localisation de nœud-objet (51).The mesh design tool according to one of claims 13 to 15, wherein the node selection tool comprises a mobile node node locator frame (23).
17. Outil de conception de maillage selon la revendication 16, dans lequel ledit cadre (23) est commandé par un curseur (21 , 24) directement depuis l'interface de travail.The mesh design tool according to claim 16, wherein said frame (23) is controlled by a slider (21, 24) directly from the working interface.
18. Outil de conception de maillage selon l'une des revendications 11 à 17, comportant également un module de génération de maillage. 18. Mesh design tool according to one of claims 11 to 17, also comprising a mesh generation module.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0408810 | 2004-08-10 | ||
PCT/EP2005/008402 WO2006015781A1 (en) | 2004-08-10 | 2005-08-03 | Mesh design method and tool |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1787263A1 true EP1787263A1 (en) | 2007-05-23 |
Family
ID=34951402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP05775913A Withdrawn EP1787263A1 (en) | 2004-08-10 | 2005-08-03 | Mesh design method and tool |
Country Status (3)
Country | Link |
---|---|
US (1) | US20080211807A1 (en) |
EP (1) | EP1787263A1 (en) |
WO (1) | WO2006015781A1 (en) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020154132A1 (en) * | 1997-07-30 | 2002-10-24 | Alain M. Dumesny | Texture mapping 3d graphic objects |
US6396522B1 (en) * | 1999-03-08 | 2002-05-28 | Dassault Systemes | Selection navigator |
US6674433B1 (en) * | 2000-03-10 | 2004-01-06 | Intel Corporation | Adaptively subdividing a subdivision surface |
US6910001B2 (en) * | 2000-03-22 | 2005-06-21 | Schlumberger Technology Corp. | Distributed multiresolution geometry modeling system and method |
US6823495B1 (en) * | 2000-09-14 | 2004-11-23 | Microsoft Corporation | Mapping tool graphical user interface |
US6738062B1 (en) * | 2001-01-10 | 2004-05-18 | Nvidia Corporation | Displaced subdivision surface representation |
US7133044B2 (en) * | 2001-05-15 | 2006-11-07 | Autodesk, Inc. | System of feature-based surface mapping |
EP1347418A3 (en) * | 2002-02-28 | 2005-11-23 | Canon Europa N.V. | Texture map editing |
-
2005
- 2005-08-03 WO PCT/EP2005/008402 patent/WO2006015781A1/en active Application Filing
- 2005-08-03 US US11/573,073 patent/US20080211807A1/en not_active Abandoned
- 2005-08-03 EP EP05775913A patent/EP1787263A1/en not_active Withdrawn
Non-Patent Citations (1)
Title |
---|
See references of WO2006015781A1 * |
Also Published As
Publication number | Publication date |
---|---|
WO2006015781A1 (en) | 2006-02-16 |
US20080211807A1 (en) | 2008-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Aliaga et al. | Style grammars for interactive visualization of architecture | |
JP4203779B2 (en) | Display element three-dimensional apparatus and method | |
WO1999001846A1 (en) | A computer graphics system | |
KR20020054243A (en) | Apparatus and method of interactive model generation using multi-images | |
CN103502974A (en) | Employing mesh files to animate transitions in client applications | |
Brito | Blender Quick Start Guide: 3D modeling, animation, and render with Eevee in Blender 2.8 | |
WO2018096775A1 (en) | Image processing device, image processing method, and program | |
Frank et al. | Digital sculpting for historical representation: Neville tomb case study | |
Smithwick et al. | Pro opengl ES for android | |
Sancak et al. | Photogrammetric model optimization in digitalization of architectural heritage: Yedikule fortress | |
EP1787263A1 (en) | Mesh design method and tool | |
FR2846122A1 (en) | Method for modifying display parameters of 3D electronic model, comprises selection of special display zone, display outside zone using current parameters and display inside zone using new parameters | |
US11972534B2 (en) | Modifying materials of three-dimensional digital scenes utilizing a visual neural network | |
EP1741066B1 (en) | Method and device for generating a procedural map from an external parameter such as an image characteristic | |
JP4203780B2 (en) | Display element three-dimensional apparatus and method | |
Demoussel et al. | A greedy algorithm for generative string Art | |
Dubois et al. | Worm selector: volume selection in a 3D point cloud through adaptive modelling | |
Inzerillo et al. | Optimization of cultural heritage virtual environments for gaming applications | |
JP4203778B2 (en) | Image processing apparatus and method | |
Guevarra | Modeling and Animation Using Blender | |
JP2005293259A (en) | 3D tree shape generation device, 3D tree shape generation program, and recording medium | |
FR2888377A1 (en) | Procedural scene modelization map generating or modifying method for modelizing scene, involves treating modelizing parameters to generate map with tree structure, and interpreting map grey level associated to useful surface of scene | |
Nystedt | Procedural 3D art in game development | |
Kumar et al. | Creating Digital Immersive Heritage Experience of Historically Significant Architectural Structure | |
FR2888376A1 (en) | Procedural map generating or modifying method for virtual object animation, involves generating animation map such that map has tree structure, and modifying animation parameters according to interpretation of map parameters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20070301 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
DAX | Request for extension of the european patent (deleted) | ||
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: ALLEGORITHMIC |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20150303 |