Method of generating an image of a three-dimensional object and computer readable storage medium

CN121586915BActive Publication Date: 2026-11-03CELSYS INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202480049251.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2023-07-26
Filing Date
2024-04-12
Publication Date
2026-11-03
Estimated Expiration
2044-04-12

AI Technical Summary

Technical Problem

When using perspective projection in existing drawing software, the movement of the vanishing point causes changes in the size of 3D objects, making it inconvenient for users and resulting in compositions that do not meet their intentions.

Method used

By configuring a virtual camera in a virtual 3D space, perspective projection is used to project 3D objects onto the drawing plane. The camera position and pose are updated in response to changes in the vanishing point position, and the original camera state is restored when the vanishing point returns to its original position, thus generating an image of the 3D object.

Benefits of technology

It enables simple drawing in drawing software with movement linked to the vanishing point, and depicts 3D objects in accordance with user intent, improving the convenience and accuracy of operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121586915B_ABST
    Figure CN121586915B_ABST
Patent Text Reader

Abstract

When a user draws a picture on a virtual canvas by perspective projection using a drawing software, a computer draws a three-dimensional object that is a sample of the user's drawing in linkage with movement of vanishing points on a drawing plane in a composition that is more in line with the user's intention and simply. A method for generating an image of a three-dimensional object by perspective projection of the three-dimensional object existing in a three-dimensional space using a virtual camera configured in the virtual three-dimensional space, the method having the steps of: a plurality of vanishing points corresponding to infinite points of coordinate axes of a known orthogonal coordinate system existing in the three-dimensional space existing on the drawing plane, in response to a change in a position of at least one of the plurality of vanishing points, updating a position and / or a posture of the virtual camera; and generating the image of the three-dimensional object based on the virtual camera whose position and / or posture are updated, the step of updating including: when the position of the changed vanishing point is returned to the position of the vanishing point before the change in the position of at least one of the plurality of vanishing points, applying a process having the following property to change the position and / or the posture of the virtual camera: the position and / or the posture of the updated virtual camera are returned to the position and / or the posture of the virtual camera before the change in the position of at least one of the plurality of vanishing points.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a method for generating images of three-dimensional objects and a computer-readable storage medium. Background Technology

[0002] In the past, when using drawing software to depict three-dimensional objects such as illustrations, perspective rulers based on the method of distance, or perspective (short for "perspective"), were sometimes used.

[0003] When drawing illustrations, a perspective ruler is used to create an accurate perspective view based on the principle of perspective. When drawing an object, the perspective ruler is positioned symmetrically with the object being drawn. For example, if the object is shaped like a box, the perspective ruler is positioned along the shape of the box. Lines for the perspective view can be drawn along the perspective ruler. When drawing lines, the user can use the perspective ruler to draw along its guide lines, thus enabling the creation of accurate straight lines based on perspective even by hand. By repeating the same steps, illustrations based on perspective can be drawn on a two-dimensional canvas.

[0004] In the composition of typical illustrations, perspective is generally used, which is a linear projection method called perspective projection.

[0005] For example, Patent Document 1 discloses a technique for placing a perspective ruler on a planar canvas existing in a virtual three-dimensional space. The perspective ruler is displayed by a computer so that lines are drawn on the canvas along the perspective ruler according to instructions from a user depicting a fisheye lens.

[0006] Furthermore, for example, Non-Patent Document 1 discloses a technique for arranging a 3D object of the human body in a 3D layer that defines a perspective ruler. If the vanishing point or the line of sight is moved horizontally, the angle of the 3D layer also changes accordingly, and the way the 3D object is presented also changes accordingly. However, if the vanishing point is moved multiple times, the size of the 3D object being depicted will change, resulting in a composition that the user does not want, thus providing a function that lacks convenience.

[0007] Prior art literature

[0008] Patent documents

[0009] Patent Document 1: Japanese Patent No. 7305241

[0010] Non-patent literature

[0011] Non-patent literature 1: "Linkage between perspective ruler and 3D layer - Utilization of perspective ruler, Part 2 -"

[0012] https: / / tips.clip-studio.com / ja-jp / articles / 1116#1dff0c63

[0013] (Accessed July 24, 2023) Summary of the Invention

[0014] The technical problem that the invention aims to solve

[0015] The purpose of the disclosed technology is to enable the computer to move in conjunction with the vanishing point to create a three-dimensional object that is a sample of the user's drawing on the drawing plane, in a way that better matches the user's intentions, when the user is drawing a picture on a virtual canvas using drawing software through perspective projection.

[0016] Technical means for solving technical problems

[0017] The disclosed technology is a method that uses a virtual camera configured in a virtual 3D space to project a 3D object existing in the 3D space onto a drawing plane through perspective projection, thereby generating an image of the 3D object.

[0018] It has the following steps:

[0019] Multiple vanishing points, corresponding to infinity of the coordinate axes of a known orthogonal coordinate system existing in the three-dimensional space, exist on the depiction plane. In response to a change in the position of at least one of these vanishing points, the position and / or pose of the virtual camera are updated; and

[0020] An image of the 3D object is generated based on the updated position and / or pose of the virtual camera.

[0021] The update step includes the following: when the position of the changed vanishing point returns to the position of at least one of the plurality of vanishing points before the change of the vanishing point, a process with the following properties is applied to change the position and / or pose of the virtual camera: the updated position and / or pose of the virtual camera returns to the position of at least one of the plurality of vanishing points before the change of the virtual camera.

[0022] Invention Effects

[0023] According to the publicly available technology, when a user uses drawing software to draw a picture on a virtual canvas through perspective projection, the computer can, in conjunction with the movement of the vanishing point, draw a three-dimensional object on the drawing plane that becomes a sample of the user's drawing in a composition that better matches the user's intention. Attached Figure Description

[0024] Figure 1A It is a diagram that shows the camera, the drawing plane, the reference coordinate system, and the sampling points from a direction parallel to the drawing plane.

[0025] Figure 1B The arrangement of points Po, Ps, and vanishing point Vs is a diagram showing the situation where points Ps and vanishing point Vs are on opposite sides when viewed from point Po.

[0026] Figure 1C This indicates that the depicting plane is positioned relative to... Figure 1A A diagram showing examples of different locations.

[0027] Figure 2A It is a diagram representing points Po, Ps, and the vanishing point Vs on a plane.

[0028] Figure 2B This is a diagram illustrating an example where the foot of the perpendicular from point Ps_old to the semi-linear line Vs_newPo is set to Ps_new.

[0029] Figure 2C This is a diagram illustrating an example where point Ps gradually approaches point Po by repeatedly moving the vanishing point.

[0030] Figure 2D This represents an example of determining the position of Ps_new by making PoPs_old=PoPs_new.

[0031] Figure 2E It means in Figure 2D The example Vs_new is too close to the example of Po.

