KR101794679B1 - Method for controlling 3d objects, apparatus, and recording medium thereof - Google Patents

Method for controlling 3d objects, apparatus, and recording medium thereof Download PDF

Info

Publication number
KR101794679B1
KR101794679B1 KR1020160122464A KR20160122464A KR101794679B1 KR 101794679 B1 KR101794679 B1 KR 101794679B1 KR 1020160122464 A KR1020160122464 A KR 1020160122464A KR 20160122464 A KR20160122464 A KR 20160122464A KR 101794679 B1 KR101794679 B1 KR 101794679B1
Authority
KR
South Korea
Prior art keywords
dimensional object
rotation
point
screen
center
Prior art date
Application number
KR1020160122464A
Other languages
Korean (ko)
Inventor
김진홍
Original Assignee
오스템임플란트 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오스템임플란트 주식회사 filed Critical 오스템임플란트 주식회사
Priority to KR1020160122464A priority Critical patent/KR101794679B1/en
Application granted granted Critical
Publication of KR101794679B1 publication Critical patent/KR101794679B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Architecture (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

The present invention relates to a 3D object control method, an apparatus for same, and a recording medium recording the same. The object control method according to the present invention performs a rotation operation of a 3D object only with an operation of selecting one point on a 3D object. Therefore, user convenience can be improved by minimizing a user operation for object rotation. The object control method comprises the steps of: receiving a point on a 3D object; creating a virtual sphere; calculating a rotation path of the 3D object; rotating the 3D object; and displaying the 3D object on a screen.

Description

3차원 객체 제어방법, 이를 위한 장치, 및 이를 기록한 기록매체{METHOD FOR CONTROLLING 3D OBJECTS, APPARATUS, AND RECORDING MEDIUM THEREOF}TECHNICAL FIELD [0001] The present invention relates to a 3D object control method, an apparatus therefor, and a recording medium on which the 3D object control method,

본 발명은 3차원 객체 제어방법, 이를 위한 장치, 및 이를 기록한 기록매체에 관한 것으로, 더욱 상세하게는, 3차원 객체의 회전을 제어하는 방법, 이를 위한 장치, 및 이를 기록한 기록매체에 관한 것이다.More particularly, the present invention relates to a method of controlling rotation of a three-dimensional object, an apparatus therefor, and a recording medium on which the three-dimensional object control method, the apparatus and the recording medium are recorded.

3D 콘텐츠(Contents)가 활성화되면서, 3D 객체 이미지의 움직임을 제어하는 방법들이 다양하게 개발되고 있다.As 3D contents are activated, various methods for controlling the movement of 3D object images are being developed.

도 1은 종래 기술에 따른 3차원 객체의 회전을 제어하는 방법을 설명하기 위한 참고도이다.FIG. 1 is a reference diagram for explaining a method of controlling rotation of a three-dimensional object according to the related art.

도 1을 참조하면, 화면상에 보여지는 3차원 객체를 사용자가 원하는 위치로 회전시키기 위한 도구로서 아크볼(Arc-ball), 또는 트랙볼(Trackball)과 같은 가상의 회전수단(1)를 활용하고 있다. 종래 기술에 따르면, 위 회전수단(1)을 마우스 등의 입력장치로 클릭하여 회전시키면, 입력장치의 움직임에 대응하여 3차원 객체가 함께 회전된다.Referring to FIG. 1, a virtual rotating means 1 such as an arc-ball or a trackball is used as a tool for rotating a three-dimensional object displayed on the screen to a desired position have. According to the related art, when the upper rotating means 1 is clicked and rotated by an input device such as a mouse, the three-dimensional object is rotated together with the movement of the input device.

전술된 종래 기술에 따른 3차원 객체 회전 방법에 따르면, 사용자가 원하는 방향으로 회전시키기까지 다수의 드래그(Drag) 동작이나 클릭 동작이 필요하기 때문에 시간이 많이 소요되며, 정확한 위치로 회전시키기 위해서는 미세한 동작이 요구되어 회전수단(1)을 핸들링(Handling)하는 것에 숙련된 사람을 제외한 대부분의 사용자들은 많은 시행착오를 거쳐야 하는 문제점이 존재하였다. 또한, 회전하는 과정에서 회전축이 기울어지는 현상으로 인하여, 지속적으로 회전축을 바로잡으면서 회전을 시켜야 하는 번거로움도 발생하였다.According to the above-described conventional three-dimensional object rotating method, since it takes a lot of time to perform a drag operation or a click operation until the user rotates in a desired direction, There has been a problem that most users except for those skilled in handling the rotating means 1 have to go through a lot of trial and error. Further, due to the inclination of the rotation axis during the rotation, there is a problem that it is necessary to constantly rotate the rotation axis while rotating.

특히, 입력장치와 출력장치가 하나의 디바이스를 통해 구현되는 터치스크린에서 객체를 회전하기 위해서는 스크린에 접촉된 상태에서 회전을 위한 동작을 수행해야 하기 때문에 이와 같은 어려움이 배가 된다.Particularly, in order to rotate an object on a touch screen in which an input device and an output device are realized through a single device, an operation for rotating in a state of being in contact with a screen is performed, and this difficulty is multiplied.

전술된 바와 같은 종래 기술의 문제점은 컴퓨터 지원 설계와 같이 객체의 회전이 다수 요구되는 작업 시에 전체적인 작업의 효율성을 저하시키는 요인으로 작용하였다.The problems of the prior art as described above have caused a decrease in the efficiency of the overall operation when a lot of object rotation is required, such as a computer-aided design.

본 발명은 원하는 방향으로 객체를 회전시키기까지 다수의 동작이 필요하고, 회전을 수행하는 과정에서 회전축을 바로잡으면서 회전을 시켜야 하는 번거로움이 발생했던 종래 기술의 문제점을 해결하기 위하여 제안된 것으로, 회전을 위한 동작을 최소화한 3차원 객체 제어방법, 이를 위한 장치, 및 이를 기록한 기록매체를 제공하는 것을 목적으로 한다. The present invention has been proposed in order to solve the problems of the prior art in which a plurality of operations are required until an object is rotated in a desired direction and it is troublesome to perform rotation while correcting the rotation axis in the course of performing rotation. A three-dimensional object control method in which an operation for rotation is minimized, an apparatus therefor, and a recording medium on which the method is recorded.

본 발명의 일 양태에 따른 컴퓨팅 장치가 3차원 객체를 제어하는 방법은 사용자 입력부를 통하여 3차원 객체상의 일 지점을 입력 받는 단계; 입력된 상기 3차원 객체상의 일 지점이 미리 결정된 최종 위치에 도달하도록 상기 3차원 객체를 회전시키는 단계; 및 회전된 상기 3차원 객체를 화면에 표시하는 단계를 포함할 수 있다. A method of controlling a three-dimensional object according to an embodiment of the present invention includes receiving a point on a three-dimensional object through a user input unit; Rotating the three-dimensional object such that a point on the input three-dimensional object reaches a predetermined final position; And displaying the rotated 3D object on the screen.

한편, 상기 3차원 객체를 회전시키는 단계는, 상기 3차원 객체의 센터(Center)를 중심으로 가지면서 상기 3차원 객체의 센터와 입력된 상기 일 지점 사이의 거리를 반경으로 가지는 가상의 구를 생성하는 단계; 상기 가상의 구의 표면상에서 상기 일 지점의 초기 위치로부터 상기 최종 위치까지의 최단 경로를 기초로 상기 3차원 객체의 회전 경로를 산출하는 단계; 및 산출된 상기 회전 경로에 따라 상기 3차원 객체를 회전시키는 단계를 포함할 수 있다.The step of rotating the three-dimensional object may include generating a virtual sphere centered on a center of the three-dimensional object and having a radius between the center of the three-dimensional object and the input one point, ; Calculating a rotation path of the three-dimensional object based on a shortest path from an initial position of the one point to the final position on the surface of the virtual sphere; And rotating the 3D object according to the calculated rotation path.

본 발명의 또 다른 양태에 따른 3차원 객체 제어 장치는 3차원 객체상의 일 지점을 입력 받는 사용자 입력부; 입력된 상기 3차원 객체상의 일 지점이 미리 결정된 최종 위치에 도달하도록 상기 3차원 객체를 회전시키는 객체 제어부; 및 회전된 상기 3차원 객체를 화면에 표시하는 디스플레이부를 포함할 수 있다.According to another aspect of the present invention, there is provided a three-dimensional object control apparatus including: a user input unit receiving a point on a three-dimensional object; An object control unit for rotating the 3D object so that one point on the input 3D object reaches a predetermined final position; And a display unit for displaying the rotated 3D object on the screen.

아울러, 상기 객체 제어부는, 상기 3차원 객체의 회전과 함께 상기 3차원 객체가 미리 결정된 배율로 표시되도록 상기 3차원 객체의 확대 또는 축소를 수행하하여 사용자의 편의성을 향상시킬 수 있다.In addition, the object control unit may enhance the convenience of the user by performing enlargement or reduction of the three-dimensional object such that the three-dimensional object is displayed at a predetermined magnification together with the rotation of the three-dimensional object.

상기 객체 제어부는, 상기 3차원 객체의 센터를 중심으로 가지면서 상기 3차원 객체의 센터와 입력된 상기 일 지점 사이의 거리를 반경으로 가지는 가상의 구를 생성하고, 상기 일 지점의 초기 위치로부터 상기 최종 위치까지의 상기 가상의 구 표면상의 최단 경로를 상기 3차원 객체의 회전 경로로 산출함으로써 효과적으로 3차원 객체를 회전시킬 수 있다.Wherein the object control unit generates a virtual sphere having a center between the center of the three-dimensional object and a radius between the center of the three-dimensional object and the input one point, The three-dimensional object can be effectively rotated by calculating the shortest path on the virtual spherical surface up to the final position as the rotation path of the three-dimensional object.

또한, 상기 객체 제어부는, 상기 가상의 구의 중심을 지나는 상기 3차원 객체가 투영되는 화면의 수직선과 만나는 상기 가상의 구 표면상의 점 중 상기 화면과 가까운 점을 상기 최종 위치로 결정할 수 있다.The object control unit may determine a point near the screen among the points on the virtual spherical surface that meet the vertical line of the screen on which the three-dimensional object passing through the center of the virtual sphere is projected as the final position.

한편, 상기 3차원 객체의 회전 시작부터 종료에 이르기까지 구체적인 회전 시점에 대응하여 표시되는 단위시간당 프레임 수를 가변적으로 조절하는 프레임 조절부를 더 포함하며, 상기 디스플레이부는 상기 프레임 조절부에 따른 상기 단위시간당 프레임 수에 대응하여 상기 3차원 객체의 회전 과정을 표시할 수 있다.The display control unit may further include a frame adjusting unit for variably controlling the number of frames per unit time displayed corresponding to a specific rotation time from the start to the end of rotation of the 3D object, The rotation process of the three-dimensional object can be displayed corresponding to the number of frames.

본 발명에 따르면, 사용자가 원하는 위치를 선택하는 것만으로 3D 객체를 손쉽게 회전할 수 있어 회전을 위한 다수의 동작이 불필요하다.According to the present invention, a 3D object can be easily rotated by simply selecting a desired position, so that a plurality of operations for rotation are not required.

본 발명에 따르면, 객체의 회전과정과 객체의 확대 또는 축소과정을 통합함으로써 사용자의 편의성을 향상시킬 수 있다.According to the present invention, the convenience of the user can be improved by integrating the rotation process of the object and the enlargement or reduction process of the object.

또한, 본 발명에 따르면, 객체의 회전 과정을 표시할 때 표시되는 프레임 수를 조절함으로써 위치 이동을 부드럽게 표현할 수 있다.Also, according to the present invention, the position movement can be smoothly expressed by adjusting the number of frames displayed when displaying the rotation process of the object.

도 1은 종래 기술에 따른 3차원 객체의 회전을 제어하는 방법을 설명하기 위한 참고도;
도 2는 본 발명의 실시예에 따른 3차원 객체 제어 장치의 블록도;
도 3은 본 발명의 실시예에 따른 객체 제어부의 동작을 설명하기 위한 참고도;
도 4는 본 발명의 실시예에 따른 3차원 객체 제어 방법의 흐름도;
도 5는 본 발명의 실시예에 따른 객체 회전을 위한 처리 단계를 나타낸 흐름도;
도 6은 본 발명의 실시예에 따라 회전 시점에 따른 단위시간당 프레임 수를 나타낸 그래프; 및
도 7은 본 발명의 실시예에 따른 객체 제어 방법에 따라 3차원 객체가 회전되기 전과 후의 화면을 보여준다.
FIG. 1 is a reference view for explaining a method of controlling rotation of a three-dimensional object according to the prior art; FIG.
2 is a block diagram of a three-dimensional object control apparatus according to an embodiment of the present invention;
3 is a reference diagram for explaining the operation of the object control unit according to the embodiment of the present invention;
4 is a flowchart of a three-dimensional object control method according to an embodiment of the present invention;
5 is a flow diagram illustrating processing steps for object rotation in accordance with an embodiment of the present invention;
6 is a graph showing the number of frames per unit time according to the rotation time according to the embodiment of the present invention; And
FIG. 7 shows a screen before and after a three-dimensional object is rotated according to an object control method according to an embodiment of the present invention.

이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It should be noted that the same constituent elements are denoted by the same reference numerals as possible throughout the drawings.

이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.The terms and words used in the present specification and claims should not be construed to be limited to ordinary or dictionary meanings and the inventor is not limited to the concept of terminology for describing his or her invention in the best way. It should be interpreted as meaning and concept consistent with the technical idea of the present invention. Therefore, the embodiments described in the present specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention, and not all of the technical ideas of the present invention are described. Therefore, It is to be understood that equivalents and modifications are possible.

본 발명에 따른 3차원 객체 제어 장치는 마우스, 키보드 등의 입력수단을 매개로 표시된 객체를 제어하는 컴퓨팅 장치뿐 아니라 입력수단과 출력수단이 하나의 디바이스로 통합된 터치스크린을 통해 객체를 제어하는 다양한 장치를 포함한다.The three-dimensional object control apparatus according to the present invention may be applied not only to a computing device that controls objects displayed through input means such as a mouse and a keyboard, but also to various devices that control an object through a touch screen, Device.

도 2는 본 발명의 실시예에 따른 3차원 객체 제어 장치의 블록도이다. 도 2를 참조하면, 본 발명의 실시예에 따른 3차원 객체 제어 장치(100)는 사용자 입력부(10), 디스플레이부(30), 객체 제어부(50), 프레임 조절부(70) 및 모드 전환부(90)를 포함한다.2 is a block diagram of a three-dimensional object control apparatus according to an embodiment of the present invention. 2, a three-dimensional object control apparatus 100 according to an exemplary embodiment of the present invention includes a user input unit 10, a display unit 30, an object control unit 50, a frame control unit 70, (90).

사용자 입력부(10)는 사용자로부터 각종 입력을 받기 위함으로, 마우스, 키보드, 버튼 등의 입력장치로 구현된다.The user input unit 10 is implemented as an input device such as a mouse, a keyboard, and a button in order to receive various inputs from a user.

디스플레이부(30)는 각종 정보를 입력 받기 위한 메뉴화면과 결과화면을 표시하기 위한 것으로, 각종 디스플레이 장치로 구현될 수 있으며, 터치 스크린과 같이 사용자 입력부(10)와 디스플레이부(30)가 통합되어 하나의 디바이스로 구현될 수 있음은 물론이다. The display unit 30 may be implemented by various display devices for displaying a menu screen and a result screen for receiving various kinds of information. The user input unit 10 and the display unit 30 may be integrated with each other, such as a touch screen It is needless to say that it can be implemented as one device.

사용자 입력부(10)는 디스플레이부(30) 화면에 표시된 3차원 객체상의 일 지점을 입력 받는다. 사용자는 3차원 객체에서 상세히 보고 싶은 부분이나 3차원 객체를 보고 싶은 각도 등을 고려하여 3차원 객체의 일 지점을 선택할 수 있다. 이때, 화면에 표시된 3차원 객체가 복수개인 경우에는 그 중의 하나의 객체에 대해서만 일 지점을 선택할 수도 있으나, 각 객체에 대해서 각각 하나의 지점을 선택할 수 있다. The user input unit 10 receives one point on the three-dimensional object displayed on the screen of the display unit 30. The user can select one point of the three-dimensional object in consideration of the portion of the three-dimensional object to be detailed or the angle at which the three-dimensional object is desired to be viewed. In this case, when there are a plurality of three-dimensional objects displayed on the screen, one point may be selected for only one of the objects, but one point may be selected for each object.

객체 제어부(50)는 사용자 입력부(10)을 통해 입력된 3차원 객체상의 일 지점이 미리 결정된 최종 위치에 도달하도록 3차원 객체를 회전시킨다. 이를 통하여, 3차원 객체를 회전시키기 위한 사용자의 다수의 입력동작을 생략할 수 있다.The object control unit 50 rotates the three-dimensional object so that one point on the three-dimensional object input through the user input unit 10 reaches a predetermined final position. Through this, a plurality of input operations of the user for rotating the three-dimensional object can be omitted.

도 3은 객체 제어부(50)의 동작을 설명하기 위한 참고도이다. FIG. 3 is a reference diagram for explaining the operation of the object control unit 50. FIG.

도 3을 참조하면, 사용자 입력부(10)를 통해 입력된 3차원 객체상 일 지점의 3차원 좌표계에서의 위치가 P1이라고 가정할 때, 객체 제어부(50)는 절두체(Frustum)(미도시) 내에 3차원 객체의 센터를 중심(O)으로 갖고, 3차원 객체의 센터와 P1 사이의 거리를 반경(r)으로 가지는 가상의 구(S)를 생성한다. 이때, 3차원 객체의 일 지점의 초기 위치인 P1과 회전 후의 최종 위치 P2는 가상의 구(S) 표면상에 위치하게 된다.3, assuming that a position in a three-dimensional coordinate system of a point on a three-dimensional object input through the user input unit 10 is P1, the object control unit 50 determines whether the three- A virtual sphere S having the center of the three-dimensional object as the center O and the distance between the center of the three-dimensional object and the point P1 as the radius r is generated. At this time, the initial position P1 of one point of the three-dimensional object and the final position P2 after rotation are located on the virtual S (S) surface.

참고로, 절두체는 객체 랜더링(Rendering)시에 랜더링되는 객체의 위치범위를 한정하는 공간으로, 가상 카메라의 화각(View Angle)과 근평면(Near Plane), 원평면(Far Plane) 등의 파라미터로 정의된다. For reference, the frustum is a space that defines the position range of the object to be rendered at the time of object rendering. It is a parameter of the view angle, near plane, and far plane of the virtual camera. Is defined.

3차원 객체의 일 지점이 초기 위치 P1으로부터 회전 후 최종 위치 P2에 도달하기 위한 회전 경로는 매우 많지만, 객체 제어부(50)는 위와 같이 생성된 가상의 구(S)를 활용하여 3차원 객체의 일 지점이 초기 위치 P1에서 최종 위치 P2에 도달하도록 3차원 객체를 회전시키기 위한 최적의 회전 경로를 산출한다. There are many rotation paths for one point of the three-dimensional object to reach the final position P2 after rotation from the initial position P1. However, the object control unit 50 uses the virtual sphere S generated as described above, The optimal rotation path for rotating the three-dimensional object is calculated so that the point reaches the final position P2 from the initial position P1.

즉, 객체 제어부(50)는 P1으로부터 P2까지의 가상의 구(S) 표면상의 최단 경로를 3차원 객체의 회전 경로(d)로 산출하게 된다. That is, the object control unit 50 calculates the shortest path on the virtual sphere S surface from P1 to P2 as the rotation path d of the three-dimensional object.

이때, 도 3에 도시된 바와 같이, 최종 위치 P2는 3차원 객체가 투영(Projection)되는 화면(Screen)에 수직인 다수의 수직선 중 가상의 구(S)의 중심(O)을 지나는 수직선(VL)과 만나는 가상의 구(S) 표면상의 점 중 화면과 가까운 점으로 결정될 수 있다. 이는 통상적으로 3차원 객체의 특정 부분을 상세히 볼 때에는 특정 부분이 정면에 오도록 회전시키는 등의 사용자들의 회전 경향을 반영한 것이다. 3, the final position P2 is defined by a vertical line VL (VL) passing through the center O of the virtual sphere S among the plurality of vertical lines perpendicular to the screen on which the three-dimensional object is projected Of the point on the surface of the virtual sphere S that meets with the point S on the surface of the virtual sphere S. This typically reflects the rotational tendency of the user, such as turning a particular portion in front when looking at a specific portion of a three-dimensional object in detail.

객체 제어부(50)는 산출된 회전 경로(d)에 따라 3차원 객체의 회전을 수행한다. 객체의 회전처리는 오일러각(Euler Angle), 및 회전행렬(Rotation Matrix)을 통한 연산, 또는 짐벌락(Gimbal Lock) 문제를 개선한 쿼터니언(Quaternion)을 이용하여 이루어질 수 있다. 이와 같이, 회전 시작점(P1)과 종점(P2), 회전 경로(d)가 주어졌을 때 객체를 회전 처리하는 것은 공지된 다양한 연산에 의할 수 있는 것이므로 간략화를 위하여 상세한 설명은 생략하기로 한다.The object control unit 50 rotates the three-dimensional object according to the calculated rotation path d. Rotation processing of an object can be performed using an Euler Angle, a calculation through a rotation matrix, or a quaternion that improves the problem of gimbal lock. Since the rotation process of the object when the rotation start point P1, the end point P2, and the rotation path d are given can be performed by various known operations, a detailed description will be omitted for the sake of simplicity.

한편, 객체 제어부(50)는 3차원 객체의 회전과 함께 회전 후 3차원 객체가 기설정된 배율로 표시되도록 3차원 객체를 확대 또는 축소를 수행할 수 있다. 예컨대, 객체 제어부(50)는 3차원 객체의 회전과 함께 회전 후 3차원 객체를 본래 크기 대비 소정의 홀수배 또는 짝수배로 확대/축소시키거나, 또는 본래 배율과 순차 또는 등차 관계를 가지도록 3차원 객체를 확대/축소시킬 수 있다.Meanwhile, the object control unit 50 may enlarge or reduce the three-dimensional object so that the three-dimensional object is displayed at a predetermined magnification after rotation of the three-dimensional object. For example, the object control unit 50 may rotate the three-dimensional object together with the rotation of the three-dimensional object, enlarge / reduce the three-dimensional object to a predetermined odd-numbered or even-numbered multiple of the original size, You can zoom the object.

이는 통상적으로 사용자가 객체를 회전하고, 특정 영역을 보기 위한 객체 확대 또는 축소 동작을 연속적으로 하는 경향을 반영한 것으로서 사용자의 편의성을 증대시키기 위함이다. 확대, 축소 정도는 절대적인 비율로도 결정될 수 있으나, 화면 대비 객체의 크기를 고려하여 객체별로 구체적인 비율이 결정될 수도 있다. 또는, 사용자의 객체 회전 후 확대/축소 비율 통계정보를 활용하여 사용자에 따라 구체적인 비율을 결정할 수도 있을 것이다.This is to reflect the tendency of the user to rotate the object and consecutively enlarge or reduce the object for viewing a specific area, in order to increase the convenience of the user. The degree of enlargement and reduction may be determined by an absolute ratio, but a specific ratio may be determined for each object in consideration of the size of the object in relation to the screen. Alternatively, the specific ratio may be determined according to the user by utilizing the zoom ratio statistical information after the user rotates the object.

디스플레이부(30)는 객체 제어부(50)를 통해 회전된 3차원 객체를 표시한다. 디스플레이부(30)는 3차원 객체의 회전이 완료된 결과만을 표시해 줄도 있으나, 3차원 객체의 초기 자세로부터 최종 자세까지의 회전 과정을 표시해 줄 수도 있다.The display unit 30 displays the rotated three-dimensional object through the object control unit 50. The display unit 30 may display only the result of the rotation of the three-dimensional object, but it may display the rotation process of the three-dimensional object from the initial posture to the final posture.

프레임 조절부(70)는 3차원 객체의 회전 과정이 디스플레이(30)에 표시될 때, 표시되는 프레임 수 및 속도를 조절한다. 3차원 객체의 회전 시작부터 종료시까지를 'A'초동안 표시한다고 결정했을 때, 즉, 동작시간을 'A'초로 결정했을 때, 프레임 조절부(70)는 'A'초 동안 표시될 전체 프레임 수와 프레임이 바뀌는 속도, 즉 단위시간당 프레임 수를 결정한다. The frame adjusting unit 70 adjusts the number and the speed of the displayed frames when the rotation process of the three-dimensional object is displayed on the display 30. When it is determined that the three-dimensional object is to be displayed from the beginning to the end of the three-dimensional object for 'A' seconds, that is, when the operation time is determined as' A 'seconds, the frame adjusting unit 70' The number of frames and the rate at which frames change, that is, the number of frames per unit time.

프레임 조절부(70)는 절대적 상수값으로 전체 프레임 수를 결정할 수도 있으나, 시스템 성능에 따라 가변적으로 결정할 수도 있다. 이때, 시스템이 FPS(Frame Per Second) 정보가 존재하는 주기적 화면갱신 프로그램이면, FPS 정보를 이용하여 전체 프레임 수를 결정할 수 있다. 예컨대, 현재 FPS를 동작시간인 'A'초로 나눈 값을 기초로 전체 프레임 수를 결정할 수 있다. 반면, 시스템이 재생 이벤트(Refresh Event)가 발생할 때에만 화면을 업데이트하는 비주기적 화면갱신 프로그램인 경우, FPS 정보가 존재하지 않으므로 FPS를 미리 측정해두고 측정된 값을 기초로 전체 프레임 수를 결정할 수 있다. 한편, FPS를 측정할 수 없는 시스템인 경우에는 임의로 적정 전체 프레임 수를 결정할 수 있을 것이다.The frame adjusting unit 70 may determine the total number of frames to be an absolute constant value, but it may be determined variably according to system performance. At this time, if the system is a periodic screen update program in which Frame Per Second (FPS) information exists, the total number of frames can be determined using the FPS information. For example, the total number of frames can be determined based on a value obtained by dividing the current FPS by the operation time 'A' seconds. On the other hand, when the system is an aperiodic screen update program that updates the screen only when a refresh event occurs, since the FPS information does not exist, the FPS can be measured in advance and the total number of frames can be determined based on the measured value have. On the other hand, in the case of a system in which FPS can not be measured, the appropriate total frame number can be arbitrarily determined.

또한, 프레임 조절부(70)는 3차원 객체의 회전이 시작되는 시점부터 회전이 종료될 때까지 구체적인 회전 시점에 대응하여 표시되는 단위시간당 프레임 수를 가변적으로 조절할 수 있다. 이를 통해, 3차원 객체 주위를 부드럽게 이동하는 연속적인 시점 변환 효과를 얻을 수 있다. In addition, the frame adjusting unit 70 can variably adjust the number of frames per unit time displayed corresponding to a specific rotation time from when the rotation of the three-dimensional object starts until the rotation ends. Through this, a continuous viewpoint change effect that smoothly moves around a three-dimensional object can be obtained.

객체 제어부(50)는 프레임 조절부(70)에 따른 전체 프레임 수, 단위시간당 프레임 수를 기초로 3차원 객체를 단계별로 회전시키며, 디스플레이부(30)는 프레전체 프레임 수, 구체적인 시점에 따른 단위시간당 프레임 수 정보를 이용하여 회전 과정을 표시한다.The object control unit 50 rotates the three-dimensional object step by step on the basis of the total number of frames and the number of frames per unit time according to the frame adjusting unit 70. The display unit 30 displays the frame total number of frames, The rotation process is displayed using the frame number information per hour.

한편, 본 발명의 실시예에 따른 3차원 객체 제어 장치(100)는 객체 제어부(50)를 통한 자동 회전 기능을 제공하는 제1 회전 모드와 사용자 입력부(10)를 통하여 입력되는 움직임에 대응하여 회전하는 수동 회전 기능을 제공하는 제2 회전 모드를 선택할 수 있도록 하는 모드 전환부(90)를 더 포함할 수 있다. The 3D object control apparatus 100 according to an embodiment of the present invention includes a first rotation mode for providing an automatic rotation function through the object control unit 50 and a second rotation mode for providing rotation And a mode switching unit 90 for selecting a second rotation mode for providing a manual rotation function.

모드 전환부(90)는 사용자에게 모드 선택을 위한 메뉴를 제공하고, 사용자 선택에 따라 해당 모드를 활성화시킨다. 모드 전환부(90)는 위 2가지 회전 모드뿐 아니라 자동 확대/축소 모드 및 회전 과정을 표시하는 위치 이동 표시 모드의 적용 여부를 선택하도록 할 수 있다. 사용자가 자동 확대/축소 모드를 적용하면 객체 회전과 함께 미리 결정된 배율에 따른 객체의 확대/축소가 연계되고, 사용자가 회전 과정 표시 모드를 적용하면 회전 과정을 디스플레이부(30)를 통해 제공하며, 미선택시에는 회전 결과만을 제공한다.The mode switching unit 90 provides the user with a menu for mode selection and activates the corresponding mode according to the user's selection. The mode switching unit 90 may select whether or not to apply the automatic zooming mode and the position movement display mode indicating the rotation process as well as the above two rotation modes. When the user applies the automatic enlargement / reduction mode, enlargement / reduction of the object according to a predetermined magnification is associated with the rotation of the object. When the user applies the rotation process display mode, the rotation process is provided through the display unit 30, In the unselected state, only the rotation result is provided.

도 4는 본 발명의 실시예에 따른 객체 제어 방법의 흐름도이고, 도 5는 본 발명의 실시예에 따른 객체 회전을 위한 처리 단계를 나타낸 흐름도, 도 6 및 도 7은 도 4에 따른 객체 제어 방법을 설명하기 위한 참고도이다. 이하, 도 4 내지 도 7을 참조하여 전술된 객체 제어 장치(100)의 유기적인 동작을 살펴본다.FIG. 4 is a flow chart of an object control method according to an embodiment of the present invention, FIG. 5 is a flowchart illustrating processing steps for object rotation according to an embodiment of the present invention, FIGS. 6 and 7 are flowcharts of an object control method Fig. Hereinafter, the organic operation of the object control apparatus 100 described above with reference to Figs. 4 to 7 will be described.

먼저, 도 4를 참조하면, 사용자 입력부(10)를 통하여 회전대상이 되는 3차원 객체상의 일 지점을 입력받는다(S10). 사용자는 3차원 객체 중 상세하게 보고 싶은 특정 부분을 입력할 수 있다.Referring to FIG. 4, one point on a three-dimensional object to be rotated is input through the user input unit 10 (S10). The user can input a specific part of the three-dimensional object to be detailed.

객체 제어부(50)는 입력된 3차원 객체상의 일 지점이 미리 결정된 최종 위치에 도달하도록 3차원 객체를 회전시킨다(S20). The object control unit 50 rotates the three-dimensional object so that one point on the input three-dimensional object reaches a predetermined final position (S20).

도 5를 참조하면, 객체를 회전시키기 위하여 객체 제어부(50)는 3차원 객체상의 일 지점에 대하여 3차원 좌표계에서의 좌표값을 연산한다(S21). 이와 같이, 연산된 좌표값이 초기 위치 P1이 된다. 참고로, 3차원 좌표계는 공간에 존재하는 해당 객체의 중심을 좌표축의 중심으로 하는 객체 좌표계(Local Coordinate), 정의된 객체별 객체 좌표계를 기반으로 공간 전체를 포괄하는 월드 좌표계(World Coordinate), 월드 좌표계에 표시된 객체 중 랜더링 대상범위에 대한 카메라 좌표계(Camera Coordinate) 등을 포함한다.Referring to FIG. 5, in order to rotate an object, the object control unit 50 calculates coordinate values in a three-dimensional coordinate system for one point on the three-dimensional object (S21). Thus, the calculated coordinate value becomes the initial position P1. For reference, the three-dimensional coordinate system is composed of an object coordinate system in which the center of the corresponding object existing in the space is the center of the coordinate axis (Local Coordinate), a world coordinate system (World Coordinate) A camera coordinate system for a range of objects to be rendered among the objects displayed in the coordinate system, and the like.

객체 제어부(30)는 3차원 객체의 센터와 초기 위치 P1 사이의 거리를 반경으로 가지는 가상의 구(S)를 생성하고, 가상의 구(S) 표면상에서 P1으로부터 최종 위치 P2까지의 최단 경로를 기초로 3차원 객체의 회전 경로를 결정한다(S23). 전술된 바와 같이, 최종 위치 P2는 회전 후 3차원 객체의 일 지점이 정면에 보여지도록 가상의 구(S)의 중심(O)을 지나는 화면의 수직선(VL)과 만나는 가상의 구(S) 표면상의 점 중 화면과 가까운 점으로 결정하는 등 사용자의 경향을 기초로 결정될 수 있다.The object control unit 30 generates a virtual sphere S having a radius between the center of the three-dimensional object and the initial position P1 as a radius and calculates a shortest path from P1 to the final position P2 on the virtual Sphere surface The rotation path of the three-dimensional object is determined on the basis of S23. As described above, the final position P2 is a virtual sphere (S) surface that meets the vertical line (VL) of the screen passing through the center O of the virtual sphere S so that one point of the three- It may be determined based on the tendency of the user to decide the point near the screen among the points on the screen.

이후, 객체 제어부(50)는 결정된 회전 경로에 따라 3차원 객체를 회전시킨다(S25). 객체의 회전처리는 오일러각, 회전행렬, 쿼터니온 등에 기반한 공지된 다양한 객체 회전 연산 알고리즘을 이용하여 이루어질 수 있다. 이때, 3차원 객체가 소정의 비율로 표시되도록 객체 회전과 함께 자동으로 객체의 축소 또는 확대 처리를 수행함으로써 회전 후 사용자가 추가 작업을 하지 않도록 하여 사용자의 편의성을 도모할 수 있음은 전술된 바와 같다. Thereafter, the object control unit 50 rotates the three-dimensional object according to the determined rotation path (S25). Rotation processing of an object can be performed using various known object rotation algorithm based on Euler angle, rotation matrix, quaternion, and the like. At this time, the object is automatically reduced or enlarged in accordance with the rotation of the object so that the three-dimensional object is displayed at a predetermined ratio, so that the user does not perform the additional operation after the rotation so that the convenience of the user can be improved .

이와 같이 회전된 객체는 디스플레이부(30)에 표시된다(S30). 이때, 디스플레이부(30)는 회전 결과만을 표시할 수도 있으나, 사용자가 선택한 모드에 따라 회전 과정을 표시할 수도 있다. 회전 과정에서 표시되는 전체 프레임 수, 단위시간당 프레임 수는 프레임 조절부(70)에 의하여 가변적으로 조절된다. The rotated object is displayed on the display unit 30 (S30). At this time, the display unit 30 may display only the rotation result, but may display the rotation process according to the mode selected by the user. The total number of frames and the number of frames per unit time displayed during the rotation process are variably adjusted by the frame adjusting unit 70.

도 6은 프레임 조절부(70)에 따른 단위시간당 프레임 수의 예시를 그래프로 나타낸 것이다.FIG. 6 is a graph showing an example of the number of frames per unit time according to the frame adjusting unit 70.

도 6을 참조하면, 회전동작이 1초 동안 이루어진다고 가정할 때, 프레임 조절부(70)는 회전 초기와 회전 말미에는 단위시간당 프레임 수를 많게 하고, 회전 중간에는 단위시간당 프레임 수를 상대적으로 적게 조절함으로써 회전 과정을 부드럽게 표현할 수 있다. Referring to FIG. 6, when it is assumed that the rotation operation is performed for one second, the frame adjustment unit 70 increases the number of frames per unit time at the beginning of rotation and the end of rotation and decreases the number of frames per unit time relatively By adjusting, the rotation process can be expressed smoothly.

도 7은 본 발명의 실시예에 따른 객체 제어 방법에 따라 3차원 객체가 회전되기 전과 후의 화면을 보여준다.FIG. 7 shows a screen before and after a three-dimensional object is rotated according to an object control method according to an embodiment of the present invention.

도 7은 사용자가 객체의 귀 부분(701) 부분을 일 지점으로 선택하였을 때, 회전 후 귀 부분(701')이 화면의 정면에 오도록 표시된 결과를 보여준다. 이때, 회전과 함께 3차원 객체의 확대가 이루어졌음을 알 수 있다. FIG. 7 shows the result of displaying the ear portion 701 'on the front of the screen after rotation when the user selects a portion of the ear portion 701 of the object as one point. At this time, it can be seen that the three-dimensional object is enlarged along with the rotation.

이와 같이, 본 발명에 따르면, 종래 기술과 같이 3차원 객체를 회전시킬 때 사용자가 원하는 방향으로 회전시키기 위하여 다수의 드래그, 확대/축소 등의 작업을 생략하고, 원하는 지점의 선택만으로 간편하게 회전을 시킬 수 있기 때문에 사용자의 편의성을 크게 증대시킬 수 있다. 본 발명은 터치와 회전을 위한 움직임이 동시에 이루어져야 하는 터치 스크린에 더욱 효과적으로 활용될 것으로 기대된다. As described above, according to the present invention, when a three-dimensional object is rotated, a plurality of operations such as dragging, enlargement / reduction, and the like are omitted in order to rotate the object in a desired direction, The convenience of the user can be greatly increased. It is expected that the present invention will be more effectively utilized in a touch screen in which movement for touch and rotation is simultaneously performed.

한편, 본 발명에 따른 객체 제어 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성되어 마그네틱 저장매체, 광학적 판독매체, 디지털 저장매체 등 다양한 기록 매체로도 구현될 수 있다.Meanwhile, the object control method according to the present invention may be embodied as a program that can be executed by a computer, and may be implemented as a variety of recording media such as a magnetic storage medium, an optical reading medium, and a digital storage medium.

본 명세서에 설명된 각종 기술들의 구현들은 디지털 전자 회로조직으로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그들의 조합들로 구현될 수 있다. 구현들은 데이터 처리 장치, 예를 들어 프로그램가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들의 동작에 의한 처리를 위해, 또는 이 동작을 제어하기 위해, 컴퓨터 프로그램 제품, 예를 들어 기계 판독가능 저장 장치(컴퓨터 판독가능 매체)에서 유형적으로 구체화된 컴퓨터 프로그램으로서 구현될 수 있다. 상술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛으로서 포함하는 임의의 형태로 전개될 수 있다.Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or combinations thereof. Implementations may be implemented in a computer program product, e.g., a machine-readable storage device (e.g., a computer readable storage medium), for processing by a data processing apparatus, e.g., a programmable processor, Lt; RTI ID = 0.0 > media). ≪ / RTI > A computer program, such as the computer program (s) described above, may be written in any form of programming language, including compiled or interpreted languages, and may be stored as a stand-alone program or in a module, component, subroutine, As other units suitable for use in the present invention.

컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어 자기, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수도 있다. 컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 등을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로조직에 의해 보충되거나, 이에 포함될 수 있다.Processors suitable for processing a computer program include, by way of example, both general purpose and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer may include one or more mass storage devices for storing data, such as magnetic, magneto-optical disks, or optical disks, or may receive data from them, transmit data to them, . ≪ / RTI > Information carriers suitable for embodying computer program instructions and data include, for example, semiconductor memory devices, for example, magnetic media such as hard disks, floppy disks and magnetic tape, compact disk read only memory A magneto-optical medium such as a floppy disk, an optical disk such as a DVD (Digital Video Disk), a ROM (Read Only Memory), a RAM , Random Access Memory), a flash memory, an EPROM (Erasable Programmable ROM), an EEPROM (Electrically Erasable Programmable ROM), and the like. The processor and memory may be supplemented or included by special purpose logic circuitry.

