WO2011111900A1 - Apparatus and method for modeling curved surface using intersection points in three-dimensional lattice structure - Google Patents

Apparatus and method for modeling curved surface using intersection points in three-dimensional lattice structure Download PDF

Info

Publication number
WO2011111900A1
WO2011111900A1 PCT/KR2010/003527 KR2010003527W WO2011111900A1 WO 2011111900 A1 WO2011111900 A1 WO 2011111900A1 KR 2010003527 W KR2010003527 W KR 2010003527W WO 2011111900 A1 WO2011111900 A1 WO 2011111900A1
Authority
WO
WIPO (PCT)
Prior art keywords
pattern
cell
generated
input device
cells
Prior art date
Application number
PCT/KR2010/003527
Other languages
French (fr)
Korean (ko)
Inventor
채영호
김동택
남상훈
김학수
Original Assignee
중앙대학교 산학협력단
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 중앙대학교 산학협력단 filed Critical 중앙대학교 산학협력단
Publication of WO2011111900A1 publication Critical patent/WO2011111900A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour

Definitions

  • the present invention relates to an apparatus and method for curved surface modeling using intersections in a three-dimensional grid structure. More particularly, the present invention relates to an input device moving in an input space in the form of a three-dimensional grid structure, and to each cell constituting the grid structure. An apparatus and method for modeling a three-dimensional surface by generating a polygon pattern based on the intersection with the edge.
  • three-dimensional models based on computer technology are being used from the design process to actual production.
  • three-dimensional models are produced using computer graphics tools such as Max and Maya through three-dimensional input and output.
  • the model In order to generate a 3D model through the 2D input and output equipment, the model must be generated based on different inputs according to directions.
  • cognitive thinking that can infer a three-dimensional model through two-dimensional output is required, and the skill of graphic tools is required.
  • 3D models are currently used in various fields, there is a need for a method of generating 3D models more easily, quickly and intuitively. The method of creating 3D models quickly and easily in various fields has been studied in various fields.
  • the 3D spatial input interface system combined with a virtual environment that can be intuitively expressed and is relatively space-independent is being studied. have.
  • the designer's actual movement must be accurately represented as a model, and accurate position data must be tracked.
  • An object of the present invention is to provide a surface modeling apparatus and method using an intersection in a three-dimensional grid structure capable of generating in real time a three-dimensional curved surface accurately expressed the user's intention.
  • Another technical problem to be solved by the present invention is a computer program for executing a surface modeling method using an intersection in a three-dimensional lattice structure capable of generating in real time a three-dimensional surface accurately expressing a user's intention. in To provide a readable recording medium.
  • the curved surface modeling apparatus using the intersection point in the three-dimensional lattice structure based on the position information and the direction of the input device moving in the three-dimensional input space in the input space
  • the normal in accordance with the direction pointed by the input device at the intersection
  • An intersection generator for calculating a vector
  • a pattern generation unit generating a polygonal pattern by connecting the intersection points based on a generation order of the intersection points and a direction of the normal vector at each intersection point for each cell having the intersection points
  • a plurality of subcells are generated by repeatedly dividing the cell including the pattern according to a preset number of divisions, and the direction information of the intersection and normal vectors of the subcells generated by dividing the upper cell by each division is generated.
  • a pattern updating unit updating a pattern generated for the upper cell based on the result;
  • a pattern updating unit updating a pattern generated for the upper cell based on the result;
  • the curved modeling method using the intersection point in the three-dimensional grid structure based on the position information and the direction of the input device moving in the three-dimensional input space in the input space Creates an intersection point between the edge of each cell and the movement path of the input device for each of a plurality of cells constituting the three-dimensional lattice structure generated by the cell, and a normal line according to the direction indicated by the input device at the intersection point.
  • An intersection generation step of calculating a vector A pattern generation step of generating a polygonal pattern by connecting the intersection points based on a generation order of the intersection points and a direction of the normal vector at each intersection point for each cell having the intersection points; Generates a plurality of lower cells by repeatedly dividing a cell including the pattern according to a preset number of divisions, and the direction information of intersection points and normal vectors of lower cells generated by splitting an upper cell at each division.
  • the three-dimensional grid structure of the three-dimensional lattice structure according to the movement of the input device is not generated Generated for each cell
  • an accurate curved surface that matches the user's intention can be created.
  • the pattern reflecting the movement of the input device within the cell can be generated by considering not only the order of intersection but also the direction of the normal vector at each intersection.
  • by dividing the cells by gradual dividing according to the complexity of the movement of the input device it is possible to generate in real time a curved surface well represented.
  • FIG. 1 is a block diagram showing the configuration of a preferred embodiment of a curved modeling device using intersections in a three-dimensional lattice structure according to the present invention
  • FIG. 2 is a view showing a 3D mouse and an example of using the same
  • FIG. 3 is a diagram showing a weemot and an example of using the same
  • FIG. 5 is a diagram showing an infrared tracking system used by the present invention
  • FIG. 6 is a diagram showing 15 patterns used in the marching cube algorithm and examples of generated curved surfaces.
  • FIG. 7 is a diagram illustrating a comparison of curved surfaces generated by the existing marching cube algorithm and the expanded marching cube algorithm.
  • FIG. 8 is a view showing an example of intersections and normal vectors generated according to a movement path of an input device
  • FIG. 9 is a diagram illustrating an example of intersections that are sequentially generated as an input device passes through one cell
  • FIG. 11 is a diagram illustrating an example of a pattern that may be generated according to a generation order of intersection points in one cell
  • FIG. 12 illustrates an example of a pattern obtained differently according to a direction indicated by an input device.
  • FIG. 13 and FIG. 14 are views illustrating a method of connecting intersections when three intersections and a form of a pattern that can be generated.
  • 15 and 16 illustrate a method of connecting intersections when four intersections and a form of a pattern that can be generated
  • 17 and 18 show a method and a generation method for connecting intersections when there are five intersections. Drawing showing the shape of a possible pattern .
  • 19 and 20 are diagrams illustrating a method of connecting intersections and a form of a pattern that can be generated when there are six intersections;
  • FIG. 21 is a view showing curved surfaces connected by patterns obtained by the curved surface modeling apparatus according to the present invention and curved surfaces generated by a conventional marching cube algorithm.
  • FIG. 22 is a diagram illustrating a range in which curved surfaces are generated in the present invention and a marching cube algorithm.
  • FIG. 23 is a diagram illustrating a pattern generated by a marching cube algorithm and a pattern generator for an input of an input device passing through one cell;
  • 24 is a view showing a pattern generated by the marching cube algorithm and the pattern generator for a simple input
  • 25 and 26 illustrate patterns obtained as the speed and direction of an input device passing through a cell change.
  • 27 and 28 show patterns generated by complex movements of the input device
  • 29 is a view showing a curved surface obtained according to the size of the sal constituting the three-dimensional lattice structure
  • FIG. 30 is a diagram illustrating an example of splitting a cell according to a change in a direction of a normal vector
  • FIG. 31 is a diagram illustrating an example of splitting a cell located at an edge of a movement path of an input device.
  • FIG. 32 is a view illustrating inconsistency of patterns occurring when the sizes of adjacent cells are different from each other.
  • 33 is a view showing an example of connecting patterns generated for adjacent sals of different sizes
  • FIG. 35 is a flowchart illustrating a preferred embodiment of a curved surface modeling method using intersections in a three-dimensional lattice structure according to the present invention.
  • FIG. 1 is a block diagram showing the configuration of a preferred embodiment of the curved modeling device using the intersection in the three-dimensional lattice structure according to the present invention.
  • the curved surface modeling apparatus includes an intersection generator 110, a pattern generator 120, a pattern updater 130, and a curved surface generator 140.
  • the intersection generating unit 110 is a corner of each cell for each of a plurality of cells constituting the three-dimensional grid structure generated by the input space based on the position information and the direction of the input device moving in the three-dimensional input space Create an intersection point between the path and the movement path of the input device, and calculate the normal vector according to the direction that the input device points at the intersection point.
  • the curved surface modeling apparatus is characterized by generating a three-dimensional curved surface from a three-dimensional input rather than a two-dimensional input.
  • it uses a system capable of direct input and output in a three-dimensional virtual space.
  • This three-dimensional space input system has the advantage that the user can interact in various ways while maximizing the visual immersion of the user in the virtual space.
  • researches have been made in various fields recently to alleviate the heterogeneity of the 3D input interface and to enable more accurate input.
  • the 3D mouse which is one of the space input devices that can obtain the user's location information in three dimensions, is a device that adds the concept of height to the mouse moving in the x-y plane.
  • 2 is a view showing a 3D mouse and its use example.
  • Wiimote a game controller made for games.
  • WeMote, or Wii Remote has a motion detection function as its main function and allows the user to interact with and use objects on the screen. It also uses an optical sensor and accelerometer to track the relative position of the controller.
  • Wemot finds the relative position of the controller through three gyro sensors and infrared sensors, and was originally designed for games, but researches using Wemot's three-dimensional data are being conducted in various fields.
  • 3 is a diagram illustrating a weemot and an example of use thereof.
  • the haptic device is a device that creates an artificial touch to the user by using a tactile sensor. 4 shows an example of spatial drawing using a haptic device.
  • the haptic device When the user's hand position as only one point on the tip of the pen. Therefore, when this point collides with another object in the virtual space, the haptic device generates a force to the user and transmits information such as the shape and surface texture of the object.
  • Haptic devices are used in various fields such as mobile phones and game consoles, and research is being conducted in various fields such as design and medical fields.
  • Tracking systems that track moving objects in space include mechanical tracking with rotation sensors, magnetic tracking with magnetic field generators and magnetic field-specific sensors, ultrasonic tracking with sound speed, and camera tracking with recognition of reflective markers.
  • the infrared camera tracking system which uses wands with two infrared cameras and three infrared reflecting markers to track the wand's position.
  • the camera tracking system is hardly affected by electric and magnetic effects, and there is no restriction on user's operation because there is no wire connected to the wand, it has the advantage of location tracking in a wide range and high quality of data.
  • real-time tracking is difficult because many calculations are required to find a feature point and calculate three-dimensional coordinates in an image of a camera, and a key-mera tracking system using infrared rays can be used to solve this problem.
  • the above-described three-dimensional input device may be used for the curved modeling device according to the present invention.
  • a case in which the location information and the moving direction of the input device are tracked using the infrared tracking system will be described.
  • 5 is a view showing an infrared tracking system used by the present invention, the wand having the form as shown in Figure 5 (b) by the two infrared cameras as shown in Figure 5 (a), that is the movement of the input device Will be tracked.
  • NaturalPoint's OptiTrack V100R2 camera which emits infrared light by 26 infrared LEDs and captures 100 frames per second using an infrared filter.
  • the 3D location information of the input device is calculated from the captured image to find the location in space.
  • the intersection generator 110 places the positional information of the input device input from the infrared camera into a three-dimensional coordinate space for actually generating a three-dimensional curved surface.
  • the three-dimensional input space to which the input device moves has a virtual three-dimensional lattice structure, and creates a three-dimensional lattice structure that surrounds the input space.
  • 3D grid The structure is composed of a plurality of cells, and the three-dimensional curved surface is generated by connecting a polygonal pattern generated in each cell unit. Curve generation algorithm according to the grid unit input has been continuously studied, and various algorithms have been developed.
  • the marching cube algorithm is an algorithm used to represent a 3D model in various fields.
  • the vertices of the grid are determined by inputting the grid and inverting the values.
  • the marching cube algorithm is used during volume rendering to create an isosurface, a surface whose value is constant in three-dimensional space.
  • FIG. 6 is a diagram illustrating 15 patterns used in the marching cube algorithm and examples of generated curved surfaces. 15 patterns as shown in FIG. 6A are determined according to the sign of the input in the grid, and 255 types of faces may be drawn according to the position and direction of the plane.
  • FIG. 6B illustrates a curved surface generated by the marching cube algorithm, and a curved surface model in which patterns in each lattice are naturally connected by connection of isovalues in each lattice.
  • the existing marching cube algorithm is difficult to express the movement in the lattice because the face is composed by the lattice unit.
  • the extended marching cube algorithm is a solution to the problem that cannot be generated by the 15 patterns of the existing marching cube algorithm.
  • 7 is a view showing a comparison between the curved surface generated by the existing marching cube algorithm and the marching cube algorithm, (a) is a target model to be drawn by the user, (b) is generated by the basic marching cube algorithm And (c) is the model generated by the extended Marching Cube algorithm. Comparing (b) and (c), it can be seen that the angular parts that are difficult to express with the existing marching cube algorithm are accurately represented by the expanded marching cube algorithm.
  • the marching cube algorithm described above can produce the same face as the actual input if the input is accurate or normal, but if the frequency of input is too small or too large, an unintentional movement different from the actual motion may appear. have. Accordingly, the curved surface modeling apparatus according to the present invention does not generate a surface based on an input value in a grid, but constitutes a movement path and a three-dimensional grid structure of an input device configured based on location information and a moving direction of the input device. Create a face based on the intersection with the cell of.
  • the intersection generator 110 generates an intersection point between the edge of each cell constituting the three-dimensional lattice structure and the movement path of the input device, and calculates a normal vector according to the direction indicated by the input device for each intersection.
  • the input device has a shape as shown in FIG. 8 (a) In this case, a change in the direction indicated by the input device having a constant moving direction can be seen.
  • 8 is a diagram illustrating an example of intersections and normal vectors generated according to a movement path of an input device.
  • 8 (a) shows the movement of the coordinate axis of the input device, the movement and rotation of the input device can be tracked through the three reflection markers provided in the input device.
  • the intersection generator no generates an intersection at each corner of each cell and calculates a normal vector based on the movement of the input device as shown in FIG.
  • the direction of intersection and normal vector generated for each cell is the basis for generating a pattern that is a unit of three-dimensional curved surface for each cell of each sheet.
  • the pattern generator 120 generates polygonal patterns by connecting the intersection points based on the generation order of the intersection points and the direction of the normal vector at each intersection point for each cell having the intersection points.
  • FIG. 9 is a diagram illustrating an example of intersections that are sequentially generated as the input device passes through one cell, and temporality is given to each of the four intersections generated according to the movement of the input device. The device can distinguish between incoming and outgoing sides.
  • the intersections including the information about the generation order are connected according to the generation order to generate a pattern in one cell.
  • FIG. 10 is a diagram illustrating examples of various patterns generated for one cell according to the movement of an input device.
  • the number of intersections generated at the cell edges in the order from the left is three, four, and six, respectively, and the plurality of intersections are connected in the generation order to generate one polygonal pattern. have.
  • FIG. 11 is a diagram illustrating an example of a pattern that may be generated according to a generation order of intersection points in one cell.
  • the shape of the generated pattern is different when the direction indicated by the input device moving in the constant moving direction is changed. do. In other words, the direction of movement does not change by the rotation of the input device, but the direction of the normal vector at the intersection changes.
  • 12 is a diagram illustrating an example of patterns obtained differently according to a direction indicated by an input device. 12A and 12B, the positions of four intersections and the order of generation are the same, but the directions of the normal vectors at the two intersections below are opposite to each other. 12A illustrates a case where the input device passes a cell in a straight line without rotation, and generates a pattern by connecting intersections in the order of the generated intersections. However, in FIG. 12B, a twisted pattern is generated as the input device rotates in the cell.
  • the pattern generator when generating a pattern for each cell, the pattern generator generates not only the generation order of the intersection points but also normals at each intersection point. Consider the direction of the vector as well. Therefore, it is possible to create a pattern of the correct form to suit the user's intention.
  • FIG. 13 and FIG. 14 are views illustrating a method of connecting intersections when three intersections and a form of a pattern that can be generated.
  • a triangular pattern around three intersections may be generated in eight forms by changing positions within one cell as shown in FIG. 14.
  • FIGS. 15 and 16 are diagrams illustrating a method of connecting intersections when four intersections and a form of a pattern that can be generated.
  • various types of patterns are generated according to the generation order of the four intersections generated when the input device passes one cell once and the direction of the normal vector. If there are four nodes, you can choose which side the input device enters and exits for a single cell, depending on the order of intersection. Accordingly, as shown in FIG. 16, the input is divided into eight cases according to the positional relationship between the input surface IN and the output surface OUT, and all 42 patterns are generated.
  • FIG. 17 and FIG. 18 illustrate a method of connecting intersections and a form of a pattern that can be generated when five intersections are formed. In this case, it occurs only when an input is bent to one side and bent to two sides. do.
  • a plane is formed by connecting four intersection points according to the generation order of the intersection points and the direction of the normal vector, and the fifth intersection point is directed to the two intersection points as shown in (c) of FIG. In connection with FIG. Produces the same pattern.
  • the outgoing side is always the opposite line if the input device is adjacent to the input line, and the outgoing side is always the adjacent line if the incoming side is the opposite line.
  • three patterns as shown in FIG. 18 are substantially generated by passage of the input device. The remaining patterns occur when input is interrupted while the input device passes through the cell.
  • FIGS. 19 and 20 illustrate a method of connecting intersections and a form of a pattern that can be generated when there are six intersections.
  • FIG. 19 when an input device passes through a cell once and six intersections are generated, when an input side is an adjacent line, the input device exits through the adjacent surface to an adjacent line, and when the input surface is an opposite line, it is an outgoing opposite line. Occurs.
  • the generated six intersections sequentially generate patterns as shown in FIGS. 19B to 19D according to the generation order and the direction of the normal vector.
  • FIG. 20 illustrates three patterns generated by passage of an input device substantially out of the patterns that can be generated by six intersections, and the remaining patterns enter the intersection after the input device passes through the cell and then generate the intersection points. This is the case.
  • FIG. 21 is a diagram illustrating a curved surface connected to patterns obtained by the curved modeling device according to the present invention and a curved surface generated by a conventional marching cube algorithm.
  • Figure 21 (a) is a pattern generator by 120 a curved surface eojin obtained by connecting the resulting pattern for each cell, as a "must connect all the intersection produced by the movement of the input device by the user, user's intention, Surfaces matching C are generated.
  • Figure 21 (b) is a surface generated using the marching cube algorithm, since the form of the input is simple, a surface similar to the user input was generated.
  • FIG. 22 is a diagram illustrating a range in which curved surfaces are generated in the present invention and the marching cube algorithm.
  • Figure 22 (a) is a view showing the intersection connection pattern according to the present invention, a curved surface is generated according to the range that the wand correctly passed through the cell.
  • the Marching Cube algorithm if a single input is included in a cell, a pattern is formed in the corresponding cell, and thus, the surface generation range is widened as shown in FIG. .
  • FIG. 23 is a diagram illustrating a pattern generated by a marching cube algorithm and a pattern generator with respect to an input of an input device passing through one cell.
  • FIG. 23 (a) is a view illustrating a case where the input device enters the upper surface of the cell, rotates inside the cell, and exits through the front surface;
  • (b) shows a pattern generated by the marching cube algorithm for the movement of the input device. Since the marching cube algorithm generates a pattern by input points in a cell, when the input is not constant and complex data, a pattern different from the user's intention is generated. However, when generating a pattern through intersection connection as shown in (c) of FIG. 23, a pattern similar to a movement path of an actual input device may be generated regardless of an input change due to rotation of the input device.
  • FIG. 24 is a diagram illustrating a pattern generated by the marching cube algorithm and the pattern generator 120 for a simple input. As shown in (a) of FIG. 24, when the input device simply passes through the cell in one direction without rotation, the pattern of (b) and the pattern generating unit 120 of (b) generated by the marching cube algorithm are generated. It can be seen that the shape of the pattern is similarly obtained.
  • FIG. 25 and 26 illustrate patterns obtained as the speed and direction of an input device passing through a cell change.
  • FIG. 25 illustrates a case in which the frequency of input changes in a specific part of a cell as the user moves the input device.
  • the pattern of FIG. 25B obtained by the marching cube algorithm is represented by each point.
  • the pattern generated by the pattern generating unit 120 of the curved modeling device generates a pattern by connecting the intersections regardless of the frequency of the input as shown in FIG. It can generate a pattern close to the movement of the.
  • the part where the movement of the input device changes rapidly in the cell can be expressed by the division of the cell described later.
  • (a) of FIG. 26 illustrates a case in which the movement of the input device stops once in the cell and then proceeds again.
  • the pattern by the marching cube algorithm shown in (b) of FIG. 26 has a form independent of the movement of the actual input device.
  • the pattern generated by the pattern generator 120 shown in (c) has a form corresponding to the movement of the input device, and thus reflects the intention of the user.
  • FIGS. 27 and 28 illustrate patterns generated by complex movements of the input device. 1 drawing. Both Figures 27 and 28 illustrate a complex type of input where the input device is diagonal to the top of the cell and exits sideways past the edges within the cell.
  • the marching cube algorithm generates a surface similar to the actual input in 15 predetermined patterns. However, in the case of such a complicated input, a pattern of a form not intended by the user as shown in FIGS. 27 and 28 (b) is generated. Will be created. However, in the case of generating a pattern by connecting intersections, a pattern can be generated separately from the complexity of the input. As shown in FIGS. 27 and 28 (c), a pattern similar to the motion of an actual input device is shown. Is generated.
  • the pattern corresponding to each cell is generated by connecting the intersections generated at the edges of the cells by the movement path of the input device.
  • a three-dimensional curved surface that accurately reflects the user's intention can be generated.
  • the pattern updater 130 generates a plurality of subcells by repeatedly dividing a cell including the pattern according to a preset number of divisions, and generates direction information of intersection points and normal vectors of the subcells generated at each division. Update the pattern on the basis.
  • the pattern updater 130 selectively divides the cells determined to be necessary for detailed expression without dividing all the cells constituting the 3D grid structure to generate a pattern that meets the user's intention.
  • the octree is a tree structure in which each node has a maximum of eight child nodes, and is an ideal structure when representing a three-dimensional space composed of cubes.
  • the pattern updater 130 divides a cell including a pattern, that is, a cell passed by the input device, into eight sub-cells among the cells constituting the three-dimensional lattice structure. This division process is repeatedly performed, and the pattern updating process is performed for the lower cells generated for each division. .
  • the pattern updater 130 may be set in advance, and whether or not to divide a specific cell. It is also possible to set a red flag.
  • FIG. 29 is a view showing a curved surface obtained according to the size of a cell constituting the three-dimensional lattice structure.
  • FIG. FIG. 29A illustrates a target surface to be drawn by the user.
  • the size of the cells constituting the lattice structure is too large, there is a limit in expressing the shape of a smooth curved surface as shown in (b) of FIG.
  • the size of the sal is too small, as shown in (c) of FIG. 29, a curved surface having a shape substantially the same as that of the target surface may be generated, but the calculation amount is large, which is inefficient.
  • the dichotomous division method is used, a curved surface having a shape similar to the one intended by the user can be quickly generated as shown in FIG.
  • the pattern updater 130 may divide the corresponding cells only when the input change is large in the sal.
  • 30 is a diagram illustrating an example in which cells are divided according to a change in direction of a normal vector. Referring to the left figure of FIG. 30, when the input device passes through one cell, the direction of the input device changes inside the cell. This can be seen from the direction of the normal vector at the intersection created first when the input device enters the cell and the last created intersection when the input device exits the cell.
  • the pattern updater 130 subordinates the corresponding cell when the direction of the normal vector at the first and the last intersections generated for one cell changes by more than a preset reference angle.
  • the cells may be selectively divided as shown in the right figure of FIG. 30 by dividing into cells. As the size of the reference angle is smaller, the rapid change of the input device can be represented well, but the number of divisions increases, and the accuracy of the detailed expression decreases as the size of the reference angle increases. Therefore, the value of the reference angle is appropriately set, and as an example, the reference angle may be set to 45 ° .
  • the pattern updater 130 may selectively divide the cell located at the edge of the movement path to express in detail the portion corresponding to the edge of the movement path of the input device.
  • FIG. 31 is a diagram illustrating an example of dividing a cell located at an edge of a movement path of an input device. Referring to FIG. 31, when the input device passes through a cell as shown in the figure on the left, celldols corresponding to the edges of the movement path have two intersections and are excluded from pattern generation. However, except for these cells, creating a pattern produces a surface with a smaller range than the actual input. Therefore, the pattern can be divided by repeatedly dividing the cell located at the edge of the movement path to accurately reflect the actual input. Can be generated.
  • the pattern update unit 130 generates a pattern for the lower cell so that a curved surface matching the movement path of the input device is generated.
  • the curved surface generating unit 140 connects the plurality of patterns generated by the pattern generating unit 120 and the pattern updating unit 130 to generate a three-dimensional curved surface.
  • Pattern generation by the pattern generator 120 and the pattern updater 130 is performed in units of cells.
  • the curved surface generating unit 140 may generate a three-dimensional curved surface that is sympathetic to the movement of the input device by connecting a plurality of finally generated patterns.
  • FIG. 32 is a diagram illustrating inconsistencies in patterns that occur when sizes of adjacent adjacent cells differ.
  • the sal on the left is divided into eight sub-sales, whereas the sal on the right is not divided, and thus the sizes of adjacent sals are different.
  • the pattern on the left side represents the curved surface generated for each of the small sized sub-cells, while the pattern on the right side is generated for one undivided cell and has a flat shape. Therefore, when the left and right patterns are connected, a spaced point occurs.
  • the surface generating unit 140 matches the intersection information of the cell corresponding to the lower cell with the information of the intersection of the cell corresponding to the upper cell in the boundary between the adjacent cells. Make the patterns connect naturally.
  • 33 is a diagram illustrating an example of connecting patterns generated for adjacent cells of different sizes. Referring to (a) of FIG. 33, a portion spaced between a pattern generated in a lower cell and a pattern generated in an upper cell occurs due to a change in size of adjacent cells. At this time, by matching the intersection information of the lower cell to the upper cell at the interface between the upper cell and the lower cell, it can be seen that the pattern is naturally connected as shown in FIG. 33 (b).
  • FIG. 34 is a diagram illustrating an example of a three-dimensional curved surface generated by the curved surface generating unit 140.
  • a three-dimensional curved surface is generated by connecting patterns generated for a plurality of cells to each other. At this time, if all the cells containing the pattern are not divided and only the part where the curved surface is rapidly changed, it is divided into the lower cells to accurately reflect the user's intention. You can also quickly create 3D surfaces. In addition, even when the input device passes through a part of the cell without passing through the cell, the input path of the input device can be accurately represented by the above-described redundancy.
  • FIG. 35 is a flowchart illustrating a preferred embodiment of a curved surface modeling method using intersections in a three-dimensional lattice structure according to the present invention.
  • the intersection generating unit 110 each includes a plurality of cells constituting a three-dimensional lattice structure generated in response to the input space based on the position information and the direction of the input device moving in the three-dimensional input space. An intersection is generated between the edge of each cell and the movement path of the input device, and a normal vector is calculated according to the direction pointed by the input device at the intersection (S1110).
  • the pattern generator 120 generates a polygonal pattern in which intersections are connected based on a generation order of intersections and a direction of a normal vector at each intersection for each cell having intersections (S1120).
  • the pattern updater 130 generates a plurality of lower cells by repeatedly dividing the cell including the pattern according to a preset number of divisions, and the intersection of the lower cells generated by splitting the upper cell at each division. And a pattern generated for the upper cell based on the direction information of the normal vector (S1130).
  • the curved surface generating unit 140 connects the plurality of patterns generated by the pattern generating unit 120 and the pattern updating unit 130 to generate a three-dimensional curved surface (S1140).
  • the invention can also be embodied as computer readable code on a computer readable recording medium.
  • Computer-readable recording media include any type of recording device that stores data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). Include.
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