[0032] Figure 3 This is a diagram illustrating an example of using points Po and Ps_new to determine the new position O_new of the origin O in the camera coordinate system.

[0033] Figure 4A This is a diagram illustrating an example where the foot of the perpendicular from point H_old to line segment V1_newV2_new on the depicting plane 100 is set to point H_new.

[0034] Figure 4B This diagram illustrates an example where point H gradually approaches V1 while the position of V2 changes sequentially, with V1 remaining constant.

[0035] Figure 4C This is a diagram illustrating an example of not allowing a perpendicular line to descend from point H_old to line segment V1_newV2_new.

[0036] Figure 4D This is a diagram illustrating another example of preventing a perpendicular line from point H_old to line segment V1_newV2_new.

[0037] Figure 4E This is a diagram illustrating an example of maintaining the distance between the vanishing point and point H.

[0038] Figure 4F This is a graph representing an example where the length V1_newV2_new becomes too short, and the point H_new cannot be obtained on the line segment V1_newV2_new.

[0039] Figure 5 This is a diagram representing an example of defining and using a new reference coordinate system 301 instead of the origin O of the alternative reference coordinate system 300.

[0040] Figure 6A It is a diagram showing the positional relationship between the vanishing points V1, V2, V3 on the depicting plane 100, the camera Pc, and the three coordinate axes of the reference coordinate system 300.

[0041] Figure 6B It is a diagram that shows the vanishing point of two-point perspective and the characteristics of a camera.

[0042] Figure 6C It is a diagram showing the situation where the position of the point projected from the origin of the reference coordinate system onto the drawing plane 100 remains unchanged before and after the vanishing point position changes.

[0043] Figure 7A This is a diagram illustrating an example where PcO / PcPo remains constant before and after the vanishing point position changes.

[0044] Figure 7B This is a diagram illustrating an example where PcO remains unchanged before and after the vanishing point position changes.

[0045] Figure 7C This diagram illustrates an example where the magnitude of the component of the camera's optical axis remains unchanged before and after the vanishing point position changes.

[0046] Figure 8A This is a diagram illustrating an example where the position of point Po on plane 100 changes along with the position of the vanishing point.

[0047] Figure 8B This is a diagram illustrating an example where the foot of the perpendicular from point Ps_old to the semi-linear line Vs_newPo_new is set to Ps_new.

[0048] Figure 8C This represents an example of determining the position of Ps_new in such a way that it becomes Po_oldPs_old=Po_newPs_new.

[0049] Figure 8D This is a diagram illustrating an example where PcO / PcPo remains constant before and after the vanishing point position changes.

[0050] Figure 8EThis is a diagram illustrating an example where PcO remains unchanged before and after the vanishing point position changes.

[0051] Figure 8F This diagram illustrates an example where the magnitude of the component of the camera's optical axis remains unchanged before and after the vanishing point position changes.

[0052] Figure 9 It is a diagram illustrating perspective drawing.

[0053] Figures 10A and 10B are illustrations showing the changes in the image 155 of an object when the positions of the vanishing points V1 and V3 in the depicting plane 100 are changed.

[0054] Figure 11 This is a hardware configuration diagram of the implementation method. Detailed Implementation

[0055] A perspective ruler is provided along with various functions when a user draws on a virtual canvas on a flat surface using an input interface (e.g., a stylus, mouse, touch panel, tablet, pointing device, etc.). It should be noted that in this specification, descriptions of generally known functions among the existing features related to the perspective ruler are sometimes omitted.

[0056] Furthermore, the following description assumes that the disclosed technology will be primarily used for perspective rulers. However, it should be noted that the disclosed technology is not limited to applications on perspective rulers, but can also be used for creating scenes in three-dimensional space, such as creating 3DCG images, and for rapidly generating images that estimate changes in the position and / or pose of objects in actual space.

[0057] Furthermore, virtual three-dimensional space is sometimes mentioned in this specification. However, it should be noted that this virtual three-dimensional space is used for the purpose of easily understanding and explaining this technology (such as the method of generating a perspective ruler), and its existence is not necessary when the user uses this technology (such as a perspective ruler) to draw.

[0058] The following describes the prerequisites for implementing the method.

[0059] (1) Regarding the vanishing point

[0060] When a camera positioned in three-dimensional space is used to draw a straight line in that space onto a drawing plane using perspective projection, the line converges at infinity to a point on the drawing plane. This point of convergence is called the vanishing point of the line. The location of the vanishing point on the drawing plane can be determined by the intersection of the drawing plane with a line passing through the camera's position and parallel to the line. However, if the line is parallel to the drawing plane, the vanishing point becomes infinitely far away and therefore will not appear on the drawing plane.

[0061] A group of parallel lines has the same vanishing point.

[0062] (2) Reference coordinate system

[0063] In this invention, the focus is on a known orthogonal coordinate system existing in three-dimensional space, and the behavior of manipulating the position of the vanishing point of the coordinate axis is addressed. This known orthogonal coordinate system is referred to as the "reference coordinate system".

[0064] Figure 9 This is a diagram illustrating perspective drawing (a drawing method based on perspective projection). By observing object 150 from a camera Pc, which is equivalent to the eye in perspective drawing, the computer can project object 150 onto the drawing plane 100 and draw an image 155 of object 150.

[0065] The position and orientation of object 150 are determined by a known reference coordinate system 300, which will be described later. The reference coordinate system 300 has three mutually orthogonal coordinate axes 305, 306, and 307, and an origin O.

[0066] On the drawing plane 100, there are vanishing points V1, V2, and V3 in three-point perspective. Furthermore, two-point perspective or one-point perspective can also be used to draw on the drawing plane 100.

[0067] The camera Pc lies on a straight line passing through the orthocenter of the triangle V1V2V3 formed by the three vanishing points and perpendicular to the drawing plane, satisfying ∠V1PcV2=∠V2PcV3=∠V3PcV1=π / 2. Furthermore, PcV1 is parallel to coordinate axis 306 of the reference coordinate system 300, PcV2 is parallel to coordinate axis 305 of the reference coordinate system 300, and PcV3 is parallel to coordinate axis 307 of the reference coordinate system 300. Therefore, if the vanishing points V1, V2, and V3 are determined, the relative orientation of the camera to the reference coordinate system is determined.

[0068] Furthermore, since the position and orientation of object 150 are determined in reference coordinate system 300, the relative orientation of the camera to the reference coordinate system changes when the position of at least one vanishing point changes, and therefore image 155 also changes.

[0069] Details regarding the method for determining the relative position of the camera to the reference coordinate system will be described later.

[0070] Figure 10 is a diagram illustrating the changes in the image 155 of an object as the positions of vanishing points V1 and V3 in plane 100 change.

