Object rendering method and program

The depiction method addresses the challenge of aligning object rotation with operator intentions by adjusting the manipulator's position and rotation direction, ensuring accurate and intuitive manipulation in virtual three-dimensional spaces.

HK40135720APending Publication Date: 2026-07-31CELSYS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
HK62026124028
Authority / Receiving Office
HK · HK
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-10-30
Filing Date
2026-05-27
Publication Date
2026-07-31

AI Technical Summary

Technical Problem

Existing technologies face challenges in accurately rotating objects in virtual three-dimensional spaces based on operator instructions, particularly when the axis of rotation is approximately orthogonal to the line of sight of the virtual camera, leading to difficulties in reflecting the operator's intended rotation direction.

Method used

A depiction method that involves forming a manipulator on the display screen whose shape changes with the virtual camera and object's position, defining a predetermined point, adjusting its position to avoid proximity with the operator, and rotating the object based on the operator's instructions to ensure the rotation aligns with their intentions, even when the axis is nearly perpendicular to the camera's line of sight.

Benefits of technology

Enables easier and more accurate rotation of objects in virtual three-dimensional spaces by aligning the rotation direction with the operator's intentions, improving user experience and control over object posture.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Provided is a technique whereby a computer can render an object placed in a virtual three-dimensional space by rotating the object more easily on the basis of an instruction from an operator. The disclosed technology provides a drawing method in which a computer draws, on a display screen, an image obtained by capturing an image of an object placed in a virtual space by a virtual camera placed in the virtual space, the drawing method comprising the steps of: forming an operator on the display screen, the shape of the operator on the display screen changes according to the relative position and / or posture of the virtual camera and the object, and the operator receives an instruction on the display screen from an operator; setting a predetermined point defined on the display screen or a predetermined point present at a position where a point defined in the virtual space is projected onto the display screen via the virtual camera; a position change unit that changes the position of the predetermined point on the display screen so that the operator does not approach the predetermined point too closely; a rotation unit that rotates the object about the axis on the basis of a rotation angle and a rotation direction when a vector rotation is performed from the predetermined point toward the indicated position in accordance with the movement of the position indicated by the operator on the display screen; and drawing, on the display screen, an image obtained by capturing the rotating object with the virtual camera.
Need to check novelty before this filing date? Find Prior Art

Description