본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.While the specification contains a number of specific implementation details, it should be understood that they are not to be construed as limitations on the scope of any invention or claim, but rather on the description of features that may be specific to a particular embodiment of a particular invention Should be understood. Certain features described herein in the context of separate embodiments may be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented in multiple embodiments, either individually or in any suitable subcombination. Further, although the features may operate in a particular combination and may be initially described as so claimed, one or more features from the claimed combination may in some cases be excluded from the combination, Or a variant of a subcombination.

마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 장치 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 장치들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.Likewise, although the operations are depicted in the drawings in a particular order, it should be understood that such operations must be performed in that particular order or sequential order shown to achieve the desired result, or that all illustrated operations should be performed. In certain cases, multitasking and parallel processing may be advantageous. Also, the separation of the various device components of the above-described embodiments should not be understood as requiring such separation in all embodiments, and the described program components and devices will generally be integrated together into a single software product or packaged into multiple software products It should be understood.

한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.It should be noted that the embodiments of the present invention disclosed in the present specification and drawings are only illustrative of specific examples for the purpose of understanding and are not intended to limit the scope of the present invention. It will be apparent to those skilled in the art that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein.

10: 사용자 입력부 30: 디스플레이부
50: 객체 제어부 70: 프레임 조절부
90: 모드 전환부
10: user input unit 30: display unit
50: Object control unit 70: Frame control unit
90:

Claims (8)

컴퓨팅 장치가 3차원 객체를 제어하는 방법에 있어서,
사용자 입력부를 통하여 3차원 객체상의 일 지점을 입력 받는 단계;
상기 3차원 객체의 센터를 중심으로 가지면서 상기 3차원 객체의 센터와 입력된 상기 일 지점 사이의 거리를 반경으로 가지는 가상의 구를 생성하는 단계;
상기 가상의 구의 표면상에서 상기 일 지점의 초기 위치로부터 미리 결정된 최종 위치까지의 최단 경로를 기초로 상기 3차원 객체의 회전 경로를 산출하는 단계;
산출된 상기 회전 경로에 따라 입력된 상기 3차원 객체상의 일 지점이 상기 최종 위치에 도달하도록 상기 3차원 객체를 회전시키는 단계; 및
회전된 상기 3차원 객체를 화면에 표시하는 단계를 포함하며,
상기 최종 위치는 상기 3차원 객체가 투영되는 화면에 수직인 다수의 수직선 중 상기 가상의 구의 중심을 지나는 수직선과 만나는 상기 가상의 구 표면상의 점 중 상기 화면과 가까운 점에 해당하는 것을 특징으로 하는 3차원 객체 제어 장치.
A method of controlling a three-dimensional object in a computing device,
Receiving a point on a three-dimensional object through a user input unit;
Creating a hypothetical sphere centered on the center of the three-dimensional object and having a radius between the center of the three-dimensional object and the input point;
Calculating a rotation path of the three-dimensional object based on a shortest path from an initial position of the one point to a predetermined final position on the surface of the virtual sphere;
Rotating the three-dimensional object so that one point on the three-dimensional object input according to the calculated rotation path reaches the final position; And
And displaying the rotated three-dimensional object on a screen,
Wherein the final position corresponds to a point near the screen among the points on the virtual spherical surface that meet with a vertical line passing through the center of the virtual sphere among a plurality of vertical lines perpendicular to the screen on which the three-dimensional object is projected Dimensional object control device.
삭제delete 제1항에 따른 3차원 객체 제어 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
A computer-readable recording medium on which a program for executing the three-dimensional object control method according to claim 1 is recorded.
3차원 객체상의 일 지점을 입력 받는 사용자 입력부;
입력된 상기 3차원 객체상의 일 지점이 미리 결정된 최종 위치에 도달하도록 상기 3차원 객체를 회전시키는 객체 제어부; 및
회전된 상기 3차원 객체를 화면에 표시하는 디스플레이부를 포함하며,
상기 객체 제어부는, 상기 3차원 객체의 센터를 중심으로 가지면서 상기 3차원 객체의 센터와 입력된 상기 일 지점 사이의 거리를 반경으로 가지는 가상의 구를 생성하고, 상기 일 지점의 초기 위치로부터 상기 최종 위치까지의 상기 가상의 구 표면상의 최단 경로를 상기 3차원 객체의 회전 경로로 산출하고,
상기 최종 위치는 상기 3차원 객체가 투영되는 화면에 수직인 다수의 수직선 중 상기 가상의 구의 중심을 지나는 수직선과 만나는 상기 가상의 구 표면상의 점 중 상기 화면과 가까운 점인 것을 특징으로 하는 3차원 객체 제어 장치.
A user input unit for inputting a point on the three-dimensional object;
An object control unit for rotating the 3D object so that one point on the input 3D object reaches a predetermined final position; And
And a display unit for displaying the rotated 3D object on a screen,
Wherein the object control unit generates a virtual sphere having a center between the center of the three-dimensional object and a radius between the center of the three-dimensional object and the input one point, Calculating a shortest path on the imaginary spherical surface to a final position as a rotation path of the three-dimensional object,
Wherein the final position is a point near the screen of the virtual spherical surface that meets with a vertical line passing through the center of the virtual sphere among a plurality of vertical lines perpendicular to the screen on which the three-dimensional object is projected. Device.
제4항에 있어서,
상기 객체 제어부는,
상기 3차원 객체의 회전과 함께 상기 3차원 객체가 미리 결정된 배율로 표시되도록 상기 3차원 객체의 확대 또는 축소를 수행하는 3차원 객체 제어 장치.
5. The method of claim 4,
The object control unit,
Wherein the 3D object is enlarged or reduced so that the 3D object is displayed at a predetermined magnification together with the rotation of the 3D object.
삭제delete 삭제delete 제4항에 있어서,
상기 3차원 객체의 회전 시작부터 종료에 이르기까지 구체적인 회전 시점에 대응하여 표시되는 단위시간당 프레임 수를 가변적으로 조절하는 프레임 조절부를 더 포함하며,
상기 디스플레이부는 상기 프레임 조절부에 따른 상기 단위시간당 프레임 수에 대응하여 상기 3차원 객체의 회전 과정을 표시하는 3차원 객체 제어 장치.
5. The method of claim 4,
Further comprising a frame adjusting unit for variably adjusting the number of frames per unit time displayed corresponding to a specific rotation time from the start to the end of rotation of the three-dimensional object,
Wherein the display unit displays a rotation process of the three-dimensional object corresponding to the number of frames per unit time according to the frame control unit.
KR1020160122464A 2016-09-23 2016-09-23 Method for controlling 3d objects, apparatus, and recording medium thereof KR101794679B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160122464A KR101794679B1 (en) 2016-09-23 2016-09-23 Method for controlling 3d objects, apparatus, and recording medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160122464A KR101794679B1 (en) 2016-09-23 2016-09-23 Method for controlling 3d objects, apparatus, and recording medium thereof