[0071] Furthermore, this example illustrates the change of position of two vanishing points, but the same idea can certainly be applied to the case where the position of at least one vanishing point changes, or the case where the positions of all three vanishing points are changed.

[0072] Figure 10A shows the position of the vanishing points V1 and V3 before the position changes and the image 155a of object 150.

[0073] Figure 10B shows the positions of the vanishing points V1 and V3 before the changes, and an image 155a of object 150. The position of vanishing point V1 changes from V1a to V1b. Additionally, the position of vanishing point V3 changes from V3a to V3b. An image 155b of object 150 after the changes in the positions of vanishing points V1 and V3 is shown.

[0074] Thus, in response to the operator changing the position of at least one of the three vanishing points, the image of the object depicted on plane 100 will change. By changing the position of at least one vanishing point, the operator can obtain an image of the object in the desired manner of presentation. The operator can easily draw three-dimensional illustrations, perspective-based drawings, etc., using the obtained image of the object as a sample.

[0075] (3) Expression

[0076] The line segment connecting points A and B is denoted as "line segment AB". The length of line segment AB is denoted as "AB" or "length AB".

[0077] In addition, lines without thickness and surfaces without thickness are also included in 3D objects.

[0078] (4) The position of the camera Pc in three-point perspective

[0079] When none of the three coordinate axes of the reference coordinate system 300 are parallel to the drawing plane 100, three vanishing points appear on the drawing plane 100. This state is called three-point perspective.

[0080] (5) Vanishing point of three-point perspective

[0081] Regarding the vanishing point of three-point perspective, the following properties are known:

[0082] like Figure 6A As shown, the three vanishing points on the drawing plane 100 formed by the three coordinate axes of the reference coordinate system 300 are designated as V1, V2, and V3, respectively. The position of the camera is designated as Pc. The line passing through the orthocenter H of triangle V1V2V3 and perpendicular to the drawing plane 100 is designated as L. Pc exists on the line L. Furthermore, ∠V1PcV2 = ∠V2PcV3 = ∠V3PcV1 = π / 2. In addition, triangle V1V2V3 must be an acute triangle, and the orthocenter H is located inside triangle V1V2V3.

[0083] Using this characteristic, the relative positional relationship between the drawing plane 100 and the camera Pc can be determined. Furthermore, the relative orientation of the drawing plane 100 and the camera Pc is usually preset and does not change.

[0084] Furthermore, lines PcV1, PcV2, and PcV3 are each parallel to one coordinate axis of the reference coordinate system 300. Therefore, the relative pose of camera Pc and the reference coordinate system 300 can be obtained. However, based solely on this condition, the relative position of camera Pc and the reference coordinate system 300 is uncertain.

[0085] (6) The position of the camera Pc in two-point perspective

[0086] If one of the coordinate axes in the reference coordinate system 300 is parallel to the drawing plane 100, and the remaining two are not parallel to the drawing plane 100, then there are two vanishing points on the drawing plane 100 (the location of the remaining one becomes infinity). This state is called two-point perspective.

[0087] (7) Vanishing point of two-point perspective

[0088] Regarding the vanishing point of two-point perspective, the following properties are known:

[0089] like Figure 6B As shown, let V1 and V2 be the two vanishing points on the drawing plane 100 formed by the two axes of the reference coordinate system 300. Let Pc be the position of the camera. Let M be the plane that includes line segments V1V2 and is perpendicular to the drawing plane 100. Pc exists on plane M. Furthermore, ∠V1PcV2 = π / 2. In other words, Pc exists on plane M and on the circumference of the semicircle with line segments V1V2 as its diameter (according to the theorem of inscribed angles).

[0090] In this way, the relative positional relationship between the drawing plane 100 and the camera Pc cannot be determined solely based on the location of the vanishing point. Therefore, certain additional conditions are needed to determine the positional relationship.

[0091] If the relative positional relationship between the depicting plane 100 and the camera Pc is obtained, then lines PcV1 and PcV2 are parallel to one of the coordinate axes of the reference coordinate system 300, thus allowing us to determine the relative pose of the camera Pc and the reference coordinate system 300. However, similar to the case of three-point perspective, the relative position of the camera Pc and the reference coordinate system 300 is uncertain.

[0092] (8) Methods of each implementation

[0093] In each embodiment, when the user performs an operation to change the vanishing point position, a method is used to change the position and orientation of the camera Pc accordingly.

[0094] <Implementation Method 1 (Three-Point Perspective)>

[0095] Assume that three vanishing points already exist on the drawing plane 100, and obtain the position and pose of the camera Pc and the reference coordinate system 300. Starting from this state, through user operations, the position of at least one vanishing point is changed.

[0096] As mentioned above, the relative pose of camera Pc and reference coordinate system 300 can be determined based on the position of the changed vanishing point, but the relative position is uncertain. Therefore, the relative position of camera Pc and reference coordinate system 300 is determined by setting the following conditions.

[0097] <Method A1: Using the origin of the reference coordinate system and sampling points>

[0098] A sampling point is a point in the reference coordinate system 300 whose position coordinates are known. The conditions are set as follows.

[0099] (Condition 1)

[0100] Before and after the vanishing point position changes, the position of the point on the drawing plane 100 that projects the origin of the reference coordinate system remains unchanged.

[0101] If we illustrate the setting of condition 1, then as follows: Figure 6C As shown. Pc_old is the camera position before the vanishing point position change. Pc_new is the camera position obtained based on the vanishing point after the vanishing point position change. H_old and H_new are the feet of the perpendiculars from the camera Pc before and after the vanishing point position change to the drawing plane 100. Point Po is obtained by projecting the origin O_old of the reference coordinate system before the vanishing point position change onto the drawing plane 100 using the camera Pc_old. The origin O_new of the reference coordinate system after the vanishing point position change exists on the line connecting the camera Pc_new and point Po, but its exact location on that line is unknown. Furthermore, the directions of each coordinate axis of the reference coordinate system 300 after the vanishing point position change are obtained as the directions of the lines connecting Pc_new and each vanishing point.

[0102] This alone is insufficient; therefore, the location of the sampling points is projected onto the drawing plane 100. The specific method of utilization will be explained later.

[0103] Figure 1AThis is a diagram showing the camera Pc, the drawing plane 100, the reference coordinate system 300, and the sampling point S as viewed from a direction parallel to the drawing plane 100. The camera position is set to Pc. Using the camera Pc located at point Pc, the origin O of the reference coordinate system 300 and the sampling point S are projected onto points Po and Ps on the drawing plane 100, respectively. The vanishing point on the drawing plane 100 of the line connecting points O and S is set to Vs. That is, the line PcVs is parallel to the line OS. Points Pc, O, Po, S, Ps, and Vs all exist on the same plane. Therefore, points Po, Ps, and Vs exist on the same straight line.