(19) State Intellectual Property Office (12) Invention Patent Application (10) Application Publication Number (43) Application Publication Date (21) Application Number 202480069233.9 (22) Application Date 2024.08.08 (30) Priority Data 2023-186012 2023.10.30 JP (85) PCT International Application Entering National Phase Date 2026.04.28 (86) PCT International Application Application Data PCT / JP2024 / 028518 2024.08.08 (87) PCT International Application Publication Data WO2025 / 094463 JA 2025.05.08 (71) Applicant: CELSYS Co., Ltd. Address: Tokyo, Japan (72) Inventor: Makoto Nakamura (74) Patent Agency: Beijing Tianda Gonghe Law Firm 11798 Patent Attorney Liu Dewang (51) Int.Cl. G06T 19 / 00 (2006.01) G06F 3 / 04815 (2006.01) (54) Invention Title: Method and Procedure for Depicting an Object (57) Abstract: This invention provides a technique that allows a computer to depict an object placed in a virtual three-dimensional space more easily by rotating it based on the operator's instructions. The disclosed technology provides a depiction method, which is a computer depicting an image on a display screen obtained by taking a picture of an object placed in a virtual space using a virtual camera placed in the virtual space. The method includes the following steps: forming an operator on the display screen, the shape of which changes according to the relative position and / or posture of the virtual camera and the object, and receiving instructions from an operator on the display screen; setting a predetermined point defined on the display screen, or a predetermined point existing at a position where a point defined in the virtual space is projected onto the display screen via the virtual camera; changing the position of the predetermined point on the display screen in a manner that prevents the operator from getting too close to the predetermined point; rotating the object about an axis based on the rotation angle and direction of rotation when rotating a vector from the predetermined point toward the indicated position as the operator moves on the display screen; and depicting the image of the rotating object taken by the virtual camera on the display screen. Claims (2 pages), Description (8 pages), Drawings (13 pages), CN 122095399 A 2026.05.26 CN 1 22 09 53 99 A 1. A depiction method, which is a method for depicting an image obtained by a computer on a display screen by taking a picture of an object placed in the virtual space by a virtual camera placed in the virtual space, comprising the following steps:An operator is formed on the display screen, the shape of which changes according to the relative position and / or posture of the virtual camera and the object, and receives instructions from the operator to rotate the object about an axis based on the outline of the operator displayed on the display screen; a predetermined point is defined on the display screen or a predetermined point exists at the position where a point defined in the virtual space is projected onto the display screen via the virtual camera; if a portion of the outline of the operator displayed on the display screen in a manner close to the virtual camera approaches the predetermined point, the position of the predetermined point is changed in a direction away from the portion of the outline; as the position indicated by the operator on the display screen moves, the object is rotated about the axis based on the rotation angle and direction when rotating a vector from the predetermined point toward the indicated position; and an image of the rotating object obtained by photographing it with the virtual camera is depicted on the display screen. 2. The drawing method of claim 1, wherein changing the position of the specified point includes moving the position of the specified point in the direction that is, the direction of the vector on the axis from the side with the larger depth value observed by the virtual camera toward the side with the smaller depth value, which is projected onto the display screen by the virtual camera. 3. The drawing method of claim 1, wherein the manipulator includes a portion of an ellipse, i.e., an ellipse formed when a circle formed on the surface centered at a point common to the plane orthogonal to the axis and the axis is projected onto the display screen by the virtual camera. 4. The drawing method of claim 1, wherein the rotation angle is the same as the angle of rotation of the object about the axis. 5. The drawing method of claim 1, wherein the axis is an axis selected by the operator from a plurality of axes, the plurality of axes being orthogonal to each other. 6. The drawing method of claim 5, wherein when the manipulator is selected by the operator, the axis corresponding to the selected manipulator among the plurality of axes is selected. 7. The drawing method of claim 1, wherein the rotation includes setting an upper limit value for the rotational speed of the object. 8. The drawing method of claim 1, wherein the rotation includes setting an upper limit value for the ratio of the rotation angle of the object to the amount of movement relative to the indicated position. 9. The drawing method of claim 1, wherein the rotation includes setting an inertia for the rotational action. 10. The drawing method of claim 1, wherein the rotation further includes: when the object has sub-objects in layers, the sub-objects maintain their relative positions and postures to the object while rotating about the axis during the rotation of the object. 11. The drawing method of claim 1, [Claims 1 / 2 page 2 CN]122095399 A The specified point exists on a straight line through which the axis is projected onto the display screen by the virtual camera. 12. The drawing method of claim 1, wherein the specified point is not visible. 13. The drawing method of claim 1, wherein the point defined in the virtual space exists on the axis. 14. A program that causes a computer to perform the drawing method of any one of claims 1 to 13. Claims 2 / 2 Page 3 CN 122095399 A Method and program for drawing objects Technical Field

[0001] The present invention relates to a method and program for drawing objects. Background Art

[0002] There is a technique in which a computer sets an object placed in a virtual three-dimensional space to an appropriate position and posture based on the operator's instructions, thereby creating a desired virtual three-dimensional space.

[0003] Adjusting the posture of an object placed in a virtual three-dimensional space can be achieved by rotating the object in the virtual three-dimensional space. Rotating the object can be achieved, for example, by rotating the object about an axis centered on a certain axis. Using this technique, the object can be adjusted to a desired posture.

[0004] For example, there is a technique in which, if a dragging operation is performed based on a user's operation instruction, along a ring of an operator existing around an axis selected from multiple axes, the object (referred to as "3D object material" in Non-Patent Document 1) can be rotated around the axis according to the dragging operation instruction (see Non-Patent Document 1 for example).

[0005] In addition, similarly to the above, there is a technique that enables a three-dimensional object to rotate around an axis based on the operator's instruction (see Non-Patent Document 2 for example).

[0006] However, in the prior art, the functionality of the user interface for receiving operator instructions has certain limitations, and sometimes it is difficult to rotate the object in the posture desired by the operator.

[0007] For example, when the direction of the axis of object rotation is approximately orthogonal to the line of sight of the virtual camera, there are cases where, due to the subtle movements of the operator's dragging operation, it is difficult to properly reflect the operator's operation in the rotation of the object, such as the object rotating in a direction or angle that the operator does not want.

[0008] Prior Art Documents

[0009] Non-Patent Documents

[0010] Patent Document 1: https: / / help.clip-studio.com / ja-jp / manual_jp / 660_3d / 3D%E7%B4%A0%E6%9D%90%E3%82%92%E5%9B%9E%E8%BB%A2%E3%81%97%E3%81%A6%E8%A7%92%E5%BA%A6%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B.htm

[0011] Patent Document 2: https: / / www.blender.org /

[0012] https: / / docs.blender.org / manual / en / 3.6 / editors / 3dview / display / gizmo.html Summary of the Invention

[0013] Technical Problem to be Solved by the Invention

[0014] The purpose of the disclosed technology is to provide a technology that allows a computer to depict an object placed in a virtual three-dimensional space more easily by rotating it based on the operator's instructions.

[0015] Technical Means for Solving the Technical Problem

[0016] The disclosed technology provides a depiction method, which is a method for depicting an image obtained by a computer on a display screen by taking a picture of an object placed in the virtual space by a virtual camera placed in the virtual space, comprising the following steps.

[0017] An operator is formed on the display screen, the operator being an operator whose shape on the display screen changes according to the relative position and / or posture of the virtual camera and the object, and is an operator that receives instructions from the operator on the display screen.

[0018] A predetermined point is defined on the display screen or a predetermined point exists at a position where a point defined in the virtual space is projected onto the display screen via the virtual camera.

[0019] The position of the predetermined point is changed on the display screen in a manner that prevents the operator from getting too close to the predetermined point.

[0020] As the operator moves the position indicated on the display screen, the object is rotated about the axis based on the rotation angle and rotation direction when rotating a vector from the predetermined point toward the indicated position;

[0021] and an image obtained by photographing the rotating object with the virtual camera is drawn on the display screen.

[0022] Effects of the Invention

[0023] According to the disclosed technology, it is possible to provide a technology that allows a computer to draw objects placed in a virtual three-dimensional space more easily by rotating them based on the operator's instructions. Brief Description of the Drawings

[0024] FIG1 is a diagram showing the situation of photographing an object existing in a virtual three-dimensional space with a virtual camera.

[0025] Figures 2A to 2F are diagrams showing images obtained by taking pictures of the object 100 in virtual space around axis 140 based on the operator's instructions to operate the manipulator 150 using a virtual camera 160 (not shown).

[0026] Figure 3 is a diagram showing images of the object 100 and the manipulator 150 taken by a virtual camera when axis 140 is nearly perpendicular to the line of sight of the virtual camera.

[0027] Figures 4A to 4C are diagrams showing images of the object 100 rotated around axis 140 in virtual space based on the operator's instructions to operate the manipulator 150.Figures 5A to 5C illustrate an example of object 100 rotating in the direction desired by the operator.

[0028] Figures 5A to 5C illustrate an example of object 100 rotating in the direction the operator does not want when axis 140 is nearly perpendicular to the line of sight of the virtual camera.

[0029] Figures 6A to 6C illustrate an example of how, by changing the position of a predetermined point, the operator's instruction is obtained using the changed predetermined point, so that even when axis 140 is nearly perpendicular to the line of sight of the virtual camera, the rotation direction of object 100 is consistent with the operator's intention.

[0030] Figures 7A to 7C illustrate an example of the action of operator 150 obtaining mouse pointer 120.

[0031] Figures 8A to 8C illustrate an example of the action of operator 150 obtaining mouse pointer 120.

[0032] Figure 9 illustrates a flowchart of the process of the embodiment.

[0033] Figures 10A and 10B are flowcharts illustrating the details of the process of the embodiment.

[0034] Figures 11A and 11B are flowcharts showing the details of the processing in the embodiment.

[0035] Figure 12 is a flowchart showing the details of the processing in the embodiment.

[0036] Figure 13 is a hardware configuration diagram of the embodiment.

[0037] Figure 14 is a diagram showing other examples of the operator. Detailed Description

[0038] The embodiment will be described with reference to the accompanying drawings.

[0039] Figure 1 is a diagram showing the situation of photographing an object existing in a virtual three-dimensional space using a virtual camera. Specification 2 / 8 pages 5 CN 122095399 A

[0040] In Figure 1, the object 100, which is a car, is a three-dimensional object placed in the virtual space. Axis 140 is a rotation axis set in the virtual space. The computer can rotate the object 100 around axis 140 based on the operator's instructions.

[0041] Multiple axes 140 and operators 150 may exist. In this case, axis 140 can also be selected by the operator selecting and activating operator 150. Alternatively, the desired axis 140 can be selected by clicking the axis 140 with a mouse or similar tool, or by selecting it with the operator's finger on the display screen, based on the operator's instructions. The object 100 can also rotate around the selected axis 140 based on the operator's instructions.

[0042] For example, multiple axes 140 can be configured in a manner that are orthogonal to each other at a predetermined point 152. By repeatedly rotating the object 100 around the selected axis 140 based on the operator's instructions, the object can be set to a desired pose in virtual space.

[0043] The manipulator 150 can also be a circular outline in virtual space, and can exist on a plane 154 orthogonal to the axis 140 at the predetermined point 152 on the axis 140. Furthermore, the manipulator 150 does not need to be circular in three-dimensional space.It has various shapes. Alternatively, the manipulator can be placed in virtual space, captured by a virtual camera, and displayed on the screen. Or, the manipulator may not exist in virtual space but be directly depicted on the screen.

