Method and program for generating image of three-dimensional object

By using a virtual camera linked to the vanishing point in drawing software to update the camera position and pose, the problem of drawing composition not conforming to the user's intention in the existing technology is solved, and a simple 3D object depiction is realized.

CN121586915APending Publication Date: 2026-02-27CELSYS INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202480049251.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-07-26
Filing Date
2024-04-12
Publication Date
2026-02-27

AI Technical Summary

Technical Problem

When using drawing software to depict 3D objects on a virtual canvas through perspective projection, existing technology cannot effectively link with the movement of the vanishing point, resulting in drawing compositions that do not conform to the user's intentions and inconvenient operation.

Method used

By using a virtual camera to configure multiple vanishing points in 3D space, the camera's position and pose are updated in response to changes in the vanishing point's location, generating images of 3D objects and ensuring that the camera state is reversibly transformed before and after returning to the vanishing point's location.

Benefits of technology

It enables composition that is linked to the movement of the vanishing point in drawing software, simplifies the process of depicting 3D objects, and makes drawing more in line with user intent and more convenient to operate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121586915A_ABST
    Figure CN121586915A_ABST
Patent Text Reader

Abstract

When a user draws a picture on a virtual canvas by perspective projection using drawing software, a computer simply draws a three-dimensional object, which is a sample to be drawn by the user, on a drawing plane with a composition that better conforms to the user's intention in conjunction with movement of a vanishing point. A method for generating an image of a three-dimensional object by projecting the three-dimensional object present in a virtual three-dimensional space onto a rendering plane by perspective projection using a virtual camera disposed in the virtual three-dimensional space, the method comprises the following steps: a plurality of vanishing points corresponding to infinity of coordinate axes of a known orthogonal coordinate system existing in a three-dimensional space exist on a drawing plane, and the position and / or posture of a virtual camera is updated in response to the change of the position of at least one of the plurality of vanishing points; and generating an image of the three-dimensional object on the basis of the virtual camera whose position and / or posture is updated, the updating including: when the position of the vanishing point after the change is returned to the position of the vanishing point before the position of at least one of the plurality of vanishing points is changed; the position and / or posture of the virtual camera is changed by applying a process having the property that the updated position and / or posture of the virtual camera returns to the position and / or posture of the virtual camera before the position of at least one of the plurality of vanishing points is changed.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to a method and a program of generating an image of a three-dimensional object. BACKGROUND

[0002] In the past, when a perspective drawing or the like is drawn using a drawing software, a perspective ruler based on a perspective method, that is, a perspective method (referred to as "perspective" for short) is sometimes used.

[0003] In drawing a perspective drawing, a perspective ruler is used in order to draw a correct perspective view based on the perspective method. In the case of a user drawing an object, the perspective ruler is arranged in alignment with the object to be drawn. For example, in the case where the object is in the shape of a box, the perspective ruler is arranged along the shape of the box. A line of the perspective view can be drawn along the perspective ruler. In the case of drawing a line, the user can draw along the guide line of the perspective ruler by using the perspective ruler, so that a correct straight line according to the perspective method can be drawn even if it is hand drawing. By repeating the same procedure, a perspective drawing according to the perspective method can be drawn on a two-dimensional canvas.

[0004] In the composition of a general perspective drawing, perspective in a straight line projection method called perspective projection is generally used.

[0005] For example, Patent Literature 1 discloses a technique of a perspective ruler placed on a flat canvas existing in a virtual three-dimensional space. The perspective ruler is displayed by a computer so that a line is drawn on the canvas along the perspective ruler according to an instruction from a user to draw a fish-eye lens representation.

[0006] In addition, for example, Non-Patent Literature 1 discloses a technique of arranging a 3D object of a human body in a 3D layer defining a perspective ruler. If the vanishing point or the line of sight is moved horizontally, the angle of the 3D layer also changes in linkage, and the presentation mode of the 3D object also changes in linkage. However, if the vanishing point is moved a plurality of times, the size or the like of the 3D object drawn changes, which becomes a composition of a drawing that the user does not want, and a function that provides insufficient convenience is provided.

[0007] PRIOR ART DOCUMENTS

[0008] PATENT LITERATURE

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

[0010] NON-PATENT LITERATURE

[0011] Non-Patent Literature 1: "Linkage of a Perspective Ruler and a 3D Layer - Perspective Ruler Utilization Article 2"

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

[0013] (visited on July 24, 2023) SUMMARY