Abstract

Disclosed are an apparatus and a method for modeling a curved surface using intersection points in a three-dimensional lattice structure. An intersection point generating member generates intersection points between the movement path of an input device and the corner of each of a plurality of cells, which constitute a three-dimensional lattice structure generated in accordance with the input space, based on the location information and direction of the input device, which moves within the three-dimensional input space, and calculates normal vectors in a direction pointed by the input device at the intersection points. A pattern generating member connects the intersection points of each of the cells having intersection points, based on a generating order of the intersection points and the direction of the normal vectors at each of the intersection points, to generate a polygonal pattern. A pattern regenerating member repeatedly divides the cells, which include a pattern, according to the predetermined number of divisions, to generate a plurality of sub-cells. A curved surface generating member connects the plurality of patterns generated by the pattern generating member and the pattern regenerating member in order to generate a three dimensional curved surface. The present invention generates a pattern for each of the three-dimensional lattice-structured cells by connecting the intersection points generated for each of the cells, in accordance with the movement of the input device, and thus can generate an accurate curved surface that corresponds to the user's intention.

Description

【명세서】  【Specification】
【발명의 명칭】  [Name of invention]
3차원 격자구조에서의 교점을 이용한 곡면 모델링 장치 및 방법  Surface Modeling Apparatus and Method Using Intersection in 3D Grid Structure
【기술분야】  Technical Field
본 발명은 3차원 격자구조에서의 교점을 이용한 곡면 모델링 장치 및 방법에 관한 것으로, 보다 상세하게는, 3차원 격자구조 형태의 입력공간 내에서 이동하는 입력장치와 격자구조를 구성하는 각각의 셀의 모서리와의 교점을 기초로 다각형 패 턴을 생성하여 3차원 곡면을 모델링하는 장치 및 방법에 관한 것이다.  The present invention relates to an apparatus and method for curved surface modeling using intersections in a three-dimensional grid structure. More particularly, the present invention relates to an input device moving in an input space in the form of a three-dimensional grid structure, and to each cell constituting the grid structure. An apparatus and method for modeling a three-dimensional surface by generating a polygon pattern based on the intersection with the edge.
【배경기술】  Background Art
컴퓨터 기술이 발전함에 따라 디자인 과정에서부터 실제 생산에 이르기까지 컴퓨터 기술에 의한 3차원 모델이 사용되고 있다. 일반적으로 3차원 모델은 3차원 입출력을 통해 맥스나 마야와 같은 컴퓨터 그래픽 도구를 이용하여 제작된다. 2차 원 입출력 장비를 통해 3차원 모델을 생성하기 위해서는 방향에 따라 다른 입력을 기초로 모델을 생성해야 한다. 이러한 방법으로 모델을 생성하기 위해서는 2차원 출력을 통해 3차원 모델을 추론할 수 있는 인지적 사고가 필요하고, 그래픽 도구에 대한 숙련도가 필요하다. 현재 다양한 분야에서 3차원 모델이 사용됨에 따라 더욱 손쉽게, 그리고 빠르고 직관적으로 3차원 모델을 생성하는 방법을 필요로 한다. 빠르고 쉽게 3차원 모델을 생성하는 방법이 여러 분야애서 다양하게 연구되 고 있으며, 특히 직관적인 표현이 가능하고 비교적 공간에 구애받지 않는 가상환경 과 접목시킨 3차원 공간 입력 인터페이스 시스템에 대한 연구가 진행되고 있다. 3 차원 모델을 생성하는 디자인 분야에서는 디자이너의 실제 움직임이 정확하게 모델 로 표현되어야 하며, 정확한 위치 데이터에 대한 추적이 가능해야 한다 .  As computer technology advances, three-dimensional models based on computer technology are being used from the design process to actual production. In general, three-dimensional models are produced using computer graphics tools such as Max and Maya through three-dimensional input and output. In order to generate a 3D model through the 2D input and output equipment, the model must be generated based on different inputs according to directions. In order to generate a model in this way, cognitive thinking that can infer a three-dimensional model through two-dimensional output is required, and the skill of graphic tools is required. As 3D models are currently used in various fields, there is a need for a method of generating 3D models more easily, quickly and intuitively. The method of creating 3D models quickly and easily in various fields has been studied in various fields. In particular, the 3D spatial input interface system combined with a virtual environment that can be intuitively expressed and is relatively space-independent is being studied. have. In the design field to create a three-dimensional model, the designer's actual movement must be accurately represented as a model, and accurate position data must be tracked.
따라서 사용자가 의도하는 바가 정확하게 반영된 3차원 모델을 생성할 수 있 는 방법이 필요하다.  Therefore, there is a need for a method that can generate a three-dimensional model that accurately reflects the intention of the user.
【발명의 상세한 설명】  [Detailed Description of the Invention]
【기술적 과제】  [Technical problem]
본 발명이 이루고자 하는 기술적 과제는, 사용자의 의도가 정확하게 표현된 3차원 곡면을 실시간으로 생성할 수 있는 3차원 격자구조에서의 교점을 이용한 곡 면 모델링 장치 및 방법을 제공하는 데 있다.  An object of the present invention is to provide a surface modeling apparatus and method using an intersection in a three-dimensional grid structure capable of generating in real time a three-dimensional curved surface accurately expressed the user's intention.
본 발명이 이루고자 하는 다른 기술적 과제는, 사용자의 의도가 정확하게 표 현된 3차원 곡면을 실시간으로 생성할 수 있는 3차원 격자구조에서의 교점을 이용 한 곡면 모델링 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다. Another technical problem to be solved by the present invention is a computer program for executing a surface modeling method using an intersection in a three-dimensional lattice structure capable of generating in real time a three-dimensional surface accurately expressing a user's intention. in To provide a readable recording medium.
【기술적 해결방법】  Technical Solution
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 3차원 격자구조에서의 교점을 이용한 곡면 모델링 장치는, 3차원 입력공간 내에서 이동하는 입력장치의 위치정보 및 방향을 기초로 상기 입력공간에 대웅하여 생성된 3차원 격자구조를 구 성하는 복수의 셀 각각에 대하여 상기 각각의 셀의 모서리와 상기 입력장치의 이동 경로 사이의 교점을 생성하고, 상기 교점에서 상기 입력장치가 가리키는 방향에 따 른 법선백터를 산출하는 교점 생성부; 상기 교점을 가지는 각각의 셀에 대해 상기 교점의 생성 순서 및 상기 각각의 교점에서의 상기 법선백터의 방향을 기초로 상기 교점을 연결하여 다각형 패턴을 생성하는 패턴 생성부; 상기 패턴을 포함하는 셀을 사전에 설정된 분할횟수에 따라 반복적으로 분할하여 복수의 하위 셀을 생성하되, 각각의 분할시마다 상위 셀이 분할되어 생성된 하위 셀들이 가지는 교점 및 법선백 터의 방향 정보를 기초로 상기 상위 셀에 대해 생성된 패턴을 갱신하는 패턴 갱신 부; 및 상기 패턴 생성부 및 상기 패턴 갱신부에 의해 생성된 복수의 패턴을 연결 하여 3차원 곡면을 생성하는 곡면 생성부;를 구비한다.  In order to achieve the above technical problem, the curved surface modeling apparatus using the intersection point in the three-dimensional lattice structure according to the present invention, based on the position information and the direction of the input device moving in the three-dimensional input space in the input space For each of the plurality of cells constituting the three-dimensional lattice structure generated by generating the intersection point between the edge of each cell and the movement path of the input device, the normal in accordance with the direction pointed by the input device at the intersection An intersection generator for calculating a vector; A pattern generation unit generating a polygonal pattern by connecting the intersection points based on a generation order of the intersection points and a direction of the normal vector at each intersection point for each cell having the intersection points; A plurality of subcells are generated by repeatedly dividing the cell including the pattern according to a preset number of divisions, and the direction information of the intersection and normal vectors of the subcells generated by dividing the upper cell by each division is generated. A pattern updating unit updating a pattern generated for the upper cell based on the result; And a curved surface generating unit generating a three-dimensional curved surface by connecting a plurality of patterns generated by the pattern generating unit and the pattern updating unit.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 3차원 격자구조에서의 교점을 이용한 곡면 모델링 방법은, 3차원 입력공간 내에서 이동하는 입력장치의 위치정보 및 방향을 기초로 상기 입력공간에 대웅하여 생성된 3차원 격자구조를 구 성하는 복수의 셀 각각에 대하여 상기 각각의 샐의 모서리와 상기 입력장치의 이동 경로 사이의 교점을 생성하고, 상기 교점에서 상기 입력장치가 가리키는 방향에 따 른 법선백터를 산출하는 교점 생성단계; 상기 교점을 가지는 각각의 셀에 대해 상 기 교점의 생성 순서 및 상기 각각의 교점에서의 상기 법선백터의 방향을 기초로 상기 교점을 연결하여 다각형 패턴을 생성하는 패턴 생성단계; 상기 패턴을 포함하 는 셀을 사전에 설정된 분할흿수에 따라 반복적으로 분할하여 복수의 하위 셀을 생 성하되, 각각의 분할시마다 상위 샐이 분할되어 생성된 하위 셀들이 가지는 교점 및 법선백터의 방향 정보를 기초로 상기 상위 셀에 대해 생성된 패턴을 갱신하는 패턴 갱신단계; 및 상기 패턴 생성단계 및 상기 패턴 갱신단계에서 생성된 복수의 패턴을 연결하여 3차원 곡면을 생성하는 곡면 생성단계;를 갖는다.  In order to achieve the above technical problem, the curved modeling method using the intersection point in the three-dimensional grid structure according to the present invention, based on the position information and the direction of the input device moving in the three-dimensional input space in the input space Creates an intersection point between the edge of each cell and the movement path of the input device for each of a plurality of cells constituting the three-dimensional lattice structure generated by the cell, and a normal line according to the direction indicated by the input device at the intersection point. An intersection generation step of calculating a vector; A pattern generation step of generating a polygonal pattern by connecting the intersection points based on a generation order of the intersection points and a direction of the normal vector at each intersection point for each cell having the intersection points; Generates a plurality of lower cells by repeatedly dividing a cell including the pattern according to a preset number of divisions, and the direction information of intersection points and normal vectors of lower cells generated by splitting an upper cell at each division. A pattern updating step of updating a pattern generated for the upper cell based on the result; And a surface generation step of generating a three-dimensional curved surface by connecting the plurality of patterns generated in the pattern generation step and the pattern update step.
【유리한 효과】  Advantageous Effects
본 발명에 따른 3차원 격자구조에서의 교점을 이용한 곡면 모델링 장치 및 방법에 의하면, 사전에 설정된 형태의 패턴을 연결하여 3차원 곡면을 생성하는 것 이 아닌 입력장치의 움직임에 따라 3차원 격자구조의 각각의 셀에 대해 생성되는 교점을 연결하여 각각의 셀에 대한 패턴을 생성함으로써 사용자의 의도에 부합하는 정확한 곡면을 생성할 수 있다. 또한 각각의 셀에 대해 패턴을 생성할 때 교점의 생성 순서뿐만 아니라 각 교점에서의 법선백터의 방향을 고려함으로써 셀 내부에서 의 입력장치의 움직임을 반영한 패턴을 생성할 수 있다. 나아가 입력장치의 움직임 의 복잡도에 따라 적웅적으로 셀을 분할함으로써 미세한 부분이 잘 표현된 곡면을 실시간으로 생성할 수 있다. According to the curved surface modeling apparatus and method using the intersection in the three-dimensional grid structure according to the present invention, the three-dimensional grid structure of the three-dimensional lattice structure according to the movement of the input device is not generated Generated for each cell By connecting the intersections to generate a pattern for each cell, an accurate curved surface that matches the user's intention can be created. In addition, when the pattern is generated for each cell, the pattern reflecting the movement of the input device within the cell can be generated by considering not only the order of intersection but also the direction of the normal vector at each intersection. Furthermore, by dividing the cells by gradual dividing according to the complexity of the movement of the input device, it is possible to generate in real time a curved surface well represented.
【도면의 간단한 설명】  [Brief Description of Drawings]
도 1은 본 발명에 따른 3차원 격자구조에서의 교점을 이용한 곡면 모델링 장 치에 대한 바람직한 실시예의 구성을 도시한 블록도,  1 is a block diagram showing the configuration of a preferred embodiment of a curved modeling device using intersections in a three-dimensional lattice structure according to the present invention;
도 2는 3D 마우스 및 그 사용예를 나타낸 도면,  2 is a view showing a 3D mouse and an example of using the same;
도 3은 위모트 및 그 사용예를 나타낸 도면,  3 is a diagram showing a weemot and an example of using the same;
도 4는 햅틱 장치를 사용한 공간 드로잉의 예를 나타낸 도면,  4 shows an example of spatial drawing using a haptic device,
도 5는 본 발명에 의해 사용되는 적외선 트래킹 시스템을 나타낸 도면, 도 6은 마칭큐브 알고리즘에서 사용되는 15가지의 패턴 및 생성된 곡면의 예 를 나타낸 도면  FIG. 5 is a diagram showing an infrared tracking system used by the present invention, and FIG. 6 is a diagram showing 15 patterns used in the marching cube algorithm and examples of generated curved surfaces.
도 7은 기존의 마칭큐브 알고리즘과 확장된 마칭큐브 알고리즘에 의해 생성 된 곡면을 비교하여 나타낸 도면,  7 is a diagram illustrating a comparison of curved surfaces generated by the existing marching cube algorithm and the expanded marching cube algorithm.
도 8은 입력장치의 이동경로에 따라 생성되는 교점 및 법선백터의 예를 도시 한 도면,  8 is a view showing an example of intersections and normal vectors generated according to a movement path of an input device;
도 9는 입력장치가 하나의 셀을 통과함에 따라 순차적으로 생성되는 교점의 일 예를 나타낸 도면,  9 is a diagram illustrating an example of intersections that are sequentially generated as an input device passes through one cell;
도 10은. 입력장치의 움직임에 따라 하나의 샐에 대하여 생성되는 다양한 패 턴의 예를 도시한 도면,  10. A diagram showing examples of various patterns generated for one cell according to the movement of the input device.
도 11은 하나의 셀 내에서 교점의 생성 순서에 따라 생성될 수 있는 패턴의 예를 도시한 도면,  11 is a diagram illustrating an example of a pattern that may be generated according to a generation order of intersection points in one cell;
도 12는 입력장치가 가리키는 방향에 따라 서로 다르게 얻어지는 패턴의 예 를 도시한 도면 ,  12 illustrates an example of a pattern obtained differently according to a direction indicated by an input device.
도 13 및 도 14는 교점이 3개인 경우에 교점들을 연결하는 방법 및 생성 가 능한 패턴의 형태를 도시한 도면,  FIG. 13 and FIG. 14 are views illustrating a method of connecting intersections when three intersections and a form of a pattern that can be generated.
도 15 및 도 16은 교점이 4개인 경우에 교점들을 연결하는 방법 및 생성 가 능한 패턴의 형태를 도시한 도면,  15 and 16 illustrate a method of connecting intersections when four intersections and a form of a pattern that can be generated;
도 17 및 도 18은 교점이 5개인 경우에 교점들을 연결하는 방법 및 생성 가 능한 패턴의 형태를 도시한 도면, 17 and 18 show a method and a generation method for connecting intersections when there are five intersections. Drawing showing the shape of a possible pattern ,
도 19 및 도 20은 교점이 6개인 경우에 교점들을 연결하는 방법 및 생성 가 능한 패턴의 형태를 도시한 도면,  19 and 20 are diagrams illustrating a method of connecting intersections and a form of a pattern that can be generated when there are six intersections;
도 21은 본 발명에 따른 곡면 모델링 장치에 의해 얻어진 패턴들올 서로 연 결한 곡면과 기존의 마칭큐브 알고리즘에 의해 생성된 곡면을 도시한 도면,  FIG. 21 is a view showing curved surfaces connected by patterns obtained by the curved surface modeling apparatus according to the present invention and curved surfaces generated by a conventional marching cube algorithm.
도 22는 본 발명과 마칭큐브 알고리즘에서 곡면이 생성되는 범위를 비교하여 나타낸 도면,  FIG. 22 is a diagram illustrating a range in which curved surfaces are generated in the present invention and a marching cube algorithm.
도 23은 하나의 셀을 통과하는 입력장치의 입력에 대해 마칭큐브 알고리즘 및 패턴 생성부에 의해 생성된 패턴을 도시한 도면,  FIG. 23 is a diagram illustrating a pattern generated by a marching cube algorithm and a pattern generator for an input of an input device passing through one cell; FIG.
도 24는 단순한 입력에 대해 마칭큐브 알고리즘과 패턴 생성부에 의해 생성 된 패턴을 도시한 도면,  24 is a view showing a pattern generated by the marching cube algorithm and the pattern generator for a simple input;
도 25 및 도 26은 샐을 통과하는 입력장치의 속도와 방향이 변화함에 따라 얻어지는 패턴을 도시한 도면,  25 and 26 illustrate patterns obtained as the speed and direction of an input device passing through a cell change.
도 27 및 도 28은 입력장치의 복잡한 움직임에 의해 생성되는 패턴을 도시한 도면,  27 and 28 show patterns generated by complex movements of the input device;
도 29는 3차원 격자구조를 구성하는 샐의 크기에 따라 얻어지는 곡면을 나타 낸 도면,  29 is a view showing a curved surface obtained according to the size of the sal constituting the three-dimensional lattice structure,
도 30은 법선백터의 방향 변화에 따라 샐이 분할되는 일 예를 도시한 도면, 도 31은 입력장치의 이동경로의 가장자리에 위치하는 셀이 분할되는 일 예를 도시한 도면,  FIG. 30 is a diagram illustrating an example of splitting a cell according to a change in a direction of a normal vector, and FIG. 31 is a diagram illustrating an example of splitting a cell located at an edge of a movement path of an input device.
도 32는 서로 인접한 셀의 크기가 다른 경우에 발생하는 패턴의 불일치를 도 시한 도면,  FIG. 32 is a view illustrating inconsistency of patterns occurring when the sizes of adjacent cells are different from each other. FIG.
도 33은 서로 다른 크기의 인접한 샐에 대해 생성된 패턴을 연결시키는 일 예를 도시한 도면,  33 is a view showing an example of connecting patterns generated for adjacent sals of different sizes;
도 34는 곡면 생성부에 의해 생성된 3차원 곡면의 일 예를 도시한 도면, 그 리고,  34 is a view showing an example of a three-dimensional surface generated by the surface generating unit, and
도 35는 본 발명에 따른 3차원 격자구조에서의 교점을 이용한 곡면 모델링 방법에 대한 바람직한 실시예의 수행과정을 도시한 흐름도이다.  FIG. 35 is a flowchart illustrating a preferred embodiment of a curved surface modeling method using intersections in a three-dimensional lattice structure according to the present invention.
【발명의 실시를 위한 형태】  [Form for implementation of invention]
이하에서 첨부된 도면들을 참조하여 본 '발명에 따른 3차원 격자구조에서의 교점을 이용한 곡면 모델링 장치 및 방법의 바람직한 실시예에 대해 상세하게 설명 한다. 도 1은 본 발명에 따른 3차원 격자구조에서의 교점을 이용한 곡면 모델링 장 치에 대한 바람직한 실시예의 구성을 도시한 블록도이다. With reference to the accompanying drawings and the 'will be described in detail a preferred embodiment of a surface modeling device and method using the intersection point of the three-dimensional lattice structure according to the invention. 1 is a block diagram showing the configuration of a preferred embodiment of the curved modeling device using the intersection in the three-dimensional lattice structure according to the present invention.
도 1을 참조하면, 본 발명에 따른 곡면 모델링 장치는, 교점 생성부 (110), 패턴 생성부 (120), 패턴 갱신부 (130) 및 곡면 생성부 (140)를 구비한다.  Referring to FIG. 1, the curved surface modeling apparatus includes an intersection generator 110, a pattern generator 120, a pattern updater 130, and a curved surface generator 140.
교점 생성부 (110)는 3차원 입력공간 내에서 이동하는 입력장치의 위치정보 및 방향을 기초로 입력공간에 대웅하여 생성된 3차원 격자구조를 구성하는 복수의 셀 각각에 대하여 각각의 셀의 모서리와 입력장치의 이동경로 사이의 교점을 생성 하고, 교점에서 입력장치가 가리키는 방향에 따른 법선백터를 산출한다.  The intersection generating unit 110 is a corner of each cell for each of a plurality of cells constituting the three-dimensional grid structure generated by the input space based on the position information and the direction of the input device moving in the three-dimensional input space Create an intersection point between the path and the movement path of the input device, and calculate the normal vector according to the direction that the input device points at the intersection point.
본 발명에 따른 곡면 모델링 장치는 2차원 입력이 아닌 3차원 입력으로부터 3차원의 곡면을 생성하는 것을 특징으로 한다. 즉, 3차원 가상공간에서 직접 입출 력이 가능한 시스템을 사용하는 것이다. 이러한 3차원 공간 입력 시스템은 가상공 간 상에서 사용자의 시각적인 몰입감을 극대화시키면서 동시에 다양한 방식으로 사 용자가 상호작용을 할 수 있다는 장점을 가진다. 3차원 공간 입력 시스템을 이용할 경우 가상공간에 대한 낮은 접근성과 3차원 입력 인터페이스가 가지는 이질감을 완 화시키고 보다 정밀한 입력이 가능하도록 하여 최근 다양한 분야에서 연구가 이루 어지고 있다.  The curved surface modeling apparatus according to the present invention is characterized by generating a three-dimensional curved surface from a three-dimensional input rather than a two-dimensional input. In other words, it uses a system capable of direct input and output in a three-dimensional virtual space. This three-dimensional space input system has the advantage that the user can interact in various ways while maximizing the visual immersion of the user in the virtual space. In the case of using the 3D space input system, researches have been made in various fields recently to alleviate the heterogeneity of the 3D input interface and to enable more accurate input.
3차원에서 사용자의 위치정보를 얻을 수 있는 공간 입력 장비의 하나인 3D 마우스는 x-y 평면에서 이동하는 마우스에 높이의 개념을 추가한 장비이다. 도 2는 3D 마우스 및 그 사용예를 나타낸 도면이다. 3D 마우스를 사용함으로써 이동, 회전 및 높이를 용이하게 조절할 수 있다. 이는 기존의 2차원 입력에 비해 더욱 직관적 인 입력이 가능하지만, 기존의 그래픽 도구를 좀 더 효율적으로 다루는 수준에 그 치고 있으며, 특정 작업에서만 사용 가능하다는 단점이 있다.  The 3D mouse, which is one of the space input devices that can obtain the user's location information in three dimensions, is a device that adds the concept of height to the mouse moving in the x-y plane. 2 is a view showing a 3D mouse and its use example. By using a 3D mouse, movement, rotation and height can be easily adjusted. Although this allows more intuitive input than the conventional two-dimensional input, it only deals with existing graphic tools more efficiently, and has a disadvantage in that it can be used only for a specific task.
또 다른 3차원 입력장치로서 게임을 위해 제작된 게임 컨트롤러인 위모트 (Wiimote)가 있다. 위모트, 즉 위 리모컨 (Wii Remote)은 주된 기능으로 모션 감지 기능을 가지며, 사용자가 화면상의 물건과 상호작용하며 물건을 이용할 수 있게 한 다. 또한 광학센서와 가속도계를 사용하여 컨트를러의 상대적인 위치를 추적한다. 위모트는 3개의 자이로 센서와 적외선 센서를 통해 컨트롤러의 상대적 위치를 찾아 내며, 본래 게임을 위해 제작된 것이지만 다양한 분야에서 위모트의 3차원 데이터 를 이용한 연구가 진행되고 있다. 도 3은 위모트 및 그 사용예를 나타낸 도면이다. 한편, 햅틱 장치는 촉감 센서를 이용하여 사용자에게 인공적인 촉감을 만들 어 주는 장비이다. 도 4에는 햅틱 장치를 사용한 공간 드로잉의 예가 나타나 있다. 햅틱 장치에 내장된 모터를 통해서 사용자에게 힘이 전달되고, 모터에는 인코더가 달려 있어 3차원 공간에서 현재의 위치와 자세를 파악하게 된다. 장비는 사용자의 손 위치를 펜 부분 끝의 한 점으로만 인식하게 된다. 따라서 이 점이 가상공간에서 다른 물체와 층돌하는 경우 햅틱 장치에서는 사용자에게 힘을 생성하여 물체의 모 양 및 표면질감 등의 정보를 전달한다. 햅틱 장치는 휴대폰, 게임기 등의 여러 분 야에서 사용되고 있으며, 디자인이나 의료 분야 등의 다양한 분야에서도 연구가 진 행되고 있다. Another three-dimensional input device is Wiimote, a game controller made for games. WeMote, or Wii Remote, has a motion detection function as its main function and allows the user to interact with and use objects on the screen. It also uses an optical sensor and accelerometer to track the relative position of the controller. Wemot finds the relative position of the controller through three gyro sensors and infrared sensors, and was originally designed for games, but researches using Wemot's three-dimensional data are being conducted in various fields. 3 is a diagram illustrating a weemot and an example of use thereof. On the other hand, the haptic device is a device that creates an artificial touch to the user by using a tactile sensor. 4 shows an example of spatial drawing using a haptic device. Force is transmitted to the user through the motor built into the haptic device, and the motor has an encoder In this way, the current position and posture are understood in three-dimensional space. The device recognizes the user's hand position as only one point on the tip of the pen. Therefore, when this point collides with another object in the virtual space, the haptic device generates a force to the user and transmits information such as the shape and surface texture of the object. Haptic devices are used in various fields such as mobile phones and game consoles, and research is being conducted in various fields such as design and medical fields.
공간에서 움직이는 물체를 추적하는 트래킹 시스템에는 회전센서로 구성된 기계식 트래킹, 자기장 발생장치와 자기장 특정 센서로 구성된 자기식 트래킹, 소 리의 속도를 이용한 초음파 트래킹 및 반사마커의 인식을 통한 카메라 트래킹 등이 있다.  Tracking systems that track moving objects in space include mechanical tracking with rotation sensors, magnetic tracking with magnetic field generators and magnetic field-specific sensors, ultrasonic tracking with sound speed, and camera tracking with recognition of reflective markers.
이 중 하나인 적외선 카메라 트래킹 시스템은 2대의 적외선 카메라와 3개의 적외선 반사마커가 부착된 완드 (wand)를 사용하여 완드의 위치정보를 추적하는 시 스템이다. 카메라 트래킹 시스템은 전기적, 자기적 영향을 거의 받지 않으며 완드 에 선이 연결되어 있지 않기 때문에 사용자의 동작에 제약이 없고, 넓은 범위에서 위치 추적이 가능하며 데이터의 품질도 높다는 장점을 가진다. 그러나 카메라의 영 상에서 특징점을 찾고 3차원 좌표를 계산하는 데 많은 계산이 필요하기 때문에 실 시간 추적이 어렵다는 단점이 있으므로 이를 해결하기 위해 적외선을 이용한 키-메 라 트래킹 시스템을 사용할 수 있다.  One of these is the infrared camera tracking system, which uses wands with two infrared cameras and three infrared reflecting markers to track the wand's position. The camera tracking system is hardly affected by electric and magnetic effects, and there is no restriction on user's operation because there is no wire connected to the wand, it has the advantage of location tracking in a wide range and high quality of data. However, there is a disadvantage in that real-time tracking is difficult because many calculations are required to find a feature point and calculate three-dimensional coordinates in an image of a camera, and a key-mera tracking system using infrared rays can be used to solve this problem.
본 발명에 따른 곡면 모델링 장치를 위해 위에서 설명한 3차원 입력장치를 사용할 수 있으며, 일 실시예로서 적외선 트래킹 시스템을 사용하여 입력장치의 위 치정보 및 이동방향을 추적하는 경우에 대하여 설명한다. 도 5는 본 발명에 의해 사용되는 적외선 트래킹 시스템을 나타낸 도면으로, 도 5의 (a)와 같은 두 개의 적 외선 카메라에 의해 도 5의 (b)와 같은 형태를 가지는 완드, 즉 입력장치의 움직임 을 추적하게 된다.  The above-described three-dimensional input device may be used for the curved modeling device according to the present invention. As an embodiment, a case in which the location information and the moving direction of the input device are tracked using the infrared tracking system will be described. 5 is a view showing an infrared tracking system used by the present invention, the wand having the form as shown in Figure 5 (b) by the two infrared cameras as shown in Figure 5 (a), that is the movement of the input device Will be tracked.
적외선 카메라로서 NaturalPoint사의 OptiTrack V100R2 카메라를 사용할 수 있는데, 이는 26개의 적외선 LED에 의해 적외선을 방출하고, 적외선 필터를 이용하 여 초당 100프레임의 이미지를 캡쳐할 수 있다. 캡쳐한 이미지를 통해 입력장치의 3차원 위치정보를 계산하여 공간상의 위치를 찾는다.  As an infrared camera, you can use NaturalPoint's OptiTrack V100R2 camera, which emits infrared light by 26 infrared LEDs and captures 100 frames per second using an infrared filter. The 3D location information of the input device is calculated from the captured image to find the location in space.
교점 생성부 (110)는 이와 같이 적외선 카메라로부터 입력받은 입력장치의 위 치정보를 실제로 3차원 곡면올 생성하기 위한 3차원 좌표공간에 대웅시킨다. 이를 위해 입력장치가 이동하는 3차원 입력공간이 가상의 3차원 격자구조를 가지는 것으 로 가정하고, 입력공간에 대웅하는 3차원 격자구조의 공간을 생성한다. 3차원 격자 구조는 복수의 샐로 구성되어 있으며, 3차원 곡면은 각각의 셀 단위로 생성된 다각 형의 패턴을 연결시킴으로써 생성된다. 이러한 격자 단위의 입력에 따른 곡면 생성 알고리즘은 지속적으로 연구되어 왔으며, 다양한 알고리즘이 개발되었다. In this way, the intersection generator 110 places the positional information of the input device input from the infrared camera into a three-dimensional coordinate space for actually generating a three-dimensional curved surface. To this end, it is assumed that the three-dimensional input space to which the input device moves has a virtual three-dimensional lattice structure, and creates a three-dimensional lattice structure that surrounds the input space. 3D grid The structure is composed of a plurality of cells, and the three-dimensional curved surface is generated by connecting a polygonal pattern generated in each cell unit. Curve generation algorithm according to the grid unit input has been continuously studied, and various algorithms have been developed.
마칭큐브 알고리즘 (marching cube algorithm)은 다양한 분야에서 3차원 모델 의 표현을 위해 사용되는 알고리즘으로, 격자 내의 입력을 통해 격자의 각 꼭지점 의 값이 정해지고 그 값을 역산하여 면을 생성하는 방법이다. 마칭큐브 알고리즘은 볼륨 렌더링 (volume rendering)시 사용되는데 3차원 공간에서 값이 일정한 표면인 등가면 (isosurface)를 생성한다.  The marching cube algorithm is an algorithm used to represent a 3D model in various fields. The vertices of the grid are determined by inputting the grid and inverting the values. The marching cube algorithm is used during volume rendering to create an isosurface, a surface whose value is constant in three-dimensional space.
도 6은 마칭큐브 알고리즘에서 사용되는 15가지의 패턴 및 생성된 곡면의 예 를 나타낸 도면이다. 격자 내의 입력이 가지는 부호에 따라 도 6의 (a)와 같은 15 가지의 패턴이 결정되며, 면의 위치와 방향에 따라 255가지 형태의 면이 그려질 수 있다. 도 6의 (b)는 마칭큐브 알고리즘에 의해 생성된 곡면으로, 각 격자에서 등가 치 (isovalue)의 연결에 의해 각 격자 내의 패턴이 자연스럽게 연결된 곡면모델이 생성되었다.  6 is a diagram illustrating 15 patterns used in the marching cube algorithm and examples of generated curved surfaces. 15 patterns as shown in FIG. 6A are determined according to the sign of the input in the grid, and 255 types of faces may be drawn according to the position and direction of the plane. FIG. 6B illustrates a curved surface generated by the marching cube algorithm, and a curved surface model in which patterns in each lattice are naturally connected by connection of isovalues in each lattice.
기존의 마칭큐브 알고리즘은 격자 단위로 면이 구성되기 때문에 격자 내에서 의 움직임에 대한 표현이 힘들다. 확장된 마칭큐브 (extended marching cube) 알고 리즘은 기존의 마칭큐브 알고리즘의 15가지 패턴으로 생성할 수 없는 부분에 대한 문제점을 해결하기 위한 방법이다. 도 7은 기존의 마칭큐브 알고리즘과 확장된 마 칭큐브 알고리즘에 의해 생성된 곡면을 비교하여 나타낸 도면으로, (a)는 사용자가 그리고자 하는 목표 모델, (b)는 기본적인 마칭큐브 알고리즘에 의해 생성된 모델, 그리고 (c)는 확장된 마칭큐브 알고리즘에 의해 생성된 모델이다. (b)와 (c)를 비 교하여 보면, 기존의 마칭큐브 알고리즘으로는 표현하기 어려운 각진 부분들이 확 장된 마칭큐브 알고리즘에 의하면 정확하게 표현되는 것을 확인할 수 있다.  The existing marching cube algorithm is difficult to express the movement in the lattice because the face is composed by the lattice unit. The extended marching cube algorithm is a solution to the problem that cannot be generated by the 15 patterns of the existing marching cube algorithm. 7 is a view showing a comparison between the curved surface generated by the existing marching cube algorithm and the marching cube algorithm, (a) is a target model to be drawn by the user, (b) is generated by the basic marching cube algorithm And (c) is the model generated by the extended Marching Cube algorithm. Comparing (b) and (c), it can be seen that the angular parts that are difficult to express with the existing marching cube algorithm are accurately represented by the expanded marching cube algorithm.
이상에서 설명한 마칭큐브 알고리즘은 입력이 정확하거나 일반적인 경우에는 실제 입력과 같은 면을 생성할 수 있지만, 입력의 빈도 (frequency)가 적거나 너무 많을 경우에는 실제 움직임과는 다른 의도하지 않은 움직임이 나타날 수 있다. 따 라서 본 발명에 따른 곡면 모델링 장치는 격자 내의 입력값을 기초로 면을 생성하 · 지 않고 입력장치의 위치정보 및 이동방향을 기초로 구성된 입력장치의 이동경로와 3차원 격자구조를 구성하는 각각의 셀과의 교점을 기초로 면을 생성한다.  The marching cube algorithm described above can produce the same face as the actual input if the input is accurate or normal, but if the frequency of input is too small or too large, an unintentional movement different from the actual motion may appear. have. Accordingly, the curved surface modeling apparatus according to the present invention does not generate a surface based on an input value in a grid, but constitutes a movement path and a three-dimensional grid structure of an input device configured based on location information and a moving direction of the input device. Create a face based on the intersection with the cell of.
교점 생성부 (110)는 3차원 격자구조를 구성하는 각각의 샐의 모서리와 입력 장치의 이동경로 사이의 교점을 생성하고, 각각의 교점마다 입력장치가 가리키는 방향에 따른 법선백터를 산출한다. 입력장치가 도 8의 (a)와 같은 형태를 가지는 경우에는 이동방향이 일정한 입력장치가 가리키는 방향의 변화를 알 수 있다. The intersection generator 110 generates an intersection point between the edge of each cell constituting the three-dimensional lattice structure and the movement path of the input device, and calculates a normal vector according to the direction indicated by the input device for each intersection. The input device has a shape as shown in FIG. 8 (a) In this case, a change in the direction indicated by the input device having a constant moving direction can be seen.
도 8은 입력장치의 이동경로에 따라 생성되는 교점 및 법선백터의 예를 도시 한 도면이다. 도 8의 (a)는 입력장치의 좌표축의 움직임을 나타낸 것으로, 입력장 치에 구비된 세 개의 반사마커를 통해 입력장치의 움직임과 회전을 추적할 수 있 다. 교점 생성부 (no)는 이러한 입력장치의 움직임을 기초로 도 8의 (b)와 같이 각 셀의 모서리에 교점을 생성하고 법선백터를 산출한다. 각 셀에 대하여 생성되는 교 점 및 법선백터의 방향은 각장의 샐마다 3차원 곡면의 단위가 되는 패턴을 생성하 는 기초가 된다.  8 is a diagram illustrating an example of intersections and normal vectors generated according to a movement path of an input device. 8 (a) shows the movement of the coordinate axis of the input device, the movement and rotation of the input device can be tracked through the three reflection markers provided in the input device. The intersection generator no generates an intersection at each corner of each cell and calculates a normal vector based on the movement of the input device as shown in FIG. The direction of intersection and normal vector generated for each cell is the basis for generating a pattern that is a unit of three-dimensional curved surface for each cell of each sheet.
패턴 생성부 (120)는 교점을 가지는 각각의 셀에 대해 교점의 생성 순서 및 각각의 교점에서의 법선백터의 방향을 기초로 교점을 연결하여 다각형 패턴을 생성 한다.  The pattern generator 120 generates polygonal patterns by connecting the intersection points based on the generation order of the intersection points and the direction of the normal vector at each intersection point for each cell having the intersection points.
입력장치가 한 번의 움직임으로 하나의 셀을 횡단하면 최소 3개에서 최대 6 개의 교점이 생성된다. 교점의 생성 순서는 입력장치가 통과하는 순서와 동일하다. 도 9는 입력장치가 하나의 셀을 통과함에 따라 순차적으로 생성되는 교점의 일 예 를 나타낸 도면으로, 입력장치의 움직임에 따라 생성되는 4개의 교점 각각에 시간 성이 부여되어 하나의 샐에 대하여 입력장치가 들어오는 면과 나가는 면을 구별할 수 있다. 또한 생성 순서에 관한 정보를 포함하는 교점들을 그 생성 순서에 따라 연결시켜 하나의 셀 내에서 패턴을 생성하게 된다.  When the input device traverses a cell in one movement, at least three to six intersections are created. The order of intersection is the same as that of input device. FIG. 9 is a diagram illustrating an example of intersections that are sequentially generated as the input device passes through one cell, and temporality is given to each of the four intersections generated according to the movement of the input device. The device can distinguish between incoming and outgoing sides. In addition, the intersections including the information about the generation order are connected according to the generation order to generate a pattern in one cell.
도 10은 입력장치의 움직임에 따라 하나의 샐에 대하여 생성되는 다양한 패 턴의 예를 도시한 도면이다. 도 10을 참조하면, 좌측으로부터 순서대로 셀 모서리 에 생성되는 교점의 개수가 각각 3개, 4개 및 6개이며, 복수의 교점들이 생성 순서 에 따라 연결되어 하나의 다각형 패턴이 생성되는 것을 확인할 수 있다.  FIG. 10 is a diagram illustrating examples of various patterns generated for one cell according to the movement of an input device. Referring to FIG. 10, the number of intersections generated at the cell edges in the order from the left is three, four, and six, respectively, and the plurality of intersections are connected in the generation order to generate one polygonal pattern. have.
하나의 셀에 대해 생성되는 교점의 개수가 3개인 경우에는 순차적으로 생성 된 교점을 연결함으로써 하나의 삼각형 패턴이 얻어진다. 그러나 교점이 4개 이상 인 경우에는 동일한 순서라도 입력장치의 이동방향에 따라 패턴이 다르게 생성되는 경우가 있다. 따라서 이러한 경우에 단순히 순차적으로 생성된 교점을 연결하게 되 면 사용자가 의도한 것과 다른 형태의 패턴이 얻어질 수 있다. 도 11은 하나의 셀 내에서 교점의 생성 순서에 따라 생성될 수 있는 패턴의 예를 도시한 도면이다. 도 When the number of intersections generated for one cell is three, one triangular pattern is obtained by connecting sequentially generated intersections. However, when there are four or more intersections, patterns may be generated differently according to the moving direction of the input device even in the same order. Therefore, in this case, simply connecting sequentially generated intersections may result in a pattern different from the one intended by the user. FIG. 11 is a diagram illustrating an example of a pattern that may be generated according to a generation order of intersection points in one cell. Degree
11을 참조하면, 교점의 순서가 동일한 경우에도 서로 다른 형태의 패턴이 생성될 수 있다. Referring to 11, even if the order of the intersection points can be generated different patterns.
이와 같이 교점의 순서가 동일하여도 생성되는 패턴의 형태가 달라지는 것은 일정한 이동방향으로 이동하는 입력장치가 가리키는 방향이 변화하는 경우에 해당 한다. 즉 입력장치의 회전에 의해 이동방향은 변화하지 않지만 교점에서의 법선백 터의 방향이 변화하는 경우이다. Even if the order of the intersection points is the same, the shape of the generated pattern is different when the direction indicated by the input device moving in the constant moving direction is changed. do. In other words, the direction of movement does not change by the rotation of the input device, but the direction of the normal vector at the intersection changes.
도 12는 입력장치가 가리키는 방향에 따라 서로 다르게 얻어지는 패턴의 예 를 도시한 도면이다. 도 12의 (a)와 (b)는 4개의 교점의 위치와 생성 순서가 서로 동일하지만, 아래쪽의 두 개의 교점에서의 법선백터의 방향이 서로 반대이다. 도 12의 (a)는 입력장치가 회전하지 않고 직선으로 셀을 통과한 경우로서, 생성된 교 점의 순서에 따라 교점을 연결하여 패턴을 생성하게 된다. 그러나 도 12의 (b)는 셀 내에서 입력장치가 회전함으로써 꼬인 형태의 패턴이 생성된다.  12 is a diagram illustrating an example of patterns obtained differently according to a direction indicated by an input device. 12A and 12B, the positions of four intersections and the order of generation are the same, but the directions of the normal vectors at the two intersections below are opposite to each other. 12A illustrates a case where the input device passes a cell in a straight line without rotation, and generates a pattern by connecting intersections in the order of the generated intersections. However, in FIG. 12B, a twisted pattern is generated as the input device rotates in the cell.
이와 같이 교점의 생성 순서가 동일하더라도 법선백터의 방향에 따라 전혀 다른 형태의 패턴이 생성될 수 있으므로, 패턴 생성부는 각각의 셀에 대한 패턴을 생성할 때 교점의 생성 순서뿐만 아니라 각 교점에서의 법선백터의 방향도 함께 고 려한다. 따라서 사용자의 의도에 맞는 정확한 형태의 패턴을 생성할 수 있다.  In this way, even if the generation order of the intersection points is the same, a completely different pattern can be generated according to the direction of the normal vector. Thus, when generating a pattern for each cell, the pattern generator generates not only the generation order of the intersection points but also normals at each intersection point. Consider the direction of the vector as well. Therefore, it is possible to create a pattern of the correct form to suit the user's intention.
이하에서, 하나의 셀 내에서의 교점의 개수에 따라 생성 가능한 패턴의 예를 설명한다.  Hereinafter, an example of a pattern that can be generated according to the number of intersection points in one cell will be described.
먼저 교점이 3개인 경우이다. 평면 형태의 하나의 패턴이 생성되기 위해서는 최소한 3개의 교점을 필요로 하며, 삼각형의 패턴이 생성된다. 도 13 및 도 14는 교점이 3개인 경우에 교점들을 연결하는 방법 및 생성 가능한 패턴의 형태를 도시 한 도면이다. 3개의 교점에 대웅하는 삼각형의 패턴은 도 14에 도시된 바와 같이 하나의 셀 내에서 위치를 달리하여 8가지 형태로 생성될 수 있다.  First, there are three intersections. At least three intersections are required to generate one planar pattern, and a triangle pattern is generated. FIG. 13 and FIG. 14 are views illustrating a method of connecting intersections when three intersections and a form of a pattern that can be generated. A triangular pattern around three intersections may be generated in eight forms by changing positions within one cell as shown in FIG. 14.
도 15 및 도 16은 교점이 4개인 경우에 교점들을 연결하는 방법 및 생성 가 능한 패턴의 형태를 도시한 도면이다. 도 15 및 도 16을 참조하면, 입력장치가 하 나의 샐을 한 번 통과할 때 생성되는 4개의 교점의 생성 순서와 법선백터의 방향에 따라 다양한 형태의 패턴이 생성되는 것을 확인할 수 있다. 4개의 교점이 있는 경 우에는 교점의 생성 순서에 따라 하나의 샐에 대해 입력장치가 들어오는 면과 나가 는 면을 정할 수 있다. 따라서 도 16에 도시된 바와 같이 입력장치가 들어오는 면 (IN)과 나가는 면 (OUT)의 위치관계에 따라 입력이 8가지의 경우로 구분되고, 모두 42가지의 패턴이 생성된다.  15 and 16 are diagrams illustrating a method of connecting intersections when four intersections and a form of a pattern that can be generated. Referring to FIGS. 15 and 16, it can be seen that various types of patterns are generated according to the generation order of the four intersections generated when the input device passes one cell once and the direction of the normal vector. If there are four nodes, you can choose which side the input device enters and exits for a single cell, depending on the order of intersection. Accordingly, as shown in FIG. 16, the input is divided into eight cases according to the positional relationship between the input surface IN and the output surface OUT, and all 42 patterns are generated.
도 17 및 도 18은 교점이 5개인 경우에 교점들을 연결하는 방법 및 생성 가 능한 패턴의 형태를 도시한 도면으로, 이러한 경우는 입력이 한 면으로 들어의- 휘 어져 두 면으로 나가는 경우에만 발생한다. 도 17의 (b)와 같이 먼저 교점의 생성 순서 및 법선백터의 방향에 따라 4개의 교점을 연결한 면을 생성하고, 5번째 교점 은 도 17의 (c)와 같이 두 개의 교점과의 방향성에 따라 연결하여 도 17의 (d)와 같은 패턴을 생성한다. FIG. 17 and FIG. 18 illustrate a method of connecting intersections and a form of a pattern that can be generated when five intersections are formed. In this case, it occurs only when an input is bent to one side and bent to two sides. do. First, as shown in (b) of FIG. 17, a plane is formed by connecting four intersection points according to the generation order of the intersection points and the direction of the normal vector, and the fifth intersection point is directed to the two intersection points as shown in (c) of FIG. In connection with FIG. Produces the same pattern.
교점이 5개인 경우에는 교점이 4개인 경우와 달리 입력장치가 들어오는 면이 인접선이면 나가는 면은 항상 반대선으로, 들어오는 면이 반대선이면 나가는 면은 항상 인접선이 된다. 이러한 방법으로 생성 가능한 총 12가지의 패턴 중에서 도 18 에 도시된 것과 같은 3가지 패턴이 실질적으로 입력장치의 통과에 의해 생성된다. 나머지 패턴들은 입력장치가 셀을 통과하는 도중 입력이 중단되는 경우에 발생한 다.  In the case of 5 intersections, unlike the case of 4 intersections, the outgoing side is always the opposite line if the input device is adjacent to the input line, and the outgoing side is always the adjacent line if the incoming side is the opposite line. Of the total 12 patterns that can be generated in this way, three patterns as shown in FIG. 18 are substantially generated by passage of the input device. The remaining patterns occur when input is interrupted while the input device passes through the cell.
다음으로 도 19 및 도 20은 교점이 6개인 경우에 교점들을 연결하는 방법 및 생성 가능한 패턴의 형태를 도시한 도면이다. 도 19를 참조하면, 입력장치가 샐을 한번 통과하여 6개의 교점이 생성되는 경우는 들어오는 면이 인접선일 때 인접면을 거쳐 인접선으로 나가는 경우 및 들어오는 면이 반대선일 때 나가는 면도 반대선인 경우에 발생한다. 생성된 6개의 교점으로 생성 순서 및 법선백터의 방향에 따라 도 19의 (b) 내지 (d)에 도시된 것과 같이 순차적으로 패턴을 생성한다-. 도 20은 6개 의 교점으로 생성 가능한 패턴 중에서 실질적으로 입력장치의 통과에 의해 생성되 는 3가지의 패턴을 도시한 것으로, 나머지 패턴은 입력장치가 셀을 통과한 후 다시 진입하여 교점이 생성되는 경우에 해당한다.  Next, FIGS. 19 and 20 illustrate a method of connecting intersections and a form of a pattern that can be generated when there are six intersections. Referring to FIG. 19, when an input device passes through a cell once and six intersections are generated, when an input side is an adjacent line, the input device exits through the adjacent surface to an adjacent line, and when the input surface is an opposite line, it is an outgoing opposite line. Occurs. The generated six intersections sequentially generate patterns as shown in FIGS. 19B to 19D according to the generation order and the direction of the normal vector. FIG. 20 illustrates three patterns generated by passage of an input device substantially out of the patterns that can be generated by six intersections, and the remaining patterns enter the intersection after the input device passes through the cell and then generate the intersection points. This is the case.
도 21은 본 발명에 따른 곡면 모델링 장치에 의해 얻어진 패턴들을 서로 연 결한 곡면과 기존의 마칭큐브 알고리즘에 의해 생성된 곡면을 도시한 도면이다. 도 21의 (a)는 패턴 생성부 (120)에 의해 각 셀에 대하여 생성된 패턴들을 연결하여 얻 어진 곡면으로, 사용자에 의한 입력장치의 움직임으로 생성된 모든 교점을 연결함' 으로써 사용자의 의도와 일치하는 곡면이 생성된다. 도 21의 (b)는 마칭큐브 알고 리즘을 사용하여 생성된 곡면으로 입력의 형태가 단순하므로 사용자 입력과 유사 한 형태의 곡면이 생성되었다. FIG. 21 is a diagram illustrating a curved surface connected to patterns obtained by the curved modeling device according to the present invention and a curved surface generated by a conventional marching cube algorithm. Of Figure 21 (a) is a pattern generator by 120 a curved surface eojin obtained by connecting the resulting pattern for each cell, as a "must connect all the intersection produced by the movement of the input device by the user, user's intention, Surfaces matching C are generated. Figure 21 (b) is a surface generated using the marching cube algorithm, since the form of the input is simple, a surface similar to the user input was generated.
이와 같이 본 발명에 의해 생성된 곡면과 마칭큐브 알고리즘에 의해 생성된 곡면의 형태가 유사하다 하더라도 두 방법은 패턴올 생성하는 범위에 있어서 차이 를 보인다. 도 22는 본 발명과 마칭큐브 알고리즘에서 곡면이 생성되는 범위를 비 교하여 나타낸 도면이다. 도 22의 (a)는 본 발명에 의한 교점 연결 패턴을 나타낸 도면으로, 정확하게 완드가 셀을 통과한 범위에 따라 곡면이 생성된다. 그러나 마 칭큐브 알고리즘을 사용할 경우에는 셀 내에 한 개의 입력이라도 포함되면 해당 셀 에 패턴을 형성하기 때문에 도 22의 (b)와 같이 곡면 생성 범위가 넓어져 사용자의 의도와 다른 형태가 생성될 수 있다.  As described above, although the curved surface generated by the present invention and the shape of the curved surface generated by the marching cube algorithm are similar, the two methods show differences in the range of pattern generation. FIG. 22 is a diagram illustrating a range in which curved surfaces are generated in the present invention and the marching cube algorithm. Figure 22 (a) is a view showing the intersection connection pattern according to the present invention, a curved surface is generated according to the range that the wand correctly passed through the cell. However, in the case of using the Marching Cube algorithm, if a single input is included in a cell, a pattern is formed in the corresponding cell, and thus, the surface generation range is widened as shown in FIG. .
또한 본 발명에 따른 곡면 모델링 장치는 단순한 입력뿐만 아니라 셀 내에서 입력장치가 회전하는 등의 복잡한 입력에 대하여도 정확한 패턴을 생성할 수 있다. 도 23은 하나의 셀올 통과하는 입력장치의 입력에 대해 마칭큐브 알고리즘 및 패턴 생성부에 의해 생성된 패턴을 도시한 도면이다. 도 23의 (a)는 입력장치가 셀의 윗 면으로 들어와 셀 내부에서 회전하여 앞면을 통해 나가는 경우를 나타낸 도면이고,In addition, the surface modeling apparatus according to the present invention is not only a simple input but also within a cell. Accurate patterns can be generated even for complex inputs such as the input device rotating. FIG. 23 is a diagram illustrating a pattern generated by a marching cube algorithm and a pattern generator with respect to an input of an input device passing through one cell. FIG. 23 (a) is a view illustrating a case where the input device enters the upper surface of the cell, rotates inside the cell, and exits through the front surface;
(b)는 이러한 입력장치의 움직임에 대해 마칭큐브 알고리즘에 의해 생성된 패턴을 나타낸 도면이다. 마칭큐브 알고리즘은 셀 내의 입력점에 의해 패턴을 생성하므로, 입력이 일정하지 않고 복잡한 데이터인 경우에는 사용자의 의도와 다른 형태의 패 턴이 생성되는 것을 확인할 수 있다. 그러나 도 23의 (c)와 같이 교점 연결을 통해 패턴을 생성하는 경우에는 입력장치의 회전으로 인한 입력의 변화에 상관없이 실제 입력장치의 이동경로와 유사한 형태의 패턴을 생성할 수 있다. (b) shows a pattern generated by the marching cube algorithm for the movement of the input device. Since the marching cube algorithm generates a pattern by input points in a cell, when the input is not constant and complex data, a pattern different from the user's intention is generated. However, when generating a pattern through intersection connection as shown in (c) of FIG. 23, a pattern similar to a movement path of an actual input device may be generated regardless of an input change due to rotation of the input device.
도 24는 단순한 입력에 대해 마칭큐브 알고리즘과 패턴 생성부 (120)에 의해 생성된 패턴을 도시한 도면이다. 도 24의 (a)와 같이 입력장치가 회전 없이 단순히 한 방향으로 셀을 통과하는 경우에는 마칭큐브 알고리즘에 의해 생성된 (b)의 패턴 및 패턴 생성부 (120)에 의해 생성된 (c)의 패턴의 형태가 유사하게 얻어지는 것을 알 수 있다.  FIG. 24 is a diagram illustrating a pattern generated by the marching cube algorithm and the pattern generator 120 for a simple input. As shown in (a) of FIG. 24, when the input device simply passes through the cell in one direction without rotation, the pattern of (b) and the pattern generating unit 120 of (b) generated by the marching cube algorithm are generated. It can be seen that the shape of the pattern is similarly obtained.
도 25 및 도 26은 셀을 통과하는 입력장치의 속도와 방향이 변화함에 따라 얻어지는 패턴을 도시한 도면이다. 먼저 도 25는 사용자가 입력장치를 이동시킴에 따라 셀 내의 특정 부분에서 입력의 빈도가 달라지는 경우를 나타낸 것이다. 도 25 의 (a)와 같이 셀 내에서 입력장치의 이동방향이 급격하게 변화함에 따라 변화하는 지점에서 입력의 빈도가 높아지는 경우, 마칭큐브 알고리즘에 의해 얻어지는 도 25 의 (b)의 패턴은 각 점의 등가치 (isovalue)를 계산하므로 사용자의 실제 의도와 다 론 패턴이 생성된다. 그러나 본 발명에 따른 곡면 모델링 장치의 패턴 생성부 (120) 에 의해 생성되는 패턴은 도 25의 (c)에 도시된 바와 같이 입력의 빈도와 무관하게 교점의 연결에 의해 패턴을 생성하므로 실제 입력장치의 움직임에 가까운 패턴을 생성할 수 있다. 셀 내에서 입력장치의 움직임이 급격하게 변화하는 부분은 뒤에 설명한 셀의 분할에 의해 표현할 수 있다.  25 and 26 illustrate patterns obtained as the speed and direction of an input device passing through a cell change. First, FIG. 25 illustrates a case in which the frequency of input changes in a specific part of a cell as the user moves the input device. As shown in FIG. 25A, when the frequency of the input increases at a point where the input device changes rapidly as the direction of movement of the input device changes in the cell, the pattern of FIG. 25B obtained by the marching cube algorithm is represented by each point. By calculating the isovalue of, the user's actual intention and argument pattern are generated. However, since the pattern generated by the pattern generating unit 120 of the curved modeling device according to the present invention generates a pattern by connecting the intersections regardless of the frequency of the input as shown in FIG. It can generate a pattern close to the movement of the. The part where the movement of the input device changes rapidly in the cell can be expressed by the division of the cell described later.
또한 도 26의 (a)는 입력장치의 움직임이 셀 내에서 한 번 멈추었다가 다시 진행하는 경우를 나타낸 것이다. 이러한 경우 도 26의 (b)에 도시된 마칭큐브 알고 리즘에 의한 패턴은 실제 입력장치의 움직임에 무관한 형태를 가지지만, 도 26의 In addition, (a) of FIG. 26 illustrates a case in which the movement of the input device stops once in the cell and then proceeds again. In this case, the pattern by the marching cube algorithm shown in (b) of FIG. 26 has a form independent of the movement of the actual input device.
(c)에 도시된 패턴 생성부 (120)에 의한 패턴은 입력장치의 움직임에 따른 형태를 가짐으로써 사용자의 의도를 잘 반영하고 있다. The pattern generated by the pattern generator 120 shown in (c) has a form corresponding to the movement of the input device, and thus reflects the intention of the user.
도 27 및 도 28은 입력장치의 복잡한 움직임에 의해 생성되는 패턴을 도시한 1 도면이다. 도 27과 도 28 모두 입력장치가 셀의 윗면에 대각으로 들어와 셀 내의 모서리를 지나서 옆면으로 나가는 복잡한 형태의 입력을 나타낸다. 마칭큐브 알고 리즘은 정해진 15가지 패턴으로 실제 입력과 유사한 면을 생성하지만, 이와 같이 복잡한 입력의 경우에는 도 27과 도 28의 (b)에 도시된 것과 같이 사용자가 의도하 지 않은 형태의 패턴을 생성하게 된다. 그러나 교점을 연결하여 패턴을 생성하는 방법의 경우에는 입력의 복잡도와 별개로 패턴의 생성이 가능하며, 도 27과 도 28 의 (c)에 도시된 것과 같이 실제 입력장치의 움직임과 유사한 형태의 패턴이 생성 된다. 27 and 28 illustrate patterns generated by complex movements of the input device. 1 drawing. Both Figures 27 and 28 illustrate a complex type of input where the input device is diagonal to the top of the cell and exits sideways past the edges within the cell. The marching cube algorithm generates a surface similar to the actual input in 15 predetermined patterns. However, in the case of such a complicated input, a pattern of a form not intended by the user as shown in FIGS. 27 and 28 (b) is generated. Will be created. However, in the case of generating a pattern by connecting intersections, a pattern can be generated separately from the complexity of the input. As shown in FIGS. 27 and 28 (c), a pattern similar to the motion of an actual input device is shown. Is generated.
이와 같이 본 발명에 따른 곡면 모델링 장치의 패턴 생성부 (120)에 의하면 입력장치의 이동경로에 의해 셀의 모서리에서 생성되는 교점을 연결함으로써 각각 의 셀에 대응하는 패턴을 적웅적으로 생성하므로, 사전에 정해진 몇 가지의 패턴을 사용하는 마칭큐브 알고리즘에 비하여 사용자의 의도가 정확하게 반영된 3차원 곡 면을 생성할 수 있다.  As described above, according to the pattern generating unit 120 of the curved modeling device, the pattern corresponding to each cell is generated by connecting the intersections generated at the edges of the cells by the movement path of the input device. Compared to the marching cube algorithm using several patterns defined in Fig. 3, a three-dimensional curved surface that accurately reflects the user's intention can be generated.
패턴 갱신부 (130)는 패턴을 포함하는 셀을 사전에 설정된 분할횟수에 따라 반복적으로 분할하여 복수의 하위 셀을 생성하되, 각각의 분할시마다 생성된 하위 셀들이 가지는 교점 및 법선백터의 방향 정보를 기초로 패턴을 갱신한다.  The pattern updater 130 generates a plurality of subcells by repeatedly dividing a cell including the pattern according to a preset number of divisions, and generates direction information of intersection points and normal vectors of the subcells generated at each division. Update the pattern on the basis.
격자 기반 알고리즘에서 일정한 크기의 샐에 의해 모델을 표현하는 경우에는 모델의 세밀한 부분을 표현하는 데 한계가 있다. 또한 셀의 크기가 작아지면 미세 한 표현이 가능하지만 연산량이 증가하여 실시간 모델링이 어려워진다. 따라서 패 턴 갱신부 (130)는 3차원 격자구조를 구성하는 모든 셀을 분할하지 않고 세밀한 표 현이 필요하다고 판단되는 셀을 선택적으로 분할하여 사용자의 의도에 부합하는 패 턴을 생성한다.  In the grid-based algorithm, when the model is represented by a certain size of sal, there is a limit in expressing the details of the model. In addition, the smaller the cell size, the finer the expression becomes, but the computational amount increases, making real-time modeling difficult. Accordingly, the pattern updater 130 selectively divides the cells determined to be necessary for detailed expression without dividing all the cells constituting the 3D grid structure to generate a pattern that meets the user's intention.
옥트리는 각 노드가 최대 8개의 자식노드를 가지는 하나의 트리구조로서, 정 육면체로 구성되는 3차원 공간올 표현할 때 이상적인 구조이다. 패턴 갱신부 (130) 는 3차원 격자구조를 구성하는 샐들 중에서 패턴을 포함하는 샐, 즉 입력장치가 통 과한 셀을 8개의 하위 셀로 분할한다. 이러한 분할 과정은 반복적으로 수행되며, 각각의 분할시마다 생성된 하위 셀에 대하여 패턴의 갱신 과정이 수행된다. . The octree is a tree structure in which each node has a maximum of eight child nodes, and is an ideal structure when representing a three-dimensional space composed of cubes. The pattern updater 130 divides a cell including a pattern, that is, a cell passed by the input device, into eight sub-cells among the cells constituting the three-dimensional lattice structure. This division process is repeatedly performed, and the pattern updating process is performed for the lower cells generated for each division. .
즉, 최상위 셀이 분할되어 8개의 상위 샐이 생성되면, 이러한 상위 셀들 각 각에 대한 교점 및 법선백터의 정보를 기초로 새로운 패턴이 생성된다. 이때 상위 셀들 중에서 교점을 가지지 않는 샐은 다음의 분할 과정에서 제외되고, 갱신된 패 턴을 가지는 상위 샐만 다시 하위 셀로 분할된다. 패턴 갱신부 (130)에 의한 반복적 인 분할 횟수는 사전에 설정될 수 있으며, 특정 셀을 분할할 것인지 여부에 대하여 적웅적인 기준을 설정할 수도 있다. That is, when the uppermost cell is divided and eight upper cells are generated, a new pattern is generated based on the intersection and normal vector information for each of the upper cells. At this time, the cells having no intersection among the upper cells are excluded in the next partitioning process, and only the upper cells having the updated pattern are split into the lower cells again. The number of repetitive divisions by the pattern updater 130 may be set in advance, and whether or not to divide a specific cell. It is also possible to set a red flag.
도 29는 3차원 격자구조를 구성하는 샐의 크기에 따라 얻어지는 곡면을 나타 낸 도면이다. 도 29의 (a)는 사용자가 그리고자 하는 목표 곡면을 나타낸다. 이를 3차원 격자구조 내에서 표현하고자 할 때, 격자구조를 구성하는 셀의 크기가 지나 치게 크면 도 29의 (b)와 같이 부드러운 곡면의 형태를 표현하는 데 한계가 있다. 또한 샐의 크기가 지나치게 작아지면 도 29의 (c)와 같이 목표 곡면과 거의 동일한 형태의 곡면을 생성할 수 있으나, 계산량이 많아져 비효율적이다. 그러나 앞에서 설명한 것과 같이 적웅적인 분할방법을 사용하면 도 29의 (d)와 같이 사용자가 의 도한 것과 유사한 형태를 가지는 곡면을 빠르게 생성할 수 있다.  FIG. 29 is a view showing a curved surface obtained according to the size of a cell constituting the three-dimensional lattice structure. FIG. FIG. 29A illustrates a target surface to be drawn by the user. When trying to express this in the three-dimensional lattice structure, if the size of the cells constituting the lattice structure is too large, there is a limit in expressing the shape of a smooth curved surface as shown in (b) of FIG. In addition, if the size of the sal is too small, as shown in (c) of FIG. 29, a curved surface having a shape substantially the same as that of the target surface may be generated, but the calculation amount is large, which is inefficient. However, as described above, if the dichotomous division method is used, a curved surface having a shape similar to the one intended by the user can be quickly generated as shown in FIG.
한편, 패턴 갱신부 (130)는 패턴을 포함하는 모든 셀을 하위 셀로 분할하는 대신 샐 내에서 입력의 변화가 큰 경우에만 해당 셀을 분할할 수도 있다. 도 30은 법선백터의 방향 변화에 따라 셀이 분할되는 일 예를 도시한 도면이다. 도 30의 좌 측 도면을 참조하면, 입력장치가 하나의 셀을 통과할 때 셀 내부에서 입력장치의 방향이 변화하였다. 이는 입력장치가 셀 내부로 들어을 때 가장 먼저 생성되는 교 점과 입력장치가 셀 외부로 나갈 때 가장 마지막으로 생성되는 교점에서의 법선백 터의 방향을 통해 알 수 있다.  On the other hand, instead of dividing all cells including the pattern into lower cells, the pattern updater 130 may divide the corresponding cells only when the input change is large in the sal. 30 is a diagram illustrating an example in which cells are divided according to a change in direction of a normal vector. Referring to the left figure of FIG. 30, when the input device passes through one cell, the direction of the input device changes inside the cell. This can be seen from the direction of the normal vector at the intersection created first when the input device enters the cell and the last created intersection when the input device exits the cell.
따라서 패턴 갱신부 (130)는 하나의 셀에 대하여 생성된 교점들 중에서 가장 먼저 생성된 교점과 가장 마지막으로 생성된 교점에서의 법선백터의 방향이 사전에 설정된 기준각도 이상으로 변화하면 해당 셀을 하위 샐들로 분할하여 도 30의 우측 도면에 도시된 바와 같이 선택적으로 셀을 분할할 수 있다. 기준각도의 크기가 작 아질수록 입력장치의 급격한 변화를 잘 표현할 수 있으나 분할의 횟수가 많아지게 되고, 기준각도의 크기가 커지면 세밀한 표현의 정확도는 떨어지게 된다. 따라서 기준각도의 값을 적절하게 설정하며, 일 실시예로서 기준각도를 45° 로 설정할 수 있다. Therefore, the pattern updater 130 subordinates the corresponding cell when the direction of the normal vector at the first and the last intersections generated for one cell changes by more than a preset reference angle. The cells may be selectively divided as shown in the right figure of FIG. 30 by dividing into cells. As the size of the reference angle is smaller, the rapid change of the input device can be represented well, but the number of divisions increases, and the accuracy of the detailed expression decreases as the size of the reference angle increases. Therefore, the value of the reference angle is appropriately set, and as an example, the reference angle may be set to 45 ° .
또한 패턴 갱신부 (130)는 입력장치의 이동경로의 가장자리에 해당하는 부분 을 세밀하게 표현하기 위해 이동경로의 가장자리에 위치하는 셀을 선택적으로 분할 할 수도 있다. 도 31은 입력장치의 이동경로의 가장자리에 위치하는 셀이 분할되는 일 예를 도시한 도면이다. 도 31을 참조하면, 좌측의 도면과 같이 입력장치가 셀을 통과할 경우에 이동경로의 가장자리에 해당하는 셀돌은 두 개씩의 교점을 가지게 되어 패턴 생성에서 제외된다. 그러나 이러한 셀들을 제외하고 패턴을 생성하게 되 면 실제 입력보다 작은 범위로 곡면이 생성된다. 따라서 실제 입력을 정확하게 반 영하기 위해 이동경로의 가장자리에 위치하는 셀을 반복적으로 분할함으로써 패턴 을 생성할 수 있다. In addition, the pattern updater 130 may selectively divide the cell located at the edge of the movement path to express in detail the portion corresponding to the edge of the movement path of the input device. FIG. 31 is a diagram illustrating an example of dividing a cell located at an edge of a movement path of an input device. Referring to FIG. 31, when the input device passes through a cell as shown in the figure on the left, celldols corresponding to the edges of the movement path have two intersections and are excluded from pattern generation. However, except for these cells, creating a pattern produces a surface with a smaller range than the actual input. Therefore, the pattern can be divided by repeatedly dividing the cell located at the edge of the movement path to accurately reflect the actual input. Can be generated.
즉, 도 31의 우측 도면과 같이 이동경로의 가장자리에 위치하는 6개의 셀들 을 두 번 분할하면 입력장치가 완전히 통과하는 하위 셀들을 얻을 수 있다. 따라서 패턴 갱신부 (130)는 이러한 하위 샐에 대한 패턴을 생성함으로써 입력장치의 이동 경로에 일치하는 곡면이 생성되도록 한다.  That is, as shown in the right figure of FIG. 31, if the six cells located at the edge of the movement path are divided twice, the lower cells through which the input device passes completely can be obtained. Accordingly, the pattern update unit 130 generates a pattern for the lower cell so that a curved surface matching the movement path of the input device is generated.
곡면 생성부 (140)는 패턴 생성부 (120) 및 패턴 갱신부 (130)에 의해 생성된 복수의 패턴을 연결하여 3차원 곡면을 생성한다.  The curved surface generating unit 140 connects the plurality of patterns generated by the pattern generating unit 120 and the pattern updating unit 130 to generate a three-dimensional curved surface.
패턴 생성부 (120) 및 패턴 갱신부 (130)에 의한 패턴 생성은 각각의 샐 단위 로 이루어진다. 곡면 생성부 (140)는 최종적으로 생성된 복수의 패턴을 연결함으로 써 입력장치의 움직임에 대웅하는 3차원 곡면을 생성할 수 있다.  Pattern generation by the pattern generator 120 and the pattern updater 130 is performed in units of cells. The curved surface generating unit 140 may generate a three-dimensional curved surface that is sympathetic to the movement of the input device by connecting a plurality of finally generated patterns.
그런데 패턴을 포함하는 서로 인접한 샐의 크기가 서로 다른 경우, 즉 트리 구조에서의 레벨이 다른 샐이 인접하여 위치하는 경우에는 패턴의 경계선이 일치하 지 않는 경우가 발생할 수 있다. 도 32는 서로 인접한 샐의 크기가 다른 경우에 발 생하는 패턴의 불일치를 도시한 도면이다. 도 32를 참조하면, 좌측의 샐은 8개의 하위 샐로 분할된 반면 우측의 샐은 분할되지 않아 인접한 샐의 크기가 서로 다르 다. 또한 좌측의 패턴은 작은 크기의 하위 셀에 대해 각각 생성되어 구부러진 곡면 을 표현하고 있는 반면 우측의 패턴은 분할되지 않은 하나의 샐에 대해 생성되어 평평한 하나의 평면 형태를 가진다. 따라서 좌측과 우측 패턴이 연결될 때 이격되 는 지점이 발생하게 된다.  However, when the sizes of the adjacent sals including the patterns are different, that is, when the cells having different levels in the tree structure are adjacent to each other, the boundary lines of the patterns may not match. FIG. 32 is a diagram illustrating inconsistencies in patterns that occur when sizes of adjacent adjacent cells differ. Referring to FIG. 32, the sal on the left is divided into eight sub-sales, whereas the sal on the right is not divided, and thus the sizes of adjacent sals are different. In addition, the pattern on the left side represents the curved surface generated for each of the small sized sub-cells, while the pattern on the right side is generated for one undivided cell and has a flat shape. Therefore, when the left and right patterns are connected, a spaced point occurs.
곡면 생성부 (140)는 이를 해결하기 위해 인접한 셀 사이의 경계면에서 하위 셀에 해당하는 셀이 가지는 교점의 정보를 상위 셀에 해당하는 셀이 가지는 교점의 정보에 일치시킴으로써 서로 다른 크기의 인접한 셀들 사이에서 패턴이 자연스럽게 연결되도록 한다. 도 33은 서로 다른 크기의 인접한 샐에 대해 생성된 패턴을 연결 시키는 일 예를 도시한 도면이다. 도 33의 (a)를 참조하면, 인접한 셀의 크기가 서 로 달라짐에 의해 하위 셀에서 생성된 패턴과 상위 셀에서 생성된 패턴 사이에 이 격되는 부분이 발생하였다. 이때 상위 샐과 하위 셀 사이의 경계면에서 하위 셀의 교점 정보를 상위 셀에 일치시킴으로써 도 33의 (b)와 같이 패턴이 자연스럽게 연 결되는 것을 확인할 수 있다.  In order to solve this problem, the surface generating unit 140 matches the intersection information of the cell corresponding to the lower cell with the information of the intersection of the cell corresponding to the upper cell in the boundary between the adjacent cells. Make the patterns connect naturally. 33 is a diagram illustrating an example of connecting patterns generated for adjacent cells of different sizes. Referring to (a) of FIG. 33, a portion spaced between a pattern generated in a lower cell and a pattern generated in an upper cell occurs due to a change in size of adjacent cells. At this time, by matching the intersection information of the lower cell to the upper cell at the interface between the upper cell and the lower cell, it can be seen that the pattern is naturally connected as shown in FIG. 33 (b).
도 34는 곡면 생성부 (140)에 의해 생성된 3차원 곡면의 일 예를 도시한 도면 이다. 도 34를 참조하면, 3차원 곡면은 복수의 셀에 대하여 생성된 패턴이 서로 연 결되어 생성된다. 이때 패턴을 포함하는 모든 샐이 분할되지 않고 곡면이 급격하게 변화하는 부분에 대하여만 하위 샐로 분할되어 사용자의 의도를 정확하게 반영하면 서도 빠르게 3차원 곡면을 생성할 수 있다. 또한 입력장치가 셀을 통과하지 않고 일부를 지나가는 경우에도 앞에서 설명한 적웅적인 분할에 의해 입력장치의 입력경 로를 정확하게 표현할 수 있다. 34 is a diagram illustrating an example of a three-dimensional curved surface generated by the curved surface generating unit 140. Referring to FIG. 34, a three-dimensional curved surface is generated by connecting patterns generated for a plurality of cells to each other. At this time, if all the cells containing the pattern are not divided and only the part where the curved surface is rapidly changed, it is divided into the lower cells to accurately reflect the user's intention. You can also quickly create 3D surfaces. In addition, even when the input device passes through a part of the cell without passing through the cell, the input path of the input device can be accurately represented by the above-described redundancy.
도 35는 본 발명에 따른 3차원 격자구조에서의 교점을 이용한 곡면 모델링 방법에 대한 바람직한 실시예의 수행과정을 도시한 흐름도이다.  FIG. 35 is a flowchart illustrating a preferred embodiment of a curved surface modeling method using intersections in a three-dimensional lattice structure according to the present invention.
도 35를 참조하면, 교점 생성부 (110)는 3차원 입력공간 내에서 이동하는 입 력장치의 위치정보 및 방향을 기초로 입력공간에 대웅하여 생성된 3차원 격자구조 를 구성하는 복수의 셀 각각에 대하여 각각의 셀의 모서리와 입력장치의 이동경로 사이의 교점을 생성하고, 교점에서 입력장치가 가리키는 방향에 따른 법선백터를 산출한다 (S1110).  Referring to FIG. 35, the intersection generating unit 110 each includes a plurality of cells constituting a three-dimensional lattice structure generated in response to the input space based on the position information and the direction of the input device moving in the three-dimensional input space. An intersection is generated between the edge of each cell and the movement path of the input device, and a normal vector is calculated according to the direction pointed by the input device at the intersection (S1110).
다음으로 패턴 생성부 (120)는 교점을 가지는 각각의 셀에 대해 교점의 생성 순서 및 각각의 교점에서의 법선백터의 방향을 기초로 교점이 연결된 다각형 패턴 을 생성한다 (S1120). 또한 패턴 갱신부 (130)는 패턴을 포함하는 셀을 사전에 설정 된 분할횟수에 따라 반복적으로 분할하여 복수의 하위 셀을 생성하되, 각각의 분할 시마다 상위 셀이 분할되어 생성된 하위 셀들이 가지는 교점 및 법선백터의 방향 정보를 기초로 상위 셀에 대해 생성된 패턴을 갱신한다 (S1130).  Next, the pattern generator 120 generates a polygonal pattern in which intersections are connected based on a generation order of intersections and a direction of a normal vector at each intersection for each cell having intersections (S1120). In addition, the pattern updater 130 generates a plurality of lower cells by repeatedly dividing the cell including the pattern according to a preset number of divisions, and the intersection of the lower cells generated by splitting the upper cell at each division. And a pattern generated for the upper cell based on the direction information of the normal vector (S1130).
마지막으로 곡면 생성부 (140)는 패턴 생성부 (120) 및 패턴 갱신부 (130)에 의 해 생성된 복수의 패턴을 연결하여 3차원 곡면을 생성한다 (S1140).  Finally, the curved surface generating unit 140 connects the plurality of patterns generated by the pattern generating unit 120 and the pattern updating unit 130 to generate a three-dimensional curved surface (S1140).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스 템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한디-. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브 (예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매 체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.  The invention can also be embodied as computer readable code on a computer readable recording medium. Computer-readable recording media include any type of recording device that stores data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). Include. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발 명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경 은 청구범위 기재의 범위 내에 있게 된다.  Although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the above-described specific preferred embodiments, and the present invention belongs to the present invention without departing from the gist of the present invention as claimed in the claims. Various modifications can be made by those skilled in the art, and such changes are within the scope of the claims.

Claims

【청구의 범위】 [Range of request]
【청구항 1】  [Claim 1]
3차원 입력공간 내에서 이동하는 입력장치의 위치정보 및 방향을 기초로 상 기 입력공간에 대웅하여 생성된 3차원 격자구조를 구성하는 복수의 샐 각각에 대하 여 상기 각각의 셀의 모서리와 상기 입력장치의 이동경로 사이의 교점을 생성하고, 상기 교점에서 상기 입력장치가 가리키는 방향에 따른 법선백터를 산출하는 교점 생성부;  The edge of each cell and the input of each of the plurality of cells constituting the three-dimensional lattice structure generated by the input space based on the position information and the direction of the input device moving in the three-dimensional input space An intersection generator which generates an intersection point between movement paths of the device and calculates a normal vector according to a direction indicated by the input device at the intersection point;
상기 교점을 가지는 각각의 셀에 대해 상기 교점의 생성 순서 및 상기 각각 의 교점에서의 상기 법선백터의 방향을 기초로 상기 교점을 연결하여 다각형 패턴 을 생성하는 패턴 생성부;  A pattern generation unit generating a polygonal pattern by connecting the intersection points based on a generation order of the intersection points and a direction of the normal vector at each intersection point for each cell having the intersection points;
상기 패턴을 포함하는 셀을 사전에 설정된 분할횟수에 따라 반복적으로 분할 하여 복수의 하위 셀을 생성하되, 각각의 분할시마다 상위 셀이 분할되어 생성된 하위 셀들이 가지는 교점 및 법선백터의 방향 정보를 기초로 상기 상위 셀에 대해 생성된 패턴을 갱신하는 패턴 갱신부; 및  The cell including the pattern is repeatedly divided according to a preset number of divisions to generate a plurality of subcells, and the subcells are divided based on the direction information of the intersection points and normal vectors of the subcells generated by dividing the upper cell. A pattern updater for updating a pattern generated for the upper cell with a; And
상기 패턴 생성부 및 상기 패턴 갱신부에 의해 생성된 복수의 패턴을 연결하 여 3차원 곡면을 생성하는 곡면 생성부;를 포함하는 것을 특징으로 하는 곡면 모델 링 장치 .  And a curved surface generator for connecting a plurality of patterns generated by the pattern generator and the pattern updater to generate a three-dimensional curved surface.
【청구항 2】  [Claim 2]
제 1항에 있어서,  The method of claim 1,
상기 패턴 갱신부는 상기 패턴을 포함하는 샐들 중에서 가장 먼저 생성된 교 점과 가장 마지막으로 생성된 교점에 대한 법선백터의 방향의 차가 사전에 설정된 기준각도 이상인 셀을 분할하여 상기 하위 셀을 생성하는 것을 특징으로 하는 곡면 모델링 장치 .  The pattern updater generates the lower cell by dividing a cell having a difference between a first generated intersection point and a last vector generated intersection point of a normal vector from a cell including the pattern greater than or equal to a preset reference angle. Surface Modeling Apparatus.
【청구항 3]  [Claim 3]
제 1항 또는 제 2항에 있어서,  The method according to claim 1 or 2,
상기 패턴 갱신부는 상기 복수의 셀들 중에서 상기 입력장치의 이동경로의 가장자리에 위치하는 샐을 분할하여 생성된 하위 셀이 가지는 교점 및 법선백터의 방향 정보를 기초로 패턴을 생성하는 것을 특징으로 하는 곡면 모델링 장치.  The pattern updating unit generates a pattern based on direction information of intersection points and normal vectors of a lower cell generated by dividing a cell located at an edge of a movement path of the input device among the plurality of cells. Device.
【청구항 4]  [Claim 4]
제 1항 또는 제 2항에 있어서,  The method according to claim 1 or 2,
상기 곡면 생성부는 상기 반복적인 분할에 의해 생성된 복수의 셀들 중에서 서로 인접한 샐의 크기가 다른 경우에는 상기 인접한 셀 사이의 경계면에서 하위 셀에 해당하는 샐이 가지는 교점의 정보를 상위 샐에 해당하는 셀이 가지는 교점의 정보에 일치시키는 것을 특징으로 하는 곡면 모델링 장치. The curved surface generating unit is lower in the interface between the adjacent cells when the sizes of adjacent cells among the plurality of cells generated by the repetitive division are different. Curved modeling device characterized in that the information of the intersection of the cell corresponding to the cell matching the information of the intersection of the cell corresponding to the upper cell.
【청구항 5】  [Claim 5]
제 1항 또는 제 2항에 있어서,  The method according to claim 1 or 2,
상기 입력장치는 세 개의 적외선 반사마커로 이루어진 완드 (wand)이며, 상기 입력장치의 위치정보 및 이동방향은 두 개의 적외선 카메라에 의해 상기 완드의 움 직임을 추적함으로써 얻어지는 것을 특징으로 하는 곡면 모델링 장치.  The input device is a wand made of three infrared reflecting markers, and the position information and the moving direction of the input device are obtained by tracking the movement of the wand by two infrared cameras.
【청구항 6]  [Claim 6]
3차원 입력공간 내에서 이동하는 입력장치의 위치정보 및 방향을 기초로 상 기 입력공간에 대웅하여 생성된 3차원 격자구조를 구성하는 복수의 셀 각각에 대하 여 상기 각각의 샐의 모서리와 상기 입력장치의 이동경로 사이의 교점을 생성하고, 상기 교점에서 상기 입력장치가 가리키는 방향에 따른 법선백터를 산출하는 교점 생성단계;  The edge of each cell and the input of each of a plurality of cells constituting the three-dimensional grid structure generated by the input space based on the position information and the direction of the input device moving in the three-dimensional input space An intersection point generation step of generating an intersection point between movement paths of the device and calculating a normal vector according to a direction indicated by the input device at the intersection point;
상기 교점을 가지는 각각의 셀에 대해 상기 교점의 생성 순서 및 상기 각각 의 교점에서의 상기 법선백터의 방향을 기초로 상기 교점을 연결하여 다각형 패턴 을 생성하는 패턴 생성단계;  A pattern generation step of generating a polygon pattern by connecting the intersection points based on a generation order of the intersection points and a direction of the normal vector at each intersection point for each cell having the intersection points;
상기 패턴을 포함하는 셀을 사전에 설정된 분할횟수에 따라 반복적으로 분할 하여 복수의 하위 셀을 생성하되, 각각의 분할시마다 상위 셀이 분할되어 생성된 하위 샐들이 가지는 교점 및 법선백터의 방향 정보를 기초로 상기 상위 샐에 대해 생성된 패턴을 갱신하는 패턴 갱신단계; 및  A cell including the pattern is repeatedly divided according to a preset number of divisions to generate a plurality of lower cells, and based on the intersection information and normal vector direction information of the lower cells generated by splitting the upper cell at each division. A pattern updating step of updating a pattern generated for the upper cell with; And
상기 패턴 생성단계 및 상기 패턴 갱신단계에서 생성된 복수의 패턴을 연결 하여 3차원 곡면을 생성하는 곡면 생성단계;를 포함하는 것을 특징으로 하는 곡면 모델링 방법.  And a surface generation step of generating a three-dimensional surface by connecting the plurality of patterns generated in the pattern generation step and the pattern update step.
【청구항 71  [Claim 71
제 6항에 있어세  In claim 6
상기 패턴 갱신단계에서, 상기 패턴을 포함하는 셀들 중에서 가장 먼저 생성 된 교점과 가장 마지막으로 생성된 교점에 대한 법선백터의 방향의 차가 사전에.설 정된 기준각도 이상인 셀올 분할하여 상기 하위 샐을 생성하는 것을 특징으로 하는 곡면 모델링 방법 .  In the pattern updating step, the sub-cell is generated by dividing a cell whose difference between the first generated intersection point and the last generated intersection point among the cells including the pattern is greater than or equal to a predetermined reference angle. Surface modeling method characterized in that.
【청구항 8】  [Claim 8]
제 6항 또는 제 7항에 있어서,  The method according to claim 6 or 7,
상기 패턴 갱신단계에서 상기 복수의 셀들 중에서 상기 입력장치의 이동경 로의 가장자리에 위치하는 셀을 분할하여 생성된 하위 샐이 가지는 교점 및 법선백 터의 방향 정보를 기초로 패턴을 생성하는 것을 특징으로 하는 곡면 모델링 방법 .Moving mirror of the input device among the plurality of cells in the pattern updating step A surface modeling method comprising generating a pattern based on direction information of an intersection point and a normal vector of a lower cell generated by dividing a cell located at an edge of a furnace.
【청구항 9】 [Claim 9]
제 6항 또는 제 7항에 있어서,  The method according to claim 6 or 7,
상기 곡면 생성단계에서, 상기 반복적인 분할에 의해 생성된 복수의 셀들 중 에서 서로 인접한 셀의 크기가 다른 경우에는 상기 인접한 셀 사이의 경계면에서 하위 샐에 해당하는 셀이 가지는 교점의 정보를 상위 샐에 해당하는 셀이 가지는 교점의 정보에 일치시키는 것을 특징으로 하는 곡면 모델링 방법.  In the curved surface generating step, when adjacent cells of the plurality of cells generated by the repetitive division have different sizes, information on the intersection points of the cells corresponding to the lower cells is included in the upper cell at the interface between the adjacent cells. Surface modeling method characterized in that the matching of the intersection information of the corresponding cell.
【청구항 10]  [Claim 10]
제 6항 또는 제 7항에 있어서,  The method according to claim 6 or 7,
상기 입력장치는 세 개의 적외선 반사마커로 이루어진 완드 (wand)이며, 상기 입력장치의 위치정보 및 이동방향은 두 개의 적외선 카메라에 의해 상기 완드의 움 직임을 추적함으로써 얻어지는 것을 특징으로 하는 곡면 모델링 방법.  The input device is a wand made of three infrared reflection markers, and the position information and the moving direction of the input device are obtained by tracking the movement of the wand by two infrared cameras.
【청구항 11】 '  [Claim 11]
제 6항 또는 제 7항에 기재된 곡면 모델링 방법을 컴퓨터에서 실행시키기 위 한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.  A computer-readable recording medium having recorded thereon a program for executing the curved modeling method according to claim 6 or 7.
PCT/KR2010/003527 2010-03-11 2010-06-01 Apparatus and method for modeling curved surface using intersection points in three-dimensional lattice structure WO2011111900A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2010-0021713 2010-03-11
KR1020100021713A KR101105244B1 (en) 2010-03-11 2010-03-11 Apparatus and method for modeling curved surface using intersection points in three-dimensional grid structure