[0044] The manipulator 150 shown in FIG1 is an example of a user interface that receives instructions from an operator to rotate the object 100 about axis 140, and is not limited to the manner shown in FIG1. ​​For example, only a portion of the circle of the manipulator 150 may be displayed on the screen.

[0045] FIG2A to FIG2F are diagrams showing images obtained by capturing, with a virtual camera 160 (not shown), images of the object 100 rotating about axis 140 in virtual space based on instructions from an operator operating the manipulator 150.

[0046] In FIG2A, the mouse button is pressed while the pointer 120, such as the mouse pointer, is located at point 202 of the manipulator 150. The axis 140 of rotation can also be selected through this operator's operation. Furthermore, a dashed line 210 is drawn from the designated point 152 to point 202. The dashed line 210 can also be drawn on the display screen to indicate the start of the operator's mouse button press or drag operation. Alternatively, since the dashed line 210 makes the operator's mouse button press action (drag start action) visual and easy to understand, it may not be displayed.

[0047] In FIG2B, the pointer 120 is shown being dragged to point 204. The object 100 is rotated by this mouse drag operation. The angle of rotation may be the same as or approximately the angle formed by point 202, the specified point 152, and point 204 on the screen. The rotation angle of object 100 can be determined on the screen based on the angle formed by the starting point of the drag, the specified point 152, and the point 204 through which the drag passes. Furthermore, the operator's operation is not limited to drag operation. For example, the starting point can be specified by clicking, the rotation operation can be performed by moving the mouse, and the rotation can be ended by clicking again.

[0048] In FIG2C, the drag operation is further performed, and the pointer 120 is located at point 205. The pointer 120 may not necessarily be located on the outline of the manipulator 150; it may be located at point 205 outside the outline or inside the outline. Through this drag operation, the object 100 is further rotated.

[0049] In FIG. 2D, the drag operation is further performed, and the pointer 120 is located at point 206 inside the manipulator 150. Through this drag operation, the object 100 is further rotated.

[0050] In FIG. 2E, the pointer 120 is located at point 207, and through this drag operation, the object 100 is further rotated.

[0051] In FIG. 2F, the pointer 120 is located at point 208, and through this drag operation, the object 100 is further rotated.

[0052] FIG. 7A to FIG. 7C are diagrams illustrating examples of the action of the manipulator 150 acquiring the mouse pointer 120.

[0053] Figure 7A shows an example of the manipulator. The rotation axis is tilted such that the lower side of the figure is more inward than the upper side when viewed from the virtual camera. When operating the manipulator, the operator mainly uses the following two operating methods.

[0054] As shown in Figure 7B, in the first operating method, the operator moves the pointer along the direction of the circumferential arrow 710 of the manipulator. To make the object rotate clockwise when viewed from above, the pointer is moved from right to left as shown. To make the object rotate counterclockwise, the pointer is moved from left to right, opposite to the figure.

[0055] As shown in Figure 7C, in the second operating method, the operator moves the pointer in the direction of arrow 720, resulting in a rotational movement approximately centered at a predetermined point 152. To make the object rotate clockwise when viewed from above, the pointer is moved clockwise as shown. To make the object rotate counterclockwise, the pointer is moved counterclockwise, opposite to the figure.

[0056] Figures 8A to 8C are diagrams illustrating examples of the actions of the manipulator 150 in acquiring the mouse pointer 120.

[0057] Figure 8A shows another example of the manipulator. The rotation axis is tilted such that the upper side of the diagram is more inward than the lower side when viewed from a virtual camera.

[0058] As shown in Figure 8B, in the first operation method, the operator moves the pointer along the manipulator in the direction of arrow 810. To rotate the object clockwise when viewed from above, the pointer is moved from right to left as shown. To rotate the object counterclockwise, the pointer is moved from left to right, opposite to the diagram. The relationship between the direction of pointer movement and the direction of object rotation is the same as in Figure 7B.

[0059] As shown in Figure 8C, in the second operation method, the operator moves the pointer in the direction of arrow 820, resulting in a rotational movement approximately centered at a predetermined point 152. To rotate the object clockwise when viewed from above, the pointer is moved counterclockwise as shown. To rotate the object counterclockwise, the pointer is moved clockwise, opposite to the diagram. The relationship between the direction of the moving pointer and the rotation direction of the object is opposite to that in FIG7C.

[0060] FIG3 is a diagram showing an image of the object 100 taken by the virtual camera when the axis 140 is nearly perpendicular to the line of sight of the virtual camera. In this case, the manipulator 150 is an elongated elliptical outline, and the distance between the designated point 152 on the display screen and the manipulator 150 becomes closer.

[0061] FIG4A to FIG4C are examples of operations performed using the first operation method when the axis 140 is nearly perpendicular to the line of sight of the virtual camera. The operator intends to rotate the object 100 counterclockwise when viewed from above.

[0062] The operator moves the pointer along the ring of the manipulator. First, as shown in FIG4A, the operator starts dragging from the state where the pointer 120 is located at point A.

[0063] In Figure 4B, the operator continues to drag along the loop of the manipulator 150, moving the pointer 120 to point B1. Point B1 is located below a predetermined point 152. The vector from the predetermined point 152 toward the pointer position is rotated counterclockwise. Through this operation, the object 100 is rotated counterclockwise when viewed from above, resulting in a pose 102a where the front of the car is visible.

[0064] In Figure 4C, the operator further continues to drag along the loop of the manipulator 150, moving the pointer 120 to point C. The vector from the predetermined point 152 toward the pointer position is rotated counterclockwise. Through this operation, the object 100 is further rotated counterclockwise when viewed from above, resulting in a pose 104 where the front and right sides of the car are visible.

[0065] In this way, during the operations of Figures 4A to 4C, the object 100 rotates in the direction desired by the operator.

[0066] Figures 5A to 5C are other examples of operations performed using the first operating method when axis 140 is nearly perpendicular to the line of sight of the virtual camera. Similar to Figures 4A to 4C, the operator's intention is to rotate object 100 counterclockwise when viewed from above.

[0067] Figures 5A and 4A show the same state. The operator begins dragging from a position where pointer 120 is at point A.

[0068] In Figure 5B, the operator continues dragging along the loop of manipulator 150, but assumes that pointer 120 deviates only slightly from the loop and moves to point B2. Point B2 is located above the predetermined point 152. The vector from the predetermined point 152 towards the pointer position rotates clockwise. Through this operation, object 100 rotates clockwise when viewed from above, resulting in a pose 103 where the rear and right sides of the car are visible. Instruction manual, pages 4 / 8, CN 122095399 A

[0069] In FIG5C, the operator continues to drag along the loop of the operator 150, moving the pointer 120 to point C. The vector from the designated point 152 toward the pointer position rotates clockwise. Through this operation, the object 100 rotates further clockwise when viewed from above, becoming a pose 104 where the front and right sides of the car are visible.

[0070] In this way, during the operations of FIG5A to FIG5C, the object 100 rotates in the opposite direction to the direction desired by the operator.

[0071] As described above, when the axis 140 is nearly perpendicular to the line of sight of the virtual camera, the loop of the operator 150 is close to the designated point 152. Therefore, due to the slight deviation of the dragging operation along the loop of the operator 150, the direction of the vector from the designated point 152 toward the pointer position changes significantly, resulting in a situation where the rotation of the object 100 becomes a rotation opposite to the operator's intention.

[0072] Furthermore, if the pointer passes near the designated point 152, the object 100 rotates significantly even with a small drag, resulting in an unnatural user experience.

[0073] Figures 6A to 6C illustrate an example where, by changing the position of a specified point, the operator's instructions are obtained using the changed specified point, so that even when axis 140 is nearly perpendicular to the line of sight of the virtual camera, the rotation direction of object 100 is consistent with the operator's intention.

[0074] The trajectory of the operator's dragging operation in Figures 6A to 6C is A, B2, C, the same as in Figures 5A to 5C.

[0075] In Figure 6A, dragging begins at point A through the operator's operation.

[0076] Figure 6B is a diagram showing the state where the pointer 120 moves to point B2 through dragging operation. The direction and angle of rotation of object 100 can be determined based on point A, specified point 153, and point B2. The vector from specified point 153 towards the pointer position rotates counterclockwise. In Figure 6B, object 100 rotates counterclockwise when viewed from above, becoming a pose 102b where the front of the car is visible. This rotation is in the direction desired by the operator.

[0077] In Figure 6C, the state of the pointer 120 at point C is shown by the operator's drag operation. The rotation direction and angle of the object when it arrives at Figure 6C from Figure 6B can be determined based on point B2, the designated point 153, and point C. Similar to Figure 6B, the object 100 rotates counterclockwise when viewed from above, which is a rotation consistent with the operator's intention.

[0078] In Figures 6A to 6C, unlike the rotation of the object 100 in Figures 5A to 5C, the rotation direction is not opposite to the operator's intention.

[0079] In this way, by changing the position of the designated point from point 152 to point 153, even when the axis 140 is close to a right angle with the line of sight of the virtual camera, the rotation of the object 100 that conforms to the operator's intention can be achieved.

[0080] When the operator performs a drag operation along the manipulator, as shown at point A in Figures 4 to 6, the manipulator is mostly dragged on the part of the ring located on the front side (referred to as the "front side ring part"). Furthermore, in the cases shown in Figures 7 and 8, only the near-front half of the ring is displayed, and the inner half of the ring cannot be identified, so the operator drags the near-front ring portion. Therefore, on the display screen, the direction in which the position of the specified point 152 is moved towards the position of the specified point 153 is preferably set to a direction away from the near-front ring portion. This direction, in other words, is the direction from the near-front to the inner side in the ring of the operator, and further in other words, on the axis, it is the direction from the side with a larger depth value to the side with a smaller depth value as observed by the virtual camera.

[0081] In addition, it is undesirable for the position of the specified point 153 to be significantly separated from the position of the specified point 152. When using the second operation method shown in Figures 7C and 8C, for example, if the specified point 153 is outside the circular trajectory of the pointer, the rotation of the object 100 will repeatedly rotate against the operator's intention. Therefore, it is desirable to enter the assumed pointer with the specified point 153.The position of the specified point 153 is set in the trajectory. The distance between the specified point 153 and the specified point 152 can be set to, for example, 0.1 times the radius of the operator. Specification 5 / 8 pages 8 CN 122095399 A

[0082] In addition, the specified point 153 can be set by moving the position of the specified point 152 to the position of the specified point 153, or the specified point 153 can be set in addition to the specified point 152. In addition, the distance from the specified point 152 to the specified point 153 can also be changed using a predetermined function based on the axis 140 of the object rotation and the direction of the line of sight of the virtual camera 160.

[0083] In addition, the specified point 153 may not exist on the axis 140, or it may be drawn on the display screen. In addition, the specified point 153 on the display screen may not necessarily exist on the line on which the axis 140 of the object rotation is projected onto the display screen.

[0084] FIG9 shows the process flow of the embodiment. Hereinafter, the processing of each step of the process flow will be described.

[0085] Step S9102: Form an operator on the display screen. This operator is an operator whose shape on the display screen changes according to the relative position and / or posture of the virtual camera and the object, and is an operator that receives instructions from the operator on the display screen.

[0086] Step S9104: Set a predetermined point defined on the display screen or a predetermined point existing in the virtual space that is projected onto the display screen by the virtual camera.

[0087] Step S9106: Change the position of the predetermined point on the display screen in a way that the operator and the predetermined point do not get too close.

[0088] Step S9108: As the position indicated by the operator on the display screen moves, rotate the object about an axis based on the rotation angle and rotation direction when rotating the vector from the predetermined point toward the indicated position.

[0089] Step S9110: Draw an image of the rotating object obtained by taking a picture of it with the virtual camera on the display screen.

[0090] FIG10A is a flowchart illustrating a specific example of the process (step S9106) of changing the position of a specified point on the display screen in a manner that prevents the operator from getting too close to the specified point.

[0091] Step S9204: The position of the specified point is moved in the direction of the vector on the axis observed from the virtual camera, which is directed from the side with a larger depth value to the side with a smaller depth value, projected onto the display screen through the virtual camera.

[0092] FIG10B is a flowchart illustrating a specific example of the process (step S9108) of rotating an object around an axis based on the rotation angle and rotation direction when the vector from the specified point to the indicated position is rotated as the operator moves the position indicated on the display screen.

[0093] Step S9704: An upper limit value for the rotation speed of the object is set.

[0094] Even if the specified point 153 is set to be not too close to the operator 150, when the pointer position is close to the specified point 153, the rotation speed of the object becomes too fast, and it is sometimes difficult to operate the posture of the object 100. Therefore, an upper limit value can be preset for the rotation speed of the object 100. In this way, the operator can easily operate the posture of the object.

[0095] FIG11A is a flowchart showing a specific example of the process (step S9108) in which the object rotates about an axis based on the rotation angle and rotation direction when the vector rotates from the specified point toward the indicated position as the operator moves the position indicated on the display screen.

[0096] Step S9804: Set an upper limit value for the ratio of the rotation angle of the object to the amount of movement of the indicated position.

[0097] Even if the specified point 153 is set to be not too close to the operator 150, when the pointer position is close to the specified point 153, the amount of rotation of the object 100 becomes too large relative to the amount of movement of the pointer, and it is sometimes difficult to adjust the posture of the object 100. Therefore, an upper limit can be set in advance for the ratio of the rotation angle of object 100 to the amount of pointer movement. In this way, it is possible to facilitate the operator's adjustment of the posture of object 100.

[0098] FIG11B is a flowchart of a specific example of the process (step S9108) of rotating the object around an axis based on the rotation angle and rotation direction when rotating a vector from a predetermined point toward the indicated position as the operator moves on the display screen.

[0099] Step S9904: Set the inertia of the rotational action.