[0014] PROBLEMS TO BE SOLVED BY THE INVENTION

[0015] The disclosed technology aims to, when a user draws a picture on a virtual canvas by perspective projection using drawing software, a computer to draw a three-dimensional object that becomes a sample of the user's drawing on a drawing plane in linkage with movement of vanishing points, in a composition that is more in line with the user's intention and simply.

[0016] MEANS OF SOLVING THE PROBLEMS

[0017] The disclosed technology is a method of generating an image of a three-dimensional object existing in a three-dimensional space by perspective projection using a virtual camera configured in the three-dimensional space,

[0018] which has the following steps:

[0019] A plurality of vanishing points corresponding to the infinite distance of the coordinate axes of a known orthogonal coordinate system existing in the three-dimensional space exist on the drawing plane, and in response to a change in the position of at least one of the plurality of vanishing points, the position and / or posture of the virtual camera is updated; and

[0020] generate an image of the three-dimensional object based on the virtual camera whose position and / or posture is updated,

[0021] the step of updating includes the following: when the position of the changed vanishing point returns to the position of the vanishing point before the change in the position of at least one of the plurality of vanishing points, the position and / or posture of the virtual camera is changed by applying a process having the following property: the position and / or posture of the updated virtual camera returns to the position and / or posture of the virtual camera before the change in the position of at least one of the plurality of vanishing points.

[0022] EFFECTS OF THE INVENTION

[0023] According to the disclosed technology, when a user draws a picture on a virtual canvas by perspective projection using drawing software, a computer can draw a three-dimensional object that becomes a sample of the user's drawing on a drawing plane in linkage with movement of vanishing points, in a composition that is more in line with the user's intention and simply. BRIEF DESCRIPTION OF DRAWINGS

[0024] Figure 1A is a view of a camera, a drawing plane, a reference coordinate system, and a sampling point from a direction parallel to the drawing plane.

[0025] Figure 1BThe arrangement of the point Po, the point Ps, and the vanishing point Vs is a diagram indicating a case where the point Ps and the vanishing point Vs are located on opposite sides when viewed from the point Po.

[0026] Figure 1C is a diagram indicating an example in which the drawing plane is arranged at a position different from Figure 1A .

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

[0028] Figure 2B is a diagram indicating an example in which a foot of a perpendicular line drawn from the point Ps_old to the semistraight line Vs_newPo is set as Ps_new.

[0029] Figure 2C is a diagram indicating an example in which the point Ps gradually approaches the point Po by repeating the operation of moving the vanishing point.

[0030] Figure 2D is a diagram indicating an example in which the position of Ps_new is determined so as to become PoPs_old = PoPs_new.

[0031] Figure 2E is a diagram indicating an example in which Vs_new is too close to Po in the example of Figure 2D .

[0032] Figure 3 is a diagram indicating an example in which the position O_new of the reference frame origin O in the camera coordinate system is found using the point Po and the point Ps_new.

[0033] Figure 4A is a diagram indicating an example in which a foot of a perpendicular line drawn from the point H_old to the line segment V1_newV2_new is set as the point H_new on the drawing plane 100.

[0034] Figure 4B is a diagram indicating an example in which the point H gradually approaches V1 in a case where the position of V1 does not change and the position of V2 changes successively.

[0035] Figure 4C is a diagram indicating an example in which the perpendicular line is not drawn from the point H_old to the line segment V1_newV2_new.

[0036] Figure 4D is a diagram indicating another example in which the perpendicular line is not drawn from the point H_old to the line segment V1_newV2_new.

[0037] Figure 4E is a diagram indicating an example in which the distance between the vanishing point and the point H is maintained.

[0038] Figure 4F Fig. 10 is a diagram showing an example in which the length V1_newV2_new becomes too short, and a point H_new cannot be obtained on the line segment V1_newV2_new.

[0039] Figure 5 Fig. 11 is a diagram showing an example in which a new reference coordinate system 301 is defined and used instead of the origin O of the reference coordinate system 300.

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

[0041] Figure 6B Fig. 13 is a diagram showing the characteristics of the vanishing points of two-point perspective and the camera.

[0042] Figure 6C Fig. 14 is a diagram showing the situation in which the position of the point on the drawing plane 100 to which the origin of the reference coordinate system is projected is not changed before and after the vanishing point position is changed.

[0043] Figure 7A Fig. 15 is a diagram showing an example in which PcO / PcPo is not changed before and after the vanishing point position is changed.

[0044] Figure 7B Fig. 16 is a diagram showing an example in which PcO is not changed before and after the vanishing point position is changed.

[0045] Figure 7C Fig. 17 is a diagram showing an example in which the size of the component of the direction of the camera optical axis of PcO is not changed before and after the vanishing point position is changed.

[0046] Figure 8A Fig. 18 is a diagram showing an example in which the position of the point Po on the drawing plane 100 also changes along with the change in the vanishing point position.

[0047] Figure 8B Fig. 19 is a diagram showing an example in which the foot of the perpendicular from the point Ps_old to the perpendicular line Vs_newPo_new is set as Ps_new.

[0048] Figure 8C Fig. 20 is a diagram showing an example in which the position of Ps_new is determined in such a way that Po_oldPs_old=Po_newPs_new.

[0049] Figure 8D Fig. 21 is a diagram showing an example in which PcO / PcPo is not changed before and after the vanishing point position is changed.

[0050] Figure 8E Fig. 22 is a diagram showing an example in which PcO is not changed before and after the vanishing point position is changed.

[0051] Figure 8F is a diagram indicating an example in which the size of the component of the camera optical axis direction of PcO is not changed before and after the position of the vanishing point is changed.

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

[0053] FIGS. 10A and 10B are diagrams illustrating a change in the image of the image 155 of the object when the positions of the vanishing points V1 and V3 in the drawing plane 100 are changed.

[0054] Figure 11 is a hardware configuration diagram of the embodiment. DETAILED DESCRIPTION

[0055] A perspective ruler is provided together with various functions when a user performs drawing using an input interface (for example, a touch pen, a mouse, a touch panel, a tablet, a pointing device, or the like) on a virtual canvas on a plane. Note that, in this specification, a generally known function among existing functions related to a perspective ruler is sometimes omitted from description.

[0056] Further, the following description is described on the premise that the disclosed technology is mainly used for a perspective ruler. Note, however, that the disclosed technology is not limited to application to a perspective ruler, and can be used for production of a scene in a three-dimensional space, such as production of an image using 3DCG, and the like.

[0057] In addition, in this specification, a virtual three-dimensional space is sometimes referred to. Note, however, that the virtual three-dimensional space is used for the purpose of easily understanding the description of the present technology (a method of generating a perspective ruler, and the like), and the existence of the virtual three-dimensional space is not necessarily required when a user performs drawing using the present technology (a perspective ruler, and the like).

[0058] Hereinafter, the premise conditions in the description of the embodiment are described.

[0059] (1) Regarding a Vanishing Point

[0060] When a straight line of a three-dimensional space is drawn on a drawing plane by a perspective projection method using a camera set in the three-dimensional space, the straight line converges at an infinite distance to a point on the drawing plane. The converging point is referred to as a vanishing point of the straight line. The position of the vanishing point on the drawing plane can be found as an intersection point of a straight line passing through the camera position and parallel to the straight line and the drawing plane. Note, however, that in the case where the straight line is parallel to the drawing plane, the position of the vanishing point becomes an infinite distance, and thus the vanishing point does not appear on the drawing plane.

[0061] A group of straight lines parallel to each other has the same vanishing point.

[0062] (2) Reference coordinate system

[0063] In the present application, attention is paid to a known orthogonal coordinate system existing in three-dimensional space, and the behavior when the position of the vanishing point of the coordinate axis is handled is processed. The known orthogonal coordinate system is referred to as a "reference coordinate system".

[0064] Figure 9 is a diagram that explains perspective drawing (a depiction method based on perspective projection). A computer can project an object 150 onto a depiction plane 100 by observing the object 150 from a camera Pc that corresponds to the eye of perspective drawing, and depict an image 155 of the object 150.

[0065] The object 150 is positioned and posed by a known reference coordinate system 300 described later. The reference coordinate system 300 has three coordinate axes 305, 306, 307 that are orthogonal to each other and an origin O.

[0066] There are three points of perspective vanishing points V1, V2, V3 on the depiction plane 100. In addition, on the depiction plane 100, of course, depiction can be performed by two-point perspective or one-point perspective.

[0067] The camera Pc is located on a straight line that passes through the orthocenter of a triangle V1V2V3 formed by the three vanishing points and is perpendicular to the depiction plane, and satisfies ∠V1PcV2=∠V2PcV3=∠V3PcV1=π / 2. In addition to this, PcV1 is parallel to the coordinate axis 306 of the reference coordinate system 300, PcV2 is parallel to the coordinate axis 305 of the reference coordinate system 300, and PcV3 is parallel to the coordinate axis 307 of the reference coordinate system 300. Therefore, if the vanishing points V1, V2, V3 are determined, the relative pose of the camera and the reference coordinate system is determined.

[0068] In addition, since the position and pose of the object 150 are determined in the reference coordinate system 300, in the case where the position of at least one vanishing point is changed, the relative pose of the camera and the reference coordinate system changes, and therefore the image 155 also changes.

[0069] Details of the method of determining the relative position of the camera and the reference coordinate system, and the like, are described later.

[0070] Fig. 10 is a diagram that illustrates the change in the image of the image 155 of the object when the positions of the vanishing points V1 and V3 in the depiction plane 100 are changed.

[0071] In addition, in this example, an example in which the positions of two vanishing points are changed is shown, but the same idea can of course be applied in the case where the position of at least one vanishing point is changed, and in the case where all of the positions of the 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] Assuming that three vanishing points have existed on the drawing plane 100, the position and posture of the camera Pc and the reference coordinate system 300 are acquired. From this state, at least one of the vanishing points is changed by the user's operation or the like.

[0096] As described above, the relative posture of the camera Pc and the reference coordinate system 300 can be calculated from the position of the changed vanishing point, but the relative position is not determined. Therefore, the relative position of the camera Pc and the reference coordinate system 300 is calculated by setting the conditions as follows.

[0097] <Method Al: Method of using the reference coordinate system origin and a sampling point>

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

[0099] (Condition 1)

[0100] The position of the point at which the origin of the reference coordinate system is projected onto the drawing plane 100 is not changed before and after the vanishing point position is changed.

[0101] The setting of this condition 1 is illustrated as shown in Figure 6C Pc old is the camera position before the vanishing point position is changed. Pc new is the camera position calculated from the vanishing point after the vanishing point position is changed. H old and H new are the foot points of the perpendicular lines from the camera Pc before and after the vanishing point position is changed, respectively, which are perpendicular to the drawing plane 100. The point Po is obtained by projecting the origin O old of the reference coordinate system before the vanishing point position is changed using the camera Pc old onto the drawing plane 100. The origin O new of the reference coordinate system after the vanishing point position is changed exists on a straight line connecting the camera Pc new and the point Po, but it is unknown where on the straight line it exists. In addition, the direction of each coordinate axis of the reference coordinate system 300 after the vanishing point position is changed is obtained as the direction of the straight line connecting the Pc new and each vanishing point.

[0102] This condition alone is not sufficient, and therefore, the position of the point at which the sampling point is projected onto the drawing plane 100 is used. The specific method is described later.

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

[0104] Further, the points Po, Ps, and the vanishing point Vs are arranged as shown in Figure 1B From the point Po, the point Ps and the vanishing point Vs are sometimes located on opposite sides. However, from the vanishing point Vs, the points Po and Ps are always located on the same side.

[0105] The distance from the camera Pc to the depiction plane 100 is arbitrary. This is explained as follows. The content depicted on the depiction plane 100 is presented to the user as an image, and the user performs the vanishing point position change and the like on the image. On the other hand, the camera Pc or the object exists in a virtual three-dimensional space. The unit of length on the image and the unit of length in the three-dimensional space are independent of each other, and can be arbitrarily set. For example, the length on the image can be expressed in pixels, and the unit of length in the three-dimensional space can be expressed in meters. Further, it is arbitrary to make one pixel correspond to several meters, and if the setting is changed, the distance from the camera Pc to the depiction plane 100 changes.

[0106] Therefore, for example, instead of Figure 1A the depiction plane 100 can be configured as Figure 1C However, it is preferable to have consistency before and after the vanishing point position change. For example, if the conversion ratio of the pixel and the meter, which is previously exemplified, is set to 1 pixel = k meters, it is preferable to make the value of k the same before and after the vanishing point position change. Figure 6C is a view showing the positions and postures of the camera Pc and the reference coordinate system 300 before and after the vanishing point position change, with the depiction plane 100 as a reference. For example, in the case where the position of one of the three vanishing points is changed, the positions of the remaining two vanishing points on the depiction plane 100 in Figure 6C are not changed. If the value of k is made the same before and after the vanishing point position change, the value of k in 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] The origin of the reference coordinate system 300 after changing the position of the vanishing point and the sampling point are set as O_new and S_new, respectively. First, the length of O_newS' in the figure is found. The point S' is a point on the straight line Pc_newPs_new, and the line segment O_newS' is parallel to the line segment PoPs_new. As described above, the pose of the reference coordinate system 300 with respect to the camera coordinate system is found based on the positions of the three vanishing points. Since the position coordinates of the sampling point in the reference coordinate system 300 are known, the direction of the straight line O_newS_new with respect to the camera coordinate system can be found. In addition, since the direction of the line segment S'S_new is the same as the direction of the straight line PcPs_new, the direction of the line segment S'S_new in the camera coordinate system is known. Further, since the line segment O_newS' is parallel to the line segment PoPs_new, the direction of the line segment O_newS' in the camera coordinate system is known. Therefore, if attention is paid to the triangle O_newS'S_new, the directions of the three sides thereof become known, and the angles of the three corners thereof also become known. In addition, since the position coordinates of the sampling point in the reference coordinate system 300 are known, the length of the 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 found. Therefore, the length of the side O_newS' can be found.

[0121] Next, the length Pc_newO_new is found. Since the triangles Pc_newPoPs_new and PcO_newS' are similar, Pc_newPo:PoPs_new=Pc_newO_new:O_newS'. Therefore, Pc_newO_new can be found from Pc_newO_new=O_newS'*(Pc_newPo / PoPs_new).

[0122] Thus, the position of the reference coordinate system 300 in the camera coordinate system can be found. The position and the pose of the camera coordinate system with respect to the reference coordinate system 300 are found. Since the position and the pose of the reference coordinate system 300 are known, the position and the pose of the camera Pc can be determined.

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

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

[0125] Methods A2, A3, and A4 are set with the same conditions as in method Al.

[0126] (Condition 1) The position of a point, which is projected onto the drawing plane 100 from the origin of the reference coordinate system, is made constant before and after the vanishing point position is changed.

[0127] Further, the following conditions are respectively set. According to the added conditions, the position of O_new on the straight line Pc_newPo is determined.

[0128] <Method A2>

[0129] As shown in FIG. 10, PcO / PcPo is made constant before and after the vanishing point position is changed. That is, Pc_oldO_old / Pc_oldPo = Pc_newO_new / Pc_newPo is made. Figure 7A <Method A3>

[0130] As shown in FIG. 11, PcO is made constant before and after the vanishing point position is changed. That is, Pc_oldO_old = Pc_newO_new is made.

[0131] Figure 7B <Method A4>

[0132] As shown in FIG. 12, the size of the component of PcO in the direction of the camera optical axis (in other words, the component in the direction perpendicular to the drawing plane 100) is made constant before and after the vanishing point position is changed.

[0133] <Method A5> Figure 7C The area of a prescribed three-dimensional object projected onto the drawing plane 100 is made constant before and after the vanishing point position is changed.

[0134] If Method A2 is used, the size of the drawing object existing near the origin of the reference coordinate system drawn onto the drawing plane 100 hardly changes before and after the vanishing point position is changed.

[0135] If Methods A3 and A4 are used, for example, in a case where the vanishing points are moved so that the triangle formed by the three vanishing points is enlarged, the size of the drawing object existing near the origin of the reference coordinate system drawn onto the drawing plane 100 is also enlarged.

[0136] In Method A3, there is a side effect that, due to the movement of the camera Pc or the like, if the position of the drawing object observed from the camera Pc becomes a direction away from the front of the camera Pc, the size of the drawing is enlarged. There is no such side effect in Method A4.

[0137] <Setting of Reference Coordinate System 300>

[0138]

[0139] <Setting of Reference Coordinate System 300>

[0140] ​​As for the posture of the reference coordinate system 300, for example, the following postures can be used (not limited to the following).

[0141] (1) World coordinate system

[0142] (2) Object coordinate system

[0143] As for the origin position of the reference coordinate system 300, for example, the following origin positions can be used (not limited to the following).

[0144] (1) World coordinate system origin

[0145] (2) Object coordinate system origin

[0146] The world coordinate system refers to a coordinate system that is set in advance in a three-dimensional space that is a depiction target.

[0147] The object coordinate system refers to a coordinate system that is set in advance in "a certain object existing in a three-dimensional space".

[0148] The combination of the position and the posture of the reference coordinate system 300 is not particularly limited. For example, the origin of the object can be used as the origin of the reference coordinate system 300, and the posture of the world coordinate system can be used as the posture of the reference coordinate system 300.

[0149] <Position of a sampling point in the reference coordinate system 300>

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

[0151] In addition, for example, the coordinates of the sampling point in the reference coordinate system 300 can always use the same coordinate value such as (100, 0, 0), or the coordinate value can be changed every time the processing is performed. For example, the object origin can be used as the origin of the reference coordinate system 300, and the coordinates of the sampling point can be changed according to the distance between the camera Pc and the object. In the case where the distance between the camera Pc and the object is short, the distance between the sampling point and the origin can be reduced, and in the case where the distance is long, the distance between the sampling point and the origin can be increased.

[0152] However, in a case where the coordinates of the sampling points in the reference coordinate system 300 are set as fixed values such as (100, 0, 0), if the position of the vanishing point corresponding to the direction (100, 0, 0) is largely changed on the drawing plane 100, it sometimes becomes an undesirable behavior. For example, in a case where the above-described method Bl or method B2 is used, there is a property that, in a case where the position of the vanishing point Vs is largely changed and the length of PoVs_new is shortened, the position of the point Ps_new cannot be obtained on the semi-straight line Vs_newPo.

[0153] As a countermeasure method for correcting the above-described property, the following method can also be used.

[0154] <Method Cl>

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

[0156] <Method C2>

[0157] The coordinates of the sampling points S in the reference coordinate system 300 are found according to the following conditions.

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

[0159] (Condition C2-2) The direction from Po on the drawing plane 100 toward Ps is not changed before and after the vanishing point position is changed.

[0160] The coordinates of the sampling points satisfying these conditions can be found as follows.

[0161] In a state before the vanishing point position is changed, the matrix representing the posture of the reference coordinate system 300 in the camera coordinate system is set as M old. The arrangement method of the elements of the matrix is set such that each row of M old is a vector of each coordinate axis unit vector of the reference coordinate system 300 represented in the camera coordinate system. Similarly, in a state after the vanishing point position is changed, the matrix representing the posture of the reference coordinate system 300 in the camera coordinate system is set as M new. The matrix M rot representing the rotation from M old to M new is found by 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 is 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 a unit vector that depicts a vector on the plane 100 and is perpendicular to Va be Na. Let a unit vector that depicts a vector on the plane 100 and is perpendicular to Vb be Nb. Using Va・Na=0, Vb・Nb=0, Ka, Kb can be solved as follows. Further, "・" indicates an inner product.

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

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

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

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

[0179] Let Po, V1, Va, Vb after the vanishing point position is changed be Po_new, V1_new, Va_new, Vb_new, respectively.

[0180] Solve Ka, Kb that satisfy Po_old=V1_old+KaVa_old+KbVb_old.

[0181] Solve Po_new using the following equation.

[0182] Po_new=V1_new+KaVa_new+KbVb_new

[0183] The origin O_new of the reference coordinate system after the vanishing point position is changed exists on a straight line that connects the camera Pc_new and the point Po_new, but where on the straight line it exists is unknown.

[0184] The process for solving the origin O_new of the reference coordinate system explained hereafter is mostly common compared to the case where the condition "the position of the point Po is not changed before and after the vanishing point position is changed" is set, which has been explained. Therefore, it should be noted that only the process that differs is explained.

[0185] Method B1 sets the foot of the perpendicular from the point Ps_old to the perpendicular line to the semi-straight line Vs_newPo_new as Ps_new, as shown in Figure 8B

[0186] Method B2 decides the position of the point Ps_new in such a way that Po_oldPs_old=Po_newPs_new, as shown in Figure 8C ​​

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

[0188] Figure 3 Po corresponds to Po_new.

[0189] Method A2, as shown in Figure 8D PcO / PcPo is made constant before and after the vanishing point position is changed. That is, Pc_oldO_old / Pc_oldPo_old = Pc_newO_new / Pc_newPo_new is made constant.

[0190] Method A3, as shown in Figure 8E PcO is made constant before and after the vanishing point position is changed. That is, Pc_oldO_old = Pc_newO_new is made constant.

[0191] Method A4, as shown in Figure 8F The size of the component of PcO in the direction of the camera optical axis (in other words, the component in the direction perpendicular to the plane 100) is made constant before and after the vanishing point position is changed.

[0192] <Arrangement of Vanishing Points in Three-Point Perspective>

[0193] As described above, it is known that the triangle V1V2V3 having the vanishing points V1, V2, V3 as three vertices in three-point perspective is necessarily an acute triangle. In other words, the case where the triangle V1V2V3 becomes an obtuse triangle is theoretically impossible. Therefore, the following countermeasures are considered.

[0194] (Variation 1) In a user interface that allows the triangle V1V2V3 to become an obtuse triangle, in the case where the triangle V1V2V3 becomes an obtuse triangle, the position and / or the posture of the camera Pc is set not to be updated in order to make the calculation for finding the position and / or the posture of the camera not fail. Then, according to the instruction of the operator, when the triangle V1V2V3 returns to an acute triangle, the update of the position and / or the posture of the camera Pc is restarted.

[0195] (Variation 2) As another variation, a user interface that restricts the movement range of the three vanishing points in such a way that the triangle V1V2V3 does not become an obtuse triangle can be given. Further, since the movement range of the vanishing points is restricted in the setting of such a user interface, the user can sometimes feel discomfort, and therefore it is preferable to adopt the above-described Variation 1.

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

[0197] A method of coping with the case of two-point perspective after the change in the position of the vanishing point will be described.

[0198] As described above, in the two-point perspective state, the relative positional relationship between the drawing plane 100 and the camera Pc cannot be solved by the position of the vanishing point alone. Therefore, the state of the camera Pc before the change in the position of the vanishing point is used to solve this problem. Further, the state before the change in the position of the vanishing point can be either of the two-point perspective and the three-point perspective.

[0199] A foot of a perpendicular from the camera Pc to the drawing plane 100 is set as a point H. The point H is a point on the line segment V1V2. The point H before and after the change in the position of the vanishing point is set as a point H_old and a point H_new, respectively. The vanishing points on the drawing plane 100 after the change in the position of the vanishing point are set as V1_new and V2_new. The point H_new exists on the line segment V1_newV2_new. Therefore, the point H_new is solved using the following method.

[0200] <Method D1>

[0201] As shown in FIG. 10, a foot of a perpendicular from the point H_old to the line segment V1_newV2_new is set as H_new on the drawing plane 100. However, this method has the following problems. Figure 4A (a) The point H approaches the vanishing point. For example, as shown in FIG. 11, in the case where the position of V1 does not change and the position of V2 changes sequentially according to the process 21, the process 22, and the process 23, the point H approaches V1. Then, the camera Pc approaches the drawing plane 100, the angle of view of the camera Pc becomes large, the drawn image is distorted, and thus this is not good.

[0202] Figure 4B (b) As shown in FIG. 12 and FIG. 13, the perpendicular is not made from the point H_old to the line segment V1_newV2_new.

[0203] <Method D2> Figure 4C Figure 4D As shown in FIG. 14, the distance between the vanishing point and the point H is maintained.

[0204] <Method D3>

[0205] As shown in FIG. 15, the position of the vanishing point is maintained. Figure 4E One of V1 and V2 whose position on the drawing plane 100 changes less is set as Vm, and the other is set as Vn. Vm before and after the change in the position of the vanishing point is set as Vm_old and Vm_new, respectively. Vn after the change in the position of the vanishing point is set as Vn_new.

[0206]

[0207] ​​​H_new is determined in such a manner that Vm_oldH_old = Vm_newH_new. However, this method has the following problem.

[0208] (c) As shown in Figure 4F If the length V1_newV2_new becomes too short, a point H_new cannot be acquired on the line segment V1_newV2_new.

[0209] <Method D3>

[0210] The ratio of the distance of the vanishing point to the point H is maintained as follows.

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

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

[0213] As described above, on a plane that contains the line segment V1V2 and is perpendicular to the drawing plane 100, there is Pc on the circumference of a semicircle having V1V2 as a diameter. Therefore, if H_new is determined, the relative positional relationship of the drawing plane 100 to the camera Pc can be found.

[0214] Thereafter, the position and the posture of the camera coordinate system with respect to the reference coordinate system 300 are found using the same method as in the case of three-point perspective.

[0215] <Reversal of the Axis Direction>

[0216] In the case where the vanishing point exists at infinity, the following points can be noted.

[0217] In the case where the coordinate axis of the reference coordinate system 300 is parallel to the drawing plane 100, the vanishing point of the coordinate axis exists at infinity in both directions corresponding to the directions of the positive and negative sides of the coordinate axis. Therefore, according to the specifications of the user interface of the vanishing point movement operation, if the vanishing point of a certain coordinate axis is moved to infinity, the vanishing point of the coordinate axis appears from the opposite side.

[0218] At this time, from the viewpoint of the continuity of geometry, the vanishing vanishing point and the appearing vanishing point correspond to each other on the opposite sides of the coordinate axis. For example, if the vanishing point corresponding to the positive direction of the X axis of the reference coordinate system 300 is moved to infinity and vanishes, the vanishing point corresponding to the negative direction of the X axis appears from the opposite side.

[0219] However, since the behavior is not necessarily preferred by the user, the vanishing point on the same side as the appearing and disappearing vanishing point is required to appear and disappear. Therefore, the following method is used.

[0220] <Method E1>

[0221] At the time when the operation of moving the vanishing point (mouse drag, etc.) is started, the axial positive and negative of each vanishing point is recorded, and when the vanishing point temporarily becomes infinite and disappears and appears again in the continuation of the operation (for example, in the mouse drag), the recorded positive and negative is used.

[0222] <Method of Replacing the Origin Point O with Another Point>

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

[0224] (Condition q1) The point Q is taken as the origin.

[0225] (Condition q2) The directions of the respective coordinate axes are in the same direction as the directions of the respective coordinate axes of the original reference coordinate system 300.

[0226] As described above, the straight line groups that are parallel to each other have the same vanishing point. Therefore, the positions of the vanishing points of the respective coordinate axes of the new reference coordinate system 301 are the same as the positions of the vanishing points of the respective coordinate axes of the original reference coordinate system 300. Therefore, if the point Q and the new reference coordinate system 301 are used, the method using the origin of the reference coordinate system 300 described earlier can be directly applied.

[0227] Figure 11 is a hardware configuration diagram of the embodiment.

[0228] The hardware configuration of the embodiment has a CPU 4001, a ROM 4002 capable of storing the program and data of the embodiment, a RAM 4003, a network interface 4005, an input interface 4006, a display interface 4007, and an external memory interface 4008. These hardware are connected to each other through a bus 4004.

[0229] The network interface 4005 is connected to a network 4015. The network 4015 has a wired LAN, a wireless LAN, the Internet, a telephone network, and the like. The input interface 4006 is connected to an input section 4016. The display interface 4007 is connected to a display section 4017. The display section 4017 can be realized by a plurality of display devices. The external memory interface 4008 is connected to a storage medium 4018. The storage medium 4018 can be a RAM, a ROM, a CD-ROM, a DVD-ROM, a hard disk, a memory card, a USB memory, and the like.

[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 in which a computer uses 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 position Pc_new of the virtual camera 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 position Pc_new of the virtual camera 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 by ensuring that the ratio of the following two lengths is equal: The ratio of the length from the virtual camera's position Pc_old to point O before the position change of at least one of the plurality of vanishing points, to the length from the position Pc_old to point Po_old projected by the virtual camera onto the drawing plane from point O; and The ratio of 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 to the length from the position Pc_new to the point O projected by the virtual camera onto the drawing plane by the point Po_new.

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 of at least one of the plurality of vanishing points has changed, is located on the following perpendicular line: the one of the two vanishing points whose position changes less on the drawing plane is designated as Vm, and the other as Vn; Vm before and after the position change of at least one of the plurality of vanishing points is designated as Vm_old and Vm_new, respectively; Vn after the position change of at least one of the plurality of vanishing points is designated as Vn_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 designated as H_old; and the perpendicular line from point H_new on the line segment Vm_newVn_new, which is determined to be Vm_newH_new=Vm_oldH_old, is drawn to the drawing plane.

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 of at least one of the multiple vanishing points is changed, the positions of the two vanishing points V1 and V2 are set as V1_old and V2_old, respectively. After the position of at least one of the multiple vanishing points is changed, the positions of the two vanishing points V1 and V2 are set as V1_new and V2_new, respectively. The foot of the perpendicular line from the virtual camera to the drawing plane before the position of at least one of the multiple vanishing points is changed is set as H_old. On the perpendicular line from point H_new on the line segment V1_newV2_new, which is determined to be V1_oldH_old:H_oldV2_old= V1_newH_new:H_newV2_new, to the drawing plane, there exists the virtual camera after the position of at least one of the multiple vanishing points is changed.

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 program, It 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 of and apparatus for determining data representing 3-dimensional object from perspective view

    EP0596518A2

  • Method and system for supporting preparation of perspective drawing

    JP1995234949A

  • Picture conversion method and medium used therefor

    US6124859A