Publications (1)

Publication Number Publication Date
WO2011111900A1 true WO2011111900A1 (en) 2011-09-15

Family

ID=44563685

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2010/003527 WO2011111900A1 (en) 2010-03-11 2010-06-01 Apparatus and method for modeling curved surface using intersection points in three-dimensional lattice structure

Country Status (2)

Country Link
KR (1) KR101105244B1 (en)
WO (1) WO2011111900A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017088134A1 (en) * 2015-11-25 2017-06-01 Siemens Product Lifecycle Management Software Inc. System and method for modeling of parts with lattice structures

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102240564B1 (en) 2014-07-29 2021-04-15 삼성전자주식회사 Apparatus and method for rendering image
KR101975603B1 (en) 2018-09-14 2019-08-28 이영문 Sea power generator

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100707841B1 (en) * 2006-04-04 2007-04-17 중앙대학교 산학협력단 Nurbs surface deformation apparatus and the method using 3d target curve
KR20070061331A (en) * 2005-12-08 2007-06-13 한국전자통신연구원 System and method for generating surface mesh surrounding particles
US20090058853A1 (en) * 2007-09-03 2009-03-05 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. Method for meshing a curved surface

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070061331A (en) * 2005-12-08 2007-06-13 한국전자통신연구원 System and method for generating surface mesh surrounding particles
KR100707841B1 (en) * 2006-04-04 2007-04-17 중앙대학교 산학협력단 Nurbs surface deformation apparatus and the method using 3d target curve
US20090058853A1 (en) * 2007-09-03 2009-03-05 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. Method for meshing a curved surface

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017088134A1 (en) * 2015-11-25 2017-06-01 Siemens Product Lifecycle Management Software Inc. System and method for modeling of parts with lattice structures
US11520944B2 (en) 2015-11-25 2022-12-06 Siemens Industry Software Inc. System and method for modeling of parts with lattice structures