Publications (1)

Publication Number Publication Date
KR101794679B1 true KR101794679B1 (en) 2017-11-07

Family

ID=60384643

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160122464A KR101794679B1 (en) 2016-09-23 2016-09-23 Method for controlling 3d objects, apparatus, and recording medium thereof

Country Status (1)

Country Link
KR (1) KR101794679B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210116100A (en) * 2020-03-17 2021-09-27 한국과학기술원 Method and apparatus for 3d sketching

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210116100A (en) * 2020-03-17 2021-09-27 한국과학기술원 Method and apparatus for 3d sketching
KR102359598B1 (en) 2020-03-17 2022-02-08 한국과학기술원 Method and apparatus for 3d sketching

Similar Documents

Publication Publication Date Title
US11600046B2 (en) Selecting two-dimensional imagery data for display within a three-dimensional model
US11422694B2 (en) Disambiguation of multitouch gesture recognition for 3D interaction
US7486274B2 (en) Method for stabilizing and precisely locating pointers generated by handheld direct pointing devices
US7042449B2 (en) Push-tumble three dimensional navigation system
US10318127B2 (en) Interface providing systems and methods for enabling efficient screen control
US20140245230A1 (en) Full 3d interaction on mobile devices
US10649616B2 (en) Volumetric multi-selection interface for selecting multiple objects in 3D space
US20140258867A1 (en) Systems and Methods for Editing Three-Dimensional Video
US20230126214A1 (en) User interface
US11574450B2 (en) Systems for augmented reality sketching
KR101794679B1 (en) Method for controlling 3d objects, apparatus, and recording medium thereof
US10878618B2 (en) First-person perspective-mediated reality
US20150095824A1 (en) Method and apparatus for providing user interface according to size of template edit frame
WO2020029556A1 (en) Plane adaptation method and device, and computer readable storage medium
WO2020029555A1 (en) Method and device for seamlessly switching among planes, and computer readable storage medium
US9563340B2 (en) Object manipulator and method of object manipulation
KR102392675B1 (en) Interfacing method for 3d sketch and apparatus thereof
US20220335676A1 (en) Interfacing method and apparatus for 3d sketch
US20220343588A1 (en) Method and electronic device for selective magnification in three dimensional rendering systems
WO2020036099A1 (en) Image processing device, image processing method, and image processing program
GB2541193A (en) Handling video content
CN117193588A (en) Interface interaction control method, computer device and storage medium
CN114404947A (en) Display control method, device, equipment and computer storage medium
CN115202792A (en) Method, apparatus, device and storage medium for scene switching
KR20140119870A (en) Apparatus for providing multimedia contents and method for displaying multimedia contents thereof

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant