Interface method and device for drawing three-dimensional sketch

By defining the region of interest and controlling its position in a 3D virtual space, and combining perspective and orthographic projection rendering methods, the problem of unintuitive sketching for users is solved, enabling convenient generation of 3D graphics.

CN115485734BActive Publication Date: 2026-03-31SKETCH SOFTWARE CO
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-14
Publication Date
2026-03-31

AI Technical Summary

Technical Problem

In existing technologies, the interface methods for users to draw sketches in three-dimensional virtual space are not intuitive enough, making it difficult to achieve easy and effortless three-dimensional graphics generation.

Method used

By receiving user input in a 3D virtual space, determining the region of interest, and controlling the position of the region and generating sketch lines based on the user input, including operations such as rotation, movement, selection, and transformation of sketch lines, and combining perspective and orthographic projection rendering methods, the sketch is generated.

Benefits of technology

It provides an intuitive user interface that allows users to easily draw sketches in a 3D virtual space, improving the convenience and intuitiveness of 3D graphics generation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115485734B_ABST
    Figure CN115485734B_ABST
Patent Text Reader

Abstract

An interface method and apparatus for drawing a three-dimensional sketch are disclosed. An interface method for drawing a sketch in a three-dimensional virtual space according to an embodiment includes the steps of determining a surface including a region in which a first user input is received in a virtual space as a region of interest; controlling a position of the region of interest in the virtual space based on a second user input with respect to the region of interest; and generating at least one sketch line subordinate to the region of interest based on a third user input.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The example embodiments relate to an interface method for drawing three-dimensional sketches and a device for executing the interface method. Background Technology

[0002] 3D modeling is a technology that uses computer-understandable data to store 3D objects and display them digitally. It is used in computer graphics to describe real-world objects through 3D models in virtual space, or to model the physical environment to represent objects in a virtual environment. Recently, 3D modeling has gained increasing attention in entertainment fields such as film, animation, and advertising, as well as as a means of design and artistic expression in areas such as physical experiment simulation, building construction, and design. There is a need to develop user interfaces that allow users to easily and intuitively generate 3D graphic sketches using electronic devices. Summary of the Invention

[0003] Technical problems to be solved

[0004] The embodiments can provide a user interface for intuitively drawing sketches in a three-dimensional virtual space.

[0005] However, the technical problems to be solved are not limited to the above-mentioned technical problems, and there may be other technical issues.

[0006] Technical solutions to the problem

[0007] According to one aspect of an interface method for sketching in a three-dimensional virtual space, the method includes the following steps: determining a surface including a region within the virtual space that receives a first user input as a region of interest; controlling the position of the region of interest within the virtual space based on a second user input to the region of interest; and generating at least one sketch line belonging to the region of interest based on a third user input.

[0008] The step of controlling the position of the region of interest may include at least one of the following steps: rotating the region of interest in the virtual space based on the second user input, with a rotation axis corresponding to the region of interest as a reference; and rotating the region of interest in the virtual space based on the second user input, with a movement axis corresponding to the region of interest as a reference.

[0009] The step of controlling the position of the region of interest may include at least one of the following steps: rotating the region of interest based on the second user input, with reference to the axis of the direction from the reference point projecting the virtual space toward the point of interest; and moving the region of interest in a direction perpendicular to the axis of the direction from the reference point projecting the virtual space toward the point of interest, based on the second user input.

[0010] The step of determining the region of interest may include the following steps: based on the first user input that selects at least one point in the virtual space, determining the plane including the selected point as the region of interest.

[0011] The step of determining the region of interest may include the following steps: based on the first user input that generates a curve in the virtual space, determining the surface obtained by stretching the generated curve as the region of interest.

[0012] The step of determining the region of interest may include the following steps: generating a surface that extends the generated first curve toward a first line based on the first user input that generates a first curve in the virtual space; and changing the first line to the second line based on the user input that generates a second line in the virtual space to modify the generated surface, thereby changing the generated surface.

[0013] The step of determining the region of interest may include the following steps: based on a first user input that selects at least one sketch line generated in the virtual space, determining the surface including the selected at least one sketch line as the region of interest.

[0014] At least one sketch line belonging to the region of interest may include at least one of points, lines, and surfaces drawn on the region of interest based on the third user input.

[0015] The interface method according to one embodiment may further include the following steps: selecting at least one sketch line included in the virtual space based on a fourth user input; and linearly transforming the selected sketch line based on a point of interest in the virtual space set according to a predetermined rule.

[0016] The step of linearly transforming the selected sketch line may include the following steps: linearly transforming the selected sketch line while maintaining the positional relationship between the region of interest and the selected sketch line, based on the positional control of the region of interest based on the second user input.

[0017] Position control of the region of interest based on the second user input includes rotating or moving the region of interest based on the second user input, using an axis passing through the point of interest within the region of interest as a reference.

[0018] The step of linearly transforming the selected sketch line may include at least one of the following steps: based on a fifth user input, rotating the selected sketch line within the virtual space with reference to the axis of the direction from the reference point projecting the virtual space toward the point of interest; based on the fifth user input, moving the selected sketch line in a direction perpendicular to the axis of the direction from the reference point projecting the virtual space toward the point of interest; and based on the fifth user input, changing the size of the selected sketch line in a direction perpendicular to the axis of the direction from the reference point projecting the virtual space toward the point of interest.

[0019] The interface method according to one embodiment may further include the following steps: selecting at least one first sketch line included in the virtual space based on a fourth user input; copying the selected first sketch line to generate a second sketch line; and linearly transforming the second sketch line based on points of interest within the virtual space set according to predetermined rules.

[0020] The interface method according to one embodiment may further include the following steps: selecting at least one sketch line included in the virtual space based on a fourth user input; and changing the shape of at least a portion of the selected sketch line based on a face within the virtual space specified by the user, based on a fifth user input.

[0021] The step of generating at least one sketch line belonging to the region of interest may include the following steps: determining a plane of symmetry in the virtual space based on a set symmetry pattern; generating a first sketch line belonging to the region of interest based on the third user input; and generating a second sketch line symmetrical to the first sketch line based on the plane of symmetry in the virtual space.

[0022] The interface method according to one embodiment may further include the following steps: selecting at least one sketch line included in the virtual space based on a fourth user input; designating the selected at least one sketch line as a group; and setting a point of interest corresponding to the group.

[0023] The sketch lines are based on their relative positional relationships with other sketch lines included in a designated group, including positional information corresponding to the designated group.

[0024] The interface method according to one embodiment may further include the following steps: storing a first virtual space including the generated sketch lines; storing a second virtual space including sketch lines in which at least a portion of the generated sketch lines have undergone linear transformation; and rendering the first virtual space and the second virtual space to generate a video including a linear transformation process in which at least a portion of the generated sketch lines have undergone linear transformation.

[0025] The interface method according to one embodiment may further include the following steps: when the region of interest intersects with a sketch line included in the virtual space, visualizing the points in the region of interest where the region of interest intersects with the sketch line included in the virtual space.

[0026] According to one aspect of an interface method for sketching in a three-dimensional virtual space, the method includes the following steps: based on a first user input that determines a region of interest within the virtual space, setting a point of interest corresponding to the region of interest including the selected point; based on a sixth user input, controlling a reference point to project the virtual space using the point of interest as a reference; and rendering the projection of the virtual space based on the reference point.

[0027] The steps of controlling the reference point may include the following: based on the sixth user input, linearly transforming the position of the reference point with the point of interest as a reference.

[0028] The step of linearly transforming the position of the reference point may include the following steps: determining the actual movement of the reference point based on the movement amount indicated by the sixth user input and the distance between the point of interest and the reference point; and linearly transforming the position of the reference point with the point of interest as a reference based on the movement direction indicated by the sixth user input and the determined actual movement amount.

[0029] The actual movement of the reference point corresponds to the same movement indicated by the sixth user input, and is determined to be greater as the distance between the point of interest and the reference point increases.

[0030] The step of rendering the projection of the virtual space may include at least one of the following steps: rendering the perspective projection of the virtual space based on the reference point; and rendering the orthogonal projection of the virtual space based on the reference point.

