KR20210116100A - Method and apparatus for 3d sketching - Google Patents

Method and apparatus for 3d sketching Download PDF

Info

Publication number
KR20210116100A
KR20210116100A KR1020200032828A KR20200032828A KR20210116100A KR 20210116100 A KR20210116100 A KR 20210116100A KR 1020200032828 A KR1020200032828 A KR 1020200032828A KR 20200032828 A KR20200032828 A KR 20200032828A KR 20210116100 A KR20210116100 A KR 20210116100A
Authority
KR
South Korea
Prior art keywords
user
sketching
sketch
trajectory
tap
Prior art date
Application number
KR1020200032828A
Other languages
Korean (ko)
Other versions
KR102359598B1 (en
Inventor
배석형
이준협
함형기
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020200032828A priority Critical patent/KR102359598B1/en
Publication of KR20210116100A publication Critical patent/KR20210116100A/en
Application granted granted Critical
Publication of KR102359598B1 publication Critical patent/KR102359598B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

According to the present invention, interaction of each function is designed, so functions necessary to move the sketch in the 3D sketching process can be used naturally. Designers can move the sketch by dividing the sketch drawn with a pen into several parts and connecting the parts through joints, as if holding and moving objects with their hands. Disclosed are a method and a device for three-dimensional sketching. The method for three-dimensional sketching creates a reference object based on points selected by a user in a three-dimensional virtual space including an object represented by sketch lines, determines a trajectory of a first part to move in the object based on the reference object, determines the range of motion of the first part and a second part of the object against which the first part moves along the trajectory, and creates a joint connecting the first part and the second part based on a position of the first part, a position of the second part, the trajectory of the first part, and the range of motion.

Description

3차원 스케칭 방법 및 장치{METHOD AND APPARATUS FOR 3D SKETCHING}3D sketching method and apparatus {METHOD AND APPARATUS FOR 3D SKETCHING}

아래의 설명은 3차원 스케칭 방법 및 장치에 관한 것이다.The following description relates to a three-dimensional sketching method and apparatus.

많은 제품이 움직이는 파트를 가고 있으며, 파트가 움직임으로써 제품이 여러 포즈로 변화할 수 있다. 이처럼 여러 포즈를 가진 제품은 포즈마다 다른 형상을 가진다. 움직임에 따라 형상이 변하는 특성으로 인해, 디자이너가 제품을 디자인할 때는 형상과 움직임을 함께 고려해야 한다. 하지만 디자인 초기에 스케치를 통해 아이디어를 탐색하는 과정에서 형상과 움직임을 함께 고려하기는 어렵다. 움직임에 따라 변하는 형상을 상상하기 어렵고, 제품의 여러 형상을 일일이 스케치하는 데 많이 시간이 소요된다. 스케치 과정에서 아이디어를 충분히 탐색하지 못하면, 의도한 대로 움직이지 않거나 예상하지 못한 형상으로 변하는 제품이 디자인될 수 있다.Many products have moving parts, and as the parts move, the product can change into several poses. As such, products with multiple poses have different shapes for each pose. Due to the characteristic that the shape changes according to the movement, the designer must consider the shape and the movement together when designing a product. However, it is difficult to consider shape and movement together in the process of exploring ideas through sketches in the early stages of design. It is difficult to imagine the shape that changes according to the movement, and it takes a lot of time to sketch the various shapes of the product one by one. If ideas are not explored sufficiently during the sketching process, a product can be designed that does not move as intended or takes on unexpected shapes.

본 발명은 3D 스케치 과정에서 스케치를 움직이기 위해 필요한 기능들이 자연스럽게 사용될 수 있도록, 각 기능의 인터랙션이 설계되었다. 디자이너는 펜을 이용해 그린 스케치를 여러 파트로 나누고, 조인트를 통해 파트를 연결시킴으로써 스케치를 움직이게 할 수 있다. 그리고, 디자이너는 손을 이용해 물건을 잡고 움직이는 것처럼 스케치를 움직일 수 잇다. 이처럼 디자이너는 펜과 손을 활용한 인터랙션을 통해 아이디어를 스케치하는 것에 집중할 수 있다.In the present invention, the interaction of each function is designed so that functions necessary for moving the sketch can be used naturally in the 3D sketching process. Designers can move a sketch drawn with a pen by dividing it into parts and connecting the parts through joints. In addition, designers can move sketches as if holding objects with their hands and moving them. In this way, designers can focus on sketching ideas through interaction using the pen and hand.

본 발명은 스케치된 객체를 움직여 형상과 움직임을 함께 고려할 수 있는 3차원 스케칭 시스템을 제공할 수 있다.The present invention can provide a three-dimensional sketching system capable of considering both shape and movement by moving a sketched object.

일실시예에 따른 3차원 스케칭 방법은 스케치 선들로 표현된 객체를 포함한 3차원 가상공간에서 사용자에 의해 선택된 포인트들에 기초하여 참조 객체(reference object)를 생성하는 단계; 상기 객체에서 움직이고자 하는 제1 파트(first part)의 궤적을 상기 참조 객체에 기반하여 결정하는 단계; 상기 제1 파트의 움직임 범위 및 상기 제1 파트가 상기 궤적을 따라 움직일 때 기준이 되는 상기 객체의 제2 파트를 결정하는 단계; 및 상기 제1 파트의 위치, 상기 제2 파트의 위치, 상기 제1 파트의 궤적 및 움직임 범위에 기초하여, 상기 제1 파트와 상기 제2 파트를 연결하는 조인트를 생성하는 단계를 포함한다.A 3D sketching method according to an embodiment may include: generating a reference object based on points selected by a user in a 3D virtual space including an object represented by sketch lines; determining a trajectory of a first part to be moved in the object based on the reference object; determining a movement range of the first part and a second part of the object as a reference when the first part moves along the trajectory; and generating a joint connecting the first part and the second part based on the position of the first part, the position of the second part, and the trajectory and movement range of the first part.

일실시예에 따른 3차원 스케칭 방법에서 상기 참조 객체를 생성하는 단계는 상기 사용자에 의해 선택된 포인트들 중 어느 하나를 상기 구의 중심점으로 하고, 다른 하나를 표면에 포함하는 구(sphere)를 상기 참조 객체로 결정할 수 있다.The step of creating the reference object in the three-dimensional sketching method according to an embodiment refers to a sphere including one of the points selected by the user as the center point of the sphere and the other on the surface of the reference object. object can be determined.

일실시예에 따른 3차원 스케칭 방법에서 상기 사용자에 의해 선택된 포인트들은 상기 사용자로부터의 탭 앤 드래그 입력에서 처음 탭된 제1 포인트 및 마지막으로 리프트된 제2 포인트를 포함하고, 상기 제2 포인트는 상기 제1 파트를 나타내는 스케치 선 상에 위치할 수 있다.In the three-dimensional sketching method according to an embodiment, the points selected by the user include a first point tapped first and a second point lifted last in a tap-and-drag input from the user, and the second point is the It may be located on a sketch line representing the first part.

일실시예에 따른 3차원 스케칭 방법에서 상기 제1 파트의 궤적을 결정하는 단계는 상기 사용자로부터 입력된 탭 앤 드래그에서 처음 탭된 제3 포인트 및 드래그 방향에 기초하여 상기 참조 객체 상에서 상기 궤적을 결정하고, 상기 제3 포인트는 상기 제1 파트를 표현하는 스케치 선 상에 위치할 수 있다.In the three-dimensional sketching method according to an embodiment, the determining of the trajectory of the first part may include determining the trajectory on the reference object based on a third point first tapped in the tap and drag input from the user and a drag direction. and the third point may be located on a sketch line representing the first part.

일실시예에 따른 3차원 스케칭 방법에서 상기 제1 파트의 궤적을 결정하는 단계는 상기 사용자로부터 입력된 탭 앱 드래그에서 결정된 복수의 참조 포인트들 중에서 두 개의 참조 포인트들을 잇는 제1 벡터를 복수개 생성하고, 상기 복수의 제1 벡터들 중 두 개의 벡터들 간의 외적을 계산해서 복수의 제2 벡터들을 결정하고, 상기 복수의 제2 벡터들에 기반하여 상기 궤적의 회전축 벡터를 결정하고, 상기 회전축 벡터와 상기 탭 앤 드래그의 드래그 방향에 기초하여 상기 궤적을 결정할 수 있다.In the three-dimensional sketching method according to an embodiment, the determining of the trajectory of the first part includes generating a plurality of first vectors connecting two reference points from among a plurality of reference points determined by dragging the tap app input from the user. and determining a plurality of second vectors by calculating a cross product between two vectors among the plurality of first vectors, determining a rotation axis vector of the trajectory based on the plurality of second vectors, and the rotation axis vector and the trajectory may be determined based on a drag direction of the tap and drag.

일실시예에 따른 3차원 스케칭 방법에서 상기 제1 파트의 움직임 범위 및 상기 객체의 제2 파트를 결정하는 단계는 상기 객체에 포함된 파트들 중에서 상기 사용자로부터 입력된 탭 앤 홀드로 선택된 파트를 제2 파트로 결정하고, 상기 탭 앤 홀드가 유지되는 동안 상기 사용자로부터 입력된 탭 앤 드래그로 상기 제1 파트의 상기 움직임 범위를 결정할 수 있다.The step of determining the motion range of the first part and the second part of the object in the three-dimensional sketching method according to an embodiment includes selecting a part selected by a tap and hold input from the user from among the parts included in the object. The second part may be determined, and the movement range of the first part may be determined by tapping and dragging inputted from the user while the tap and hold is maintained.

일실시예에 따른 3차원 스케칭 방법에서 상기 사용자로부터 입력된 탭 앤 드래그에 의해 상기 제1 파트의 예상 움직임이 시각화되어 상기 사용자로 제공될 수 있다.In the 3D sketching method according to an embodiment, the predicted movement of the first part may be visualized by the tap and drag input from the user and provided to the user.

일실시예에 따른 3차원 스케칭 방법에서 상기 제2 파트는 상기 제1 파트의 부모 파트로 설정되고, 상기 제1 파트는 상기 제2 파트의 자식 파트로 설정될 수 있다.In the 3D sketching method according to an embodiment, the second part may be set as a parent part of the first part, and the first part may be set as a child part of the second part.

일실시예에 따른 3차원 스케칭 방법에서 상기 조인트를 생성하는 단계는 상기 제1 파트의 움직임의 기초가 되는 상기 제2 파트의 위치를 고려할 때 상기 제1 파트가 상기 궤적 및 움직임 범위로 움직일 수 있게 하는 조인트를 생성할 수 있다.In the three-dimensional sketching method according to an embodiment, the step of creating the joint may include moving the first part in the trajectory and the range of motion when considering the position of the second part, which is the basis for the movement of the first part. You can create joints that allow

일실시예에 따른 3차원 스케칭 방법은 상기 객체의 복수의 파트들 중에서 움직임의 기준이 되는 기준 파트를 결정하는 단계; 및 상기 기준 파트와 상기 기준 파트의 자식 파트 간을 연결하는 조인트를 활성화시켜서, 상기 사용자로부터 입력된 탭 앤 드래그로 상기 자식 파트를 움직이는 단계를 더 포함할 수 있다.A three-dimensional sketching method according to an embodiment may include: determining a reference part, which is a reference for movement, from among a plurality of parts of the object; and activating a joint connecting the reference part and a child part of the reference part to move the child part by a tap and drag input from the user.

일실시예에 따른 3차원 스케칭 방법은 상기 객체의 복수의 파트들 중에서 움직임의 기준이 되는 기준 파트를 결정하는 단계; 상기 기준 파트와 상기 복수의 파트들의 말단 파트 사이에서 어느 하나의 무빙 파트를 결정하는 단계; 및 상기 기준 파트와 상기 무빙 파트 사이의 하나 이상의 조인트들을 활성화시켜서, 상기 사용자로부터 입력된 공중 핀치 제스처(mid-air pinch gesture)로 상기 무빙 파트를 움직이는 단계를 더 포함할 수 있다.A three-dimensional sketching method according to an embodiment may include: determining a reference part, which is a reference for movement, from among a plurality of parts of the object; determining any one moving part between the reference part and the distal part of the plurality of parts; and activating one or more joints between the reference part and the moving part to move the moving part with a mid-air pinch gesture input by the user.

일실시예에 따른 3차원 스케칭 방법은 상기 객체를 표현하는 상기 스케치 선들 중에서 상기 사용자로부터 선택된 일부 스케치 선들을 하나의 파트로 설정하는 단계를 더 포함할 수 있다.The 3D sketching method according to an embodiment may further include setting some sketch lines selected by the user from among the sketch lines expressing the object as one part.

일실시예에 따른 3차원 스케칭 방법에서 상기 일부 스케치 선들을 하나의 파트로 설정하는 단계는 상기 스케치 선들이 표시되는 디스플레이에 입력된 상기 사용자의 드래그에 겹치는 스케치 선들을 선택하고, 상기 선택된 스케치 선들 중에서 어느 하나의 스케치 선 또는 스케치 선의 일부분을 제거하고 남은 스케치 선들로 파트를 설정할 수 있다.In the 3D sketching method according to an embodiment, the setting of the partial sketch lines as one part may include selecting sketch lines overlapping with the user's drag inputted to a display on which the sketch lines are displayed, and selecting the selected sketch lines. You can remove any one sketch line or a part of the sketch line and set the part with the remaining sketch lines.

일실시예에 따른 3차원 스케칭 방법은 상기 3차원 가상공간에 상기 사용자로부터 입력된 하나 이상의 포인트를 포함하는 기준 평면을 생성하거나, 상기 사용자로부터 입력된 두 개의 포인트를 포함하는 기준 구를 생성하는 단계; 및 상기 사용자로부터 입력된 드래그를 상기 기준 평면 또는 상기 기준 구에 투사하여 상기 객체를 표현하기 위한 스케치 선을 생성하는 단계를 더 포함할 수 있다.A three-dimensional sketching method according to an embodiment generates a reference plane including one or more points input by the user in the three-dimensional virtual space, or a reference sphere including two points input by the user step; and generating a sketch line for expressing the object by projecting the drag input from the user on the reference plane or the reference sphere.

일실시예에 따른 3차원 스케칭 장치는 프로세서; 및 상기 프로세서에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리를 포함하고, 상기 적어도 하나의 명령어가 상기 프로세서에서 실행되면, 상기 프로세서는 스케치 선들로 표현된 객체를 포함한 3차원 가상공간에서 사용자에 의해 선택된 포인트들에 기초하여 참조 객체를 생성하고, 상기 객체에서 움직이고자 하는 제1 파트의 궤적을 상기 참조 객체에 기반하여 결정하고, 상기 제1 파트의 움직임 범위 및 상기 제1 파트가 상기 궤적을 따라 움직일 때 기준이 되는 상기 객체의 제2 파트를 결정하며, 상기 제1 파트의 위치, 상기 제2 파트의 위치, 상기 제1 파트의 궤적 및 움직임 범위에 기초하여, 상기 제1 파트와 상기 제2 파트를 연결하는 조인트를 생성할 수 있다.A three-dimensional sketching apparatus according to an embodiment includes a processor; and a memory including at least one instruction executable by the processor, wherein when the at least one instruction is executed by the processor, the processor is executed by a user in a three-dimensional virtual space including an object represented by sketch lines. A reference object is generated based on the selected points, a trajectory of a first part to be moved in the object is determined based on the reference object, and a movement range of the first part and the first part follow the trajectory. determine a second part of the object as a reference when moving, and based on a position of the first part, a position of the second part, a trajectory of the first part, and a movement range, the first part and the second part You can create joints that connect parts.

일실시예에 따른 3차원 스케칭 장치에서 상기 프로세서는 상기 사용자에 의해 선택된 포인트들 중 어느 하나를 상기 구의 중심점으로 하고, 다른 하나를 표면에 포함하는 구를 상기 참조 객체로 결정할 수 있다.In the 3D sketching apparatus according to an embodiment, the processor may use any one of the points selected by the user as a center point of the sphere and determine a sphere including the other one on the surface as the reference object.

일실시예에 따른 3차원 스케칭 장치에서 상기 사용자에 의해 선택된 포인트들은 상기 사용자로부터의 탭 앤 드래그 입력에서 처음 탭된 제1 포인트 및 마지막으로 리프트된 제2 포인트를 포함하고, 상기 제2 포인트는 상기 제1 파트를 나타내는 스케치 선 상에 위치할 수 있다.In the 3D sketching apparatus according to an embodiment, the points selected by the user include a first tapped first point and a last lifted second point in a tap and drag input from the user, and the second point is the It may be located on a sketch line representing the first part.

일실시예에 따른 3차원 스케칭 장치에서 상기 프로세서는 상기 사용자로부터 입력된 탭 앤 드래그에서 처음 탭된 제3 포인트 및 드래그 방향에 기초하여 상기 참조 객체 상에서 상기 궤적을 결정하고, 상기 제3 포인트는 상기 제1 파트를 표현하는 스케치 선 상에 위치할 수 있다.In the 3D sketching apparatus according to an embodiment, the processor determines the trajectory on the reference object based on a third point first tapped in the tap and drag input from the user and a drag direction, and the third point is the It may be located on a sketch line representing the first part.

일실시예에 따른 3차원 스케칭 장치에서 상기 프로세서는 상기 객체에 포함된 파트들 중에서 상기 사용자로부터 입력된 탭 앤 홀드로 선택된 파트를 제2 파트로 결정하고, 상기 탭 앤 홀드가 유지되는 동안 상기 사용자로부터 입력된 탭 앤 드래그로 상기 제1 파트의 상기 움직임 범위를 결정할 수 있다.In the 3D sketching apparatus according to an embodiment, the processor determines a part selected by the tap and hold input from the user from among the parts included in the object as the second part, and while the tap and hold is maintained, the The movement range of the first part may be determined by a tap and drag input from the user.

일실시예에 따른 3차원 스케칭 장치에서 상기 사용자로부터 입력된 탭 앤 드래그에 의해 상기 제1 파트의 예상 움직임이 시각화되어 상기 사용자로 제공될 수 있다.In the 3D sketching apparatus according to an embodiment, the predicted movement of the first part may be visualized by the tap and drag input from the user and provided to the user.

일실시예에 따르면, 디자인 초기에 여러 포즈를 지닌 제품의 아이디어를 탐색하는 것을 가능하게 하는 3D 스케칭 시스템을 제공할 수 있다. 디자이너는 움직임에 따라 변하는 제품의 여러 형상을 스케치하는 대신, 그린 스케치를 직접 움직이고 움직임에 따라 변하는 스케치의 형상을 확인할 수 있다. 디자이너는 그려진 스케치를 직접 움직이고, 움직임에 따라 변한 스케치를 관찰하며, 움직임에 따라 변한 스케치를 수정하는 작업 과정을 통해, 디자인 초기에 움직임과 형상에 대한 다양한 아이디어를 손쉽게 검증해 볼 수 있다. 아이디어를 수정해야 할 경우, 디자이너는 움직임에 따라 변한 스케치를 바로 수정할 수 있으며, 수정된 스케치를 다시 움직여 볼 수 있다. 본 시스템을 통해, 디자이너는 디자인 초기에서부터 아이디어를 직접 움직여 확인해보고 수정하기를 반복해 움직임과 형상에 대한 아이디어를 빠르게 탐색할 수 있다.According to one embodiment, it is possible to provide a 3D sketching system that makes it possible to explore an idea of a product having multiple poses in the early stages of design. Instead of sketching various shapes of products that change with movement, designers can directly move the drawn sketch and check the shape of the sketch that changes with movement. Designers can easily verify various ideas about movement and shape in the early stages of design through the process of directly moving the drawn sketch, observing the sketch that has changed according to the movement, and revising the sketch that has changed according to the movement. When an idea needs to be revised, the designer can immediately modify the changed sketch according to the movement, and can move the modified sketch again. Through this system, designers can quickly explore ideas for movement and shape by moving and revising and revising ideas directly from the early stage of design.

일실시예에 따르면, 사용자가 3차원 스케칭 방법 및 장치를 쉽게 배우고 직관적으로 사용할 수 있다. 움직이는 스케치는 새로운 아이디어를 촉진하며, 다양한 포즈에서 아이디어가 타당한지 손쉽게 확인하게 할 수 있다. 스케치 중 언제든지 각 기능을 펜 또는 손의 움직임으로 직관적이고 간단하게 제어 가능할 수 있다.According to an embodiment, a user can easily learn and intuitively use a 3D sketching method and apparatus. Animated sketches promote new ideas and make it easy to see if ideas make sense in a variety of poses. Each function can be intuitively and simply controlled with a pen or hand movement at any time during sketching.

도 1은 일실시예에 따른 3차원 스케칭을 수행하는 과정을 설명하기 위한 도면이다.
도 2 및 도 3은 일실시예에 따른 스케칭 동작을 설명하기 위한 도면이다.
도 4는 일실시예에 따른 파팅(parting) 동작을 설명하기 위한 도면이다.
도 5 내지 도 9는 일실시예에 따른 리깅(rigging) 동작을 설명하기 위한 도면이다.
도 10 내지 도 12는 일실시예에 따른 포징(posing) 동작을 설명하기 위한 도면이다.
도 13은 일실시예에 따른 3차원 스케칭 방법을 나타낸 도면이다.
도 14는 일실시예에 따른 3차원 스케칭 장치를 나타낸 도면이다.
1 is a view for explaining a process of performing 3D sketching according to an embodiment.
2 and 3 are diagrams for explaining a sketching operation according to an exemplary embodiment.
4 is a view for explaining a parting operation according to an embodiment.
5 to 9 are diagrams for explaining a rigging operation according to an embodiment.
10 to 12 are diagrams for explaining a posing operation according to an embodiment.
13 is a diagram illustrating a three-dimensional sketching method according to an exemplary embodiment.
14 is a diagram illustrating a three-dimensional sketching apparatus according to an exemplary embodiment.

실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for purposes of illustration only, and may be changed and implemented in various forms. Accordingly, the embodiments are not limited to a specific disclosure form, and the scope of the present specification includes changes, equivalents, or substitutes included in the technical spirit.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Although terms such as first or second may be used to describe various components, these terms should be interpreted only for the purpose of distinguishing one component from another. For example, a first component may be termed a second component, and similarly, a second component may also be termed a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When a component is referred to as being “connected to” another component, it may be directly connected or connected to the other component, but it should be understood that another component may exist in between.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The singular expression includes the plural expression unless the context clearly dictates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate that the described feature, number, step, operation, component, part, or combination thereof exists, and includes one or more other features or numbers, It should be understood that the possibility of the presence or addition of steps, operations, components, parts or combinations thereof is not precluded in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present specification. does not

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 아래의 특정한 구조적 내지 기능적 설명들은 단지 실시예들을 설명하기 위한 목적으로 예시된 것으로, 실시예의 범위가 본문에 설명된 내용에 한정되는 것으로 해석되어서는 안된다. 관련 기술 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타내며, 공지된 기능 및 구조는 생략하도록 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. The specific structural or functional descriptions below are only exemplified for the purpose of describing the embodiments, and the scope of the embodiments should not be construed as being limited to the content described in the text. Various modifications and variations are possible from these descriptions by those skilled in the art. In addition, the same reference numerals shown in each drawing indicate the same members, and well-known functions and structures will be omitted.

도 1은 일실시예에 따른 3차원 스케칭을 수행하는 과정을 설명하기 위한 도면이다.1 is a view for explaining a process of performing 3D sketching according to an embodiment.

일실시예에 따르면, 3차원 스케칭 장치는 사용자 신체의 움직임(예컨대, 손 움직임 등) 및/또는 펜 드로잉에 기반하여 3차원 가상공간에 객체가 스케치 되게 할 수 있다. 예를 들어, 3차원 스케칭 장치는 태블릿 형태로 구현될 수 있으나, 이외에도 3차원 가상공간에 객체를 표시할 수 있는 AR(Augmented Reality) 장치, VR(Virtual Reality), 헤드마운트 디스플레이(Head mounted display), 스마트 안경, 스마트폰, 스마트TV 등 다양한 장치를 제한 없이 포함할 수 있다.According to an embodiment, the 3D sketching apparatus may sketch an object in a 3D virtual space based on a user's body movement (eg, hand movement, etc.) and/or pen drawing. For example, a 3D sketching device may be implemented in the form of a tablet, but in addition, an AR (Augmented Reality) device capable of displaying objects in a 3D virtual space, VR (Virtual Reality), and a head mounted display ), smart glasses, smartphones, smart TVs, etc. may include various devices without limitation.

3차원 스케칭 장치를 통해, 사용자는 3차원 가상공간에서 스케치한 객체를 움직여 바뀐 형상을 관찰하고, 바뀐 형상 위에 다시 스케치해 객체를 수정하고, 수정된 객체를 다시 움직여 움직임에 따라 변하는 객체의 형상을 손쉽게 확인할 수 있다. 객체는 복수의 파트들로 나누어지고, 파트들이 조인트로 연결되어 한 파트가 연결된 다른 파트를 기준으로 움직일 수 있는 다양한 제품을 제한 없이 포함할 수 있다. 이를 통해, 정적인 스케치만로는 표현하기 어려웠던 제품의 움직임 아이디어가 손쉽게 표현될 수 있다.Through the 3D sketching device, the user observes the changed shape by moving the sketched object in the 3D virtual space, corrects the object by sketching again on the changed shape, and moves the modified object again to change the shape of the object according to the movement can be checked easily. The object is divided into a plurality of parts, and the parts are connected by a joint, so that the object may include, without limitation, various products that can move with respect to another part to which one part is connected. Through this, the idea of movement of the product, which was difficult to express with only a static sketch, can be easily expressed.

사용자는 3차원 스케칭 장치를 통해 객체를 3차원 가상공간에 스케치하고, 스케치된 객체를 움직이기 위해 펜과 양손을 활용할 수 있다. 예를 들어, 사용자 손은 객체의 파트 및/또는 스케치 선을 선택하거나 움직이는 데 활용될 수 있으며, 펜은 스케치 선을 그리거나 정밀한 선택을 하는 데 활용될 수 있다.A user may sketch an object in a 3D virtual space through a 3D sketching device, and use a pen and both hands to move the sketched object. For example, the user's hand may be used to select or move a part and/or sketch line of an object, and the pen may be used to draw a sketch line or make a precise selection.

도 1을 참조하면, 일실시예에 따라 객체를 움직이기 위해 객체를 여러 파트로 나누고, 파트들 간의 관계를 정의하는 과정이 도시된다.Referring to FIG. 1 , a process of dividing an object into several parts and defining a relationship between the parts is illustrated in order to move the object according to an exemplary embodiment.

스케칭 과정(110)에서, 3차원 스케칭 장치는 사용자 제어에 따라 3차원 가상공간에 여러 스케치 선들을 그려서 객체를 생성할 수 있다. 파팅 과정(120)에서, 3차원 스케칭 장치는 3차원 가상공간에 그려진 여러 스케치 선들 중 일부를 그룹핑하여 하나의 파트로 정의함으로써, 객체를 여러 파트들로 나눌 수 있다. 리깅 과정(130)에서, 3차원 스케칭 장치는 파트와 파트를 연결하는 조인트를 생성하여 파트들 간 상대적 위치나 상하 관계를 정의할 수 있다. 포징 과정(140)에서, 3차원 스케칭 장치는 조인트를 제어함으로써 파트들 간의 상대적인 위치나 각도를 변화시켜 객체를 다른 포즈로 변화시킬 수 있다. 이처럼 사용자는 3차원 가상공간에 스케치한 객체를 움직이게 만들어서 객체의 모습이 바뀌는 것을 확인할 수 있으며, 객체를 다른 포즈로 바꾼 상태에서 스케치 과정(110), 파트 과정(120), 리깅 과정(130)를 다시 수행할 수 있다.In the sketching process 110 , the 3D sketching apparatus may create an object by drawing several sketch lines in a 3D virtual space according to user control. In the parting process 120 , the 3D sketching apparatus may divide the object into several parts by grouping some of the sketch lines drawn in the 3D virtual space and defining them as one part. In the rigging process 130 , the 3D sketching apparatus may create a part and a joint connecting the parts to define a relative position or a vertical relationship between the parts. In the posing process 140 , the 3D sketching apparatus may change the relative position or angle between parts by controlling the joint to change the object to a different pose. In this way, the user can see that the shape of the object is changed by moving the sketched object in the three-dimensional virtual space, and the sketching process 110, the part process 120, and the rigging process 130 are performed while the object is changed to a different pose. can be done again.

3차원 스케칭 장치는 객체를 움직인 뒤에도 스케치를 수정할 수 있다. 3차원 스케칭 장치는 움직인 객체에서 기존의 스케치 선을 지우고 새로운 스케치 선을 생성할 수 있다. 새로 생성된 스케치 선을 기 생성된 파트에 포함시키면, 새로 생성된 스케치 선도 해당 파트와 함께 움직일 수 있다. 실시예에 따라, 움직임이 사용자의 마음에 들지 않는 경우에는 해당 움직임을 만드는 조인트를 수정함으로써, 다른 움직임으로 변경시킬 수 있다. 다양한 움직임을 통해 나타난 객체의 여러 포즈들은 저장될 수 있으며, 한 포즈에서 스케치 수정사항은 나머지 포즈에도 그대로 반영될 수 있다.The 3D sketching device can modify the sketch even after moving the object. The 3D sketching device can erase the existing sketch line from the moving object and create a new sketch line. If the newly created sketch line is included in the previously created part, the newly created sketch line can move along with the corresponding part. According to an embodiment, if the user does not like the movement, it may be changed to another movement by modifying the joint that makes the corresponding movement. Several poses of an object appearing through various movements can be saved, and modifications made to a sketch in one pose can be reflected in other poses as it is.

사용자는 여러 종류의 조인트를 사용하여 해당 조인트에 의해 만들어지는 객체의 움직임을 재현할 수 있다. 나아가, 여러 조인트를 사용하여 하나의 조인트로는 불가능한 움직임도 가능하게 할 수 있으며, 움직이는 파트 위에 다른 움직이는 파트를 이어서 다른 파트의 움직임에 영향을 받아 형상이 변하는 제품의 움직임도 만들 수 있다. 이를 통해, 사용자는 객체의 움직임을 모두 표현할 수 있으며, 움직임에 따라 변화하는 객체의 형상을 관찰할 수 있다.The user can reproduce the movement of the object created by the joint by using several types of joints. Furthermore, by using multiple joints, it is possible to enable movement that is impossible with one joint, and by connecting another moving part on top of a moving part, it is possible to create a movement of a product whose shape changes due to the movement of other parts. Through this, the user can express all the movements of the object and observe the shape of the object that changes according to the movement.

본 발명은 사용자가 3차원 가상공간에서 객체를 표현하는 스케치 선의 상태를 확인하기 위한 별도의 공간을 분리하지 않고, 화면에서 보이는 스케치 선의 색, 굵기, 종류(예컨대, 실선, 점선 등)를 통해 상태를 표시할 수 있다. 이를 통해, 사용자는 작업 과정에서 자신이 작업하고 있는 대상에서 시선을 돌리지 않고 상태를 손쉽게 확인할 수 있다.The present invention provides a state through the color, thickness, and type (eg, solid line, dotted line, etc.) of the sketch line displayed on the screen, without separating a separate space for the user to check the state of the sketch line expressing the object in the three-dimensional virtual space. can be displayed. Through this, the user can easily check the status without turning his/her eyes away from the object he is working on during the work process.

예를 들어, 본 발명에서 색은 검은색, 회색, 유채색 등으로 구분될 수 있다. 검은색으로 표현된 스케치 선은 현 상태에서 활용이 가능한 물체를 나타낼 수 있다. 검은색 스케치 선을 선택하면 어떤 기능이 작동하거나 시스템에 변화가 발생할 수 있다. 회색으로 표현된 스케치 선은 특정 기능이 작동할 때 그 기능이 적용되지 않은 물체를 나타낼 수 있다. 유채색으로 표현된 스케치 선은 특정 기능이 작동할 때, 해당 기능이 적용된 물체를 나타낼 수 있다. 여기서 설명된 색은 예시적인 것으로 이외에도 다양한 방법으로 스케치 선들이 구분될 수 있다.For example, in the present invention, colors may be divided into black, gray, chromatic colors, and the like. A sketch line expressed in black may indicate an object that can be utilized in the current state. Selecting the black sketch line can cause certain functions to work or changes to the system. The grayed out sketch line may indicate an object to which the function is not applied when a specific function is activated. A sketch line expressed in chromatic color can indicate an object to which a specific function is applied when a specific function is activated. The colors described herein are exemplary, and sketch lines may be distinguished in various ways.

도 2 및 도 3은 일실시예에 따른 스케칭 동작을 설명하기 위한 도면이다.2 and 3 are diagrams for explaining a sketching operation according to an exemplary embodiment.

도 2를 참조하면, 일실시예에 따라 기준 평면(220)에 기반한 스케치 과정이 도시된다.Referring to FIG. 2 , a sketching process based on a reference plane 220 is illustrated according to an exemplary embodiment.

사용자가 펜을 이용해 원하는 위치를 지정함으로써, 해당 위치의 포인트를 포함하는 기준 평면(220)이 생성될 수 있다. 사용자에 의해 지정되는 위치는 적게는 한 포인트, 많게는 세 포인트들을 포함할 수 있다. 예를 들어, 그리드 선(grid line) 및/또는 스케치 선 상에서 두 개의 포인트들(210)이 선택된 경우, 중심이 두 점의 중간 지점에 있고, 두 개의 포인트들(210)을 포함하는 기준 평면(220)이 생성될 수 있다. 일실시예에서, 기준 평면(220)은 사용자가 원하는 각도로 회전하고 원하는 위치로 이동할 수도 있다.When the user designates a desired position using a pen, the reference plane 220 including the point of the corresponding position may be generated. The location designated by the user may include at least one point and at most three points. For example, when two points 210 are selected on a grid line and/or a sketch line, the center is at the midpoint of the two points, and the reference plane including the two points 210 ( 220) can be created. In one embodiment, the reference plane 220 may be rotated at a desired angle and moved to a desired position by the user.

사용자는 펜을 이용하여 기준 평면(220) 상에 자유롭게 스케치 선(230)을 생성할 수 있다. 사용자가 디스플레이 상에 그린 스케치 선(230)에 속하는 점들은 시스템 상에 정의된 기준 평면(220)에 투사되어 입체 공간 상에 위치가 정의될 수 있다. 사용자는 입체 공간 상에 정의된 점들을 잇는 3차원 스케치 선(230)을 여러 시점에서 확인할 수 있다. 사용자는 그려진 스케치 선(230) 또는 그 일부분을 지울 수도 있다.The user may freely create the sketch line 230 on the reference plane 220 using a pen. Points belonging to the sketch line 230 drawn by the user on the display may be projected on the reference plane 220 defined on the system to define positions in the stereoscopic space. The user may check the three-dimensional sketch line 230 connecting points defined in the three-dimensional space from various viewpoints. The user may also erase the drawn sketch line 230 or a portion thereof.

도 3을 참조하면, 일실시예에 따라 기준 구(320)에 기반한 스케치 과정이 도시된다.Referring to FIG. 3 , a sketching process based on a reference sphere 320 is illustrated according to an exemplary embodiment.

사용자가 펜을 이용해 원하는 위치를 선택하고 드래그(310)함으로써, 기준 구(320)가 생성될 수 있다. 예를 들어, 기준 구(320)는 사용자에 의해 선택된 포인트를 중심점으로 하고 드래그(310)하는 과정에서 기 존재하는 스케치 선과 교차하는 포인트와 중심점 사이의 거리를 반지름으로 하게 생성될 수 있다. 또는, 기준 구(320)의 반지름은 사용자에 의해 선택된 중심점과 드래그가 끝난 지점 사이의 거리로 결정될 수도 있다. 사용자는 펜을 이용하여 기준 구(320) 상에 자유롭게 스케치 선(330)을 생성할 수 있다. 사용자가 디스플레이 상에 그린 스케치 선(330)에 속하는 점들은 시스템 상에 정의된 기준 구(320)에 투사되어 입체 공간 상에 위치가 정의될 수 있다. 마찬가지로, 사용자는 입체 공간 상에 정의된 점들을 잇는 3차원 스케치 선(330)을 여러 시점에서 확인할 수 있다. 사용자는 그려진 스케치 선(330) 또는 그 일부를 지울 수도 있다.The reference sphere 320 may be generated by a user selecting a desired position using a pen and dragging 310 . For example, the reference sphere 320 may be created with the center point selected by the user as the center point and the distance between the center point and the point intersecting the existing sketch line in the process of dragging 310 as the radius. Alternatively, the radius of the reference sphere 320 may be determined by the distance between the center point selected by the user and the drag end point. The user may freely create the sketch line 330 on the reference sphere 320 using a pen. Points belonging to the sketch line 330 drawn by the user on the display may be projected onto the reference sphere 320 defined on the system to define positions in the three-dimensional space. Similarly, the user may check the three-dimensional sketch line 330 connecting points defined in the three-dimensional space from various viewpoints. The user may also erase the drawn sketch line 330 or a part thereof.

도 4는 일실시예에 따른 파팅(parting) 동작을 설명하기 위한 도면이다.4 is a view for explaining a parting operation according to an embodiment.

도 4를 참조하면, 일실시예에 따라 객체의 스케치 선들 중 일부로 한 파트를 결정하는 예시가 도시된다.Referring to FIG. 4 , an example of determining a part by some of sketch lines of an object according to an exemplary embodiment is illustrated.

일실시예에서, 디자인 초기의 아이디어 스케치에 집중할 수 있도록 모든 스케치 작업은 하나의 스케치 원본에서 수행될 수 있다. 파트는 스케치 원본에 존재하는 스케치 선들의 일부 집합일 수 있다. 사용자에 의해 그려진 스케치 선들은 여러 파트들로 구분될 수 있다. 스케치 선들 중에서 사용자로부터 선택된 일부 스케치 선들이 그룹핑되어 파트가 생성될 수 있다. 스케치 선들은 여러 파트에 속할 수 있으며, 이 경우에 해당 스케치 선들이 복제되어 각 파트에 속할 수도 있다.In one embodiment, all sketching work may be performed on a single original sketch so that the initial sketch of the design can be focused on. A part may be some set of sketch lines existing in the original sketch. Sketch lines drawn by the user may be divided into several parts. A part may be generated by grouping some sketch lines selected by a user from among the sketch lines. Sketch lines may belong to several parts, and in this case, the sketch lines may be duplicated and belong to each part.

단계(410)에서, 3차원 스케치 장치는 파팅 동작을 위해 사용자로부터 드래그를 입력 받을 수 있다. 단계(420)에서, 3차원 스케치 장치는 사용자로부터 입력된 제1 드래그에 겹치는 스케치 선을 선택하며, 선택된 스케치 선들은 녹색(도 4에서는 굵은 선)으로 표시될 수 있다. 이처럼, 사용자로부터 입력된 드래그에 일부라도 겹치는 스케치 선이라면 선택될 수 있고, 이를 통해 파트의 형상에 사용자가 의도한 스케치 선들을 빠르게 선택할 수 있다. 단계(430)에서, 3차원 스케치 장치는 사용자로부터 입력된 제2 드래그에 기반하여 기 선택된 스케치 선 중에서 하나 이상의 스케치 선 또는 스케치 선의 일부분을 제거할 수 있다. 이처럼 사용자로부터의 드래그로 인해 의도하지 않은 스케치 선이 선택되었다면, 사용자로부터 입력된 후속 드래그를 통해 의도하지 않은 스케치 선 또는 그 일부만 제거될 수 있다. 단계(440)에서, 3차원 스케치 장치는 남은 스케치 선들로 한 파트를 설정할 수 있다.In step 410, the 3D sketch apparatus may receive a drag input from the user for a parting operation. In operation 420 , the 3D sketch apparatus selects sketch lines overlapping the first drag input from the user, and the selected sketch lines may be displayed in green (a thick line in FIG. 4 ). As such, any sketch line partially overlapping with the drag input from the user can be selected, and through this, the user's intended sketch lines can be quickly selected for the shape of the part. In operation 430 , the 3D sketch apparatus may remove one or more sketch lines or a portion of the sketch lines from among the pre-selected sketch lines based on the second drag input from the user. As such, if an unintentional sketch line is selected due to a drag from the user, the unintentional sketch line or only a portion thereof may be removed through a subsequent drag input from the user. In operation 440 , the 3D sketch apparatus may set one part using the remaining sketch lines.

도 4에서는 예시적으로 한 파트를 설정하는 과정이 도시되었으나, 해당 설명이 객체에 포함된 다른 파트를 설정하는 과정에도 마찬가지로 적용될 수 있으므로 보다 상세한 설명은 생략한다.Although the process of setting one part is illustrated in FIG. 4 by way of example, a more detailed description will be omitted since the corresponding description may be applied to the process of setting other parts included in the object as well.

일실시예에서, 디자인 초기 단계의 스케치는 세세한 부분들을 자세히 표현하기 보다는 전체 형상을 주로 표현하므로, 전체 형상을 표현하는 과정에서 디자이너가 파트를 구분하며 스케치를 수행하지 않을 수 있다. 그래서, 파트를 만들기 위해 선택된 스케치 선이 여러 파트에 속할 수 있다. 이러한 스케치 선은 해당 파트에 포함되는 일부만 분리해서 해당 파트에 포함시켜야 하며, 앞서 설명한 파팅 동작을 통해 손쉽게 구현될 수 있다.In an embodiment, since the sketch in the initial design stage mainly expresses the overall shape rather than the detailed parts in detail, the designer may not perform the sketch while dividing the parts in the process of expressing the overall shape. So, the sketch lines selected to make a part can belong to multiple parts. Such sketch lines should be included in the corresponding part by separating only a part included in the corresponding part, and can be easily implemented through the above-described parting operation.

이처럼, 본 발명에서는 스케치 작업을 방해하지 않고 사용자가 원하는 작업을 손쉽게 수행하기 위해, 펜을 사용해 빠르게 스케치 선들을 선택하고, 선택한 스케치 선들을 정교하게 수정할 수 있다.As such, in the present invention, in order to easily perform a desired operation without interfering with the sketching operation, it is possible to quickly select sketch lines using a pen, and to refine the selected sketch lines.

도 5 내지 도 9는 일실시예에 따른 리깅(rigging) 동작을 설명하기 위한 도면이다.5 to 9 are diagrams for explaining a rigging operation according to an embodiment.

도 5를 참조하면, 일실시예에 따라 객체에 포함된 파트들 간 조인트를 생성하는 리깅 동작이 예시적으로 도시된다. 설명의 편의를 위해, 도 5에서 움직이고자 하는 파트를 제1 파트로 지칭하고, 제1 파트의 움직임에 기준이 되는 파트를 제2 파트로 지칭한다.Referring to FIG. 5 , a rigging operation for generating a joint between parts included in an object according to an exemplary embodiment is illustrated. For convenience of description, in FIG. 5 , a part to be moved is referred to as a first part, and a part that is a reference for the movement of the first part is referred to as a second part.

일실시예에서, 조인트는 파트들 간 관계를 정의할 수 있다. 이를 통해, 한 파트가 다른 파트를 기준으로 어떻게 움직이는지가 결정될 수 있다. 파트는 조인트에 따른 움직임을 가질 수 있다.In one embodiment, a joint may define a relationship between parts. Through this, it may be determined how one part moves with respect to the other part. The part can have movement along the joint.

본 발명에서는 조인트를 만드는 작업과 조인트에 파트를 연결하는 작업이 하나의 작업으로 통합될 수 있다. 사용자는 조인트를 만들어서 자연스럽게 스케치를 움직여 봄으로써 조인트를 파트에 연결시킬 수 있으며, 이를 통해 사용자는 하나의 작업만으로 의도한 움직임을 손쉽게 구현할 수 있다. 본 발명에서는 조인트의 위치와 각도를 고려해 움직임을 만드는 것이 아닌, 사용자가 원하는 궤적에 따른 움직임을 고려해 조인트의 위치와 각도가 결정될 수 있다. 사용자가 궤적을 그리면 3차원 스케칭 장치가 해당 궤적을 만족하는 조인트를 자동으로 생성하기 때문에, 사용자가 조인트와 관련된 복잡한 고민을 하지 않아도 된다.In the present invention, the operation of making the joint and the operation of connecting the parts to the joint may be integrated into one operation. The user can connect the joint to the part by creating a joint and naturally moving the sketch, and through this, the user can easily implement the intended movement with only one operation. In the present invention, the position and angle of the joint may be determined in consideration of the movement according to the trajectory desired by the user, rather than making the movement in consideration of the position and angle of the joint. When a user draws a trajectory, the 3D sketching device automatically creates a joint that satisfies the trajectory, so the user does not have to worry about complicated joints.

일실시예에 따라 조인트를 자동으로 생성하기 위해, 3차원 스케칭 장치는 사용자로부터 파트의 움직임을 표현하는 제어를 입력 받는 동안 조인트를 생성하기 위한 정보들을 수집할 수 있다. 예를 들어, 조인트 생성을 위해 요구되는 정보에는 움직일 파트, 움직임의 기준이 될 파트, 조인트의 종류, 조인트의 위치와 방향, 조인트의 움직임 반경(또는, 범위) 중 적어도 하나에 대한 정보가 포함될 수 있으며, 조인트의 종류에 따라 필요한 정보가 달라질 수 있다. 슬라이드 조인트의 경우에는 슬라이드의 경로에 대한 정보가 더 필요하고, 볼 조인트의 경우에는 조인트의 방향과 움직임 반경에 대한 정보가 필요하지 않다. 이하에서는 회전 조인트를 기준으로 3차원 스케칭 장치의 동작을 설명한다.In order to automatically generate a joint according to an exemplary embodiment, the 3D sketching apparatus may collect information for generating a joint while receiving a control for expressing a movement of a part from a user. For example, information required for joint creation may include information on at least one of a moving part, a part to be moved, a joint type, a joint position and direction, and a movement radius (or range) of the joint. and the required information may vary depending on the type of joint. In the case of a slide joint, more information on the path of the slide is required, and in the case of a ball joint, information on the direction and movement radius of the joint is not required. Hereinafter, the operation of the three-dimensional sketching apparatus based on the rotation joint will be described.

먼저, 3차원 스케칭 장치는 3차원 가상공간에서 사용자에 의해 선택된 포인트들에 기초하여 참조 객체를 생성할 수 있다. 참조 객체는 조인트 생성을 위한 궤적을 결정하는 데 참조가 되는 객체로서, 예를 들어, 구 형태일 수 있다. 예를 들어, 사용자는 참조 객체 생성을 위해 탭 앤 드래그를 입력할 수 있으며, 3차원 스케칭 장치는 해당 탭 앤 드래그에서 처음 탭된 제1 포인트와 드래그 후 마지막에 리프트된 제2 포인트에 기초하여 참조 구를 생성할 수 있다. 이 때, 제1 포인트는 참조 구의 중심점이 되고, 제2 포인트는 참조 구의 표면에 위치하는 한 점이 될 수 있다. 다시 말해, 제1 포인트를 중심점으로 하고, 제1 포인트와 제2 포인트 간 거리를 반지름으로 하는 참조 구가 생성될 수 있다. 제2 포인트는 움직이고자 하는 제1 파트를 나타내는 스케치 선 상에 위치할 수 있다. First, the 3D sketching apparatus may generate a reference object based on points selected by a user in a 3D virtual space. The reference object is an object that serves as a reference for determining a trajectory for joint creation, and may have, for example, a spherical shape. For example, the user may input tap and drag to create a reference object, and the 3D sketching device will refer based on a first point tapped first in the tap and drag and a second point lifted last after dragging. You can create a sphere. In this case, the first point may be a center point of the reference sphere, and the second point may be a point located on the surface of the reference sphere. In other words, a reference sphere may be generated with the first point as the center point and the distance between the first point and the second point as the radius. The second point may be located on a sketch line indicating the first part to be moved.

단계(510)에서, 3차원 스케칭 장치는 제1 파트의 궤적을 참조 객체에 기반하여 결정할 수 있다. 예를 들어, 사용자는 궤적 결정을 위해 탭 앤 드래그를 입력할 수 있으며, 3차원 스케칭 장치는 해당 탭 앤 드래그에서 처음 탭된 제3 포인트와 드래그 방향에 기초하여 참조 객체 상에서 궤적을 결정할 수 있다. 궤적 결정에 대해서는 도 6 내지 도 9를 참조하여 상세히 설명한다.In operation 510, the 3D sketching apparatus may determine the trajectory of the first part based on the reference object. For example, the user may input tap and drag to determine the trajectory, and the 3D sketching apparatus may determine the trajectory on the reference object based on the third point first tapped in the corresponding tap and drag and the drag direction. The determination of the trajectory will be described in detail with reference to FIGS. 6 to 9 .

단계(520)에서, 3차원 스케칭 장치는 앞서 결정된 궤적에 따라 제1 파트가 움직이는 잔상을 나타낼 수 있으며, 이를 통해 사용자가 궤적에 따른 제1 파트의 예상 움직임을 손쉽게 확인할 수 있다. 잔상은 다른 선과 구별되기 쉽도록 다른 색상으로 표현될 수 있다.In operation 520, the 3D sketching apparatus may display an afterimage of the movement of the first part according to the previously determined trajectory, through which the user can easily check the expected movement of the first part according to the trajectory. The afterimage may be expressed in a different color to be easily distinguished from other lines.

단계(530)에서, 3차원 스케칭 장치는 제1 파트의 움직임 범위 및 제1 파트가 궤적을 따라 움직일 때 기준이 되는 객체의 제2 파트를 결정할 수 있다. 예를 들어, 사용자는 한 손으로 고정시킬 제2 파트를 탭 앤 홀드로 지정할 수 있으며, 해당 탭 앤 홀드가 유지되는 동안 다른 손으로 제1 파트의 움직임 범위 결정을 위해 탭 앤 드래그를 입력할 수 있다. 3차원 스케칭 장치는 탭 앤 홀드로 선택된 파트를 제2 파트로 결정하고, 탭 앤 홀드가 유지되는 동안 다른 손에서 입력된 탭 앤 드래그로 제1 파트의 움직임 범위를 결정할 수 있다. 이 때, 제1 파트의 움직임 범위를 결정하기 위한 제1 파트의 움직임은 기 결정된 궤적에 귀속될 수 있다. 이 때, 탭 앤 홀드로 고정된 제2 파트, 탭 앤 드래그로 움직임 범위가 결정되는 제1 파트는 각기 다른 색상으로 표시될 수 있다.In operation 530 , the 3D sketching apparatus may determine a motion range of the first part and a second part of the object as a reference when the first part moves along the trajectory. For example, the user can tap and hold the second part to be fixed with one hand, and enter tap and drag to determine the range of motion of the first part with the other hand while the tap and hold is held. have. The 3D sketching apparatus may determine the part selected by the tap and hold as the second part, and determine the movement range of the first part by tapping and dragging input from the other hand while the tap and hold is maintained. In this case, the movement of the first part for determining the movement range of the first part may be attributed to a predetermined trajectory. In this case, the second part fixed by tap and hold and the first part whose movement range is determined by tap and drag may be displayed in different colors.

앞서 설명한 과정들을 통해 조인트를 생성하기 위한 정보가 수집될 수 있으며, 해당 정보에 기반하여 조인트가 제1 파트와 제2 파트 사이에 생성될 수 있다. Information for creating a joint may be collected through the above-described processes, and a joint may be created between the first part and the second part based on the information.

일실시예에 따른 리깅 동작을 통해 부모 파트와 자식 파트 간 관계가 설정될 수 있다. 3차원 스케칭 장치는 결정된 궤적을 통해 조인트를 생성할 수 있으며, 이를 통해 3차원 스케칭 장치는 어떤 파트가 어떻게 움직이는지 알 수 있다. 하지만, 3차원 스케칭 장치는 아직 움직이는 파트의 부모 파트가 어느 파트인지, 조인트의 움직임 반경이 어떻게 되는지는 알 수 없다. 부모 파트 정보가 없는 조인트는 파트들 사이를 연결하는 것이 아닌 그저 공간 상에 떠 있는 물체일 뿐이기 때문이다. 객체의 여러 파트가 조인트의 움직임에 따라 여러 형상으로 변하기 위해서, 움직일 파트의 부모 파트가 설정됨으로써 각 파트가 연결되어야 한다. 움직임 반경 정보가 없는 조인트가 달린 제품은 실제 제품처럼 움직이지 않기 때문에, 현실적인 제품의 포즈에서 형상을 관찰하기 위해서는 움직임 반경을 제한해야 한다.A relationship between a parent part and a child part may be established through a rigging operation according to an embodiment. The 3D sketching device can create a joint through the determined trajectory, and through this, the 3D sketching device can know which part moves and how. However, the 3D sketching device does not yet know which part is the parent part of the moving part and what the motion radius of the joint is. This is because a joint without parent part information is simply an object floating in space, not connecting the parts. In order for the various parts of an object to change into various shapes according to the movement of the joint, each part must be connected by setting the parent part of the moving part. Since a jointed product without movement radius information does not move like a real product, it is necessary to limit the movement radius to observe the shape in a realistic product pose.

3차원 스케칭 장치를 통해 사용자는 파트를 직접 움직여 시연함으로써, 움직이고자 하는 파트의 부모 파트와 조인트의 움직임 반경을 설정할 수 있다. 사용자는 양손 인터랙션을 이용해 해당 파트를 움직일 수 있다. 먼저, 사용자는 한 손으로 조인트 근처에 고정될 파트를 선택한 상태에서 다른 손으로 움직일 파트를 선택하고 움직일 수 있다. 선택된 움직일 파트는 손이 움직이는 방향을 따라 움직일 수 있다. 이러한 인터랙션 방식은 3차원 스케칭 장치에서 객체를 움직이는 인터랙션과 같은 방식일 수 있다.The user can set the motion radius of the joint and the parent part of the part to be moved by directly moving and demonstrating the part through the 3D sketching device. The user can move the part using both hands interaction. First, the user may select and move a part to be moved with the other hand while selecting a part to be fixed near the joint with one hand. The selected moving part can move in the direction the hand moves. Such an interaction method may be the same as an interaction that moves an object in a 3D sketching apparatus.

사용자가 파트를 움직이는 과정에서 3차원 스케칭 장치는 해당 객체의 부모 파트를 결정할 수 있다. 파트를 움직이는 과정에서 사용자에 의해 선택된 고정 파트가 부모 파트이고, 움직이는 파트가 자식 파트로 설정될 수 있다. 사용자는 파트를 움직여 조인트의 움직임 반경을 설정할 수 있으며, 예를 들어, 움직임에 따른 잔상이 녹색으로 표시되어 사용자가 손쉽게 움직임 반경을 확인할 수 있다. While the user moves the part, the 3D sketching apparatus may determine the parent part of the corresponding object. In the process of moving the part, the fixed part selected by the user may be the parent part, and the moving part may be set as the child part. The user can set the movement radius of the joint by moving the part. For example, the afterimage according to the movement is displayed in green so that the user can easily check the movement radius.

도 6을 참조하면, 일실시예에 따른 참조 구(610) 상에 결정된 궤적에 기반하여 회전 조인트가 결정되는 과정이 설명된다. 회전 조인트는 회전축(620)을 기준으로 연결된 파트를 회전시키는 힌지 조인트(hinge joint)일 수 있다. 사용자는 참조 객체에서 탭 앤 드래그를 통해 참조 구(610) 상에 궤적을 그릴 수 있다. 회전 조인트는 파트를 궤적에 따라 움직이게 함으로써 연결된 파트를 회전시킬 수 있다.Referring to FIG. 6 , a process in which a rotation joint is determined based on a trajectory determined on the reference sphere 610 according to an embodiment will be described. The rotation joint may be a hinge joint that rotates the connected parts based on the rotation shaft 620 . A user may draw a trajectory on the reference sphere 610 through tap and drag on the reference object. Rotational joints can rotate connected parts by moving the parts along a trajectory.

도 7을 참조하면, 일실시예에 따른 궤적에 기반하여 회전 조인트의 회전축을 결정하는 과정이 도시된다. 회전 조인트의 회전축 벡터는 그려진 궤적을 토대로 계산될 수 있다. 3차원 스케칭 장치는 궤적 상에 위치하는 복수의 포인트들(P1, P2, P3, P4, P5, ..., PN)을 생성하고, 생성된 포인트들 중 두 포인트들을 잇는 여러 벡터(V1, V2, ...)를 생성하고, 생성된 벡터들 중에서 두 벡터들 간의 외적을 구하면 두 벡터의 회전축 벡터(m)를 구할 수 있다. 이 과정을 궤적 위의 포인트들을 잇는 복수의 벡터들에 적용하여 획득한 여러 외적 벡터들의 평균을 구하면 궤적에 따르는 회전축 벡터가 결정될 수 있다. 여기서, 회전축 벡터가 외적 벡터들의 평균에 기초하여 결정되는 것은 일실시예에 해당되고, 이외에도 외적 벡터들에 다른 통계 기법이나 최적화 기법이 적용됨으로써 회전축 벡터가 결정되는 다양한 실시예가 제한 없이 포함될 수 있다.Referring to FIG. 7 , a process of determining a rotation axis of a rotation joint based on a trajectory according to an exemplary embodiment is illustrated. The rotation axis vector of the rotation joint can be calculated based on the drawn trajectory. The 3D sketching apparatus generates a plurality of points (P1, P2, P3, P4, P5, ..., PN) located on the trajectory, and several vectors (V1, V1, V2, ...) and finding the cross product between the two vectors among the generated vectors, the rotation axis vector (m) of the two vectors can be obtained. By applying this process to a plurality of vectors connecting points on the trajectory and obtaining the average of several obtained cross product vectors, the rotation axis vector according to the trajectory can be determined. Here, it corresponds to an embodiment that the rotation axis vector is determined based on the average of the cross product vectors, and in addition, various embodiments in which the rotation axis vector is determined by applying other statistical techniques or optimization techniques to the cross product vectors may be included without limitation.

도 8을 참조하면, 일실시예에 따라 사용자는 3차원 스케칭 장치가 생성한 조인트의 궤적과 이에 따른 움직임 잔상을 보면서 원하는 움직임을 찾을 때까지 궤적을 반복해서 그릴 수 있다. 궤적을 반복해서 그리면, 이전에 그렸던 궤적은 사라지고 최근에 그린 궤적을 기반으로 조인트가 결정되고, 이에 따른 잔상이 새로 나타날 수 있다.Referring to FIG. 8 , according to an exemplary embodiment, the user may repeatedly draw the trajectory until a desired movement is found while looking at the trajectory of the joint generated by the 3D sketching apparatus and the resulting motion afterimage. If the trajectory is repeatedly drawn, the previously drawn trajectory disappears and a joint is determined based on the recently drawn trajectory, and an afterimage may appear accordingly.

도 9를 참조하면, 일실시예에 따른 움직일 파트(910), 궤적, 궤적에 따라 움직일 파트(910)가 움직인 잔상, 회전축이 예시적으로 도시된다.Referring to FIG. 9 , a moving part 910 , a trajectory, an afterimage of the moving part 910 moving according to the trajectory, and a rotation axis according to an exemplary embodiment are illustrated.

도 10 내지 도 12는 일실시예에 따른 포징(posing) 동작을 설명하기 위한 도면이다.10 to 12 are diagrams for explaining a posing operation according to an embodiment.

도 10을 참조하면, 일실시예에 따라 객체의 파트를 움직이는 포징 동작이 예시적으로 도시된다.Referring to FIG. 10 , a posing operation of moving a part of an object according to an embodiment is illustrated by way of example.

3차원 스케칭 장치는 3차원 가상공간에 스케칭된 객체를 파트별로 움직이며 다양한 포즈에서 객체를 확인하고 스케치하는 과정이 자연스럽게 수행되도록 할 수 있다. 이 때, 3차원 스케칭 장치는 실제 제품을 잡고 움직이는 방식을 반영하여 양손을 이용해 객체의 파트를 움직이는 인터랙션 방식을 사용할 수 있다. 사용자는 스케치 과정 중에 언제든지 손가락으로 특정 파트를 탭 앤 홀드함으로써, 객체의 파트들 중에서 고정시킬 파트를 손쉽게 지정할 수 있다. 그리고, 사용자는 다른 한 손으로 화면 상에서 또는 공중에서 움직임으로써, 움직이고자 하는 파트의 움직임을 제어할 수 있다.The three-dimensional sketching apparatus moves the sketched object in a three-dimensional virtual space for each part, and enables the process of checking and sketching the object in various poses to be performed naturally. In this case, the 3D sketching apparatus may use an interaction method of moving parts of an object using both hands by reflecting a method of holding and moving an actual product. A user can easily designate a part to be fixed among parts of an object by tapping and holding a specific part with a finger at any time during the sketching process. In addition, the user may control the movement of the part to be moved by moving on the screen or in the air with the other hand.

단계(1010)에서, 사용자는 고정시킬 파트를 한 손을 통해 탭 앤 홀드할 수 있고, 3차원 스케칭 장치는 탭 앤 홀드로 선택된 파트를 고정 파트로 결정할 수 있다. 단계(1020)에서, 사용자는 한 손으로 탭 앤 홀드를 유지하는 동안 다른 손으로 움직일 파트를 탭 앤 드래그할 수 있고, 3차원 스케치 장치는 다른 손으로 입력된 탭 앤 드래그에서 처음 탭된 파트를 움직일 파트로 결정하고, 드래그에 대응되게 해당 파트를 움직일 수 있다. 이 때, 고정된 파트와 해당 파트의 자식 파트를 연결하는 하나 이상의 조인트들 중 일부 또는 전체가 활성화되어 파트가 움직일 수 있다.In operation 1010, the user may tap and hold the part to be fixed with one hand, and the 3D sketching apparatus may determine the part selected by the tap and hold as the fixed part. In step 1020, the user may tap and drag the part to be moved with the other hand while holding the tap and hold with one hand, and the 3D sketch device may move the first tapped part in the tap and drag input with the other hand. It is determined as a part, and the corresponding part can be moved corresponding to the drag. In this case, some or all of the joints connecting the fixed part and the child parts of the corresponding part are activated to move the part.

3차원 스케칭 장치는 스케치 선의 색을 통해 파트 상태를 표현할 수 있다. 예를 들어, 움직일 파트에 속한 스케치 선들은 녹색으로 나타내고, 고정시킬 파트에 속한 스케치 선들은 청색으로 나타낼 수 있다. 설명의 편의를 위해 도 10에서 녹색은 굵은 선으로, 청색은 얇은 선으로 각각 표현될 수 있다.The 3D sketching apparatus may express the state of the part through the color of the sketch line. For example, sketch lines belonging to a part to be moved may be displayed in green, and sketch lines belonging to a part to be fixed may be displayed in blue. For convenience of explanation, green may be represented by a thick line and blue by a thin line in FIG. 10 .

도 11을 참조하면, 일실시예에 따라 공중 핀치 제스처를 통해 파트의 움직임을 제어하는 예시가 도시된다.Referring to FIG. 11 , an example of controlling a movement of a part through an aerial pinch gesture according to an embodiment is illustrated.

평면 상에서 움직임은 표면 상 위치(x, y)를 표현할 수는 있어도 깊이(z)를 표현할 수는 없기 때문에, 사용자는 터치디스플레이의 평면에 대한 터치 입력을 통해 자유도가 2를 초과하는 움직임을 의도대로 정확히 표현하지 못할 수 있다. 움직임을 제어하고자 하는 객체는 3차원 공간에 존재하기 때문에, 이를 제어하고자 하는 손 제스처도 3차원 공간 상에서 이루어진다면 더 정확하고 빠르게 의도대로 움직임을 제어할 수 있다.Because movement on the plane can express the position (x, y) on the surface but not the depth (z), the user can express the movement with more than 2 degrees of freedom through the touch input to the plane of the touch display as intended. I may not be able to express myself accurately. Since the object for which the movement is to be controlled exists in the 3D space, if the hand gesture to control the motion is also made in the 3D space, the desired movement can be controlled more accurately and quickly.

3차원 스케칭 장치는 공간 상에서 손 움직임과 인버스 키네마틱(inverse kinematics)을 결합하여 제품의 복잡한 움직임을 더 정확하고 빠르게 제어할 수 있다. 사용자는 한 손으로 탭 앤 홀드를 입력하여 객체의 일부 파트를 고정시키고, 다른 한 손으로 공중 핀치 제스처 등을 통해 다른 파트를 움직일 수 있다. 예를 들어, 공중 핀치 제스처는 공중에서 엄지와 검지를 접촉시키는 제스처로서, 모션 센서 등을 통해 감지될 수 있으며, 이외에도 공중에서 주먹을 쥐는 제스처 등 다양한 공중 제스처가 제한 없이 적용될 수 있다.The 3D sketching device combines hand movements and inverse kinematics in space to more accurately and quickly control complex movements of products. The user can fix some parts of the object by inputting tap and hold with one hand, and move other parts through an aerial pinch gesture with the other hand. For example, the aerial pinch gesture is a gesture of contacting the thumb and index finger in the air, and may be detected through a motion sensor or the like. In addition, various aerial gestures such as a fist clenching gesture in the air may be applied without limitation.

공중에서 손의 움직임을 이용하는 경우, 3차원 스케칭 장치는 인버스 키네마틱을 이용하여 공간 상에 위치한 타겟에 가까워지도록 각 조인트의 값을 조정할 수 있다. 이로 인해, 사용자는 여러 조인트가 회전하는 복잡한 움직임도 손 움직임 한 번으로 만들어 낼 수 있다.When using the movement of the hand in the air, the 3D sketching apparatus may adjust the value of each joint so that it approaches a target located in space using inverse kinematics. Due to this, the user can create complex movements in which several joints are rotated with one hand movement.

모션 센서를 통해 공중에서의 손 움직임이 감지될 수 있다. 3차원 스케칭 장치는 모션 센서를 통해 공중의 손을 타겟으로 감지하고, 해당 타겟을 객체의 특정 파트에 대응시킬 수 있다. 이를 통해, 공중에서 사용자 손의 위치가 바뀜에 따라 대응하는 객체의 특정 파트도 대응하는 움직임을 나타낼 수 있다. 이러한 동작은 인버스 키네마틱에 기반하며, 객체의 특정 파트가 대응하는 움직임을 나타내도록 객체에 포함된 여러 조인트들이 동시 또는 연속적으로 회전할 수 있다.A motion sensor can detect hand movements in the air. The 3D sketching apparatus may detect a hand in the air as a target through a motion sensor, and may correspond the target to a specific part of an object. Through this, as the position of the user's hand in the air is changed, a specific part of the corresponding object may also exhibit a corresponding movement. This operation is based on inverse kinematics, and several joints included in an object may be rotated simultaneously or consecutively so that a specific part of the object exhibits a corresponding movement.

사용자는 먼저 고정시킬 파트(1120)를 탭 앤 홀드하고, 사용자는 타겟을 따라 움직일 객체의 특정 파트(1110)를 탭 등으로 선택할 수 있다. 그리고, 사용자가 공중 핀치 제스처를 취하면, 3차원 스케칭 장치는 모션 센서를 통해 공중 핀치 제스처를 취한 손을 타겟으로 인식하고, 해당 타겟의 위치를 특정 파트(1110)에 매핑시킬 수 있다. 사용자가 공중 핀치 제스처를 취한 손을 이동시키면, 인버스 키네마틱에 기반하여 해당 손의 움직임과 대응되도록 특정 파트(1110)를 움직일 수 있으며, 이 때 특정 파트(1110)와 고정된 파트(1120) 사이의 하나 이상의 조인트가 활성화되는 반면, 특정 파트(1110)에서 말단 파트 사이의 하나 이상의 조인트는 움직이지 않고 고정된다. 따라서, 객체의 파트들 중에서 어느 파트가 타겟에 대응되는지 여부에 따라 객체의 움직임이 달라질 수 있다.The user may first tap and hold the part 1120 to be fixed, and the user may select a specific part 1110 of the object to be moved along the target by tapping or the like. And, when the user makes the aerial pinch gesture, the 3D sketching apparatus may recognize the hand that has made the aerial pinch gesture as a target through the motion sensor, and map the location of the target to the specific part 1110 . When the user moves the hand that has taken the aerial pinch gesture, the specific part 1110 may be moved to correspond to the movement of the corresponding hand based on the inverse kinematics, and in this case, between the specific part 1110 and the fixed part 1120 . One or more joints between the distal parts in a particular part 1110 are stationary, while one or more joints of Accordingly, the movement of the object may vary depending on which part of the parts of the object corresponds to the target.

도 12를 참조하면, 일실시예에 따른 공중 핀치 제스처를 이용한 클러칭(clutching) 동작을 설명하기 위한 예시가 도시된다.Referring to FIG. 12 , an example for explaining a clutching operation using an aerial pinch gesture according to an embodiment is shown.

3차원 스케칭 장치는 손의 상대적인 움직임을 이용해 타겟을 이동하기 때문에 클러칭을 이용해 큰 움직임도 재현 가능하다. 사용자는 공중에서 엄지와 검지를 붙여 핀치 제스처를 취해 타겟을 움직일 수 있으며, 핀치 제스처를 하고 손을 움직이면 그에 따라 객체의 미리 선택된 파트가 대응되게 움직일 수 있다. 두 손가락을 떼면 타겟이 해제되어 손 움직임에 파트가 움직이지 않으므로, 사용자는 움직이기 편한 위치로 손을 다시 위치시킨 후 다시 핀치 제스처를 취해 미리 선택된 파트의 움직임을 제어할 수 있다. 이를 반복하면, 손을 크게 움직이지 않더라도 타겟을 크게 움직이게 할 수 있다.Because the 3D sketching device moves the target using the relative movement of the hand, it can reproduce large movements using clutching. The user can move the target by making a pinch gesture by attaching the thumb and index finger in the air. When the user makes the pinch gesture and moves the hand, the preselected part of the object can be moved correspondingly accordingly. When two fingers are released, the target is released and the part does not move due to the movement of the hand, so the user can control the movement of the preselected part by repositioning the hand to a comfortable position and then taking a pinch gesture again. By repeating this, it is possible to make the target move significantly even if the hand does not move much.

도 13은 일실시예에 따른 3차원 스케칭 방법을 나타낸 도면이다.13 is a diagram illustrating a three-dimensional sketching method according to an exemplary embodiment.

도 13을 참조하면, 일실시예에 따른 3차원 스케칭 장치에 구비된 프로세서에서 수행되는 3차원 스케칭 방법이 도시된다.Referring to FIG. 13 , a 3D sketching method performed by a processor included in a 3D sketching apparatus according to an exemplary embodiment is illustrated.

단계(1310)에서, 3차원 스케칭 장치는 스케치 선들로 표현된 객체를 포함한 3차원 가상공간에서 사용자에 의해 선택된 포인트들에 기초하여 참조 객체를 생성한다. 3차원 스케칭 장치는 사용자에 의해 선택된 포인트들 중 어느 하나를 구의 중심점으로 하고, 다른 하나를 표면에 포함하는 구(sphere)를 참조 객체로 결정할 수 있다. 사용자로부터의 탭 앤 드래그 입력에서 처음 탭된 제1 포인트 및 마지막으로 리프트된 제2 포인트를 포함하고, 제2 포인트는 제1 파트를 나타내는 스케치 선 상에 위치할 수 있다.In operation 1310, the 3D sketching apparatus generates a reference object based on points selected by a user in a 3D virtual space including an object represented by sketch lines. The 3D sketching apparatus may use any one of the points selected by the user as the center point of the sphere, and determine a sphere including the other on the surface as the reference object. A first point tapped first and a second point lifted last in a tap-and-drag input from a user may be included, and the second point may be located on a sketch line representing the first part.

단계(1320)에서, 3차원 스케칭 장치는 객체에서 움직이고자 하는 제1 파트의 궤적을 참조 객체에 기반하여 결정한다. 3차원 스케칭 장치는 사용자로부터 입력된 탭 앤 드래그에서 처음 탭된 제3 포인트 및 드래그 방향에 기초하여 참조 객체 상에서 궤적을 결정하고, 제3 포인트는 제1 파트를 표현하는 스케치 선 상에 위치할 수 있다. 3차원 스케칭 장치는 사용자로부터 입력된 탭 앱 드래그에서 결정된 복수의 참조 포인트들 중에서 두 개의 참조 포인트들을 잇는 제1 벡터를 복수개 생성하고, 복수의 제1 벡터들 중 두 개의 벡터들 간의 외적을 계산해서 복수의 제2 벡터들을 결정하고, 복수의 제2 벡터들의 평균에 기반하여 궤적의 회전축 벡터를 결정하고, 회전축 벡터와 탭 앤 드래그의 드래그 방향에 기초하여 궤적을 결정할 수 있다. 복수의 제2 벡터들의 평균을 이용하는 것은 일실시예에 해당하고, 이외에도 복수의 제2 벡터들에 다른 통계 기법에 의한 최적화 방식도 제한 없이 적용될 수 있다.In operation 1320, the 3D sketching apparatus determines the trajectory of the first part to be moved in the object based on the reference object. The 3D sketching apparatus determines a trajectory on the reference object based on the first tapped third point and the drag direction in the tap and drag input from the user, and the third point may be located on the sketch line representing the first part. have. The 3D sketching apparatus generates a plurality of first vectors connecting two reference points from among a plurality of reference points determined by dragging a tap app input from a user, and calculates a cross product between two vectors among the plurality of first vectors Accordingly, a plurality of second vectors may be determined, a rotation axis vector of the trajectory may be determined based on an average of the plurality of second vectors, and a trajectory may be determined based on the rotation axis vector and a drag direction of the tap and drag. Using the average of the plurality of second vectors corresponds to an embodiment, and in addition, optimization methods using other statistical techniques may be applied to the plurality of second vectors without limitation.

단계(1330)에서, 3차원 스케칭 장치는 제1 파트의 움직임 범위 및 제1 파트가 궤적을 따라 움직일 때 기준이 되는 객체의 제2 파트를 결정한다. 3차원 스케칭 장치는 객체에 포함된 파트들 중에서 사용자로부터 입력된 탭 앤 홀드로 선택된 파트를 제2 파트로 결정하고, 탭 앤 홀드가 유지되는 동안 사용자로부터 입력된 탭 앤 드래그로 제1 파트의 움직임 범위를 결정할 수 있다. 사용자로부터 입력된 탭 앤 드래그에 의해 제1 파트의 예상 움직임이 시각화되어 사용자로 제공될 수 있다. 제2 파트는 제1 파트의 부모 파트로 설정되고, 제1 파트는 제2 파트의 자식 파트로 설정될 수 있다.In operation 1330, the 3D sketching apparatus determines a motion range of the first part and a second part of the object as a reference when the first part moves along the trajectory. The 3D sketching apparatus determines a part selected by the tap and hold input from the user from among the parts included in the object as the second part, and selects a part selected by the user by tapping and holding the first part through the tap and drag input by the user while the tap and hold is maintained. The range of motion can be determined. The expected movement of the first part may be visualized and provided to the user by the tap and drag input from the user. The second part may be set as a parent part of the first part, and the first part may be set as a child part of the second part.

단계(1340)에서, 3차원 스케칭 장치는 제1 파트의 위치, 제2 파트의 위치, 제1 파트의 궤적 및 움직임 범위에 기초하여, 제1 파트와 제2 파트를 연결하는 조인트를 생성한다. 3차원 스케칭 장치는 제1 파트의 움직임의 기초가 되는 제2 파트의 위치를 고려할 때 제1 파트가 궤적 및 움직임 범위로 움직일 수 있게 하는 조인트를 생성할 수 있다.In operation 1340 , the 3D sketching apparatus generates a joint connecting the first part and the second part based on the position of the first part, the position of the second part, the trajectory of the first part, and the range of motion. . The 3D sketching apparatus may generate a joint that enables the first part to move along a trajectory and a range of motion when the position of the second part, which is a basis for movement of the first part, is considered.

일실시예에서, 3차원 스케칭 장치는 객체의 복수의 파트들 중에서 움직임의 기준이 되는 기준 파트를 결정하고, 기준 파트와 기준 파트의 자식 파트 간을 연결하는 조인트를 활성화시켜서, 사용자로부터 입력된 탭 앤 드래그로 자식 파트를 움직일 수 있다.In one embodiment, the 3D sketching apparatus determines a reference part as a reference for movement from among a plurality of parts of an object, activates a joint connecting the reference part and child parts of the reference part, You can move child parts by tapping and dragging.

일실시예에서, 3차원 스케칭 장치는 객체를 표현하는 스케치 선들 중에서 사용자로부터 선택된 일부 스케치 선들을 하나의 파트로 설정할 수 있다.In an embodiment, the 3D sketching apparatus may set some sketch lines selected by a user from among sketch lines expressing an object as one part.

일실시예에서, 3차원 스케칭 장치는 3차원 가상공간에 사용자로부터 입력된 하나 이상의 포인트를 포함하는 기준 평면을 생성하거나, 사용자로부터 입력된 두 개의 포인트를 포함하는 기준 구를 생성하고, 사용자로부터 입력된 드래그를 기준 평면 또는 기준 구에 투사하여 객체를 표현하기 위한 스케치 선을 생성할 수 있다.In one embodiment, the 3D sketching apparatus generates a reference plane including one or more points inputted from a user in a 3D virtual space, or a reference sphere including two points inputted from a user, and A sketch line for expressing an object can be created by projecting the input drag onto a reference plane or reference sphere.

또한, 사용자는 객체를 움직여 만든 포즈를 저장해 언제든지 해당 포즈로 돌아갈 수 있다. 저장된 포즈들은 카메라 시점에서 모습이 보일 수 있다. 또한, 객체의 스케치 선들을 수정함에 따라 포즈에서 보이는 모습도 실시간으로 동기화될 수 있다. 다시 말해, 한 포즈에 적용된 수정사항이 저장된 다른 포즈에도 동일하게 적용될 수 있다. 이를 통해, 사용자는 한 포즈에 대한 수정사항을 다른 여러 포즈에서 확인해 봄으로써 작업 효율성을 상당히 향상시킬 수 있다.In addition, the user can save the pose created by moving the object and return to the pose at any time. The saved poses can be viewed from the camera point of view. In addition, as the sketch lines of the object are modified, the appearance in the pose may be synchronized in real time. In other words, modifications applied to one pose can be applied equally to other saved poses. This allows the user to significantly improve work efficiency by checking the modifications made to one pose in several other poses.

도 14는 일실시예에 따른 3차원 스케칭 장치를 나타낸 도면이다.14 is a diagram illustrating a three-dimensional sketching apparatus according to an exemplary embodiment.

도 14를 참조하면, 일실시예에 따른 3차원 스케칭 장치(1400)는 메모리(1410) 및 프로세서(1420)를 포함한다. 메모리(1410) 및 프로세서(1420)는 버스(bus)(1330)를 통하여 서로 통신할 수 있다.Referring to FIG. 14 , a 3D sketching apparatus 1400 according to an embodiment includes a memory 1410 and a processor 1420 . The memory 1410 and the processor 1420 may communicate with each other through a bus 1330 .

메모리(1410)는 컴퓨터에서 읽을 수 있는 명령어를 포함할 수 있다. 프로세서(1420)는 메모리(1410)에 저장된 명령어가 프로세서(1420)에서 실행됨에 따라 앞서 언급된 동작들을 수행할 수 있다. 메모리(1410)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.The memory 1410 may include computer-readable instructions. The processor 1420 may perform the aforementioned operations as an instruction stored in the memory 1410 is executed in the processor 1420 . The memory 1410 may be a volatile memory or a non-volatile memory.

프로세서(1420)는 명령어들, 혹은 프로그램들을 실행하거나, 3차원 스케칭 장치(1400)를 제어하는 장치로서, 예를 들어, CPU(Central Processing Unit), GPU(Graphic Processing Unit) 등을 포함할 수 있다. 3차원 스케칭 장치(1400)는 앞서 설명한 스케칭 동작, 파팅 동작, 리깅 동작, 포징 동작 중 적어도 하나를 수행할 수 있다.The processor 1420 is a device that executes instructions or programs, or controls the 3D sketching device 1400, and may include, for example, a central processing unit (CPU), a graphic processing unit (GPU), and the like. have. The 3D sketching apparatus 1400 may perform at least one of the aforementioned sketching operation, parting operation, rigging operation, and posing operation.

센서(1430)는 사용자 신체의 움직임을 감지할 수 있는 장치로서, 예를 들어, 적외선 센서, 깊이 센서, 이미지 센서, 트래킹 센서, 신체 추적 센서 등을 포함할 수 있다. 이를테면, 센서(1430)는 손의 위치 및 형태를 감지할 수 있다.The sensor 1430 is a device capable of detecting the movement of the user's body, and may include, for example, an infrared sensor, a depth sensor, an image sensor, a tracking sensor, a body tracking sensor, and the like. For example, the sensor 1430 may detect the position and shape of the hand.

디스플레이(1440)는 프로세서(1420)에서 수행되는 과정을 표시할 수 있다. 예를 들어, 디스플레이(1440)는 태블릿 형태의 디스플레이, 헤드마운트 디스플레이, 스마트 안경에 적용된 디스플레이, 스마트폰의 디스플레이 등을 포함할 수 있다.The display 1440 may display a process performed by the processor 1420 . For example, the display 1440 may include a tablet-type display, a head-mounted display, a display applied to smart glasses, a display of a smartphone, and the like.

그 밖에, 3차원 스케칭 장치(1400)에 관해서는 상술된 동작을 처리할 수 있다.In addition, the above-described operation may be processed with respect to the 3D sketching apparatus 1400 .

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented by a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the apparatus, methods and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). array), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