[0100] Specific examples of inertia are described below. For example, it can be exemplified that when object 100 starts to rotate, the rotational speed is gradually increased. Alternatively, it can be exemplified that before object 100 comes to rest, the rotational speed is gradually decreased. Alternatively, one could exemplify this by gradually reducing the rotational speed before the object 100 comes to rest, while simultaneously rotating the object 100 beyond the angle at which it should come to rest and then rotating it in the opposite direction, thereby bringing the object 100 to rest at the angle at which it should come to rest (a rebound effect), etc.

[0101] FIG12 is a flowchart showing a specific example of the process (step S9108) of rotating the object around an axis based on the rotation angle and rotation direction when rotating a vector from a predetermined point toward the indicated position as the operator moves the position indicated on the display screen.

[0102] Step S9914: In the case where the object has sub-objects in layers, when the object rotates, the sub-objects maintain their position and posture relative to the object while rotating around the axis.

[0103] <Modifications>

[0104] Hereinafter, modification examples are shown. Each modification example can be combined with the embodiment as long as there is no contradiction.

[0105] The manipulator 150 may also include a portion of an ellipse, which is formed by projecting a circle formed on the surface onto the display screen using a virtual camera, centered at the intersection of the plane orthogonal to the axis and the axis.

[0106] The manipulator 150 may also exist as a graphic on the display screen rather than in virtual space.

[0107] FIG14 is a diagram showing another example of the manipulator. As shown in FIG14, the manipulator 150 may also be a line 159 along the surface of the object 1400.

[0108] The angle at which the object is rotated about the axis may also be the same as the rotation angle of the vector from the specified point toward the pointer position.

[0109] The angle at which the object is rotated about the axis may also be the rotation angle of the vector from the specified point toward the pointer position projected by the virtual camera onto the plane 154 in virtual space, and calculated on the plane 154.

[0110] The axis is selected by the operator from multiple axes, which may also be orthogonal to each other.

[0111] When the manipulator is selected by the operator, the axis corresponding to the selected manipulator may also be selected from the multiple axes.

[0112] The specified point may also exist on a straight line projected onto the display screen by a virtual camera.

[0113] The specified point may also be invisible.

[0114] A point defined in virtual space may also exist on the axis.

[0115] FIG13 is a hardware configuration diagram of the embodiment.

[0116] The hardware configuration of the embodiment includes a CPU 1201, a ROM 1202 capable of storing the program and data of this embodiment, a RAM 1203, a network interface 1205, an input interface 1206, a display interface 1207, and an external memory interface 1208. These hardware components are interconnected via a bus 1204.

[0117] The network interface 1205 is connected to a network 1215. The network 1215 may include wired LAN, wireless LAN, the Internet, telephone network, etc. The input interface 1206 is connected to an input unit 1216. The display interface 1207 is connected to a display unit 1217. The display unit 1217 may also be implemented by multiple display devices. External memory interface 1208 is connected to storage medium 1218. Storage medium 1218 may be RAM, ROM, CD-ROM, DVD-ROM, hard disk, memory card, USB memory, etc.

[0118] The steps of the method or program of the illustrated embodiment can be rearranged as long as there is no contradiction. In addition, as long as there is no contradiction, an illustrated step can be executed multiple times at different times. In addition, as long as there is no contradiction, multiple steps can be executed simultaneously. In addition, not all steps are necessary; some steps may be omitted or not executed as long as there is no contradiction. Specification 7 / 8 pages 10 CN 122095399 A

[0119] The above content also applies to the constituent elements of the method specified in the technical solution. That is, as long as there is no contradiction, the order of the constituent elements can be replaced. In addition, as long as there is no contradiction, multiple constituent elements can be implemented simultaneously. Moreover, the implementation of these constituent elements also falls within the technical scope specified in the technical solution.

[0120] In addition, each step can also be executed by an operating system or hardware. In addition, the program can be distributed in a state of being stored in a non-transitory medium.

[0121] The program and method for implementing the above embodiments can be executed by a computer having the hardware structure shown in FIG13. That is, the program of the embodiments can also be implemented as a method for causing a computer to execute.

[0122] The program can be stored in storage medium 1218, ROM 1202 or RAM 1203.

[0123] Each embodiment can be implemented as a device with hardware on which the program is installed.

[0124] Explanation of reference numerals

[0125] 100 Object

[0126] 102a Pose

[0127] 102b Pose

[0128] 120 Pointer

[0129] 140 Axis

[0130] 150 Manipulator

[0131] 152 Specified point

[0132] 153 Specified point

[0133] 154 Plane

[0134] 160 Virtual Camera Instruction Manual 8 / 8 Page 11 CN 122095399 A Figure 1 Instruction Manual Drawing 1 / 13 Page 12 CN 122095399 A Figure 2 Instruction Manual Drawing 2 / 13 Page 13 CN 122095399 A Figure 3 Instruction Manual Drawing 3 / 13 Page 14 CN 122095399 A Figure 4 Instruction Manual Drawing 4 / 13 Page 15 CN Figure 5 of CN 122095399 A (Instruction Manual Appendix 5 / 13, Page 16) Figure 6 of CN 122095399 A (Instruction Manual Appendix 6 / 13, Page 17) Figure 7 of CN 122095399 A (Instruction Manual Appendix 7 / 13, Page 18) Figure 8 of CN 122095399 A (Instruction Manual Appendix 8 / 13, Page 19) Figure 9 of CN 122095399 A (Instruction Manual Appendix 9 / 13, Page 20) Figure 10 of CN 122095399 A (Instruction Manual Appendix 10 / 13, Page 21) Figure 11 of CN 122095399 A (Instruction Manual Appendix 11 / 13, Page 22) Figure 12 of CN 122095399 A (Instruction Manual Appendix 12 / 13, Page 23) Figure 14 of CN 122095399 A (Instruction Manual Appendix 13 / 13, Page 24) CN 122095399 AAbstract To provide technology that enables a computer to more easily rotate and render an object placed in a virtual three-dimensional space on the basis of an instruction from an operator. The disclosed technology provides a rendering method by which a computer renders, on a display screen, an image acquired by capturing an object placed in a virtual space by means of a virtual camera placed in the virtual space, which comprises the following steps: forming a manipulator on the display screen, the shape of the manipulator on the display screen changing according to the relative position and / or orientation of the virtual camera and the object, and the manipulator receiving instructions on the display screen from an operator; setting a prescribed point defined on the display screen or a prescribed point present at a position at which a point defined in the virtual space is projected onto the display screen via the virtual camera; changing the position of the prescribed point on thedisplay screen such that the manipulator and the prescribed point are not too close to each other; rotating the object about an axis on the basis of the angle and direction of rotation of a vector directed from the prescribed point to the instructed position when the vector rotates as the position instructed on the display screen by the operator is moved; and rendering, on the display screen, an image acquired by capturing the rotated object by means of the virtual camera.

Claims

1. A depiction method, which is a computer depicting an image on a display screen obtained by taking a picture of an object placed in a virtual space using a virtual camera placed in the virtual space, comprising the following steps: An operator is formed on the display screen, the shape of which changes according to the relative position and / or posture of the virtual camera and the object, and receives instructions from the operator on the display screen to rotate the object about an axis based on the outline of the operator displayed on the display screen; Define a specified point on the display screen or a specified point in the virtual space that exists at the position where the virtual camera projects onto the display screen; On the display screen, if a portion of the outline of the operator, which is displayed on the display screen in a manner that is close to the side of the virtual camera, is close to the predetermined point, then the position of the predetermined point is changed in the direction away from the portion of the outline; As the operator moves the position indicated on the display screen, the object rotates about the axis based on the rotation angle and direction of the vector rotating from the specified point toward the indicated position; and The image of the rotating object, captured by the virtual camera, is depicted on the display screen.

2. The depiction method as described in claim 1, Changing the position of the specified point includes moving the position of the specified point in the direction that is, the direction of the vector on the axis from the side with the larger depth value observed by the virtual camera toward the side with the smaller depth value, which is projected onto the display screen by the virtual camera.

3. The depiction method as described in claim 1, The manipulator includes a portion of an ellipse, which is an ellipse formed when a circle centered on a plane orthogonal to the axis and a point common to the axis is projected onto the display screen by the virtual camera.

4. The depiction method as described in claim 1, The rotation angle is the same as the angle by which the object rotates about the axis.

5. The depiction method as described in claim 1, The axis is selected by the operator from a plurality of axes, which are orthogonal to each other.

6. The depiction method as described in claim 5, When the operator selects the manipulator, the axis corresponding to the selected manipulator among the plurality of axes is selected.

7. The depiction method as described in claim 1, The rotation includes setting an upper limit value for the rotational speed of the object.

8. The depiction method as described in claim 1, The rotation includes setting an upper limit value for the ratio of the rotation angle of the object to the amount of movement relative to the indicated position.

9. The depiction method as described in claim 1, The rotation includes setting inertia for the rotational motion.

10. The depiction method as described in claim 1, The rotation also includes: When the object has sub-objects in a layered manner, the sub-objects maintain their position and posture relative to the object while rotating about the axis as the object rotates.

11. The depiction method as described in claim 1, The specified point exists on a straight line through which the axis is projected onto the display screen by the virtual camera.

12. The depiction method as described in claim 1, The specified points are not visible.

13. The depiction method as described in claim 1, Points defined in the virtual space exist on the axis.

14. A program, The computer is made to perform the drawing method as described in any one of claims 1 to 13.