Also Published As

Publication number Publication date
KR20110102618A (en) 2011-09-19
KR101105244B1 (en) 2012-01-13

Similar Documents

Publication Publication Date Title
Ueda et al. A hand-pose estimation for vision-based human interfaces
US7084869B2 (en) Methods and apparatus for detecting and correcting penetration between objects
Barbič et al. Six-dof haptic rendering of contact between geometrically complex reduced deformable models
Fuge et al. Conceptual design and modification of freeform surfaces using dual shape representations in augmented reality environments
Ren et al. A potential field model using generalized sigmoid functions
US9361665B2 (en) Methods and systems for viewing a three-dimensional (3D) virtual object
KR20100125106A (en) Apparatus and method for three-dimensional modeling using lattice structure
CN104123747A (en) Method and system for multimode touch three-dimensional modeling
Liu et al. BuildingSketch: Freehand mid-air sketching for building modeling
Wong et al. Virtual 3d sculpting
KR101105244B1 (en) Apparatus and method for modeling curved surface using intersection points in three-dimensional grid structure
KR20230005312A (en) Method and Apparatus for Generating Floor Plans
Olsen et al. A Taxonomy of Modeling Techniques using Sketch-Based Interfaces.
Ueda et al. Hand pose estimation using multi-viewpoint silhouette images
Schkolne et al. Surface drawing.
CN109636888A (en) 2D special effect making method and device, electronic equipment, storage medium
Sasaki et al. Facetons: face primitives with adaptive bounds for building 3D architectural models in virtual environment
Araújo et al. Combining Virtual Environments and Direct Manipulation for Architectural Modeling'
Onishi et al. Modeling of trees with interactive L-system and 3D gestures
Morigi et al. Reconstructing surfaces from sketched 3d irregular curve networks
Maciel et al. An efficient dynamic point algorithm for line‐based collision detection in real time virtual environments involving haptics
Lim et al. Holographic projection system with 3D spatial interaction
WO2003031005A2 (en) Methods and apparatus for detecting and correcting penetration between objects
Meenakshisundaram Theory and practice of sampling and reconstruction for manifolds with boundaries
Zhang et al. Physically interacting with four dimensions

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10847534

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10847534

Country of ref document: EP

Kind code of ref document: A1