[0031] The step of setting the point of interest may include the following steps: setting a pre-determined point within the virtual space as the point of interest.

[0032] The point of interest may include at least one of the following: a point predetermined within the virtual space; a point determined from at least a portion of a sketch line generated based on the virtual space; a point determined based on the region of interest; and a point set based on user input.

[0033] According to an electronic device, including at least one processor, the processor determines a surface including a region in a three-dimensional virtual space that receives a first user input as a region of interest; controls the position of the region of interest in the virtual space based on a second user input to the region of interest; and generates at least one sketch line belonging to the region of interest based on a third user input.

[0034] According to an electronic device, the device includes at least one processor, which sets a point of interest corresponding to the region of interest based on a first user input for determining a region of interest in a three-dimensional virtual space; controls a reference point for projecting the virtual space based on the point of interest based on a sixth user input; and renders the projection of the virtual space based on the reference point. Attached Figure Description

[0035] Figure 1 This is an operation flowchart of an interface method for drawing sketches in a three-dimensional virtual space according to one embodiment.

[0036] Figure 2 (a) and Figure 2 (b) is an attached diagram illustrating the viewport when a three-dimensional virtual space is displayed on a monitor.

[0037] Figure 3 This is an operation flowchart of an interface method for controlling a viewport according to one embodiment.

[0038] Figure 4 The accompanying drawing illustrates the operation of changing the position of a reference point based on viewport control according to one embodiment.

[0039] Figure 5 (a) to Figure 7 (b) is an attached figure showing an example interface screen of the viewport that changes based on user input to control the viewport.

[0040] Figure 8 (a) and Figure 8 (b) is an illustration of perspective projection and orthographic projection.

[0041] Figure 9 (a) to Figure 9 (c) is an attached diagram showing an example interface screen of an orthographic projection viewport.

[0042] Figure 10 (a) to Figure 11 (b) is a drawing illustrating an operation for determining a region of interest based on user input according to an embodiment.

[0043] Figure 12 (a) to Figure 12 (d) is a figure illustrating the operation of controlling the location of a region of interest based on user input according to an embodiment.

[0044] Figure 13 (a) and Figure 13 (d) is a figure illustrating the operation of generating a surface as a region of interest based on user input according to an embodiment.

[0045] Figure 14 (a) and Figure 14 (c) is a drawing illustrating the operation of generating sketch lines belonging to a region of interest according to an embodiment.

[0046] Figure 15 (a) to Figure 15 (c) is a drawing illustrating the operation of controlling the selection of a sketch line based on user input according to an embodiment.

[0047] Figure 16 The accompanying drawing illustrates a symmetrical drawing operation according to one embodiment.

[0048] Figure 17 This is a structural diagram of an electronic device that performs an interface method according to an embodiment. Detailed Implementation

[0049] The descriptions of specific structures or functions in the embodiments are merely illustrative and can be modified in various ways. Therefore, the embodiments are not limited to the specific disclosure, and the scope of this specification includes all modifications, equivalents, or substitutions included within the technical concept.

[0050] The terms "first" or "second" can be used to describe multiple constituent elements, and the term is used only to distinguish one constituent element from the others. For example, a first constituent element can be named a second constituent element, and similarly, a second constituent element can also be named a first constituent element.

[0051] When describing a constituent element as "connected" or "in contact" with another constituent element, it can mean that the element is directly connected to or in contact with the other constituent element, or it can be understood as that there are other constituent elements between them.

[0052] Unless otherwise specified in the text, singular expressions include plural meanings. In this specification, terms such as "comprising" or "having" are used to indicate the presence of the features, numbers, steps, operations, constituent elements, accessories, or combinations thereof described in the specification, and do not exclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, constituent elements, accessories, or combinations thereof.

[0053] Unless otherwise defined, all terms used herein, including technical or scientific terms, shall have their ordinary meanings as understood by one of ordinary skill in the art. Terms commonly used, such as those defined in dictionaries, shall be understood as having their meanings in the relevant technical context and shall not be interpreted as idealized or overly formalized meanings unless explicitly defined in this specification.

[0054] The exemplary embodiments will now be described in detail with reference to the accompanying drawings. In the description with reference to the drawings, the same reference numerals denote the same constituent elements, and descriptions of repeated content are omitted.

[0055] Figure 1 This is an operation flowchart of an interface method for drawing sketches in a three-dimensional virtual space according to one embodiment.

[0056] Reference Figure 1 An interface method for drawing sketches in a three-dimensional virtual space includes the following steps: step 110, determining a surface including a region in the virtual space that receives a first user input as a region of interest; step 120, controlling the position of the region of interest in the virtual space based on a second user input to the region of interest; and step 130, generating at least one sketch line belonging to the region of interest based on a third user input.

[0057] According to one embodiment, the interface method may include operations performed in an electronic device based on user interaction via a user interface. The user interface may be provided to the user through an output device of the electronic device (e.g., a display, HMD). The user interface may include an interface object that responds to user input received through an input device of the electronic device (e.g., a touchscreen, mouse, keyboard). Figure 17 The following text details the specific structure of the electronic device that provides the user interface. In the following description, the user interface will be referred to simply as the interface.

[0058] An interface method according to one embodiment may include an operation performed in response to user input. The interface may support multiple types of user input. Non-limiting examples of user input may include at least one of touch input, button input, keyboard input, and multimodal input. Touch input is a touch gesture performed by a user on a touchscreen to control an electronic device. Touch input may include multiple types of input, each categorized by at least one of touch location, trajectory, speed, strength (or pressure), duration, and number of input points. For example, touch input may include, but is not limited to, at least one of tap, double tap, touch and hold, pan, swipe, flick, drag, pinch in / out, and rotate.

[0059] According to one embodiment, user input can be distinguished based on the input method. For example, user input can be categorized into touch input using skin, touch input using a pen, left-click input using a mouse, right-click input using a mouse, mouse rotation input, and specific key input using a keyboard.

[0060] Furthermore, user input may include input corresponding to a specific area of ​​the interface. For example, user input may include input for selecting a specific object included in the interface. Alternatively, user input may include input for controlling the movement of a specific object included in the interface by indicating a specific trajectory to the interface.

[0061] According to one embodiment, user input or a combination of user inputs can be mapped to an operation of drawing a sketch in a three-dimensional virtual space displayed on the interface. When user input mapped to a specific operation is received, the mapped operation can be executed. For example, a touch input that clicks on a first object included in the interface and draws a specific trajectory on the interface can be mapped to an operation of drawing a line on the first object. As another example, a touch input that long-presses on a first object included in the interface and draws a specific trajectory on the interface can be mapped to an operation of moving the first object along the specific trajectory.

[0062] According to one embodiment, the interface can provide a projection of a three-dimensional virtual space for a user to draw sketches. Drawing a sketch is an operation that uses points, lines, and surfaces to generate a visual image, and may include, for example, the operation of generating lines corresponding to the trajectory of touch input via a touchscreen.

[0063] According to one embodiment, a visual shape can be generated in a three-dimensional virtual space based on user input, and a viewport can be displayed on a monitor via an interface. The viewport is an image projected onto a two-dimensional plane, including the generated visual shape, of the three-dimensional virtual space. The viewport is a two-dimensional plane that projects the shape of an object located in three-dimensional space from a specific point; it can be understood as an image of three-dimensional space captured by a virtual camera positioned at a specific location within the three-dimensional virtual space. In the following description, the specific point determining the viewport or the position of the virtual camera can be referred to as a reference point. For example, referring to… Figure 2 (a) The viewport is a two-dimensional rectangular plane 203 projected from the image when viewed from the reference point 201 in the three-dimensional virtual space toward the origin 202.