실시예들에서 설명된 구성요소들은 하나 이상의 DSP (Digital Signal Processor), 프로세서 (Processor), 컨트롤러 (Controller), ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array)와 같은 프로그래머블 논리 소자 (Programmable Logic Element), 다른 전자 기기들 및 이것들의 조합 중 하나 이상을 포함하는 하드웨어 구성 요소들(hardware components)에 의해 구현될 수 있다. 실시예들에서 설명된 기능들(functions) 또는 프로세스들(processes) 중 적어도 일부는 소프트웨어(software)에 의해 구현될 수 있고, 해당 소프트웨어는 기록 매체(recording medium)에 기록될 수 있다. 실시예들에서 설명된 구성요소들, 기능들 및 프로세스들은 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다.The components described in the embodiments are one or more of a digital signal processor (DSP), a processor, a controller, an application specific integrated circuit (ASIC), a programmable logic device such as a field programmable gate array (FPGA). Logic Element), other electronic devices, and hardware components including one or more of combinations thereof. At least some of the functions or processes described in the embodiments may be implemented by software, and the software may be recorded on a recording medium. Components, functions and processes described in the embodiments may be implemented by a combination of hardware and software.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, those skilled in the art may apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

Claims (20)

스케치 선들로 표현된 객체를 포함한 3차원 가상공간에서 사용자에 의해 선택된 포인트들에 기초하여 참조 객체(reference object)를 생성하는 단계;
상기 객체에서 움직이고자 하는 제1 파트(first part)의 궤적을 상기 참조 객체에 기반하여 결정하는 단계;
상기 제1 파트의 움직임 범위 및 상기 제1 파트가 상기 궤적을 따라 움직일 때 기준이 되는 상기 객체의 제2 파트를 결정하는 단계;
상기 제1 파트의 위치, 상기 제2 파트의 위치, 상기 제1 파트의 궤적 및 움직임 범위에 기초하여, 상기 제1 파트와 상기 제2 파트를 연결하는 조인트를 생성하는 단계
를 포함하는
3차원 스케칭 방법.
generating a reference object based on points selected by a user in a three-dimensional virtual space including an object represented by sketch lines;
determining a trajectory of a first part to be moved in the object based on the reference object;
determining a movement range of the first part and a second part of the object as a reference when the first part moves along the trajectory;
generating a joint connecting the first part and the second part based on the position of the first part, the position of the second part, and the trajectory and movement range of the first part
containing
3D sketching method.
제1항에 있어서,
상기 참조 객체를 생성하는 단계는
상기 사용자에 의해 선택된 포인트들 중 어느 하나를 상기 구의 중심점으로 하고, 다른 하나를 표면에 포함하는 구(sphere)를 상기 참조 객체로 결정하는,
3차원 스케칭 방법.
According to claim 1,
The step of creating the reference object is
Using any one of the points selected by the user as the center point of the sphere, and determining a sphere including the other on the surface as the reference object,
3D sketching method.
제1항에 있어서,
상기 사용자에 의해 선택된 포인트들은
상기 사용자로부터의 탭 앤 드래그 입력에서 처음 탭된 제1 포인트 및 마지막으로 리프트된 제2 포인트를 포함하고,
상기 제2 포인트는 상기 제1 파트를 나타내는 스케치 선 상에 위치하는,
3차원 스케칭 방법.
According to claim 1,
The points selected by the user are
a first point tapped first and a second point lifted last in the tap-and-drag input from the user;
the second point is located on a sketch line representing the first part,
3D sketching method.
제1항에 있어서,
상기 제1 파트의 궤적을 결정하는 단계는
상기 사용자로부터 입력된 탭 앤 드래그에서 처음 탭된 제3 포인트 및 드래그 방향에 기초하여 상기 참조 객체 상에서 상기 궤적을 결정하고,
상기 제3 포인트는 상기 제1 파트를 표현하는 스케치 선 상에 위치하는,
3차원 스케칭 방법.
According to claim 1,
The step of determining the trajectory of the first part
determining the trajectory on the reference object based on a third point first tapped in the tap and drag input from the user and a drag direction,
The third point is located on a sketch line representing the first part,
3D sketching method.
제1항에 있어서,
상기 제1 파트의 궤적을 결정하는 단계는
상기 사용자로부터 입력된 탭 앱 드래그에서 결정된 복수의 참조 포인트들 중에서 두 개의 참조 포인트들을 잇는 제1 벡터를 복수개 생성하고, 상기 복수의 제1 벡터들 중 두 개의 벡터들 간의 외적을 계산해서 복수의 제2 벡터들을 결정하고, 상기 복수의 제2 벡터들에 기반하여 상기 궤적의 회전축 벡터를 결정하고, 상기 회전축 벡터와 상기 탭 앤 드래그의 드래그 방향에 기초하여 상기 궤적을 결정하는,
3차원 스케칭 방법.
According to claim 1,
The step of determining the trajectory of the first part
A plurality of first vectors linking two reference points are generated among a plurality of reference points determined by the tap app drag input from the user, and a cross product between two vectors among the plurality of first vectors is calculated to obtain a plurality of second vectors. determining two vectors, determining a rotation axis vector of the trajectory based on the plurality of second vectors, and determining the trajectory based on the rotation axis vector and a drag direction of the tap and drag,
3D sketching method.
제1항에 있어서,
상기 제1 파트의 움직임 범위 및 상기 객체의 제2 파트를 결정하는 단계는
상기 객체에 포함된 파트들 중에서 상기 사용자로부터 입력된 탭 앤 홀드로 선택된 파트를 제2 파트로 결정하고, 상기 탭 앤 홀드가 유지되는 동안 상기 사용자로부터 입력된 탭 앤 드래그로 상기 제1 파트의 상기 움직임 범위를 결정하는,
3차원 스케칭 방법.
According to claim 1,
The step of determining the motion range of the first part and the second part of the object comprises:
A part selected by the tap and hold input from the user from among the parts included in the object is determined as a second part, and the first part is selected by the tap and drag input from the user while the tap and hold is maintained. to determine the range of motion,
3D sketching method.
제6항에 있어서,
상기 사용자로부터 입력된 탭 앤 드래그에 의해 상기 제1 파트의 예상 움직임이 시각화되어 상기 사용자로 제공되는,
3차원 스케칭 방법.
7. The method of claim 6,
The expected movement of the first part is visualized by the tap and drag input from the user and provided to the user.
3D sketching method.
제1항에 있어서,
상기 제2 파트는 상기 제1 파트의 부모 파트로 설정되고,
상기 제1 파트는 상기 제2 파트의 자식 파트로 설정되는,
3차원 스케칭 방법.
According to claim 1,
The second part is set as a parent part of the first part,
The first part is set as a child part of the second part,
3D sketching method.
제1항에 있어서,
상기 조인트를 생성하는 단계는
상기 제1 파트의 움직임의 기초가 되는 상기 제2 파트의 위치를 고려할 때 상기 제1 파트가 상기 궤적 및 움직임 범위로 움직일 수 있게 하는 조인트를 생성하는,
3차원 스케칭 방법.
According to claim 1,
The step of creating the joint is
creating a joint that allows the first part to move in the trajectory and range of motion given the position of the second part on which the movement of the first part is based.
3D sketching method.
제1항에 있어서,
상기 객체의 복수의 파트들 중에서 움직임의 기준이 되는 기준 파트를 결정하는 단계; 및
상기 기준 파트와 상기 기준 파트의 자식 파트 간을 연결하는 조인트를 활성화시켜서, 상기 사용자로부터 입력된 탭 앤 드래그로 상기 자식 파트를 움직이는 단계
를 더 포함하는,
3차원 스케칭 방법.
According to claim 1,
determining a reference part as a reference for movement from among a plurality of parts of the object; and
activating a joint connecting the reference part and a child part of the reference part, and moving the child part by a tap and drag input from the user;
further comprising,
3D sketching method.
제1항에 있어서,
상기 객체의 복수의 파트들 중에서 움직임의 기준이 되는 기준 파트를 결정하는 단계;
상기 기준 파트와 상기 복수의 파트들의 말단 파트 사이에서 어느 하나의 무빙 파트를 결정하는 단계; 및
상기 기준 파트와 상기 무빙 파트 사이의 하나 이상의 조인트들을 활성화시켜서, 상기 사용자로부터 입력된 공중 핀치 제스처(mid-air pinch gesture)로 상기 무빙 파트를 움직이는 단계
를 더 포함하는,
3차원 스케칭 방법.
According to claim 1,
determining a reference part as a reference for movement from among a plurality of parts of the object;
determining any one moving part between the reference part and the distal part of the plurality of parts; and
activating one or more joints between the reference part and the moving part to move the moving part with a mid-air pinch gesture input from the user;
further comprising,
3D sketching method.
제1항에 있어서,
상기 객체를 표현하는 상기 스케치 선들 중에서 상기 사용자로부터 선택된 일부 스케치 선들을 하나의 파트로 설정하는 단계
를 더 포함하는
3차원 스케칭 방법.
According to claim 1,
setting some sketch lines selected by the user from among the sketch lines expressing the object as one part
further comprising
3D sketching method.
제12항에 있어서,
상기 일부 스케치 선들을 하나의 파트로 설정하는 단계는
상기 스케치 선들이 표시되는 디스플레이에 입력된 상기 사용자의 드래그에 겹치는 스케치 선들을 선택하고, 상기 선택된 스케치 선들 중에서 어느 하나의 스케치 선 또는 스케치 선의 일부분을 제거하고 남은 스케치 선들로 파트를 설정하는,
3차원 스케칭 방법.
13. The method of claim 12,
The step of setting some of the sketch lines as one part is
Selecting sketch lines overlapping with the user's drag input to a display on which the sketch lines are displayed, removing any one sketch line or a part of the sketch line from among the selected sketch lines, and setting a part with the remaining sketch lines,
3D sketching method.
제1항에 있어서,
상기 3차원 가상공간에 상기 사용자로부터 입력된 하나 이상의 포인트를 포함하는 기준 평면을 생성하거나, 상기 사용자로부터 입력된 두 개의 포인트를 포함하는 기준 구를 생성하는 단계; 및
상기 사용자로부터 입력된 드래그를 상기 기준 평면 또는 상기 기준 구에 투사하여 상기 객체를 표현하기 위한 스케치 선을 생성하는 단계
를 더 포함하는
3차원 스케칭 방법.
According to claim 1,
generating a reference plane including one or more points input by the user in the three-dimensional virtual space, or a reference sphere including two points input by the user; and
generating a sketch line for expressing the object by projecting the drag input from the user on the reference plane or the reference sphere
further comprising
3D sketching method.
프로세서; 및
상기 프로세서에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리
를 포함하고,
상기 적어도 하나의 명령어가 상기 프로세서에서 실행되면, 상기 프로세서는 스케치 선들로 표현된 객체를 포함한 3차원 가상공간에서 사용자에 의해 선택된 포인트들에 기초하여 참조 객체를 생성하고, 상기 객체에서 움직이고자 하는 제1 파트의 궤적을 상기 참조 객체에 기반하여 결정하고, 상기 제1 파트의 움직임 범위 및 상기 제1 파트가 상기 궤적을 따라 움직일 때 기준이 되는 상기 객체의 제2 파트를 결정하며, 상기 제1 파트의 위치, 상기 제2 파트의 위치, 상기 제1 파트의 궤적 및 움직임 범위에 기초하여, 상기 제1 파트와 상기 제2 파트를 연결하는 조인트를 생성하는,
3차원 스케칭 장치.
processor; and
a memory including at least one instruction executable by the processor
including,
When the at least one instruction is executed by the processor, the processor generates a reference object based on points selected by a user in a three-dimensional virtual space including an object represented by sketch lines, and generates a reference object to move in the object. determining a trajectory of one part based on the reference object, determining a movement range of the first part and determining a second part of the object as a reference when the first part moves along the trajectory, wherein the first part generating a joint connecting the first part and the second part based on the position of the second part, the trajectory and the movement range of the first part,
3D sketching device.
제15항에 있어서,
상기 프로세서는
상기 사용자에 의해 선택된 포인트들 중 어느 하나를 상기 구의 중심점으로 하고, 다른 하나를 표면에 포함하는 구를 상기 참조 객체로 결정하는,
3차원 스케칭 장치.
16. The method of claim 15,
the processor
Using any one of the points selected by the user as the center point of the sphere, and determining a sphere including the other on the surface as the reference object,
3D sketching device.
제15항에 있어서,
상기 사용자에 의해 선택된 포인트들은
상기 사용자로부터의 탭 앤 드래그 입력에서 처음 탭된 제1 포인트 및 마지막으로 리프트된 제2 포인트를 포함하고,
상기 제2 포인트는 상기 제1 파트를 나타내는 스케치 선 상에 위치하는,
3차원 스케칭 장치.
16. The method of claim 15,
The points selected by the user are
a first point tapped first and a second point lifted last in the tap-and-drag input from the user;
the second point is located on a sketch line representing the first part,
3D sketching device.
제15항에 있어서,
상기 프로세서는
상기 사용자로부터 입력된 탭 앤 드래그에서 처음 탭된 제3 포인트 및 드래그 방향에 기초하여 상기 참조 객체 상에서 상기 궤적을 결정하고,
상기 제3 포인트는 상기 제1 파트를 표현하는 스케치 선 상에 위치하는,
3차원 스케칭 장치.
16. The method of claim 15,
the processor
determining the trajectory on the reference object based on a third point first tapped in the tap and drag input from the user and a drag direction,
The third point is located on a sketch line representing the first part,
3D sketching device.
제15항에 있어서,
상기 프로세서는
상기 객체에 포함된 파트들 중에서 상기 사용자로부터 입력된 탭 앤 홀드로 선택된 파트를 제2 파트로 결정하고, 상기 탭 앤 홀드가 유지되는 동안 상기 사용자로부터 입력된 탭 앤 드래그로 상기 제1 파트의 상기 움직임 범위를 결정하는,
3차원 스케칭 장치.
16. The method of claim 15,
the processor
A part selected by the tap and hold input from the user from among the parts included in the object is determined as a second part, and the first part is selected by the tap and drag input from the user while the tap and hold is maintained. to determine the range of motion,
3D sketching device.
제19항에 있어서,
상기 사용자로부터 입력된 탭 앤 드래그에 의해 상기 제1 파트의 예상 움직임이 시각화되어 상기 사용자로 제공되는,
3차원 스케칭 장치.
20. The method of claim 19,
The expected movement of the first part is visualized by the tap and drag input from the user and provided to the user.
3D sketching device.
KR1020200032828A 2020-03-17 2020-03-17 Method and apparatus for 3d sketching KR102359598B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200032828A KR102359598B1 (en) 2020-03-17 2020-03-17 Method and apparatus for 3d sketching

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200032828A KR102359598B1 (en) 2020-03-17 2020-03-17 Method and apparatus for 3d sketching

Publications (2)

Publication Number Publication Date
KR20210116100A true KR20210116100A (en) 2021-09-27
KR102359598B1 KR102359598B1 (en) 2022-02-08

Family

ID=77925954

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200032828A KR102359598B1 (en) 2020-03-17 2020-03-17 Method and apparatus for 3d sketching

Country Status (1)

Country Link
KR (1) KR102359598B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023191484A1 (en) * 2022-03-29 2023-10-05 한국과학기술원 Drawing method and electronic device for performing same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060066340A (en) * 2004-12-13 2006-06-16 삼성전자주식회사 Apparatus and method for making 3d structural sketch and computer readable media for storing computer program
KR20090029447A (en) * 2007-09-18 2009-03-23 한국전자통신연구원 Sketch based 3d model creating apparatus and method
KR101794679B1 (en) * 2016-09-23 2017-11-07 오스템임플란트 주식회사 Method for controlling 3d objects, apparatus, and recording medium thereof
KR20190036061A (en) * 2017-09-27 2019-04-04 삼성중공업 주식회사 Touch type rotation control device and method of 3D object
KR20200000210A (en) * 2018-06-22 2020-01-02 주식회사 지이모션 Method and computer program for 3d modeling of clothing considering environmental factors

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060066340A (en) * 2004-12-13 2006-06-16 삼성전자주식회사 Apparatus and method for making 3d structural sketch and computer readable media for storing computer program
KR20090029447A (en) * 2007-09-18 2009-03-23 한국전자통신연구원 Sketch based 3d model creating apparatus and method
KR101794679B1 (en) * 2016-09-23 2017-11-07 오스템임플란트 주식회사 Method for controlling 3d objects, apparatus, and recording medium thereof
KR20190036061A (en) * 2017-09-27 2019-04-04 삼성중공업 주식회사 Touch type rotation control device and method of 3D object
KR20200000210A (en) * 2018-06-22 2020-01-02 주식회사 지이모션 Method and computer program for 3d modeling of clothing considering environmental factors

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김용관. 공중 3D 인터랙션을 통해 확장한 디자인 실무용 태블릿상 3D 스케칭. 한국과학기술원 산업디자인과 박사학위논문. 2018.08. 1부.* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023191484A1 (en) * 2022-03-29 2023-10-05 한국과학기술원 Drawing method and electronic device for performing same

Also Published As

Publication number Publication date
KR102359598B1 (en) 2022-02-08

Similar Documents

Publication Publication Date Title
US20230072748A1 (en) User-Defined Virtual Interaction Space and Manipulation of Virtual Cameras in the Interaction Space
CN110603509B (en) Joint of direct and indirect interactions in a computer-mediated reality environment
WO2018018857A1 (en) Gesture control method and apparatus applied to vr device
Schmidt et al. Sketching and composing widgets for 3d manipulation
Chaconas et al. An evaluation of bimanual gestures on the microsoft hololens
US20070263002A1 (en) Stroke-based posing of three-dimensional models
US8963834B2 (en) System and method for implementing 3-dimensional user interface
US20140229873A1 (en) Dynamic tool control in a digital graphics system using a vision system
Telkenaroglu et al. Dual-finger 3d interaction techniques for mobile devices
JP2022547775A (en) Projection casting in a virtual environment
US10895950B2 (en) Method and system for generating a holographic image having simulated physical properties
WO2017172180A1 (en) Path navigation in virtual environment
KR102359598B1 (en) Method and apparatus for 3d sketching
US11474660B2 (en) Techniques for transitioning from a first navigation scheme to a second navigation scheme
Jang et al. Airsculpt: A wearable augmented reality 3d sculpting system
Tran et al. Easy-to-use virtual brick manipulation techniques using hand gestures
US11398082B2 (en) Affine transformations of 3D elements in a virtual environment using a 6DOF input device
US20190050134A1 (en) Techniques for transitioning from a first navigation scheme to a second navigation scheme
Fujiwara et al. Interactions with a line-follower: An interactive tabletop system with a markerless gesture interface for robot control
US20140225886A1 (en) Mapping a vision system output to a digital graphics system input
JP2021099800A (en) Method of modifying rendering of 3d scene area in immersive environment
KR102392675B1 (en) Interfacing method for 3d sketch and apparatus thereof
KR102664782B1 (en) Electronic system and electronic device for controlling virtual reality space and operating method thereof
Scicali et al. Usability study of leap motion controller
JPH08249500A (en) Method for displaying three-dimensional graphic

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant