Display method, device, equipment and medium of three-dimensional object

By generating a projected image based on the human eye position on the display device, the problem of high cost of existing 3D displays is solved, and a low-cost stereoscopic interactive effect is achieved.

CN115965672BActive Publication Date: 2025-12-30DOUYIN VISION CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111175738.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-09
Publication Date
2025-12-30
Estimated Expiration
2041-10-09

AI Technical Summary

Technical Problem

Existing 3D display technologies require additional polarizing plates and glasses, resulting in high costs and inconvenience in use.

Method used

By acquiring the target object model and the position information of the human eye, the projection position information is calculated, and the projected image is directly generated on the display device to achieve a three-dimensional effect without the need for external auxiliary equipment.

Benefits of technology

It achieves low-cost 3D display effects, enhances the sense of three-dimensional interaction, and eliminates the need for additional equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115965672B_ABST
    Figure CN115965672B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to a display method, device, equipment and medium of a three-dimensional object, wherein the method comprises: obtaining a plurality of original position information of a plurality of associated three-dimensional points in a target object model, obtaining human eye position information of a human eye, and obtaining display position information of a preset display area of a picture display device; determining a plurality of projection position information of the plurality of associated three-dimensional points on the display area of the picture display device according to the plurality of original position information, the human eye position information and the display position information; and generating and rendering a projection picture of the target object model on the display area of the picture display device according to the plurality of projection position information. Thus, the projection picture of the target object model at different angles is displayed according to the position of the human eye, the stereoscopic interaction between the position of the human eye and the display of the target object model is improved, and a low-cost picture three-dimensional display effect is achieved without adding external auxiliary equipment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of image processing technology, and in particular to a method, apparatus, device and medium for displaying three-dimensional objects. Background Technology

[0002] To enhance the immersive viewing experience, it is common to achieve 3D visual effects. For example, using 3D technology to display images during movie viewing can improve the realism of the viewing experience. Similarly, using 3D technology to assist in motion-sensing games can enhance the realism of the game.

[0003] In related technologies, by adding a polarizing plate to the display screen, two images with different polarization directions can be transmitted to the viewing user. When the images pass through polarized glasses, since each lens of the polarized glasses can only receive an image with one polarization direction, the left and right eyes of the viewing user can receive two sets of images. These images are then synthesized by the brain to create a stereoscopic image, thereby achieving a naked-eye three-dimensional viewing effect.

[0004] However, the above-mentioned method of achieving a 3D viewing effect based on the principle of polarized light requires adding a polarizing plate to the display screen and wearing polarized glasses, making 3D display costly. Summary of the Invention

[0005] To address or at least partially address the aforementioned technical problems, this disclosure provides a method for displaying a three-dimensional object. The method includes: acquiring multiple original position information of multiple associated three-dimensional points in a target object model; acquiring human eye position information; and acquiring display position information of a preset display area in a display device; determining multiple projection position information of the multiple associated three-dimensional points on the display area based on the multiple original position information, the human eye position information, and the display position information; and generating and rendering a projection image of the target object model on the display area based on the multiple projection position information.

[0006] This disclosure also provides a display device for a three-dimensional object, the device comprising: an acquisition module, configured to acquire multiple original position information of multiple associated three-dimensional points in a target object model, acquire human eye position information, and acquire display position information of a preset display area in a display device; a determination module, configured to determine multiple projection position information of the multiple associated three-dimensional points on the display area based on the multiple original position information, the human eye position information, and the display position information; and a rendering module, configured to generate and render a projection image of the target object model on the display area based on the multiple projection position information.

[0007] The present disclosure also provides an electronic device, comprising: a processor; a memory for storing executable instructions of the processor; the processor being configured to read the executable instructions from the memory and execute the instructions to implement the method for displaying a three-dimensional object as provided in the present disclosure.

[0008] This disclosure also provides a computer-readable storage medium storing a computer program for performing a method for displaying a three-dimensional object as provided in this disclosure.

[0009] The technical solution provided in this disclosure has the following advantages compared with the prior art:

[0010] The three-dimensional object display scheme provided in this disclosure acquires multiple original position information of multiple associated three-dimensional points in the target object model, acquires human eye position information, and acquires display position information of a preset display area in the display device. Then, based on the multiple original position information, human eye position information, and display position information, it determines multiple projection position information of the multiple associated three-dimensional points on the display area. Based on the multiple projection position information, it generates and renders a projection image of the target object model in the display area. Thus, by displaying the projection image of the target object model at different angles according to the human eye position, it improves the stereoscopic interaction between the human eye position and the target object model display, achieving a low-cost three-dimensional display effect without the need for external auxiliary equipment. Attached Figure Description

[0011] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent when taken in conjunction with the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale.

[0012] Figure 1 This is a schematic diagram of a three-dimensional object display scene provided by an embodiment of the present disclosure;

[0013] Figure 2 A flowchart illustrating a method for displaying a three-dimensional object according to an embodiment of this disclosure;

[0014] Figure 3 A schematic diagram of a rendering scene of a three-dimensional object provided in an embodiment of this disclosure;

[0015] Figure 4 A flowchart illustrating another method for displaying a three-dimensional object provided in an embodiment of this disclosure;

[0016] Figure 5A flowchart illustrating another method for displaying a three-dimensional object provided in an embodiment of this disclosure;

[0017] Figure 6 This is a schematic diagram illustrating a camera setup scenario provided in an embodiment of this disclosure.

[0018] Figure 7 This is a schematic diagram of a human eye position positioning scenario provided by an embodiment of the present disclosure;

[0019] Figure 8 A flowchart illustrating another method for displaying a three-dimensional object provided in an embodiment of this disclosure;

[0020] Figure 9(a) is a schematic diagram of a projection scene provided in an embodiment of this disclosure;

[0021] Figure 9(b) is a schematic diagram of another projection scene provided by an embodiment of this disclosure;

[0022] Figure 10 This is a schematic diagram of another projection scene provided by an embodiment of the present disclosure;

[0023] Figure 11 This is a schematic diagram of another projection scene provided by an embodiment of the present disclosure;

[0024] Figure 12 This is a schematic diagram of another projection scene provided by an embodiment of the present disclosure;

[0025] Figure 13 This is a schematic diagram of a projection screen rendering process provided in an embodiment of the present disclosure;

[0026] Figure 14 A schematic diagram of a ray tracing rendering scene provided in an embodiment of this disclosure;

[0027] Figure 15 A flowchart illustrating another method for displaying a three-dimensional object provided in an embodiment of this disclosure;

[0028] Figure 16 This is a schematic diagram of another projection scene provided by an embodiment of the present disclosure;

[0029] Figure 17 This is a schematic diagram of another projection scene provided by an embodiment of the present disclosure;

[0030] Figure 18 A schematic diagram of the structure of a display device for a three-dimensional object provided in an embodiment of this disclosure;

[0031] Figure 19 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation

[0032] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0033] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.

[0034] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below.

[0035] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.

[0036] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".

[0037] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

[0038] To address the aforementioned issue of high cost in 3D display, this disclosure proposes a method that requires no external equipment and adjusts the projected image displayed to the user based on the position of the user's eyes, such as... Figure 1 As shown, when the displayed object is a mobile phone, when the user's eye is at angle 1, the image of the mobile phone at angle 1 is displayed to the user, and when the user's eye is at angle 2, the image of the mobile phone at angle 2 is displayed to the user. Thus, by adjusting the projection angle of the mobile phone's projection screen according to the user's eye position, a three-dimensional display effect is formed. No external auxiliary equipment such as polarized glasses is required to assist the display, resulting in lower display costs. Furthermore, users do not need to wear auxiliary equipment, and the viewing comfort is stronger.

[0039] The method for displaying three-dimensional objects provided in this disclosure will be described below with reference to specific embodiments.

[0040] Figure 2 This is a flowchart illustrating a method for displaying a three-dimensional object according to an embodiment of this disclosure. The method can be executed by a display device, which can be implemented using software and / or hardware and is generally integrated into an electronic device. This method for displaying three-dimensional objects can be applied to any electronic device with a display screen, such as a smartphone, laptop, or wearable device. Figure 2 As shown, the method includes:

[0041] Step 201: Obtain multiple original position information of multiple associated 3D points in the target object model, obtain the human eye position information, and obtain the display position information of the preset display area in the display device.

[0042] In this embodiment, to achieve the effect of adjusting the display angle according to the position of the human eye, the system acquires the human eye position information, the original position information of multiple related 3D points in the target object model, and the display position information of a preset display area in the display device. This display area can be the entire display screen area of ​​the display device or a specific area on the display screen designated for displaying relevant images. In this embodiment, the human eye can be located between the left and right eyes, or either the left or right eye, thereby achieving a monocular 3D viewing effect and further reducing the cost of 3D viewing.

[0043] In addition, the human eye position information in this embodiment can be understood as the relative position coordinates of the human eye relative to the display area of ​​the screen in three-dimensional space.

[0044] In this embodiment, for ease of calculation, the human eye position information can also be the absolute position coordinates in space. In this case, it is necessary to align the coordinate system of the screen display area to the world coordinate system. In this embodiment, the gyroscope data of the display device where the screen display area is located is obtained, and the coordinates are aligned based on the gyroscope data and the orientation data predefined by the display device. The orientation data is the positioning data in the coordinate system specified by the display device to locate the display orientation of its screen display area. For example, the zero point coordinates of the coordinate system corresponding to the orientation data are aligned with the zero point coordinates of the coordinate system corresponding to the gyroscope data. Thus, the human eye position information in the coordinate system of the aligned display orientation is the absolute position coordinates of the world coordinate system.

[0045] It is important to emphasize that, in order to ensure distortion-free display, regardless of whether the human eye position information is in relative or absolute coordinates, it must maintain consistency with the reference coordinate system of all other position coordinates involved in subsequent embodiments. For example, when the human eye position information is an absolute position coordinate relative to the azimuth coordinate system aligned with the gyroscope, the original position information of the target object model involved in subsequent embodiments, as well as the camera position information and projection parameter matrix of the subsequent camera model, should all be absolute position coordinates relative to the azimuth coordinate system aligned with the gyroscope. For ease of description, the position coordinates involved in subsequent embodiments can all be understood as coordinates in the world coordinate system, which will not be elaborated further.

[0046] In this embodiment, the target object model is an object in space that is to be provided to the human eye with a 3D display effect, and can be any 3D object. The associated 3D points of the target object model can be all vertices of the target object model, or each point in the target object model, or points on all contours of the target object model, etc. In this embodiment, for the sake of efficiency in rendering the projected image, the associated 3D points can be understood as all vertices of the target object model. The original position information of the associated 3D points can be predetermined and calibrated. The determination method is not limited in this embodiment. For example, when the original position information is world coordinates, structured light can be projected onto the target object model through a structured light camera based on structured light technology. Based on the demodulation of the modulated image of the structured light on the target object model, the depth information of the target object model can be obtained. Based on the depth information and the camera parameters of the structured light camera, coordinate transformation calculation is performed to obtain the original position information of the target object model.

[0047] For example, if the target object model is constructed by a 3D model building tool, the original position information of the associated 3D points in the target object model can be obtained by reading the model construction data of the 3D model building tool.

[0048] Step 202: Based on multiple original position information, human eye position information, and display position information, determine multiple projection position information of multiple associated three-dimensional points on the display area of ​​the screen.

[0049] It is understandable that when the human eye is not perpendicular to the display area, the target object model seen by the human eye is actually the effect of oblique projection of the target object model relative to the position information of the human eye.

[0050] For example, such as Figure 3As shown, when the target object model is a cube, for the associated 3D point P in the cube, according to the line of sight light path corresponding to the human eye position information, the position of P seen by the human eye should actually be point H in the image. Therefore, if the pixel value of point H can be set to the pixel value of pixel point P, obviously no matter where the human eye position information is, a stereoscopic viewing effect that switches the display angle according to the user's human eye position will be formed.

[0051] Therefore, in this embodiment, the projection position information of the associated three-dimensional point in the screen display area is determined based on the human eye position information, the original position information and the display position information. This projection position information can be understood as the projection position information point of the associated three-dimensional point seen according to the human eye position information, which is projected onto the screen display area when it is transmitted in the line of sight.

[0052] It should be noted that the methods for determining the projection position information of the associated 3D point in the display area of ​​the screen differ in different application scenarios, based on human eye position information, display position information, and multiple original position information. Examples are as follows:

[0053] In one embodiment of this disclosure, the corresponding projection position information point is determined based on the direction of the optical path of the human eye's line of sight.

[0054] In this embodiment, refer to Figure 3 It can construct a straight line connecting the human eye position information and each original position information. This straight line is the direction of the line of sight. The intersection of the straight line and the display position information corresponding to the screen display area is the projection position information.

[0055] In another embodiment of this disclosure, a deep learning model is pre-trained based on a large amount of sample data. The input of the deep learning model is human eye position information, the original position information of associated 3D points in the display area of ​​the screen, and the screen display position information. The output is projection position information. Thus, the human eye position information and the original position information are input into the trained deep learning model, and the corresponding projection position information is output based on the deep learning model.