[0064] According to one embodiment, the viewport may include auxiliary lines to visually represent the three-dimensional spatial feel of the virtual space. For example, straight lines corresponding to three mutually perpendicular axes in the virtual space (e.g., the x, y, and z axes of a Cartesian coordinate system) may be displayed in the three-dimensional viewport, or a three-dimensional mesh may be used to represent the spatial feel. For example, a three-dimensional mesh such as... Figure 2 (b) shows the viewport of the three-dimensional virtual space. (See reference...) Figure 2 In (b), the plane 211 displayed by the grid corresponds to a plane in three-dimensional space (e.g., the xy plane including the origin in a Cartesian coordinate system), and the axis 212 corresponds to an axis perpendicular to the displayed plane 211 (e.g., the z-axis in a Cartesian coordinate system). In the initial state before receiving user input, the point 213 on the plane displaying the axis can correspond to a predetermined point in three-dimensional space (e.g., the origin).

[0065] Viewport Control

[0066] According to one embodiment, the viewport can be determined based on the position of a reference point in the virtual space relative to a point of interest. An interface method according to one embodiment may include a method for controlling the viewport displaying a three-dimensional virtual space based on user input. In other words, the viewport displaying a three-dimensional virtual space can be controlled based on user input. Controlling the viewport can be understood as changing the position of the reference point relative to the point of interest in the virtual space. The user input used to control the viewport will be referred to hereinafter as the sixth user input.

[0067] Reference Figure 3 This describes an interface method for controlling a viewport according to one embodiment. (Refer to...) Figure 3 An interface method for controlling a viewport according to one embodiment includes the following steps: step 310 of setting a point of interest based on a first user input; step 320 of controlling a reference point based on a sixth user input using the point of interest as a reference; and step 330 of rendering a projection of a virtual space based on the reference point.

[0068] According to one embodiment, a point of interest is a point in virtual space corresponding to the position viewed from a reference point. For example, a reference point... Figure 2 In (a), when the reference point 201 is set to look towards the origin 202, the origin 202 is equivalent to a point of interest. According to one embodiment, a point of interest may include at least one of the following: a point predetermined in the virtual space, a point determined based on sketch lines generated in the virtual space, a point determined based on a region of interest, and a point set based on user input.

[0069] Refer again Figure 3 According to one embodiment, step 310 of setting a point of interest may include setting a pre-determined point in the virtual space as the point of interest. For example, in the initial state before receiving user input, the point of interest may be determined as a pre-determined point in the three-dimensional virtual space (e.g., the origin). Alternatively, when the region of interest is not determined, a point in the virtual space corresponding to the viewport center may be determined as the point of interest.

[0070] According to one embodiment, a point of interest (POI) can be determined based on at least a portion of sketch lines generated in virtual space. For example, the POI can be determined based on all sketch lines generated in virtual space, or it can be determined based on a portion of the sketch lines generated in virtual space. For instance, the POI can be determined as the centroid of a sketch line generated in virtual space, or it can be determined as the center of the most recently generated sketch line.

[0071] According to one embodiment, points of interest (POIs) can be determined based on a region of interest. For example, when a region of interest has been determined, points within the region of interest that meet predetermined criteria can be identified as POIs; when a region of interest has not been determined, points within the surface of the most recently identified region of interest that meet predetermined criteria can be identified as POIs. The identification of POIs based on regions of interest will be described in detail below.

[0072] According to one embodiment, a point of interest (POI) can be determined as a point set based on user input. According to another embodiment, specific conditions must be met to determine a POI as a point selected by the user based on user input, rather than an automatically set point. For example, when the region of interest within a virtual space is not determined, a point within the virtual space selected by the user based on user input can be determined as a POI. Alternatively, when at least one sketch line within the virtual space is selected to implement control, the POI can be determined as a point within the virtual space selected by the user based on user input. The operation of selecting a sketch line as a control object and the operation of setting a POI when selecting a sketch line for control purposes will be described in detail below.

[0073] According to one embodiment, step 320 of controlling the reference point may include a step of linearly transforming the position of the reference point based on a sixth user input, using the point of interest as a reference. The user input is used to control the viewport and may include inputs to rotate an object displayed in the viewport, zoom in or zoom out an object displayed in the viewport, or move an object displayed in the viewport.

[0074] According to one embodiment, the step of linearly transforming the reference point position may further include performing a linear transformation on a vector in the three-dimensional virtual space determined based on the point of interest and the reference point, based on a sixth user input from the control viewport. As an example, the linear transformation may include rotation transformation based on a specific axis and parallel translation transformation; the sixth user input may include at least one of the following: input to rotate an object displayed in the viewport, input to zoom in or out of an object displayed in the viewport, and input to move an object displayed in the viewport.

[0075] For example, based on a sixth user input that rotates an object displayed in the viewport, the position of a reference point can be transformed based on the rotation of the point of interest. Figure 4 Based on the input of the object displayed in the viewport, the position of the reference point 401 can change along the spherical surface 403 formed with the point of interest 402 as the center.

[0076] For example, based on a sixth user input that zooms in or out of an object displayed in the viewport, the position of a reference point can be moved closer to or further away from the point of interest while maintaining its orientation toward the point of interest. Figure 4 Based on the input of an object magnified in the viewport, the position of reference point 401 can be changed to a position closer to point of interest 402 along axis 404 passing through reference point 401 and point of interest 402. Alternatively, based on the input of an object magnified in the viewport, the position of reference point 401 can be changed to a position away from point of interest 402 along axis 404.

[0077] For example, based on a sixth user input that moves an object displayed in the viewport, the position of a reference point can be moved parallel to it in a plane perpendicular to the direction of the point of interest. Figure 4 Based on the input of the object displayed in the viewport, the position of the reference point 401 can be changed to a position that moves parallel to the plane 405 perpendicular to the axis 404, wherein the axis 404 passes through the reference point 401 and the point of interest 402.

[0078] According to one embodiment, the sixth user input for controlling the viewport may further include input that directly controls the viewpoint in the virtual space, and may also include intuitive input to the viewport area. Input that directly controls the viewpoint in the virtual space may include operations such as inputting the position of a point displayed in the virtual space of the viewport in the form of three-dimensional coordinates. For example, input performed on the viewport area may include touch inputs such as dragging, pinching inward / outward, and long-pressing applied to the touchscreen of the display viewport.

[0079] For example, a user can rotate an object displayed in the viewport by dragging it in a specific direction using a touch input method on a touchscreen that displays the viewport. (See also...) Figure 5 (a) and Figure 5 (b) can be obtained by applying the rightward drag input 520 to the viewport 501 area, which rotates the viewport 502 counterclockwise with reference to the point of interest 510.

[0080] For example, you can zoom in or out on objects displayed in the viewport by pinching the input inward or pushing it outward. (See reference...) Figure 6 (a) to Figure 6 (c) can display a magnified viewport 602 achieved by an input 620 that pushes the viewport 601 region outward. Alternatively, a reduced viewport 603 can be displayed by an input 630 that pinches the viewport 601 region inward. According to one embodiment, viewport 301 can be magnified and reduced based on a point of interest 610. According to one embodiment, the position of the point of interest 610 in viewport 601, magnified viewport 602, and reduced viewport 603 can remain consistent without changing the point of interest.

[0081] For example, you can move an object displayed in the viewport by long-pressing in a specific direction. (See reference) Figure 7 (a) and Figure 7 (b) Using two input points, drag input 720 to the right to viewport 701 to obtain viewport 702 that moves parallel to the right. According to one embodiment, by moving the input of the object displayed in the viewport, the positions of points of interest 710 located at the same position in virtual space may differ in viewports 701 and 702.

[0082] According to one embodiment, the sixth user input can indicate the direction and amount of movement. For example, the sixth user input may include input indicating that the mouse is dragged a specific distance from left to right, or input indicating that the touchscreen is dragged a specific distance from top to bottom. According to one embodiment, the direction and amount of movement of the reference point position can be determined based on the direction and amount of movement indicated by the sixth user input.

[0083] According to one embodiment, the step of linearly transforming the reference point position may include: determining the actual movement of the reference point based on the movement amount indicated by a sixth user input and the distance between the point of interest and the reference point; and linearly transforming the reference point position based on the movement direction indicated by the sixth user input and the determined actual movement amount, with the point of interest as a reference. The movement amount of the reference point position can be determined not only based on the movement amount indicated by the sixth user input but also based on the distance between the reference point and the point of interest. In other words, the actual movement amount of the reference point position linearly transformed based on the sixth user input is determined according to the movement amount indicated by the sixth user input and the distance between the reference point and the point of interest.

[0084] According to one embodiment, corresponding to the same amount of movement indicated by a sixth user input, the greater the distance between the point of interest (POI) and the reference point, the greater the actual movement of the determined reference point position. For example, when the received sixth user input is dragging 2cm on the touchscreen of the output virtual space, the actual movement of the reference point rotated and transformed based on the POI is set larger when the distance between the POI and the reference point is greater than when the distance between the POI and the reference point is closer. As another example, when the received sixth user input is pushing 2cm outward on the touchscreen of the output virtual space, the actual movement of the reference point moving in the direction of the POI is set larger when the distance between the POI and the reference point is greater than when the distance between the POI and the reference point is closer. In other words, the magnification of the sixth user input pushing 2cm outward is greater when the distance between the POI and the reference point is greater than when the distance between the POI and the reference point is closer.

[0085] According to one embodiment, the reference point of the virtual space can be changed based on input applied to the viewport area, and the viewport of the virtual space corresponding to the changed reference point can be output through the display.

[0086] According to one embodiment, the step of rendering a projection of a virtual space may include at least one of the following steps: rendering a perspective projection of a virtual space based on a reference point; and rendering an orthographic projection of a virtual space based on a reference point.

[0087] Projection is a method of displaying three-dimensional space on a two-dimensional plane. Based on the projection method, it can be divided into perspective projection and parallel projection.

[0088] Perspective projection is a projection method that displays the image of a 3D object as viewed from a reference point in 3D space onto a projection plane. In perspective projection, objects farther from the reference point appear smaller on the projection plane, while objects closer to the reference point appear larger, thus reflecting the distance between the 3D object and the viewpoint. For example, Figure 8 (a) shows the projection plane 830 for perspective projection of objects 811 and 812 located in three-dimensional space at reference point 801. (Refer to...) Figure 8 (a) Although the object 812, which is farther from the reference point 801, is actually larger than the object 811, which is closer to the reference point 801, it appears smaller in the projection plane 830 due to the consideration of distance.

[0089] Parallel projection is a projection method that projects a three-dimensional object onto a projection plane at a specified angle. Because all projection lines are parallel, relative sizes can be preserved regardless of the distance between the three-dimensional objects. An example of parallel projection is orthographic projection, where the projection direction is the same as one of the x, y, or z axes of the three-dimensional coordinate system, and the projection plane is perpendicular to the corresponding axis. For example, Figure 8 (b) shows the projection plane 840, which projects orthographically onto objects 821 and 822 in three-dimensional space, with reference to the axis corresponding to reference point 802. (Refer to...) Figure 8 (b) can maintain the relative size of objects 821 and 822 on the projection plane 840 without considering the position of objects 821 and 822 on the reference axis.

[0090] According to one embodiment, based on user input that transforms the projection method of the viewport, the virtual space can be transformed from a perspective projection viewport to an orthographic projection viewport, or vice versa. For example, based on a double-tap touch input, the virtual space can be transformed from a perspective projection viewport to an orthographic projection viewport.

[0091] According to one embodiment, when user input is received indicating that a perspective projection viewport at a reference point will be transformed into an orthographic projection viewport, the direction of an axis closer to the reference point can be determined as the orthographic projection direction, and the orthographic projection viewport in that direction can be displayed. For example, refer to... Figure 9 (a) to Figure 9 (c) When the reference point of the perspective projection viewport is close to the x-axis, it is transformed into viewport 901, which is orthographically projected in the x-axis direction, by transforming the viewport into an orthographic input (e.g., by double-clicking). Alternatively, when the reference point is close to the y-axis, it is transformed into viewport 902, which is orthographically projected in the y-axis direction, and when it is close to the z-axis direction, it is transformed into viewport 903, which is orthographically projected in the z-axis direction.

[0092] <Identify the area of ​​interest>

[0093] Refer again Figure 1 This describes the operation of determining a region of interest in a three-dimensional virtual space via an interface. In step 110, the first user input may include user input for determining the region of interest. The first user input may be received corresponding to a specific area in the virtual space. For example, the first user input may include input by touching or clicking a specific area within the virtual space via the interface.

[0094] According to one embodiment, a surface including the area where a first user input is received can be determined as a region of interest. The region of interest can be a surface within a three-dimensional virtual space. The surface can include planes and curved surfaces. Although a surface is a two-dimensional geometric object, the surface determined as a region of interest based on the first user input can be displayed in three-dimensional coordinates within the three-dimensional virtual space.

[0095] According to one embodiment, step 110 of determining the region of interest may include: determining a plane including the selected point as the region of interest based on a first user input that selects at least one point in a virtual space. For example, see... Figure 10 (a) The first user input may include an input that selects a specific point 1001 displayed in the virtual space of the interface. According to one embodiment, the selected specific point 1001 may be determined based on the area where the first user input is received. For example, when the received first user input is a touch input for a specific area, a point near the specific area may be selected corresponding to the first user input.

[0096] According to one embodiment, a region of interest can be determined based on a point selected by a first user input. For example, refer to... Figure 10 (b) can define the plane 1012, including the selected point 1011, as the region of interest. According to one embodiment, to visually display the plane defined as the region of interest, visual markers can be added to the corresponding plane. For example, referring to… Figure 10 (b) allows adding rectangular objects to the defined plane 1012, thereby visually displaying the plane identified as the region of interest through an interface. In this case, the region of interest is not limited to the marked rectangular area. The embodiments for visually displaying the region of interest are not limited to... Figure 10 The example shown in (b) illustrates a variety of methods for visually displaying the region of interest.

[0097] According to one embodiment, the first user input may include input to select more than one point. For example, three points can be selected by making three touch inputs on a specific area within a virtual space.

[0098] According to one embodiment, when there is more than one plane including a specific point in the three-dimensional virtual space, any one of the planes including the specific point can be determined as the region of interest. For example, referring to... Figure 10 (b) When a point 1011 is selected based on the first user input, a plane 1012 including the selected point 1011 and parallel to the xy plane can be defined as the region of interest. For example, when two or more points located on the same straight line are selected based on the first user input, a plane including the straight line formed by the two or more selected points and parallel to any one of the xy plane, yz plane, and zx plane can be defined as the region of interest.

[0099] According to one embodiment, after determining a first plane including a first point selected based on a first user input as a region of interest, a second point can be further selected based on the first user input. In this case, the region of interest can be redefined as a second plane passing through the first and second points. For example, referring to… Figure 11 (a), the second plane 1102 can be... Figure 10 (b) shows that the first plane 1012 is transformed into a plane passing through the first point 1011 and the second point 1101. Figure 11 The first point 1011 shown in (a) and Figure 10 Point 1011 shown in (b) can be the same point.

[0100] According to one embodiment, after determining a second plane including a first point and a second point selected based on a first user input as a region of interest, a third point can be further selected based on the first user input. In this case, the region of interest can be a third plane passing through the first point, the second point, and the third point. For example, referring to… Figure 11 (b), the third plane 1112 can be... Figure 11 The second plane 1102 shown in (a) is transformed into a plane passing through the first point 1011, the second point 1101 and the third point 1111. Figure 11 The first point 1011 and the second point 1101 shown in (b) are... Figure 11 The first point 1011 and the second point 1101 shown in (a) can be the same point. According to one embodiment, when the third point is a point on a straight line passing through the first point and the second point, the third plane can be the same as the second plane.

[0101] According to one embodiment, when more than three points are selected based on the first user input, and a plane including the selected points cannot be determined, this can be treated as an exception. According to another embodiment, the number of points selected based on the first user input can be limited to three or less.

[0102] According to one embodiment, after determining the region of interest (ROI), points of interest (POIs) can be determined based on the ROI. As described above, a POI is a point in virtual space corresponding to the position of a reference point viewed from the viewport. The viewport can be controlled based on the POIs and user input. According to one embodiment, before determining the ROI, a specific point in the virtual space can be defaulted as a POI, and after determining the ROI, it can be changed to a point determined based on the ROI.

[0103] According to one embodiment, a point of interest (POI) within a region of interest can be determined based on a point selected by a first user input. As an example, when only one point is selected by the first user input, the POI can be set as the point selected by the first user input. (See also...) Figure 10 (b) can designate the user-selected point 1101 as the point of interest. For example, when more than two points are selected via the first user input, the centroid of the selected points can be set as the point of interest. (See reference...) Figure 11 (a) The point of interest 1110 can be the center of two points 1101 and 1011 selected by the first user input. (See reference...) Figure 11 (b) The point of interest 1120 can be the centroid of three points 1101, 1011, and 1111 selected by the first user input.

[0104] Refer again Figure 1 The region of interest determined in step 110 according to one embodiment can be controlled based on second user input. The location of the region of interest can be determined by the distance between it and a specified point in the virtual space (e.g., the origin of a three-dimensional space represented by a Cartesian coordinate system) and / or the angle formed with a specified axis in the virtual space (e.g., the x, y, z axes of a three-dimensional space represented by a Cartesian coordinate system).

[0105] According to one embodiment, the second user input may include user input controlling the location of the region of interest. The second user input may be received corresponding to the region of interest in the virtual space. For example, the second user input may include input involving touching, dragging, or clicking a specific area (e.g., an axis associated with the region of interest) within the region of interest via an interface. As another example, the second user input may include input selecting a face generated within the virtual space as the region of interest, and input involving touching, dragging, or clicking an interface object, wherein the interface object is used to control display within the region of interest on the interface based on the selected region of interest.

[0106] Step 120 of controlling the position of a region of interest based on second user input according to one embodiment may include at least one of the following steps: rotating the region of interest in a virtual space based on the second user input, using an axis for rotation corresponding to the region of interest as a reference; and rotating the region of interest within the virtual space based on the second user input, using an axis for movement corresponding to the region of interest as a reference. In other words, based on the position of the region receiving the second user input, the region of interest can be rotated or moved with reference to a specific axis. The axis for rotating or moving the region of interest may be at least one straight line included in the virtual space. As an example, the axis for rotating the region of interest may be a straight line included in the plane determined as the region of interest. As an example, the axis for moving the region of interest may be a straight line perpendicular to the region of interest.

[0107] According to one embodiment, at least one axis can be determined on the region of interest based on points selected for determining the region of interest. As an example, two straight lines perpendicular to each other with reference to a point of interest within the region of interest can be determined as axes for rotating the region of interest. As another example, a straight line perpendicular to the region of interest and passing through the point of interest can be determined as an axis for moving the region of interest.

[0108] For example, refer to Figure 10 In (b), within the plane 1012 defined as the region of interest, two mutually perpendicular lines 1021 and 1022, with the point of interest 1011 as a reference, can be defined as axes for rotation; a line 1030 passing through the point of interest and perpendicular to the region of interest can be defined as the axis for moving the region of interest. For example... Figure 10 As shown in (b), when projecting the region of interest onto the xy plane of the virtual space, the axes parallel to the x-axis and y-axis respectively can be defined as the axes for rotating the region of interest, but are not limited to this.

[0109] Refer again Figure 1 According to one embodiment, step 120 may further include: determining, among the axes defined within the region of interest, any one axis corresponding to the region where the second user input was received; and rotating or moving the region of interest based on the determined axis. The region where the second user input was received may include a portion of the region of interest. Based on the region where the second user input was received, any one of the determined axes can be determined for rotating or moving the region of interest.

[0110] For example, refer to Figure 12 (a) When the region receiving the second user input corresponds to an edge 1202 or 1203 within the region of interest that is parallel to the first axis 1201 of the region of interest, the region of interest can be rotated with respect to the first axis 1201. (See reference...) Figure 12 (b) When the region receiving the second user input corresponds to an edge 1212 or 1213 parallel to the second axis 1211 of the region of interest, the region of interest can be rotated with respect to the second axis 1211. (See reference...) Figure 12 (c) When the region receiving the second user input corresponds to the point of interest 1222 where the third axis 1221 of the region of interest intersects with the plane, the region of interest can be moved parallel with the third axis 1221 as a reference.

[0111] According to one embodiment, a user can control the rotation direction and degree of rotation through an interface. For example, the rotation direction of the region of interest can be controlled by controlling the direction of the drag input, and the degree of rotation of the region of interest can be controlled by controlling the length of the drag input. According to one embodiment, a user can control the direction and degree of parallel movement through an interface. For example, the parallel movement direction of the region of interest can be controlled by controlling the direction of the drag input, and the degree of parallel movement of the region of interest can be controlled by controlling the length of the drag input.

[0112] Refer again Figure 1 According to one embodiment, step 120 of controlling the position of the region of interest based on a second user input may include at least one of the following steps: rotating the region of interest based on the second user input with reference to the axis of the direction from the reference point of the projected virtual space to the point of interest; and moving the region of interest in a direction perpendicular to the axis of the direction from the reference point of the projected virtual space to the point of interest, based on the second user input.

[0113] For example, refer to Figure 12 (d) can select the surface 1230 generated in the virtual space as the region of interest based on the second user input, and in response to the selection of the region of interest, activate the interface object 1240 that controls the region of interest.

[0114] According to one embodiment, the second user input may include input for manipulating the interface object 1240. For example, the second user input may include input for manipulating the inner circle 1241 region of the interface object, and for moving the region of interest 1230 based on the second user input. More specifically, the user may input the second user input through the interface, which drags the inner circle 1241 of the interface object 1240 to a desired direction, and moves the region of interest 1230 to a direction perpendicular to the axis of the direction from the reference point in the projected virtual space to the point of interest 1231, and to the direction in which the inner circle 1241 was dragged.

[0115] For example, the second user input may include input for manipulating the outer circle 1242 region of the interface object, and the region of interest 1230 may be rotated based on the second user input. More specifically, the user can input the second user input through the interface, which draws and drags a curved trajectory with the desired direction and length within the outer circle 1242 region of the interface object 1240. Based on the second input, the region of interest 1230 rotates with reference to the axis in the direction from the reference point in the projected virtual space to the point of interest 1231.

[0116] According to one embodiment, as described above, the point of interest is a point in virtual space corresponding to the position viewed from the reference point, such as... Figure 12 As shown in (d), points within the region of interest 1230 can be determined as points of interest based on the region of interest 1230, or as described above, at least one of a predetermined point in the virtual space, a point determined based on at least a portion of the sketch lines generated in the virtual space, a point determined based on the region of interest, and a point set based on user input can be determined as a point of interest.

[0117] Refer again Figure 1 According to one embodiment, step 110 of determining the region of interest may include: determining the surface extending the generated curve as the region of interest based on a first user input that generates a curve in the virtual space. According to one embodiment, when a first user input selecting a specific point in the virtual space is received, a plane including the selected point can be determined as the region of interest; when a first user input generating a curve in the virtual space is received, the surface extending the generated curve in the direction of a specific axis or a specific straight line can be determined as the region of interest.

[0118] For example, refer to Figure 13 In (a), the first user input may include input that generates curve 1301 in the virtual space. The curve may include a straight line. (See reference...) Figure 13 (b) The curve generated based on the first user input can extend in the direction of a predetermined straight line. For example, the curve can extend in the direction of a straight line perpendicular to the plane displayed in the viewport where the curve is drawn. According to one embodiment, the surface 1302 generated by extending the curve in a specific straight line direction can be defined as the region of interest. The surface can include a plane. In other words, when the curve generated based on the first input is a straight line, the plane in which the straight line extends in a specific straight line direction can be defined as the region of interest.

[0119] According to one embodiment, a surface generated based on a first user input that generates a curve in virtual space can be modified based on user input that modifies the generated surface. As described above, the curve generated by the first user input can extend toward the direction of a first line (e.g., the direction of a specific straight line or a specific curve) to generate a surface. According to one embodiment, the user input for modifying the generated surface may include input modifying the first line as the direction of curve extension.

[0120] As an example, step 110 may include: generating a surface that extends the first curve toward the first line based on a first user input that generates the first curve in the virtual space; and changing the first line to the second line based on user input that generates the second line in the virtual space to modify the generated surface, thereby modifying the generated surface. For example, the user input that generates the second line to modify the generated surface may include selecting an interface object for modifying the surface and drawing the second line.

[0121] According to one embodiment, in addition to drawing a second line to modify the generated surface, the direction and extent of modifying at least part of the generated surface can be specified through various methods, thereby modifying the generated surface.

[0122] <Generate and control sketch lines>

[0123] According to one embodiment, sketch lines belonging to the region of interest may include at least one of points, lines, and surfaces drawn in the region of interest based on third user input. For example, see... Figure 14 (a), in the Figure 13 After the surface 1302 shown in (b) is determined as the region of interest, the user can generate at least one sketch line 1401 in the virtual space through third user input. For example, the third user input may include input of drawing a trajectory on the display by dragging a pen linked to the display. The sketch line generated based on the trajectory input on the two-dimensional display may be equivalent to a point, line, or surface in a two-dimensional or lower dimension.

[0124] According to one embodiment, third user input can be generated via an interface as sketch lines drawn on a defined region of interest within a virtual space, thereby generating an object within the virtual space. In other words, a specific face within the virtual space is defined as the region of interest, and sketch lines are generated on the region of interest, thereby generating a three-dimensional shape in a three-dimensional virtual space displayed on a two-dimensional display. See also... Figure 14 (b) At least one sketch line 1402 belonging to the region of interest, generated based on third user input, can be generated as an object with three-dimensional coordinates in virtual space.

[0125] The interface method according to one embodiment may further include: a step of visualizing the intersection points of the region of interest and the sketch lines included in the virtual space when a sketch line in the virtual space intersects with a defined region of interest. (See reference...) Figure 14 (c) The sketch line 1403 included in the virtual space can be a sketch line generated from a face belonging to a previously determined region of interest (ROI) face 1404. When the face 1404, which is determined to be the current ROI, intersects with the sketch line 1403 included in the virtual space, the intersection point 1405 can be visually displayed on the face 1404 of the ROI, thereby providing an interface for easily visually understanding the positional relationship between the face 1404, which is determined to be the ROI, and the sketch line 1403.

[0126] According to one embodiment, the user identifies a first face as the region of interest to generate a first sketch line belonging to the first face, and identifies a second face different from the first face as the region of interest to generate a second sketch line belonging to the second face, thereby generating a three-dimensional image located on different planes in virtual space. Figure 15 (a) illustrates the shapes of sketch lines located on different planes within virtual space. Sketch lines included in virtual space can be equivalent to objects belonging to planes or surfaces within virtual space. In relation to a specific plane, a sketch line belonging to a particular plane is equivalent to a two-dimensional object. Depending on the positional relationship between the corresponding plane and other planes, a sketch line belonging to a particular plane can form a solid shape together with sketch lines belonging to other planes.

[0127] The interface method according to one embodiment may further include: a step of selecting at least one sketch line included in a virtual space based on a fourth user input; and a step of linearly transforming the selected sketch line based on a point of interest in the virtual space set according to predetermined rules.

[0128] According to one embodiment, the fourth user input can be input that selects a sketch line generated within a virtual space via an interface. For example, the fourth user input can include input that displays an area with sketch lines by touching, clicking, or dragging via the interface. Selected and unselected sketch lines can be distinguished. The sketch line selected based on the fourth user input can be identified as a control object.

[0129] According to one embodiment, sketch lines can be selected based on a fourth user input, either when the region of interest has been determined or when the region of interest has been de-determined.

[0130] According to one embodiment, the step of linearly transforming a sketch line selected based on a fourth user input may include: linearly transforming the selected sketch line while maintaining the positional relationship between the region of interest and the selected sketch line, based on positional control of the region of interest based on a second user input. The selected sketch line may be a sketch line selected based on the fourth user input after the region of interest has been determined, or a sketch line selected after the fourth user input has been used to select a sketch line, when a specific face is determined to be the region of interest.

[0131] According to one embodiment, position control of a region of interest based on second user input may include: rotating or moving the region of interest based on an axis passing through a point of interest within the region of interest, or rotating or moving the region of interest based on an axis in the direction from a reference point in the projected virtual space toward the point of interest. For example, position control of the region of interest based on second user input may be based on an axis passing through a point of interest within the region of interest and perpendicular to the region of interest, as described above, or it may be based on an axis included within the region of interest.

[0132] According to one embodiment, when the region of interest (ROI) moves or rotates based on a second user input, the sketch line selected based on a fourth user input also moves and rotates to maintain its positional relationship with the ROI. Maintaining the positional relationship between the sketch line and the ROI means that the position of the sketch line, represented with the ROI as a reference, remains consistent. For example, if a sketch line is generated as a point at a predetermined distance away from the point of interest on a straight line passing through the point of interest within the ROI and perpendicular to the ROI, after the ROI is rotated or moved based on the second user input, the sketch line will also rotate or move, so that the sketch line remains at a predetermined distance away from the point of interest on a straight line passing through the point of interest within the ROI and perpendicular to the ROI.

[0133] According to one embodiment, the step of linearly transforming a sketch line selected based on a fourth user input may include: linearly transforming the selected sketch line based on a fifth user input. The selected sketch line is a sketch line selected based on the fourth user input without a determined region of interest.

[0134] The fifth user input is the input for the selected sketch line used for linear transformation. For example, it can be input via an interface object activated when the sketch line is selected. The selected sketch line can be linearly transformed based on a point of interest. For example, it can include rotation transformations, scaling transformations, scaling transformations, and parallel translations based on the point of interest. More specifically, the steps of linearly transforming the selected sketch line based on the fifth user input can include at least one of the following: rotating the selected sketch line in virtual space based on an axis pointing from a reference point in the projected virtual space towards the point of interest; moving the selected sketch line in a direction perpendicular to the axis pointing from the reference point in the projected virtual space towards the point of interest, based on the fifth user input; and changing the size of the selected sketch line in a direction perpendicular to the axis pointing from the reference point in the projected virtual space towards the point of interest, based on the fifth user input.

[0135] For reference Figure 15 (a) When at least one sketch line 1501 included in the virtual space is selected as a control object, an interface object 1510 for controlling the selected sketch line 1501 can be activated. A fifth user input can be received through the interface object 1510 to linearly transform the sketch line 1501.

[0136] For example, when receiving fifth user input through the inner circle 1512 region of the interface object, the selected sketch line can be moved in a direction perpendicular to the axis of the direction from the reference point in the projected virtual space to the point of interest, and parallel to the direction based on the fifth user input. More specifically, when the fifth user input is an input that drags the inner circle 1512 of the interface object to the left, the selected sketch line can be moved in a direction perpendicular to the axis of the direction from the reference point to the point of interest, while simultaneously moving parallel to the left in the direction from the reference point to the point of interest.

[0137] For example, when the fifth user input is received in a direction of movement from the inside to the outside of the interface object, or from the outside to the inside, the selected sketch line can be zoomed in or out. The selected sketch line can be zoomed in or out in a direction perpendicular to the axis of the direction from the reference point in the projected virtual space toward the point of interest.

[0138] For example, when a fifth user input is received through the area of ​​the outer circle 1511 of the interface object, the selected object can be rotated and transformed based on the axis of the direction from the reference point in the projected virtual space to the point of interest. According to one embodiment, the rotation transformation of the selected sketch line is implemented based on the axis formed by the reference point and the point of interest. The point of interest can be positioned at a specific point in the virtual space by controlling the viewport, and the position of the reference point can be controlled. As described above, the user can control the viewport through the interface.

[0139] As described above, when at least one sketch line included in the virtual space is selected as a control object, the point of interest (POI) can be set to any point within the virtual space selected by the user. In other words, when at least one sketch line included in the virtual space is selected as a control object, the user can control the position of the POI through an interface. For example, the user can control the viewport through the interface, thereby controlling the position of the POI within the virtual space.

[0140] For reference Figure 15 (b) shows the viewport transformed into an orthographic projection via viewport control. Based on user input controlling the viewport, the point of interest 1521 can be determined as its location within the user-selected virtual space.

[0141] According to one embodiment, based on a fifth user input, a selected sketch line in a three-dimensional virtual space can be rotated and transformed with respect to a point of interest. See reference... Figure 15 (c) Based on a fifth user input that drags the outer circle 1532 region of the interface object in a specific direction, the selected sketch line 1531 can be rotated and transformed with reference to the point of interest 1533. Figure 15 (a) to Figure 15 (c) The fifth user input, which details the transformation of the selected sketch line, is a non-limiting example of the input that controls the transformation of the sketch line.

[0142] The interface method according to one embodiment may further include: a step of selecting at least one sketch line included in the virtual space based on a fourth user input; a step of designating the selected at least one sketch line as a group; and a step of setting a point of interest corresponding to the group. The at least one sketch line designated as a group can control the linear transformation of the sketch line based on the point of interest set corresponding to the respective group. For example, when a specific group is selected, the sketch lines included in the corresponding group can undergo a linear transformation on a group-by-group basis based on a fifth user input.

[0143] According to one embodiment, multiple groups comprising at least one sketch line can be specified. Each of the multiple groups can have a separate corresponding point of interest, and the linear transformation of the sketch line included in the group can be controlled individually based on the corresponding point of interest.

[0144] According to one embodiment, at least one sketch line designated as a specific group can include positional information corresponding to the designated group based on its relative relationship with other sketch lines included in the designated group. In other words, the positional information that at least one sketch line designated as a specific group can include: positional information based on a global coordinate system, wherein the global coordinate system is referenced to a predetermined origin in virtual space; and positional information based on a local coordinate system, wherein the local coordinate system corresponds to the respective group and is based on the relative positional relationship between other sketch lines included in the respective group. The global coordinate system is equally applicable to sketch lines existing in virtual space, and the local coordinate system can be applied to various groups of sketch lines. For example, the (0, 0, 0) coordinates of the local coordinate system of a first group can be different from the (0, 0, 0) coordinates of the local coordinate system of a second group, and the (0, 0, 0) coordinates of the local coordinate system of the first group can be equivalent to the (1, 2, 3) coordinates of the global coordinate system.

[0145] Refer again Figure 1 Step 130 according to one embodiment may include: determining a symmetry plane in a virtual space based on a symmetry mode setting; generating a first sketch line belonging to the region of interest based on third user input; and generating a second sketch line symmetrical to the first sketch line based on the symmetry plane in the virtual space.

[0146] According to one embodiment, a symmetry plane can be determined in response to user input setting a symmetry mode. The symmetry plane can be a pre-determined plane including the point of interest. For example, the symmetry plane can be a plane including the point of interest and parallel to the yz plane. Alternatively, the plane including the point of interest can be determined as the symmetry plane based on various references.

[0147] According to one embodiment, when a symmetry mode is set, as a first sketch line is generated in a three-dimensional virtual space, a second sketch line symmetrical to the first sketch line with respect to a plane of symmetry can be generated in the virtual space. In other words, a second sketch line can be generated in the virtual space corresponding to the first sketch line, and the second sketch line is a mirror image of the first sketch line with respect to a plane of symmetry.

[0148] For reference Figure 16 In response to input setting a symmetry mode, a symmetry plane can be generated, including the point of interest 1601 and parallel to the yz plane. When sketch line 1602 is generated on one side of the virtual space divided by the symmetry plane based on third user input, sketch line 1603 symmetrical to the symmetry plane can be generated on the other side of the virtual space divided by the symmetry plane.

[0149] According to one embodiment, more than one symmetry plane can be generated. For example, at least one of the following can be generated in response to input setting a symmetry mode: a first symmetry plane parallel to the yz plane with a point of interest as a reference; a second symmetry plane parallel to the zx plane; and a third symmetry plane parallel to the xy plane. For example, when a left-right symmetry mode and a right-top symmetry mode are set based on user input, a first symmetry plane parallel to the yz plane with a point of interest as a reference and a second symmetry plane parallel to the zx plane can be generated. When two symmetry planes are generated, when a sketch line is generated on one side of the virtual space distinguished by the symmetry planes based on a third user input, a symmetric image based on the symmetry planes is generated on the other side of the virtual space distinguished by the symmetry planes.

[0150] The interface method according to one embodiment may further include: a step of selecting at least one first sketch line included in a virtual space based on a fourth user input; a step of copying the selected first sketch line to generate a second sketch line; and a step of linearly transforming the second sketch line based on a point of interest in the virtual space set according to predetermined rules.

[0151] According to one embodiment, the second sketch line generated by copying the first sketch line can be a sketch line of the same shape as the first sketch line. The generated second sketch line belongs to a second plane, wherein the second plane is generated at the same position in virtual space as the first plane to which the first sketch line belongs is located in virtual space.

[0152] According to one embodiment, when a second sketch line is generated, a second plane to which the second sketch line belongs can be designated as a region of interest. The second plane designated as the region of interest controls its position within the virtual space based on second user input.

[0153] According to one embodiment, when a second sketch line is generated, the selection of the first sketch line is deselected to select the second sketch line. The second sketch line, corresponding to the selected sketch line, can be transformed based on a fifth user input, using a point of interest as a reference.

[0154] The interface method according to one embodiment may further include: a step of selecting at least one sketch line included in the virtual space based on a fourth user input; and a step of changing the shape of at least a portion of the selected sketch line based on a face within the user-specified virtual space based on a fifth user input. For example, by inputting a push or pull on a specific location of a face within the user-specified virtual space, a portion of the selected sketch line corresponding to that location can deform in response to the movement of the plane.

[0155] An interface method according to one embodiment may include the step of generating a video from a linear transformation process of sketch lines included in a virtual space. More specifically, the interface method according to one embodiment may further include the following steps: storing a first virtual space including the generated sketch lines; storing a second virtual space including at least a portion of the generated sketch lines that have undergone a linear transformation; and rendering the first virtual space and the second virtual space to generate a video including a process of linearly transforming at least a portion of the generated sketch lines. For example, see... Figure 15 (b) and Figure 15 (c) storage includes Figure 15 The first virtual space of the sketch lines shown in (b) stores including Figure 15 The second virtual space of the sketch line 1531 after rotational transformation shown in (c) generates a space including the sketch line from... Figure 15 The image shown in (b) changes to Figure 15 The video shows the process of the scene shown in (c).

[0156] Figure 17 This is a structural diagram of an electronic device that performs an interface method according to an embodiment.

[0157] Reference Figure 17 Electronic device 1700 includes processor 1701, memory 1703 and input / output device 1705.

[0158] An electronic device 1700 according to one embodiment is used to perform the above-described interface method and may include a server, mobile phone, computer, tablet computer, or electronic device implementing AR (augmented reality) or VR (virtual reality). Processor 1701 may execute the reference... Figures 1 to 15 At least one method described in (c). The processor 1701 can provide a user interface through an output device (e.g., a display).

[0159] According to one embodiment, electronic device 1700 connects to external devices (e.g., personal computers or networks) and exchanges data via input / output device 1705. Input / output device 1705 according to one embodiment includes an input device (e.g., touchscreen, mouse, keyboard) for receiving user input; and an output device (e.g., display, audio) for outputting signals generated by operations performed by electronic device 1700. As an example, input device 1705 may include a touchscreen for receiving touch input, which can detect the touch position (coordinates), touch speed, touch intensity, and touch duration using at least one of a capacitive sensor and a pressure sensor.

[0160] According to one embodiment, processor 1701 performs the operation of at least one of the interface methods described above based on user input signals received via input device 1705. Processor 1701 can provide the user with signals generated based on the operation of the interface method via output device 1705.

[0161] According to one embodiment, memory 1703 may store information related to the above-described interface method, and memory 1703 may be volatile memory or non-volatile memory. According to one embodiment, memory 1703 may store a program or program code that implements the above-described interface method. According to one embodiment, processor 1701 executes the program stored in memory 1703 and controls electronic device 1700.

[0162] The embodiments described above can be implemented using hardware components, software components, and / or combinations of hardware and software components. For example, the apparatus, methods, and components described in the embodiments can be embodied using one or more general-purpose computers or special-purpose computers, such as processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field-programmable gate arrays (FPGAs), programmable logic units (PLUs), microprocessors, or any other device capable of executing and responding to instructions. The processing device can execute an operating system (OS) and one or more application software programs running within said operating system. Furthermore, the processing device responds to the execution of the software, thereby accessing, storing, manipulating, processing, and generating data. For ease of understanding, a configuration with only one processing device has been described; however, those skilled in the art will understand that a processing device can include multiple processing elements and / or multiple types of processing elements. For example, a processing device can include multiple processors or one processor and one controller. Furthermore, it can also include other processing configurations similar to parallel processors.

[0163] Software can include computer programs, code, instructions, or a combination of more than one of these, enabling a processing device to operate in a desired manner, or to individually or collectively command the processing device. To interpret or provide commands or data to the processing device, software and / or data can be permanently or temporarily embodied in any type of device, component, physical device, virtual equipment, computer storage medium or device, or transmitted signal wave. Software is distributed across computer systems connected via a network and can be stored or executed in a distributed manner. Software and data can be stored on more than one computer read / write storage medium.

[0164] The method according to the embodiments is embodied in the form of program instructions executable by various computer means and recorded in a computer read / write medium. The computer read / write medium may include program instructions, data files, data structures, etc., individually or in combination. The program instructions recorded on the medium may be instructions specifically designed and configured to implement the embodiments, or instructions that can be used by a person skilled in the art of computer software based on commonly known instructions. The computer read / write recording medium may include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical media similar to CD-ROMs and DVDs; magneto-optical media similar to floppy disks; and hardware devices specifically configured to store and execute program instructions, such as read-only memory (ROM), random access memory (RAM), and flash memory. Examples of program instructions include not only machine language code generated by a compiler, but also high-level language code executable by a computer using an interpreter or similar means.

[0165] To perform the operations of the embodiments, the hardware device can be configured to implement the operations with one or more software modules, or vice versa.

[0166] In summary, the embodiments have been described with reference to the limited accompanying drawings. Those skilled in the art can make various modifications and variations based on the description. For example, appropriate results can be obtained by performing the described techniques in a different order than the described methods, and / or by combining or integrating the described systems, structures, devices, circuits, and other constituent elements in a different manner than the described methods, or by replacing or substituting them with other constituent elements or their equivalents.

[0167] Therefore, other embodiments, other implementations, and equivalents of the claims are all within the scope of the appended claims.

Claims

1. An interface method of sketching in a three-dimensional virtual space, characterized by comprising the steps of: determining a face including a region in the virtual space into which a first user input is received as a region of interest; controlling a position of the region of interest in the virtual space based on a second user input to the region of interest; and generating at least one sketch line subordinate to the region of interest based on a third user input, selecting one of the at least one sketch line based on a fourth user input; in response to receiving the fourth user input while the region of interest is determined, linearly transforming the selected sketch line in the virtual space while maintaining a positional relationship of the region of interest to the selected sketch line based on the second user input; and in response to receiving the fourth user input while the region of interest is not determined, linearly transforming the selected sketch line based on a fifth user input for linearly transforming the selected sketch line, the linear transformation including at least one of rotating the selected sketch line in the virtual space with respect to an axis of a direction in which a reference point of the virtual space looks toward a point of interest, moving the selected sketch line toward a direction perpendicular to the axis of the direction in which the reference point of the virtual space looks toward the point of interest, and changing a size of the selected sketch line toward the direction perpendicular to the axis of the direction in which the reference point of the virtual space looks toward the point of interest based on the fifth user input, wherein the point of interest is a predetermined point in the virtual space, wherein the reference point is a position of a virtual camera configured in the virtual space to determine a viewport, wherein the viewport is an image that projects the virtual space including a generated visual shape to a two-dimensional plane.

2. The interface method according to claim 1, characterized by, the step of determining the region of interest including at least one of: determining a plane including at least one point selected in the virtual space as the region of interest based on the first user input of selecting the at least one point; and determining a curved surface extending a curve generated in the virtual space as the region of interest based on the first user input of generating the curve in the virtual space.

3. The interface method according to claim 1, characterized by, the step of determining the region of interest including the steps of: generating a curved surface extending a first curve generated in the virtual space toward a direction of a first line based on the first user input of generating the first curve in the virtual space; and changing the first line to a second line based on a user input of generating the second line in the virtual space for modifying the curved surface generated, thereby changing the curved surface generated.

4. The interface method according to claim 1, characterized by, the step of determining the region of interest including the step of: determining a face including at least one sketch line generated in the virtual space as the region of interest based on the first user input of selecting the at least one sketch line.

5. The interface method according to claim 1, characterized by, ​ The at least one sketch line belonging to the region of interest includes at least one of a point, a line, and a surface drawn on the region of interest based on the third user input. 6.The interface method of claim 1, further comprising the steps of: selecting at least one sketch line included in the virtual space based on the fourth user input; linearly transforming the selected sketch line based on a point of interest within the virtual space set according to a predetermined rule; and 7.The interface method of claim 1, further comprising the steps of: selecting at least one first sketch line included in the virtual space based on the fourth user input; copying the selected first sketch line to generate a second sketch line; and linearly transforming the second sketch line based on a point of interest within the virtual space set according to a predetermined rule. 8.The interface method of claim 1, further comprising the steps of: selecting at least one sketch line included in the virtual space based on the fourth user input; and changing a shape of at least a portion of the selected sketch line based on a surface within the virtual space specified by a user based on the fifth user input. 9.The interface method of claim 1, wherein the step of generating at least one sketch line belonging to the region of interest includes the steps of: determining a symmetry plane in the virtual space based on a set symmetry mode; generating a first sketch line belonging to the region of interest based on the third user input; and generating a second sketch line symmetrical to the first sketch line based on the symmetry plane within the virtual space. 10.The interface method of claim 1, further comprising the steps of: selecting at least one sketch line included in the virtual space based on the fourth user input; designating the selected at least one sketch line as a group; and setting a point of interest corresponding to the group. 11.The interface method of claim 1, further comprising the steps of: storing a first virtual space including the generated sketch lines; storing a second virtual space including at least a portion of the generated sketch lines that are linearly transformed; and rendering the first virtual space and the second virtual space to generate a video including a process of linearly transforming at least a portion of the generated sketch lines. 12.The interface method of claim 1, further comprising the step of: visualizing a point at which the region of interest intersects with a sketch line included in the virtual space within the region of interest when the region of interest intersects with the sketch line included in the virtual space. 13.A computer-readable recording medium recording a program for executing the interface method of claim 1. 14.An electronic device comprising at least one processor configured to: determine a surface of a region within a three-dimensional virtual space in which a first user input is received as a region of interest; ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ controlling a position of the region of interest within the virtual space based on a second user input to the region of interest; generating at least one sketch line subordinate to the region of interest based on a third user input, selecting one of the at least one sketch line based on a fourth user input; in response to receiving the fourth user input when the region of interest is determined, linearly transforming the selected sketch line in the virtual space while maintaining a positional relationship of the region of interest to the selected sketch line based on the second user input; and in response to receiving the fourth user input when the region of interest is not determined, linearly transforming the selected sketch line based on a fifth user input for linearly transforming the selected sketch line, the linear transformation comprising at least one of the following: rotating the selected sketch line within the virtual space with respect to an axis of a direction from a reference point projecting the virtual space to a point of interest; moving the selected sketch line toward a direction perpendicular to the axis of the direction from the reference point projecting the virtual space to the point of interest; and changing a size of the selected sketch line toward the direction perpendicular to the axis of the direction from the reference point projecting the virtual space to the point of interest based on the fifth user input; wherein the point of interest is a predetermined point in the virtual space; wherein the reference point is a position of a virtual camera configured in the virtual space to determine a viewport; wherein the viewport is an image of the virtual space including a generated visual shape projected to a two-dimensional plane.

Citation Information

Patent Citations

  • Three-dimensional sketching in mobile augmented reality

    US20210012574A1

  • KR20200122126A