[0104] Furthermore, the arrangement of points Po, Ps, and vanishing point Vs is as follows: Figure 1B As shown, when viewed from point Po, sometimes points Ps and the vanishing point Vs are on opposite sides. However, when viewed from the vanishing point Vs, points Po and Ps are always on the same side.

[0105] The distance from the camera Pc to the drawing plane 100 is arbitrary. Specifically, the content drawn on the drawing plane 100 is presented to the user as an image, and the user performs operations such as changing the vanishing point position on this image. On the other hand, the camera Pc or the object exists in a virtual three-dimensional space. The units of length on the image and the units of length in the three-dimensional space are independent and can be set arbitrarily. For example, the length on the image can be represented in pixels, and the length in the three-dimensional space can be represented in meters. Furthermore, it is arbitrary to make 1 pixel equivalent to a certain number of meters; changing this setting changes the distance from the camera Pc to the drawing plane 100.

[0106] Therefore, for example, it can also be replaced Figure 1A And like Figure 1C The drawing plane is configured as follows: 100. However, it is preferable to maintain consistency before and after the change in the vanishing point position. For example, when the previously cited conversion ratio of pixels to meters is set to 1 pixel = k meters, it is preferable to keep the value of k the same before and after the change in the vanishing point position. Figure 6C This diagram, based on the depicting plane 100, shows the position and orientation of the camera Pc and the reference coordinate system 300 before and after a change in the vanishing point's location. For example, if the position of one of the three vanishing points is changed, the remaining two vanishing points... Figure 6C The position of the point on the drawing plane 100 remains unchanged. If the value of k is kept the same before and after the vanishing point position change, then... Figure 6CIn the diagram, 1 meter in reference coordinate system 300 before the vanishing point position change and 1 meter in reference coordinate system 300 after the vanishing point position change are the same length, thus making the explanation easier. Therefore, in the following description, it is assumed that the value of k is the same before and after the vanishing point position change. The value of k is arbitrary in the range k>0. Furthermore, in any of the methods of the present invention described below, the results obtained (the relative position and orientation of Pc_new and reference coordinate system 300) are the same regardless of the value of k.

[0107] Figure 2A This represents points Po, Ps, and the vanishing point Vs on the plane 100. Before the vanishing point position change, the positions of points Ps and Vs were Ps_old and Vs_old, respectively. After the vanishing point position change, the positions of points Ps and Vs were Ps_new and Vs_new, respectively. The position of point Po remained unchanged before and after the vanishing point position change due to the aforementioned conditions.

[0108] Points Po, Ps_old, and the vanishing point Vs_old are known. The position of the vanishing point Vs_new is determined as follows. Based on the three vanishing points V1, V2, and V3 on the drawing plane 100 after the vanishing point position change, the relative pose of the camera Pc and the reference coordinate system 300 after the vanishing point position change is determined. Since the position of the sampling point S in the reference coordinate system 300 is known, it is used to determine the direction of the line OS in the camera coordinate system. Figure 1A Similarly, the intersection of the line passing through point Pc and parallel to line OS with the drawing plane 100 is set as Vs_new. In this way, even if the relative position of camera Pc and reference coordinate system 300 is unknown, the vanishing point Vs_new can be calculated because the relative pose can be determined.

[0109] Point Ps_new exists on the semi-line Vs_newPo (which extends infinitely on the Po side). The position of point Ps_new is determined by the following method.

[0110] <Method B1>

[0111] like Figure 2B As shown, the foot of the perpendicular from point Ps_old to the semi-linear line Vs_newPo is set as Ps_new. In other words, the position of Ps_new is determined such that ∠Ps_oldPs_newPo = π / 2. In this method, point Ps_new is the point on the line PoVs_new that is closest to point Ps_old. Therefore, the change in the position of point Ps on the drawing plane 100 is minimized.

[0112] However, since PoPs_new ≤ PoPs_old, therefore, as Figure 2CAs shown, when processing 11, 12, and 13 repeatedly, there is a problem that point Ps is close to point Po.

[0113] <Method B2>

[0114] like Figure 2D As shown, the position of Ps_new is determined in such a way that PoPs_old = PoPs_new. In this method, the length PoPs does not change even if it is processed repeatedly, therefore it does not produce the results of method B1. Figure 2C The problem. However, as Figure 2E As shown, when Vs_new is too close to Po, point Ps_new has to be obtained on the half-line extending Vs_newPo towards Po, becoming... Figure 1B That positional relationship. Such an arrangement is geometrically correct, but if we consider... Figure 1A Such configuration changes are Figure 1B With such a configuration, the orientation of the reference coordinate system 300 relative to the camera Pc would change drastically. This means that if the reference coordinate system 300 is used as a reference, the orientation of the camera Pc will change drastically, making it less operable for the user.

[0115] In addition, this method includes the following transformation: when the user performs an operation to change the vanishing point position on the image, and then restores the vanishing point position, the position and / or pose of the camera Pc return to the state before the operation to change the vanishing point position on the image performed by the user.

[0116] In general terms, this method can be described as a method that includes a reversible transformation of the state change of the camera Pc before and after the vanishing point movement. Such a method, which includes a reversible transformation, is one that will not cause adverse effects in practical application, and can be considered a method that can be fully utilized. Methods including such reversible transformations naturally fall within the technical scope defined by the protection scope.

[0117] <Method B3>

[0118] The position of Ps_new is determined in such a way that PoPs_old / PoVs_old=PoPs_new / PoVs_new.

[0119] As described above, any one of methods B1, B2, or B3 is used to determine the position of Ps_new. Next, using point Po and point Ps_new, the new position O_new of the origin O in the camera coordinate system is determined. Figure 3 Since it is known that O_new exists on the line Pc_newPo, we can find its location on the line as follows.

[0120] Let the origin and sampling point of the reference coordinate system 300 after the vanishing point position is changed be O_new and S_new, respectively. First, calculate the length of O_newS' in the figure. Point S' is a point on the line Pc_newPs_new, and line segment O_newS' is parallel to line segment PoPs_new. As mentioned above, based on the positions of the three vanishing points, calculate the pose of the reference coordinate system 300 relative to the camera coordinate system. Since the position coordinates of the sampling points in the reference coordinate system 300 are known, the direction of the line O_newS_new relative to the camera coordinate system can be calculated. In addition, since the direction of line segment S'S_new is the same as the direction of the line PcPs_new, the direction of line segment S'S_new in the camera coordinate system is known. Furthermore, since line segment O_newS' is parallel to line segment PoPs_new, the direction of line segment O_newS' in the camera coordinate system is known. Therefore, if we focus on △O_newS'S_new, the directions of its three sides are known, and the angles of its three angles are also known. Furthermore, since the coordinates of the sampling points in the reference coordinate system 300 are known, the length of side O_newS_new is also known. Generally, if the angles of the three corners of a triangle and the length of one side are known, the lengths of the remaining two sides can be calculated. Therefore, the length of side O_newS' can be calculated.