[0056] Step 203: Generate and render the projection image of the target object model in the display area based on multiple projection position information.

[0057] It is easy to understand that in order to ensure that the original position information of the associated 3D points is presented in the projection position information of the screen display area, the corresponding projection position information needs to be mapped to the corresponding associated 3D points. Therefore, in this embodiment, the projection image of the target object model is generated and rendered in the screen display area according to the projection position information.

[0058] For example, such as Figure 4As shown, when the target object model is a building, the determined associated 3D points are A1-A5 in the figure, and their corresponding projection position information is A1'-A5' in the R plane of the screen display area (not shown in the figure). Obviously, for the user's eye position information, the projected image rendered in the screen display area should be the image of the building area corresponding to A1-A5. Therefore, the image of the building area corresponding to A1-A5 is rendered according to A1'-A5'.

[0059] Continue to refer to Figure 4 When the determined associated 3D points are A1, A3, A5, A6, A7, and A8 in the figure, and their corresponding projection position information is A1', A3', A5', A6', A7', and A8' (not shown in the figure) in the screen display area, then obviously, for the user's eye position information, what they see should be the image of the building area corresponding to A1, A3, A5, A6, A7, and A8. Therefore, the image of the building area corresponding to A1, A3, A5, A6, A7, and A8 is rendered based on A1', A3', A5', A6', A7', and A8'.

[0060] This achieves the goal of determining the visible area of ​​the target object model based on the user's eye position information, and then displaying the corresponding projected image of that area on the screen. This creates a stereoscopic effect where the angle of the target object model adjusts according to the user's eye position. Alternatively, the target object model can be understood as a "hole," the screen display area as the "hole opening," and the image perceived by the human eye is through the projected image at the "hole opening." Therefore, simply adjusting the angle of the projected image at the "hole opening" is sufficient to provide a stereoscopic visual experience. This stereoscopic display method offers at least the following effects:

[0061] First, visual feedback is provided based on the position of the user's eyes, adapting to the user's eye position to match the stereoscopic viewing effect.

[0062] Secondly, the orientation of the display device in the display area has low correlation. Since the coordinates of the human eye position and other related positions are consistent with the positioning coordinate system of the display device, the 3D display effect is not affected no matter how the display device is placed, thus reducing the computational burden.

[0063] Third, it has a low cost and does not require auxiliary equipment such as polarized glasses.

[0064] Fourth, the display of the projected image is only related to the position of the user's eyes and not to the direction of the user's gaze. Therefore, no matter where the user's gaze is, it does not affect the display of the projected image, thus reducing the rendering computation pressure.

[0065] In summary, the method for displaying a 3D object according to this disclosure generates and renders the projection image position information of the target object model in the display area based on multiple projection position information. It determines multiple projection position information of multiple associated 3D points in the display area based on multiple original position information, human eye position information, and display position information. Then, it generates and renders the projection image of the target object model in the display area based on the multiple projection position information. Therefore, by displaying the projection image of the target object model at different angles according to the human eye position, the stereoscopic interaction between the human eye position and the target object model display is improved, achieving a low-cost 3D display effect without the need for external auxiliary equipment.

[0066] In this embodiment, in order to achieve a stereoscopic effect, the generated projection image needs to follow the position of the human eye. Therefore, obtaining the human eye position information that reflects the position of the human eye is crucial.

[0067] It should be noted that the methods for obtaining human eye position information differ in different application scenarios. Examples are illustrated below:

[0068] In one embodiment of this disclosure, such as Figure 5 As shown, when the display device includes a camera, the eye position information of the human eye is acquired, including:

[0069] Step 501: Obtain the first relative position information of the human eye relative to the camera.

[0070] In this embodiment, if the display device has a camera, the camera is used to perceive the first position information of the human eye.

[0071] In this embodiment, a camera can be used to capture an image of a human eye, and the pixel coordinates of the human eye in the image (the human eye can be the position between the left and right eyes, or either the left or right eye) can be extracted. Based on the camera parameter matrix of the camera, the captured pixel coordinates of the human eye can be converted into the corresponding first relative position information.

[0072] In this embodiment, a face image of the head where the eyes are located can also be captured by a camera to obtain the fourth position information of the eyes relative to the face. The face image captured by the camera can be obtained, and the face image can be calculated according to a preset algorithm to obtain the fifth position information of the face image relative to the camera. Based on the fourth position information and the fifth position information, the first relative position information of the eyes relative to the camera can be calculated. The preset algorithm can be a face detection algorithm such as the facedetect algorithm.

[0073] Step 502: Obtain the second relative position information of the camera relative to the display area of ​​the image.

[0074] In this embodiment, since the camera and the screen display area are not in the same location, for example, Figure 6 As shown, the camera may be positioned slightly above the screen display area. Therefore, in order to further ensure the accuracy of human eye positioning, a second relative position information of the camera relative to the screen display area is obtained.

[0075] In some possible embodiments, the second position information may be stored in a preset location during the production process, so that the corresponding second relative position information can be read at the preset location. Alternatively, the corresponding second relative position information may be calculated by capturing images of the display device through other cameras and using image recognition algorithms.

[0076] Step 503: Determine the third relative position information between the human eye and the screen display area based on the first relative position information and the second relative position information.

[0077] As Figure 7 As shown, if we consider the head where the human eye is located as a head model, and the camera is mounted on a virtual display device, then the orientation of the head model is driven by the camera. Thus, a stable relationship is established between the head model, the human eye, the camera, and the display area on the display device. That is, the relationship between the human eye and the head is the first relative position information, the relationship between the camera and the display area is the second relative position information, and the relationship between the head and the front-facing camera is the third relative position information. Based on the above relationships, we can obtain the final goal: the relative position information of the human eye located between the human eye and the display area.

[0078] In another embodiment of this disclosure, a two-dimensional image and depth value of the human eye can be obtained in the display area of ​​the screen using an external camera or other device based on structured light technology or infrared sensor technology. After the coordinate system of the two-dimensional pixels in the two-dimensional image of the human eye is transformed based on the camera parameter transformation matrix of the external camera, the third relative position information of the human eye is determined by combining the depth value.

[0079] Step 504: Calculate the human eye position information based on the displayed position information and the third relative position information.

[0080] In this embodiment, the third relative position information is relative to the display area of ​​the screen. Therefore, in order to obtain the absolute position information of the human eye, it is necessary to calculate the human eye position information based on the display position information and the third relative position information. Any point, such as the center point of the display position information, can be used as a reference point to determine the human eye position information; no limitation is imposed here.

[0081] In one embodiment of this disclosure, if the original position information and the displayed position information mentioned in the above embodiments are both based on the world coordinate system, then the position of the displayed position information relative to the third relative position information is directly determined to be the human eye position information.

[0082] In one embodiment of this disclosure, if the original location information and the displayed location information are not both based on the world coordinate system, for example, the original location information is based on the world coordinate system and the displayed location information is based on the orientation data of the display device, then coordinate system alignment is required before obtaining the human eye position information.

[0083] In this embodiment, a first coordinate system for obtaining the location display position information is obtained. This first coordinate system is pre-calibrated and may be the orientation positioning coordinate system of the display device, etc. Then, a second coordinate system for obtaining multiple original location information is obtained. This second coordinate system is also pre-calibrated. The alignment of the first and second coordinate systems is determined, specifically whether the origins of the first and second coordinate systems are the same and whether the unit measurement values ​​of the coordinates are the same. If they are not aligned, the first and second coordinate systems are aligned to obtain a target coordinate system. This target coordinate system can be either the first or the second coordinate system. Reference position information of the display position information in the target coordinate system is obtained. For example, if the target coordinate system is the first coordinate system where the display position is located, the target position information is directly determined as the reference position information. Otherwise, the reference position information of the target position information in the target coordinate system is calculated based on the displacement between the origin of the first coordinate system and the origin of the target coordinate system, as well as the ratio of the unit length measurement values, etc. Finally, the position of the third relative position information of the reference position information is determined to be the human eye position information. In summary, the three-dimensional object display method of this disclosure renders the image based on the position information of the human eye relative to the display area of ​​the screen, avoiding positional positioning errors of the human eye and the face or head, as well as positional positioning errors of the camera relative to the display area of ​​the screen, thereby further ensuring the accuracy of the determination of the human eye position information.

[0084] As described above, the final effect presented to the human eye is determined by the projected image. If the computational load of the projected image is large, it will obviously lead to a delay in the three-dimensional effect of following the position of the human eye. Therefore, in the embodiments of this disclosure, a more efficient rendering method for the projected image is also provided.

[0085] In one embodiment of this disclosure, such as Figure 8 As shown, the projection image of the target object model is generated and rendered in the display area based on the projection position information, including:

[0086] Step 801: Calculate the length relationship between each original position information, human eye position information, and projected position information.

[0087] Step 802: Based on the length relationship and the camera position information of the preset camera model, calculate multiple virtual 3D points corresponding to multiple associated 3D points, wherein the view frustum of the camera model is parallel and tangent to the screen display area.

[0088] It is understandable that the projected image seen by the human eye is actually the projection of the target object model onto the "aperture plane"—the target display area. In related technologies, if the human eye is used as the rendering frustum, it is impossible to directly set up the camera rendering model at the human eye position during actual execution, because the perspective matrix of the human eye is uncertain, making it difficult to implement. If it is forced to set up the camera model at the human eye position, the frustum angle will be affected by the human eye position, as shown in Figure 9(a). This causes the camera model to be unable to project the image onto the aperture plane, i.e., the display area, completely and correctly. At the same time, the clipping plane of the camera model constructed based on the human eye position is a rectangle perpendicular to the line of sight. As shown in Figure 9(b), the aperture plane and the clipping plane of the camera model are not parallel, and there is even a large angle between them. This causes the image rendered by the camera to be unable to be accurately converted onto the display content of the aperture plane, affecting the rendering effect and causing distortion in the actual rendered projected image.

[0089] Therefore, in one embodiment of this disclosure, to reduce rendering difficulty and ensure rendering effect, a preset camera model is pre-set. This camera model replaces the human eye as the view frustum for rendering the projected image. In some possible embodiments, to ensure rendering effect, such as... Figure 10 As shown, the view frustum of the camera model is parallel and tangent to the display area, thus ensuring that the image rendered by the camera can be accurately transferred to the display content of the opening plane, and that the projected image can be projected completely and correctly onto the opening plane.

[0090] To ensure that the projected image rendered by the preset camera model is consistent with the projected image at the human eye position, it is necessary to ensure that the rendering point and projection position information of the projected image of the target object model by the preset camera model in the target rendering area are consistent.

[0091] In this embodiment, the length relationship between the original position information, the human eye position information, and the projected position information is calculated. Based on the length relationship and the camera position information of the preset camera model, virtual 3D points associated with the 3D points are calculated. These virtual 3D points can be understood as virtual object points corresponding to the associated 3D points within a virtual 3D object constructed based on the preset camera model and corresponding to the target object model. When the target object model is a cube, such as... Figure 11As shown, the virtual 3D object may be a deformed cube, thereby ensuring that, for the preset camera model, the points corresponding to the virtual 3D points in the projection image of the virtual 3D object are located in the projection position information.

[0092] It should be noted that the length relationships of the original position information, human eye position information, and projected position information differ in different application scenarios. In some possible embodiments, a first length and a second length are calculated between the human eye position information and the original position information and the projected position information, respectively. The ratio of the first length and the second length is calculated as the length relationship. Then, the projection direction is determined based on the camera position information and the projected position information. This projection direction is the straight line direction between the camera position information and the projected position information. Furthermore, a third length between the camera model and the projected position information is determined in the projection direction. The product of the third length and the ratio is calculated to obtain a fourth length. The position point at a distance of the fourth length from the camera position information in the projection direction is determined as a virtual 3D point. The camera position information is pre-calibrated according to the target display area, and the camera position information is usually perpendicular to the target display area.

[0093] For example, continue to refer to Figure 11 When the target object model is a cube, and the associated 3D point on the cube includes P, the projection position information of the line corresponding to the human eye position information eye and the target display area is H. Then, calculate the first length of eye and P, and the second length of eye and H. Calculate the ratio of the first length and the second length as L. Based on the preset camera model VCAM and the third length of the projection position information H, calculate the product of the third length and L. According to this product value in the projection direction of the camera model VCAM and the projection position information H, determine the virtual 3D point as P'. This virtual 3D point P' is the virtual image point of P. The rendering result of P' through the preset camera model and the rendering result of P through the human eye are both the same (H), so the same rendering effect can be achieved.

[0094] Therefore, by limiting the length ratio from the preset camera model to the projection position information to the virtual 3D point to be consistent with the length ratio from the human eye to the projection position information to the corresponding virtual 3D point, thus, as... Figure 12 As shown, according to the similarity theorem of projection triangles, the preset camera model and the projection image corresponding to the human eye are the same. In the figure, P1 and P1' are corresponding related 3D points and virtual 3D points, P2 and P2' are corresponding related 3D points and virtual 3D points, and P3 and P3' are corresponding related 3D points and virtual 3D points.

[0095] Step 803: Construct a virtual 3D object model based on virtual 3D points, and generate and render the projection image of the virtual 3D object model onto the screen display area based on the preset projection transformation matrix of the camera model.

[0096] In this embodiment, as mentioned above, virtual 3D points are model points in virtual objects. Therefore, virtual 3D objects are constructed based on virtual 3D points. These virtual 3D objects are not mirror models of the target object model, but are derived by reversing the rendering results of the human eye relative to the target object model. They may be objects deformed relative to the target object model.

[0097] In this embodiment, a projection image of a virtual 3D object projected onto a target object model is generated and rendered based on a preset projection transformation matrix of the camera model. Thus, the projection image is generated by rendering the camera model based on a known projection transformation matrix, improving the operability of generating the projection image.

[0098] In some possible embodiments, the projection image can be generated based on the projection transformation matrix of a preset camera model, which can be implemented using Open Graphics Library (OpenGL) technology. In OpenGL technology, such as... Figure 13 As shown, the rendered image is divided into two parts. One part is the vertex shader, which first uses the projection transformation matrix and virtual 3D points as vertices to construct the image shape of the projected area of ​​the virtual 3D object. The other part is the fragment shader, which is used to break down the image shape into small pixel blocks for pixel coloring, so as to finally render the required projected image.

[0099] To facilitate understanding, the following example uses OpenGL code to generate a projected image based on the above logic. In the code below, all coordinates are in the direct coordinate system. `varWorldPosition` represents the original position information of the associated 3D point, `u_eyePos` represents the human eye position information, `u_panel` is the transformation matrix from the human eye's position coordinates to the corresponding human eye position information in the display area (including rotation, scaling, and translation matrices), `u_panelInv` is the inverse transformation matrix, `u_WorldSpaceCameraPos` represents the camera position information, and `p` represents the associated 3D point. The code snippet is as follows (it should be noted that for ease of calculation, the code snippet below differs from the above embodiment; for example, it calculates the projected position information points using the coordinate system of the opening plane, but the calculation logic should be understood as the same):

[0100] vec3 p_panel=(u_panelInv*vec4(varWorldPosition,1.0)).xyz; / / p's virtual position information in the virtual space panel = panel plane's transform inverse matrix * p's original position information;

[0101] vec3 eye_panel=(u_panelInv*vec4(u_eyePos,1.0)).xyz; / / The coordinates of the human eye in panel space = the inverse of the transform matrix of the panel plane * the position information of the human eye;

[0102] float k = -eye_panel.z / (p_panel.z - eye_panel.z); / / k = length from human eye to projection location information point H / length from human eye to P = length from human eye to panel plane / length difference from human eye to P

[0103] vec3 h_panel=eye_panel+(p_panel-eye_panel)*k; / / Calculate the coordinates of the projection position information H in panel space = coordinates of the human eye in panel space * (vector from eye to P in panel space) * scale k;

[0104] vec3 h_world = (u_panel * vec4(h_panel, 1.0)).xyz; / / Calculate the world coordinates of H = transformation matrix of the panel plane * coordinates of H in panel space;

[0105] vec3 p2_world=u_WorldSpaceCameraPos+(h_world-u_WorldSpaceCameraPos) / k; / / Calculate the world coordinates of the virtual 3D point P2 = camera model world coordinates (i.e., camera position information) + (H world coordinates-camera position information) / K;

[0106] gl_Position = u_VP * vec4(p2_world'1.0); / / Calculate the world coordinates of the virtual 3D point P2 in Clip Space as gl_Position = VP (the projection transformation matrix between the view and projection matrices) * virtual 3D point P2.

[0107] In this embodiment, a camera model that can be orthographically projected relative to the screen display area is used to render the projected image. While ensuring the reliability of the projected image, the rendering computation of the projected image is greatly reduced, and the generation efficiency of the projected image is improved.

[0108] In another embodiment of this disclosure, a ray tracing algorithm can be used to calculate all emitted rays from the human eye to the target object model. Then, based on the collision between the rays and the target 3D model, the object region of the target object model associated with the projected image is determined. Based on refraction and reflection calculations, this object region is aligned to the intersection area of ​​the emitted rays from the human eye and the target display area. Specifically, as follows... Figure 14 As shown, when the target object model is a cylinder, a ray R is emitted from the viewpoint of the human eye through the center of the pixel towards the cylinder, and all intersections of R with the cylinder in the scene are calculated to obtain the closest intersection point P to the viewpoint. The color value Ic at P is calculated based on the local illumination model. A ray is derived from P along the specular reflection direction and the transmission direction of R. The previous steps are recursively performed on the derived rays to calculate the contributions Is and It from the surrounding environment in the specular reflection and transmission directions to the brightness of point P. The brightness of point P can be calculated based on the Whitted illumination model, and the calculated brightness is assigned to the pixel block where the corresponding projection position information of the target display area is located. Finally, when all the lines of sight that collide with the target 3D model and all the pixel blocks that intersect with the target display area have been processed, a realistic projection image is obtained.

[0109] Of course, in this embodiment, as mentioned above, the position of the human eye may be at a large angle relative to the target display area. Therefore, it is also necessary to perform oblique projection processing on the obtained projection image, that is, to perform oblique projection transformation processing on the obtained projection image that is orthogonally projected relative to the human eye position according to the angle between the human eye and the target display area. The specific transformation method can refer to the oblique projection algorithm of the prior art, which will not be described in detail here.

[0110] In summary, the method for displaying three-dimensional objects in this embodiment does not directly render the projected image based on the human eye position, which is difficult to determine the projection conversion parameters. Instead, it uses other methods to perform equivalent projection image rendering processing, which reduces the difficulty of generating the projected image and improves the efficiency of generating the projected image. Thus, it achieves real-time interaction between the human eye position and the stereoscopic viewing image of the target object model.

[0111] Based on the above embodiments, a stereoscopic viewing experience is achieved by using the target object model area with the angle of the projected image rendering matched with the human eye position. In actual three-dimensional stereoscopic viewing scenarios, in addition to the display angle of the target object model itself, other display methods can be used to improve the realism of the stereoscopic viewing experience.

[0112] In one embodiment of this disclosure, the realism of the stereoscopic effect is enhanced by adding shadows or other methods.

[0113] like Figure 15 As shown, the method also includes:

[0114] Step 1501: Determine the projection addition area based on the human eye position information and multiple original position information.

[0115] In this embodiment, the projection addition area is determined based on the human eye position information and the original position information. For example, the position corresponding to the human eye position information can be regarded as the light source, and the original position information can be regarded as the entity blocking the light. Thus, in order to reflect the sense of occlusion, the corresponding projection addition area is determined.

[0116] For example, the correspondence between different directions of the target object model and the corresponding projection addition area can be pre-constructed, the direction from the human eye position information to the original position information can be constructed, and the above correspondence can be queried based on the direction to determine the corresponding shadow addition area.

[0117] Step 1502: Add a shadow image corresponding to the target object model to the projection addition area.

[0118] In this embodiment, to enhance the visual appeal, the shadow image can correspond to the target object model. For example, when the target object model is a cube, the shadow image is a dark-filled image to affect the shadow effect. Or, when the target object model is a volcano model, the shadow image can be a "magma" image, etc.

[0119] For example, such as Figure 16 As shown, when the target object model is a cube, in order to improve the realism of the three-dimensional appearance, after determining the projection addition area based on the human eye position information and the original position information, a shadow is added to the corresponding projection addition area to improve the realism of the display.

[0120] In another embodiment of this disclosure, in order to improve the realism of the stereoscopic view and create a sense of depth, the pixel values ​​of different projection position information can be processed for transparency based on the depth value of the projection position information relative to the human eye coordinates, thereby creating a stereoscopic visual effect where things are clear up close and blurry in the distance.

[0121] For example, such as Figure 17 As shown, when the target object model is a cube, in order to improve the realism of the stereoscopic view, the transparency of the pixel value of each projection position information is determined based on the distance between the corresponding three-dimensional points corresponding to the position information of the human eye and the projection position information, and according to the preset correspondence between distance and transparency. Thus, the rendered projection image is based on the clarity of color and the hierarchical representation, which further enhances the stereoscopic view.

[0122] In summary, the method for displaying three-dimensional objects according to the embodiments of this disclosure further enhances the immersive experience of the projected image by processing the display mode of the projected image, thereby improving the user's three-dimensional viewing experience.

[0123] To implement the above embodiments, this disclosure also proposes a display device for three-dimensional objects.

[0124] Figure 18 This is a schematic diagram of the structure of a three-dimensional object display device provided in an embodiment of this disclosure. The device can be implemented by software and / or hardware and is generally integrated into an electronic device. Figure 18 As shown, the device includes: an acquisition module 1810, a determination module 1820, and a rendering module 1830, wherein,

[0125] The acquisition module 1810 is used to acquire multiple original position information of multiple associated 3D points in the target object model, acquire human eye position information, and acquire display position information of a preset screen display area in the screen display device;

[0126] The determination module 1820 is used to determine multiple projection position information of multiple associated 3D points on the screen display area based on multiple original position information, human eye position information and display position information;

[0127] The rendering module 1830 is used to generate and render the projection image of the target object model in the display area based on multiple projection position information. The three-dimensional object display device provided in this embodiment of the present disclosure can execute the three-dimensional object display method provided in any embodiment of the present disclosure, and has the corresponding functional modules and beneficial effects of executing the method.

[0128] To implement the above embodiments, this disclosure also proposes a computer program product, including a computer program / instructions, which, when executed by a processor, implements the method for displaying three-dimensional objects in the above embodiments.

[0129] Figure 19 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure.

[0130] The following is a detailed reference. Figure 19 The diagram illustrates a structural schematic suitable for implementing the electronic device 1900 in the embodiments of this disclosure. The electronic device 1900 in the embodiments of this disclosure may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 19 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.

[0131] like Figure 19As shown, electronic device 1900 may include a processing unit (e.g., a central processing unit, a graphics processor, etc.) 1901, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 1902 or a program loaded from storage device 1908 into random access memory (RAM) 1903. RAM 1903 also stores various programs and data required for the operation of electronic device 1900. Processing unit 1901, ROM 1902, and RAM 1903 are interconnected via bus 1904. Input / output (I / O) interface 1905 is also connected to bus 1904.

[0132] Typically, the following devices can be connected to the I / O interface 1905: input devices 1906 including, for example, a touchscreen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 1907 including, for example, a liquid crystal display (LCD), speaker, vibrator, etc.; storage devices 1908 including, for example, magnetic tape, hard disk, etc.; and communication devices 1909. Communication device 1909 allows electronic device 1900 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 19 An electronic device 1900 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.

[0133] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 1909, or installed from a storage device 1908, or installed from a ROM 1902. When the computer program is executed by the processing device 1901, it performs the functions defined in the method for displaying three-dimensional objects according to embodiments of this disclosure.

[0134] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.

[0135] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.

[0136] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.

[0137] The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to:

[0138] The system acquires multiple original position information of several related 3D points in the target object model, the human eye's eye position information, and the display position information of a preset display area on the display device. Then, based on these original, human, and display position information, it determines multiple projection position information of the related 3D points on the display area. Finally, it generates and renders a projection image of the target object model on the display area based on these projection position information. This allows the system to display the projection image of the target object model from different angles, following the human eye's position, thus improving the 3D interactive experience between the human eye's position and the target object model's display. This achieves a low-cost 3D display effect without the need for external auxiliary equipment.

[0139] Computer program code for performing the operations of this disclosure can be written in one or more programming languages ​​or a combination thereof, including but not limited to object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0140] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0141] The units described in the embodiments of this disclosure can be implemented in software or hardware. The names of the units are not, in some cases, intended to limit the specific unit.

[0142] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.

[0143] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0144] According to one or more embodiments of the present disclosure, the present disclosure provides a method for displaying a three-dimensional object, including: acquiring multiple original position information of multiple associated three-dimensional points in a target object model, acquiring human eye position information, and acquiring display position information of a preset screen display area in a screen display device;

[0145] Based on the multiple original position information, the human eye position information, and the display position information, determine multiple projection position information of the multiple associated three-dimensional points on the screen display area;

[0146] Based on the multiple projection position information, a projection image of the target object model is generated and rendered in the display area of ​​the screen.

[0147] According to one or more embodiments of this disclosure, in the method for displaying three-dimensional objects provided by this disclosure,

[0148] When the display device includes a camera, acquiring the eye position information includes:

[0149] Obtain the first relative position information of the human eye relative to the camera;

[0150] Obtain the second relative position information of the camera relative to the image display area;

[0151] The third relative position information between the human eye and the screen display area is determined based on the first relative position information and the second relative position information.

[0152] The human eye position information is calculated based on the displayed position information and the third relative position information.

[0153] According to one or more embodiments of this disclosure, in the method for displaying three-dimensional objects provided by this disclosure,

[0154] The step of obtaining the first relative position information of the human eye relative to the camera includes:

[0155] Obtain the fourth relative position information of the human eye relative to the face it is on;

[0156] Acquire a face image captured by the camera, and calculate the fifth relative position information of the face image relative to the camera according to a preset algorithm;

[0157] The first relative position information is calculated based on the fourth relative position information and the fifth relative position information.

[0158] According to one or more embodiments of this disclosure, in the method for displaying three-dimensional objects provided by this disclosure,

[0159] The step of calculating the human eye position information based on the display position information and the third relative position information includes:

[0160] Obtain a first coordinate system for locating the displayed location information, and obtain a second coordinate system for locating the multiple original location information;

[0161] Determine whether the first coordinate system and the second coordinate system are aligned;

[0162] If they are not aligned, align the first coordinate system and the second coordinate system to obtain the target coordinate system;

[0163] The reference position information of the display position information in the target coordinate system is obtained, and the position of the third relative position information in the reference position information is determined as the human eye position information.

[0164] According to one or more embodiments of this disclosure, in the method for displaying three-dimensional objects provided by this disclosure,

[0165] The step of determining multiple projection position information of multiple associated 3D points on the screen display area based on the human eye position information, the multiple original position information, and the display position information includes:

[0166] Construct a straight line connecting the human eye position information and each of the original position information;

[0167] The intersection points of the multiple connecting lines of the multiple original position information and the display position information are determined as the multiple projection position information.

[0168] According to one or more embodiments of this disclosure, in the method for displaying three-dimensional objects provided by this disclosure,

[0169] The step of generating and rendering the projected image of the target object model in the display area based on the multiple projection position information includes:

[0170] Calculate the length relationship between each of the original position information, the human eye position information, and the projected position information;

[0171] Based on the length relationship and the camera position information of the preset camera model, calculate multiple virtual 3D points corresponding to the multiple associated 3D points, wherein the view frustum of the camera model is parallel and tangent to the screen display area;

[0172] A virtual 3D object model is constructed based on the virtual 3D points, and the projection image of the virtual 3D object model onto the screen display area is generated and rendered based on the preset projection transformation matrix of the camera model.

[0173] According to one or more embodiments of this disclosure, in the method for displaying three-dimensional objects provided by this disclosure,

[0174] The calculation of the length relationship between each of the original position information, the human eye position information, and the projected position information includes:

[0175] Calculate the first and second lengths of the distance between the human eye position information and each of the original position information and the corresponding projected position information;

[0176] The ratio of the first length to the second length is the length relationship.

[0177] According to one or more embodiments of this disclosure, in the method for displaying three-dimensional objects provided by this disclosure,

[0178] The step of calculating multiple virtual 3D points corresponding to the multiple associated 3D points based on the length relationship and the camera position information of the preset camera model includes:

[0179] The projection direction is determined based on the camera position information and each of the projection position information;

[0180] Determine a third length between the camera position information and the corresponding projection position information in the projection direction;

[0181] The product of the third length and the ratio is calculated to obtain the fourth length, and the position point at which the fourth length of the camera position information is determined in the projection direction is the virtual three-dimensional point.

[0182] According to one or more embodiments of this disclosure, the method for displaying a three-dimensional object provided in this disclosure further includes:

[0183] The projection addition area is determined based on the human eye position information and the multiple original position information.

[0184] Add a shadow image corresponding to the target object model to the projection area.

[0185] According to one or more embodiments of this disclosure, this disclosure provides a display device for a three-dimensional object, comprising:

[0186] The acquisition module is used to acquire multiple original position information of multiple associated 3D points in the target object model, acquire human eye position information, and acquire display position information of a preset display area in the display device.

[0187] The determining module is used to determine multiple projection position information of the multiple associated three-dimensional points on the screen display area based on the multiple original position information, the human eye position information, and the display position information;

[0188] The rendering module is used to generate and render the projection image of the target object model in the display area of ​​the screen based on the multiple projection position information.

[0189] According to one or more embodiments of this disclosure, in the display device for a three-dimensional object provided by this disclosure, when the display device includes a camera, the acquisition module is specifically used for:

[0190] Obtain the first relative position information of the human eye relative to the camera;

[0191] Obtain the second relative position information of the camera relative to the image display area;

[0192] The third relative position information between the human eye and the screen display area is determined based on the first relative position information and the second relative position information.

[0193] The human eye position information is calculated based on the displayed position information and the third relative position information.

[0194] According to one or more embodiments of this disclosure, in the display device for three-dimensional objects provided by this disclosure, the acquisition module is specifically used for:

[0195] Obtain the fourth relative position information of the human eye relative to the face it is on;

[0196] Acquire a face image captured by the camera, and calculate the fifth relative position information of the face image relative to the camera according to a preset algorithm;

[0197] The first relative position information is calculated based on the fourth relative position information and the fifth relative position information.

[0198] According to one or more embodiments of this disclosure, in the display device for three-dimensional objects provided by this disclosure, the acquisition module is specifically used for:

[0199] Obtain a first coordinate system for locating the displayed location information, and obtain a second coordinate system for locating the multiple original location information;

[0200] Determine whether the first coordinate system and the second coordinate system are aligned;

[0201] If they are not aligned, align the first coordinate system and the second coordinate system to obtain the target coordinate system;

[0202] The reference position information of the display position information in the target coordinate system is obtained, and the position of the third relative position information in the reference position information is determined as the human eye position information.

[0203] According to one or more embodiments of this disclosure, in the display device for three-dimensional objects provided by this disclosure, the determining module is specifically used for:

[0204] Construct a straight line connecting the human eye position information and each of the original position information;

[0205] The intersection points of the multiple connecting lines of the multiple original position information and the display position information are determined as the multiple projection position information.

[0206] According to one or more embodiments of this disclosure, in the display device for three-dimensional objects provided by this disclosure, the rendering module includes:

[0207] The first computing unit is used for

[0208] Calculate the length relationship between each of the original position information, the human eye position information, and the projected position information;

[0209] The second calculation unit is used to calculate multiple virtual 3D points corresponding to the multiple associated 3D points based on the length relationship and the camera position information of the preset camera model, wherein the view frustum of the camera model is parallel and tangent to the screen display area;

[0210] The rendering unit is used to construct a virtual three-dimensional object model based on the virtual three-dimensional points, and generate and render the projection image of the virtual three-dimensional object model onto the screen display area based on the preset projection transformation matrix of the camera model.

[0211] According to one or more embodiments of this disclosure, in the display device for three-dimensional objects provided by this disclosure, the first computing unit is specifically used for:

[0212] Calculate the first and second lengths of the distance between the human eye position information and each of the original position information and the corresponding projected position information;

[0213] The ratio of the first length to the second length is the length relationship.

[0214] According to one or more embodiments of this disclosure, in the display device for three-dimensional objects provided by this disclosure, the second computing unit is specifically used for:

[0215] The projection direction is determined based on the camera position information and each of the projection position information;

[0216] Determine a third length between the camera position information and the corresponding projection position information in the projection direction;