[0121] Next, we calculate the length Pc_newO_new. Since △Pc_newPoPs_new and △PcO_newS' are similar in shape, Pc_newPo:PoPs_new = Pc_newO_new:O_newS'. Therefore, Pc_newO_new can be obtained from Pc_newO_new = O_newS'*(Pc_newPo / PoPs_new).

[0122] Therefore, the position of the reference coordinate system 300 in the camera coordinate system can be obtained. The position and orientation of the camera coordinate system relative to the reference coordinate system 300 can then be determined. Since the position and orientation of the reference coordinate system 300 are known, the position and orientation of the camera Pc can be determined.

[0123] <Methods using only the origin of the reference coordinate system (methods A2, A3, A4, A5)>

[0124] In method A1 above, the origin of the reference coordinate system and the sampling point are used, but in the following methods (A2, A3, A4), the sampling point is not used and only the origin of the reference coordinate system is used.

[0125] Methods A2, A3, and A4 all have the same conditions as method A1.

[0126] (Condition 1) Before and after the vanishing point position changes, the position of the point on the drawing plane 100 that projects the origin of the reference coordinate system remains unchanged.

[0127] Then, the following conditions are set respectively. Based on these additional conditions, the position of O_new on the line Pc_newPo is determined.

[0128] <Method A2>

[0129] like Figure 7A As shown, PcO / PcPo remains unchanged before and after the vanishing point position changes. That is, Pc_oldO_old / Pc_oldPo = Pc_newO_new / Pc_newPo.

[0130] <Method A3>

[0131] like Figure 7B As shown, PcO remains unchanged before and after the vanishing point position changes. That is, Pc_oldO_old = Pc_newO_new.

[0132] <Method A4>

[0133] like Figure 7C As shown, the magnitude of the component of the camera optical axis of PcO (in other words, the component perpendicular to the drawing plane 100) remains unchanged before and after the vanishing point position changes.

[0134] <Method A5>

[0135] Before and after the vanishing point position changes, the area of ​​the specified 3D object projected onto the drawing plane 100 remains unchanged.

[0136] If method A2 is used, the size of the object being depicted on the depiction plane 100 near the origin of the reference coordinate system remains almost unchanged before and after the vanishing point position changes.

[0137] If methods A3 and A4 are used, for example, if the vanishing point is moved and the triangle formed by the three vanishing points is enlarged, the size of the object being depicted on the depicting plane 100 near the origin of the reference coordinate system also increases.

[0138] Method A3 has the following side effect: due to the movement of the camera Pc, if the position of the object being depicted, as observed from the camera Pc, moves away from the front of the camera Pc, the size of the depicted object increases. Method A4 does not have this side effect.

[0139] <Setting the reference coordinate system to 300>

[0140] Regarding the pose of reference coordinate system 300, the following poses can be used (but are not limited to the following).

[0141] (1) World coordinate system

[0142] (2) Object coordinate system

[0143] Regarding the origin position of the reference coordinate system 300, the following origin positions can be used (but are not limited to the following).

[0144] (1) Origin of the world coordinate system

[0145] (2) Origin of the object coordinate system

[0146] The world coordinate system refers to the most basic coordinate system that is pre-defined in the three-dimensional space that is being depicted.

[0147] An object coordinate system refers to a coordinate system that is pre-defined for an object existing in three-dimensional space.

[0148] There are no particular restrictions on the combination of position and orientation of reference coordinate system 300. For example, the origin of the object can also be used as the origin of reference coordinate system 300, and the orientation of the world coordinate system can also be used as the orientation of reference coordinate system 300.

[0149] <Location of sampling point in reference coordinate system 300>

[0150] The sampling point can also be set on the coordinate axis of the reference coordinate system 300. Therefore, since the vanishing point Vs coincides with one of the vanishing points V1, V2, and V3, it is not necessary to calculate the position of Vs.

[0151] Furthermore, for example, the coordinates of the sampling points in the reference coordinate system 300 can either always use the same coordinate values, such as (100,0,0), or the coordinate values ​​can be changed in each processing step. For example, the origin of the object can be used as the origin of the reference coordinate system 300, and the coordinates of the sampling points can be changed according to the distance between the camera Pc and the object. When the distance between the camera Pc and the object is close, the distance between the sampling point and the origin can be decreased; when the distance is far, the distance between the sampling point and the origin can be increased.

[0152] However, when the coordinates of the sampling points in the reference coordinate system 300 are set to fixed values, such as (100,0,0), it can sometimes be undesirable to cause the position of the vanishing point, which corresponds to the direction (100,0,0), to change significantly on the drawing plane 100. For example, when using methods B1 and B2 described above, the following property applies: when the position of the vanishing point Vs changes significantly and the length of PoVs_new becomes shorter, it becomes impossible to obtain the position of point Ps_new on the half-line Vs_newPo.

[0153] As a way to correct the above-mentioned properties, the following method can also be used.

[0154] <Method C1>

[0155] The coordinates of the sampling point in the reference coordinate system 300 are selected from the three points (100,0,0), (0,100,0), and (0,0,100). The directions of these three points correspond to the vanishing points V1, V2, and V3 on the drawing plane 100, respectively. The sampling point corresponding to the vanishing point with the least change in position on the drawing plane 100 is used.

[0156] <Method C2>

[0157] Determine the coordinates of sampling point S in reference coordinate system 300 based on the following conditions.

[0158] (Condition C2-1) The distance from the origin of the reference coordinate system is within a specified distance d (e.g., d=100).

[0159] (Condition C2-2) Before and after the vanishing point position changes, the direction from Po to Ps on the drawing plane 100 does not change.

[0160] The coordinates of sampling points that satisfy these conditions can be obtained in the following way.

[0161] Before the vanishing point position changes, the matrix representing the pose of reference coordinate system 300 in camera coordinates is denoted as M_old. The elements of the matrix are arranged such that each row of M_old is a vector representing the unit vector of each coordinate axis of reference coordinate system 300 in camera coordinates. Similarly, after the vanishing point position changes, the matrix representing the pose of reference coordinate system 300 in camera coordinates is denoted as M_new. The matrix M_rot, representing the rotation from M_old to M_new, is calculated using the following formula.

[0162] M_rot=M_old -1 M_new

[0163] M_rot can be understood as rotation around a certain axis. Let this axis vector be v_axis. While there are multiple methods to derive v_axis from M_rot, one could, for example, convert M_rot to a quaternion and normalize its imaginary part. Since the resulting v_axis is a vector represented in camera coordinates, it can be derived by setting v_axis to a row vector and multiplying it by M_old from the right. -1 (or M_new) -1 ), and then converted into a vector v_ref represented in reference coordinate system 300.

[0164] v_ref=v_axisM_old -1

[0165] or

[0166] v_ref=v_axisM_new -1

[0167] The result of multiplying v_ref by d becomes the coordinates of the sampling point S in the reference coordinate system 300.

[0168] <Methods by which the position of point Po projected onto the drawing plane 100 changes>

[0169] In the method described above, the position and / or pose of camera Pc are determined by setting the condition that "the position of point Po projected onto the drawing plane 100 from the origin O of the reference coordinate system 300 remains unchanged before and after the vanishing point position changes".

[0170] As Figure 8A The alternative scheme illustrated illustrates a method based on different conditions. In this method, the position of point Po on the drawing plane 100 changes along with the vanishing point position. The position of point Po after the vanishing point position change is determined based on the new vanishing point position.

[0171] Let the three vanishing points on the drawing plane 100 be V1, V2, and V3, respectively. Let the vector from V1 to V2 be Va. Let the vector from V1 to V3 be Vb. As mentioned above, since triangle V1V2V3 is an acute triangle, Va and Vb are not parallel. The position of any point P on the drawing plane 100 can be represented as a linear combination of vectors Va and Vb, as shown in the following equation.

[0172] P = V1 + KaVa + KbVb

[0173] If Ka and Kb are given, the location of point P is uniquely determined. Conversely, if the location of point P is given, the values ​​of Ka and Kb are uniquely determined. The latter is derived as follows.

[0174] Let Na be the unit vector perpendicular to Va that represents the vector on plane 100. Let Nb be the unit vector perpendicular to Vb that represents the vector on plane 100. Using Va・Na=0 and Vb・Nb=0, Ka and Kb can be calculated as follows. Furthermore, "・" denotes the inner product.

[0175] Ka = ((P-V1)・Nb) / (Va・Nb)

[0176] Kb=((P-V1)・Na) / (Vb・Na)

[0177] Using this, the position of point Po after the vanishing point position has changed can be determined by the following method.

[0178] Set Po, V1, Va, and Vb to Po_old, V1_old, Va_old, and Vb_old respectively before the vanishing point position is changed.

[0179] After changing the vanishing point position, set Po, V1, Va, and Vb to Po_new, V1_new, Va_new, and Vb_new, respectively.

[0180] Find Ka and Kb that satisfy Po_old = V1_old + KaVa_old + KbVb_old.

[0181] Use the following formula to calculate Po_new.

[0182] Po_new=V1_new+KaVa_new+KbVb_new

[0183] The origin O_new of the reference coordinate system after the vanishing point position change exists on the straight line connecting the camera Pc_new and the point Po_new, but its exact location on that line is unknown.

[0184] The process for determining the origin O_new of the reference coordinate system, which is described thereafter, is largely the same as the case where the condition "the position of point Po remains unchanged before and after the vanishing point position changes" has already been explained. Therefore, it should be noted that only the differences in the process will be described.

[0185] Method B1 as follows Figure 8B As shown, the foot of the perpendicular from point Ps_old to the semi-linear line Vs_newPo_new is set as Ps_new.

[0186] Method B2 as follows Figure 8C As shown, the position of point Ps_new is determined in such a way that Po_oldPs_old=Po_newPs_new.

[0187] Method B3 determines the position of Ps_new in such a way that it becomes Po_oldPs_old / Po_oldVs_old=Po_newPs_new / Po_newVs_new.

[0188] Figure 3 Po is equivalent to Po_new.

[0189] Method A2 as follows Figure 8D As shown, PcO / PcPo remains unchanged before and after the vanishing point position changes. That is, Pc_oldO_old / Pc_oldPo_old = Pc_newO_new / Pc_newPo_new.

[0190] Method A3 as follows Figure 8E As shown, PcO remains unchanged before and after the vanishing point position changes. That is, Pc_oldO_old = Pc_newO_new.

[0191] Method A4 Figure 8F As shown, the magnitude of the component of the camera optical axis of PcO (in other words, the component perpendicular to the drawing plane 100) remains unchanged before and after the vanishing point position changes.

[0192] <Vanish Point Configuration in Three-Point Perspective>

[0193] As mentioned above, in three-point perspective, triangle V1V2V3 with vanishing points V1, V2, and V3 as its three vertices must be an acute triangle. In other words, it is theoretically impossible for triangle V1V2V3 to be an obtuse triangle. Therefore, consider the following solution.

[0194] (Variation 1) In a user interface that allows triangles V1V2V3 to be obtuse triangles, in order to prevent the calculation of the camera's position and / or pose from failing when triangle V1V2V3 becomes an obtuse triangle, the position and / or pose of the camera Pc are set not to be updated. Then, according to the operator's instructions, when triangle V1V2V3 returns to an acute triangle, the update of the camera Pc's position and / or pose restarts.

[0195] (Modification 2) As another modification, a user interface can be provided that limits the movement range of the three vanishing points in a way that prevents triangles V1V2V3 from becoming obtuse triangles. However, since the movement range of the vanishing points is limited in such a user interface setting, it can sometimes cause discomfort to the user. Therefore, the above-described Modification 1 is preferred.

[0196] <Implementation Method 2 (Two-Point Perspective)>

[0197] This section explains how to handle situations where the vanishing point position changes and the perspective becomes two-point.

[0198] As mentioned above, in two-point perspective, the relative position between the drawing plane 100 and the camera Pc cannot be determined solely by the position of the vanishing point. Therefore, this problem is solved by utilizing the state of the camera Pc before the vanishing point changes position. Furthermore, the state before the vanishing point changes position can be either two-point perspective or three-point perspective.

[0199] Let point H be the foot of the perpendicular line from camera Pc to the drawing plane 100. Point H is a point on line segment V1V2. Let point H before and after the vanishing point position change be H_old and H_new, respectively. Let the vanishing points on the drawing plane 100 after the vanishing point position change be V1_new and V2_new. Point H_new exists on line segment V1_newV2_new. Therefore, point H_new is obtained using the following method.

[0200] <Method D1>

[0201] like Figure 4A As shown, the foot of the perpendicular from point H_old to line segment V1_newV2_new on the drawing plane 100 is set to H_new. However, this method has the following problems.

[0202] (a) Point H is close to the vanishing point. For example, as... Figure 4B As shown, when the position of V1 remains unchanged while the position of V2 changes successively according to processes 21, 22, and 23, point H approaches V1. Therefore, camera Pc approaches the depiction plane 100, the viewing angle of camera Pc increases, and the depicted image becomes distorted, resulting in a poor image quality.

[0203] (b) such as Figure 4C , Figure 4D The situation shown prevents the perpendicular line from point H_old to line segment V1_newV2_new.

[0204] <Method D2>

[0205] like Figure 4E As shown, maintain the distance between the vanishing point and point H.

[0206] Let V1 and V2 have the smallest change in position on the drawing plane 100, and let the other be Vn. Let Vm before and after the vanishing point position change be Vm_old and Vm_new, respectively. Let Vn after the vanishing point position change be Vn_new.

[0207] H_new is determined by making Vm_oldH_old=Vm_newH_new. However, this method has the following problems.

[0208] (c) such as Figure 4F As shown, if the length V1_newV2_new becomes too short, then point H_new cannot be obtained on line segment V1_newV2_new.

[0209] <Method D3>

[0210] Maintain the ratio of the distance between the vanishing point and point H as follows.

[0211] Set the positions of V1 and V2 before the position change to V1_old and V2_old, respectively, and set the positions of V1 and V2 after the position change to V1_new and V2_new, respectively.

[0212] H_new is determined in such a way that it becomes V1_oldH_old:H_oldV2_old=V1_newH_new:H_newV2_new.

[0213] As described above, Pc exists on the circumference of a semicircle with V1V2 as its diameter on a plane containing line segments V1V2 and perpendicular to the drawing plane 100. Therefore, if H_new is determined, the relative positional relationship between the drawing plane 100 and the camera Pc can be calculated.

[0214] Then, using the same method as in the three-point perspective case, the position and pose of the camera coordinate system relative to the reference coordinate system 300 are determined.

[0215] <Axial Reversal>

[0216] The following points can be pointed out from the properties that the vanishing point exists at infinity.

[0217] When the coordinate axes of the reference coordinate system 300 are parallel to the drawing plane 100, the vanishing points of the coordinate axes exist at infinity in two directions corresponding to the positive and negative sides of the coordinate axis. Therefore, according to the specifications of the user interface for vanishing point movement operations, if the vanishing point of a coordinate axis is moved to infinity, the vanishing point of that coordinate axis will appear from the opposite side.

[0218] From the perspective of geometric continuity, the vanishing point and the appearing vanishing point correspond to opposite sides of the coordinate axes. For example, if the vanishing point corresponding to the positive X-axis of the reference coordinate system 300 is moved to infinity and vanishes, then the vanishing point corresponding to the negative X-axis appears from the opposite side.

[0219] However, since this behavior may not be to the user's liking, it is required that a vanishing point appear on the same side as the vanishing point. Therefore, the following method is used.

[0220] <Method E1>

[0221] At the moment the operation that moves the vanishing point begins (such as mouse dragging), the positive and negative axes of each vanishing point are recorded. During the operation (such as mouse dragging), when the vanishing point temporarily becomes infinitely far away and disappears and then reappears, the recorded positive and negative axes are used.

[0222] <Method of replacing the origin O with other points>

[0223] Alternatively, a point Q with known position coordinates in reference coordinate system 300 can be used to replace the origin O of reference coordinate system 300. In this case, a new reference coordinate system 301 can be defined that satisfies the following two conditions, and this reference coordinate system 301 can be used ( Figure 5 ).

[0224] (Condition q1) Take point Q as the origin.

[0225] (Condition q2) The directions of each coordinate axis are the same as the directions of each coordinate axis of the original reference coordinate system 300.

[0226] As described above, a group of parallel lines has the same vanishing point. Therefore, the vanishing points of each axis in the new reference coordinate system 301 are at the same positions as the vanishing points of each axis in the original reference coordinate system 300. Therefore, if point Q and the new reference coordinate system 301 are used, the method of using the origin of the previously described reference coordinate system 300 can be directly applied.

[0227] Figure 11 This is a hardware configuration diagram of the implementation method.

[0228] The hardware configuration of this embodiment includes a CPU 4001, a ROM 4002 capable of storing the program and data of this embodiment, a RAM 4003, a network interface 4005, an input interface 4006, a display interface 4007, and an external memory interface 4008. These hardware components are interconnected via a bus 4004.

[0229] Network interface 4005 is connected to network 4015. Network 4015 can be wired LAN, wireless LAN, Internet, telephone network, etc. Input interface 4006 is connected to input unit 4016. Display interface 4007 is connected to display unit 4017. Display unit 4017 can be implemented by multiple display devices. External memory interface 4008 is connected to storage medium 4018. Storage medium 4018 can be RAM, ROM, CD-ROM, DVD-ROM, hard disk, memory card, USB memory, etc.

[0230] The steps of the illustrated method or procedure can be rearranged as long as there are no contradictions. Furthermore, as long as there are no contradictions, an illustrated step can be executed multiple times at different time intervals. Additionally, as long as there are no contradictions, multiple steps can be executed simultaneously. Furthermore, not all steps are necessary; some steps may be omitted or not executed, provided there are no contradictions.

[0231] The above 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. Furthermore, 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.

[0232] Alternatively, the steps can be executed through the operating system or hardware. Furthermore, the program can be distributed in a state stored on non-transitory media.

[0233] The program and method for implementing the above embodiments can be provided by a person possessing Figure 11 The hardware structure shown is executed by a computer. That is, the program of the implementation method can also be implemented as a method for causing a computer to execute.

[0234] The program can be stored on storage medium 4018, ROM 4002 or RAM 4003.

[0235] Each implementation can be carried out as a device with software installed.

[0236] Explanation of reference numerals in the attached figures

[0237] 4004 bus

[0238] 4005 Network Interface

[0239] 4006 Input Interface

[0240] 4007 Display Interface

[0241] 4008 External Memory Interface

[0242] 4015 Network

[0243] 4016 Input Section

[0244] 4017 Display Department

[0245] 4018 Storage Media

Claims

1. A method for generating an image of a three-dimensional object, comprising a computer using a virtual camera configured in a virtual three-dimensional space to project a three-dimensional object existing in the three-dimensional space onto a drawing plane through perspective projection, thereby generating an image of the three-dimensional object. It has the following steps: Multiple vanishing points, corresponding to infinity of the coordinate axes of a known orthogonal coordinate system existing in the three-dimensional space, exist on the depiction plane. In response to a change in the position of at least one of these vanishing points, the position and / or pose of the virtual camera are updated; and An image of the 3D object is generated based on the updated position and / or pose of the virtual camera. The steps for performing the update include the following: When the position of the changed vanishing point returns to the position of the vanishing point before the change of at least one of the plurality of vanishing points, a process with the following properties is applied to change the position and / or pose of the virtual camera: the updated position and / or pose of the virtual camera returns to the position of the virtual camera before the change of at least one of the plurality of vanishing points.

2. The method as described in claim 1, Includes the following steps: The position and / or pose of the virtual camera are updated based on the position of a point projected from at least one specified point existing in the orthogonal coordinate system onto the depiction plane by the virtual camera.

3. The method as described in claim 2, It also includes the following steps: Before and after the position of at least one of the plurality of vanishing points changes, the position of one of the specified points projected by the virtual camera onto the depicting plane remains unchanged.

4. The method as described in claim 2, It also includes the following steps: Based on the position of the plurality of vanishing points after the position of at least one of the plurality of vanishing points has changed, determine the position of one of the specified points after the position of at least one of the plurality of vanishing points has changed, and the point on the drawing plane projected by the virtual camera.

5. The method as described in claim 2, There exist two specified points in the orthogonal coordinate system. The update step also includes making the ratio of the following two lengths equal: The ratio of the length from point Po_old, onto which one of the two specified points is projected onto the drawing plane, to point Ps_old, onto which the other point is projected onto the drawing plane, before the position of at least one of the plurality of vanishing points is changed, to the length from point Po_old to the vanishing point Vs_old on the drawing plane at infinity, corresponding to the straight line connecting the two specified points; and The ratio of the length from point Po_new, which projects one of the two specified points onto the drawing plane, to point Ps_new, which projects the other point onto the drawing plane, after the position of at least one of the plurality of vanishing points has been changed, to the length of the vanishing point Vs_new on the drawing plane from point Po_new to infinity on the drawing plane, which corresponds to the straight line connecting the two specified points.

6. The method as described in claim 2, There exist two specified points in the orthogonal coordinate system. The update step also includes making the following two lengths equal: The length from point Po_old, on which one of the two specified points is projected onto the drawing plane, to point Ps_old, on which the other point is projected onto the drawing plane, before the position of at least one of the plurality of vanishing points is changed; and The length from point Po_new, which projects one of the two specified points onto the drawing plane, to point Ps_new, which projects the other point onto the drawing plane, after the position of at least one of the plurality of vanishing points has been changed.

7. The method as described in claim 2, There exists a specified point O in the orthogonal coordinate system. The update process also includes the following: The position Pc_new is determined such that the length from the virtual camera's position Pc_old to the point O before the position change of at least one of the plurality of vanishing points is equal to the length from the virtual camera's position Pc_new to the point O after the position change of at least one of the plurality of vanishing points.

8. The method as described in claim 2, There exists a specified point O in the orthogonal coordinate system. The update process also includes the following: The position Pc_new is determined such that the component of the optical axis direction of the virtual camera, the length from the virtual camera's position Pc_old to the point O before the position change of at least one of the plurality of vanishing points, is equal to the component of the optical axis direction of the virtual camera, the length from the virtual camera's position Pc_new to the point O after the position change of at least one of the plurality of vanishing points.

9. The method as described in claim 2, There exists a specified point O in the orthogonal coordinate system. The update step further includes determining the position Pc_new of the virtual camera after the position change of at least one of the plurality of vanishing points, such that the ratio of a first length to a second length is equal: The first length ratio is the ratio of the length from the virtual camera's position Pc_old to the point O before the position of at least one of the plurality of vanishing points changes, to the length from the position Pc_old to the point Po_old projected by the virtual camera onto the drawing plane from the point O; and The second length ratio is the ratio of the length from the position Pc_new of the virtual camera to the point O after the position of at least one of the plurality of vanishing points has changed, to the length from the position Pc_new to the point Po_new projected by the virtual camera onto the drawing plane from the point O.

10. The method as described in claim 2, There exist two specified points in the orthogonal coordinate system. One of the two specified points is the origin of the orthogonal coordinate system, and the other of the two specified points is a point existing on any one of the three orthogonal axes of the orthogonal coordinate system.

11. The method as described in claim 2, There exist two specified points in the orthogonal coordinate system. The two defined points are two points whose direction from one of the two defined points in the coordinate system of the virtual camera remains unchanged before and after the position of at least one of the vanishing points changes.

12. The method as described in claim 1, The update process also includes the following: When the position of at least one of the plurality of vanishing points has changed, and the number of vanishing points on the depicting plane is two. After the position of at least one of the plurality of vanishing points has changed, the virtual camera is located on the following perpendicular line: on the drawing plane, a perpendicular line drawn from the foot of the perpendicular line from the virtual camera to the drawing plane before the position of at least one of the plurality of vanishing points changed, and drawn from the foot of the perpendicular line drawn from the foot of the perpendicular line drawn from the line segment connecting the two vanishing points after the position of at least one of the plurality of vanishing points changed, pointing towards the drawing plane.

13. The method as described in claim 1, The update process also includes the following: When the position of at least one of the plurality of vanishing points has changed, and the number of vanishing points on the depicting plane is two. The virtual camera, after the position change of at least one of the plurality of vanishing points, lies on the following perpendicular line: Let the vanishing point with the smaller change in position on the drawing plane be Vm, and the other be Vn; let Vm before and after the position change of at least one of the plurality of vanishing points be Vm_old and Vm_new, respectively; let Vn after the position change of at least one of the plurality of vanishing points be Vn_new; let the foot of the perpendicular line from the virtual camera to the drawing plane before the position change of at least one of the plurality of vanishing points be H_old; and let the point H_new on line segment Vm_newVn_new be perpendicular to the drawing plane, wherein... The point H_new is determined in such a way that it becomes Vm_newH_new=Vm_oldH_old.

14. The method as described in claim 1, The update process also includes the following: When the position of at least one of the plurality of vanishing points has changed, and the number of vanishing points on the depicting plane is two. Let the two vanishing points be V1 and V2. Before the position change of at least one of the plurality of vanishing points, the positions of the two vanishing points V1 and V2 are respectively set as V1_old and V2_old. After the position change of at least one of the plurality of vanishing points, the positions of the two vanishing points V1 and V2 are respectively set as V1_new and V2_new. The foot of the perpendicular line from the virtual camera to the drawing plane before the position change of at least one of the plurality of vanishing points is set as H_old. On the perpendicular line from point H_new on line segment V1_newV2_new to the drawing plane, there exists the virtual camera after the position change of at least one of the plurality of vanishing points. The point H_new is determined in such a way that it becomes V1_oldH_old:H_oldV2_old=V1_newH_new:H_newV2_new.

15. The method as described in claim 1, The update process also includes the following: If one of the multiple vanishing points moves to infinity, and after the vanishing point temporarily disappears and then reappears, the vanishing point will reappear on the same side as the vanishing side of the coordinate axis of the orthogonal coordinate system corresponding to that vanishing point.

16. The method as described in claim 1, In the update step, if the triangle formed by the three vanishing points in the three-point perspective becomes an obtuse triangle, the position and / or pose of the virtual camera are not updated.

17. A computer-readable storage medium having a program stored thereon, The program causes the computer to perform the method as described in any one of claims 1 to 16.

Citation Information

Patent Citations

  • Image processing device and image processing method

    CN101019151A

  • Method and system for supporting preparation of perspective drawing

    JP1995234949A