[0217] The product of the third length and the ratio is calculated to obtain the fourth length, and the position point at which the fourth length of the camera position information is determined in the projection direction is the virtual three-dimensional point.

[0218] According to one or more embodiments of the present disclosure, the display device for three-dimensional objects provided in the present disclosure further includes:

[0219] The projection area determination module is used to determine the projection addition area based on the human eye position information and the multiple original position information.

[0220] The shadow adding module is used to add a shadow image corresponding to the target object model to the projection adding area.

[0221] According to one or more embodiments of this disclosure, this disclosure provides an electronic device, including:

[0222] processor;

[0223] Memory used to store the processor's executable instructions;

[0224] The processor is configured to read the executable instructions from the memory and execute the instructions to implement a method for displaying a three-dimensional object as provided in any of the present disclosure.

[0225] According to one or more embodiments of the present disclosure, the present disclosure provides a computer-readable storage medium storing a computer program for performing a method for displaying a three-dimensional object as described in any of the present disclosure.

[0226] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.

[0227] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.

[0228] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.

Claims

1. A display method of a three-dimensional object, characterized by, The method comprises the following steps: obtaining a plurality of original position information of a plurality of associated three-dimensional points in a target object model, obtaining human eye position information of a human eye, and obtaining display position information of a preset display area of a picture display device; determining a plurality of projection position information of the plurality of associated three-dimensional points on the display area according to the plurality of original position information, the human eye position information, and the display position information; determining a plurality of virtual three-dimensional points corresponding to the plurality of associated three-dimensional points, and projecting a virtual three-dimensional object model composed of the plurality of virtual three-dimensional points to the display area to obtain a projection picture of the target object model, wherein the virtual three-dimensional object model is a virtual model constructed by a preset camera model according to the plurality of virtual three-dimensional points, and the projection position information of the plurality of virtual three-dimensional points is consistent with the plurality of projection position information of the plurality of associated three-dimensional points.

2. The method of claim 1, wherein, When the picture display device comprises a camera, the obtaining of the human eye position information of the human eye comprises: obtaining first relative position information of the human eye relative to the camera; obtaining second relative position information of the camera relative to the display area; determining third relative position information of the human eye relative to the display area according to the first relative position information and the second relative position information; calculating the human eye position information according to the display position information and the third relative position information.

3. The method of claim 2, wherein, The obtaining of the first relative position information of the human eye relative to the camera comprises: obtaining fourth relative position information of the human eye relative to a face; obtaining a face image captured by the camera, and calculating fifth relative position information of the face image relative to the camera according to a preset algorithm; calculating the first relative position information according to the fourth relative position information and the fifth relative position information.

4. The method of claim 2, wherein, The calculating of the human eye position information according to the display position information and the third relative position information comprises: obtaining a first coordinate system for locating the display position information, and obtaining a second coordinate system for locating the plurality of original position information; determining whether the first coordinate system and the second coordinate system are aligned; if not, aligning the first coordinate system and the second coordinate system to obtain a target coordinate system; obtaining reference position information of the display position information in the target coordinate system, and determining a position of the third relative position information in the reference position information as the human eye position information.

5. The method of claim 1, wherein, The determining of a plurality of projection position information of the plurality of associated three-dimensional points on the display area according to the human eye position information, the plurality of original position information, and the display position information comprises: constructing a connecting straight line of the human eye position information and each original position information; determining an intersection of a plurality of connecting straight lines of the plurality of original position information and the display position information as the plurality of projection position information.

6. The method of claim 1, wherein, The determining the plurality of virtual three-dimensional points corresponding to the plurality of associated three-dimensional points, and projecting a virtual three-dimensional object model composed of the plurality of virtual three-dimensional points to the picture display area to obtain the projection picture of the target object model, comprises: calculating a length relationship of each of the original position information, the human eye position information, and the projection position information; calculating the plurality of virtual three-dimensional points corresponding to the plurality of associated three-dimensional points according to the length relationship and camera position information of the preset camera model, wherein a frustum surface of the camera model is parallel to and tangent to the picture display area; constructing a virtual three-dimensional object model according to the virtual three-dimensional points, and generating and rendering the projection picture of the virtual three-dimensional object model projected to the picture display area according to a projection transformation matrix of the preset camera model.

7. The method of claim 6, wherein, The calculating the length relationship of each of the original position information, the human eye position information, and the projection position information comprises: calculating a first length and a second length of the human eye position information from each of the original position information and the corresponding projection position information, respectively; calculating a ratio of the first length and the second length as the length relationship.

8. The method of claim 7, wherein, The calculating the plurality of virtual three-dimensional points corresponding to the plurality of associated three-dimensional points according to the length relationship and the camera position information of the preset camera model comprises: determining a projection direction according to the camera position information and each of the projection position information; determining a third length between the camera position information and the corresponding projection position information in the projection direction; calculating a product value of the third length and the ratio to obtain a fourth length, and determining a position point at a fourth length from the camera position information in the projection direction as the virtual three-dimensional point.

9. The method of claim 1, wherein, Further comprising: determining a projection addition area according to the human eye position information and the plurality of original position information; adding a shadow image corresponding to the target object model in the projection addition area.

10. A display device of a three-dimensional object, characterized by Comprise: an acquisition module, configured to acquire a plurality of original position information of a plurality of associated three-dimensional points in a target object model, acquire human eye position information of a human eye, and acquire display position information of a preset picture display area in a picture display device; a determination module, configured to determine a plurality of projection position information of the plurality of associated three-dimensional points on the picture display area according to the plurality of original position information, the human eye position information, and the display position information; a rendering module, configured to determine a plurality of virtual three-dimensional points corresponding to the plurality of associated three-dimensional points, and project a virtual three-dimensional object model composed of the plurality of virtual three-dimensional points to the picture display area to obtain a projection picture of the target object model, wherein the virtual three-dimensional object model is a virtual model constructed by a preset camera model according to the plurality of virtual three-dimensional points, and projection position information of the plurality of virtual three-dimensional points is consistent with the plurality of projection position information of the plurality of associated three-dimensional points.

11. An electronic device, comprising: The electronic device comprises: a processor; a memory for storing instructions executable by the processor; The processor is configured to read the executable instructions from the memory and execute the instructions to implement the method for displaying a three-dimensional object according to any one of claims 1-9.

12. A computer-readable storage medium, characterized in that, The storage medium stores a computer program configured to implement the method for displaying a three-dimensional object according to any one of claims 1-9.

Citation Information

Patent Citations

  • View point tracking-based naked-eye 3D display technology of single-view stereograph

    CN108182659A

  • Augmented reality-based information display method, system and apparatus, and projection device

    WO2021197189A1