CN113722644B - Method and device for selecting browsing point positions in virtual space based on external equipment - Google Patents

Method and device for selecting browsing point positions in virtual space based on external equipment Download PDF

Info

Publication number
CN113722644B
CN113722644B CN202111032132.9A CN202111032132A CN113722644B CN 113722644 B CN113722644 B CN 113722644B CN 202111032132 A CN202111032132 A CN 202111032132A CN 113722644 B CN113722644 B CN 113722644B
Authority
CN
China
Prior art keywords
browsing
point position
browsing point
selecting
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111032132.9A
Other languages
Chinese (zh)
Other versions
CN113722644A (en
Inventor
李沛伦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
You Can See Beijing Technology Co ltd AS
Original Assignee
You Can See Beijing Technology Co ltd AS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by You Can See Beijing Technology Co ltd AS filed Critical You Can See Beijing Technology Co ltd AS
Priority to CN202111032132.9A priority Critical patent/CN113722644B/en
Publication of CN113722644A publication Critical patent/CN113722644A/en
Application granted granted Critical
Publication of CN113722644B publication Critical patent/CN113722644B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The invention provides a method and a device for selecting browsing points in a virtual space based on external equipment, wherein the method comprises the following steps: collecting control signals of external equipment; confirming the current browsing point position according to the control signal of the external equipment; constructing a virtual camera, and updating a virtual scene according to a control signal of external equipment; acquiring a preset browsing point position in a virtual space; constructing a view cone of a virtual camera, and initially selecting a browsing point position in the view cone as an alternative browsing point position; calculating the distance between the alternative browsing point position and the current browsing point position; and selecting the alternative browsing point position closest to the selected browsing point position as the next browsing point position. The method and the device can enable the user to select the browsing point position at a proper observation position through the external equipment, walk in the virtual space and improve the appearance of the user.

Description

Method and device for selecting browsing point positions in virtual space based on external equipment
Technical Field
The invention relates to the technical field of computer image processing, in particular to a method and a device for selecting browsing points in a virtual space based on external equipment.
Background
With the development of three-dimensional virtual space technology, a three-dimensional virtual space tour (or "browsing") mode is also continuously developed, and devices for displaying the three-dimensional virtual space and interaction modes thereof are also more and more diversified. At present, browsing of a three-dimensional virtual space is mainly realized through mobile equipment, PC equipment, large-screen equipment and the like in the market. In three-dimensional virtual space browsing, the existing man-machine interaction mode mainly comprises finger touch control and keyboard and mouse peripheral input.
In the field of three-dimensional virtual space display, the large LED screen becomes one of key media of a virtual space display mode with the characteristics of good visual effect and strong immersion. The LED screen is divided into touchable and non-touchable, and a touchable large screen needs a user to approach the screen, and points to be browsed are selected by hand. Thus, when the screen is large, partial points may appear at positions inconvenient for the user to click, and when the user is too close to the screen, the look and feel presented by the large screen to the user is greatly reduced.
Therefore, a method and a device for selecting browsing points in a virtual space based on external equipment are needed, so that a user can select a preferred browsing point through the external equipment at a proper observation position, and walk is realized in the virtual space, thereby improving the look and feel and experience of the user.
It should be noted that the information disclosed in the above background section is only for enhancement of understanding of the background of the invention and thus may contain information that does not form the prior art that is already known to those of skill in the art.
Disclosure of Invention
In order to solve at least one of the above problems in the prior art to a certain extent, a first object of the present invention is to provide a method for selecting a browsing point location in a virtual space based on an external device. The second object of the present invention is to provide a device for selecting browsing points in a virtual space based on an external device. Other objects of the invention are to provide a computer device, a computer readable storage medium and a computer program product.
To achieve the above objective, according to a first aspect of the present invention, there is provided a method for selecting a browsing point location in a virtual space based on an external device, including: collecting control signals of external equipment; confirming the current browsing point position according to the control signal of the external equipment; constructing a virtual camera, and updating a virtual scene according to a control signal of external equipment; acquiring all preset browsing points in a virtual space; constructing a view cone of a virtual camera, and initially selecting a browsing point position in the view cone as an alternative browsing point position; and calculating the distance between the alternative browsing point position and the current browsing point position, and selecting the alternative browsing point position closest to the current browsing point position as the next browsing point position.
The step of initially selecting the browsing point position located in the viewing cone as the candidate browsing point position may include: initially selecting a browsing point position meeting the following conditions as an alternative browsing point position: the virtual camera view cone is positioned between the near clipping surface and the far clipping surface of the virtual camera view cone; and the included angle between the browsing point position vector and the visual line direction of the virtual camera is less than or equal to one half of the visual field angle, wherein the browsing point position vector represents a vector formed by the position of the virtual camera and the browsing point position. Further, a browsing point with an included angle between the browsing point vector and the visual line direction of the virtual camera being less than or equal to 30 degrees can be selected as an alternative browsing point.
The step of collecting the control signal of the external device may include: and continuously collecting the control signals of the external equipment through polling.
The step of confirming the current browsing point location may include: when the control signal value input by the external equipment specifically reaches a preset value, the current browsing point position is confirmed.
The step of updating the virtual scene according to the control signal of the external device may include: updating a transformation matrix of the virtual camera in the virtual space according to a control signal of the external equipment; and updating the virtual scene according to the updated transformation matrix of the virtual camera. The step of updating the transformation matrix of the virtual camera in the virtual space may include: when one or more control signals of the external device are polled, calculating the product of the polling interval duration and the control signal value as a rotation angle value of the virtual camera; and updating a transformation matrix of the virtual camera in the virtual space according to the rotation angle value of the virtual camera.
The above steps of constructing the virtual camera and updating the virtual scene may be accomplished through WebGL.
To achieve the above object, according to a second aspect of the present invention, there is provided an apparatus for selecting a browsing point location in a virtual space based on an external device, comprising: the signal acquisition module acquires control signals of external equipment; the current browsing point position confirming module confirms the current browsing point position according to the control signal of the external equipment; the virtual camera module is used for constructing a virtual camera and updating a virtual scene according to a control signal of external equipment; the browsing point position acquisition module acquires all preset browsing point positions in the virtual space; the alternative browsing point position initial selection module is used for constructing a view cone of the virtual camera and initially selecting a browsing point position in the view cone as an alternative browsing point position; a distance calculation module for calculating the distance between the alternative browsing point position and the current browsing point position; and the selecting module is used for selecting the alternative browsing point position closest to the selected browsing point position as the next browsing point position.
The virtual camera module may include: the transformation matrix updating sub-module updates a transformation matrix of the virtual camera in the virtual space according to a control signal of the external equipment; and a virtual scene update sub-module that updates the virtual scene according to the transformation matrix updated by the virtual camera.
The virtual camera module can construct a virtual camera through WebGL and update a virtual scene.
To achieve the above object, according to one embodiment of the present invention, a third aspect of the present invention provides a computer apparatus, comprising: a processor; a storage device; and a computer program stored on the storage device and operable on the processor, the method for selecting a browsing point location in the virtual space based on the external device being implemented when the computer program is executed by the processor.
To achieve the above object, according to a fourth aspect of the present invention, there is provided a computer readable storage medium having a computer program stored thereon, which when executed by a processor, implements the steps of the method for selecting a browsing point location in a virtual space based on an external device.
To achieve the above object, according to a fifth aspect of the present invention, there is provided a computer program product comprising computer instructions which, when executed by a processor, implement the steps of the method for selecting a browsing point in a virtual space based on an external device.
The method and the device for selecting the browsing point positions in the virtual space based on the external equipment can enable the user to select the optimal browsing point positions in the proper observation position through the external equipment, and realize the wandering in the virtual space, so that the look and feel and experience of the user are improved.
Drawings
The above and other features of the invention will be described in detail below with reference to the specific exemplary embodiments shown in the drawings, which are given by way of illustration only and thus do not limit the invention, wherein:
fig. 1 illustrates an exemplary system architecture to which one embodiment of the method of selecting a browsing point location in a virtual space based on an external device of the present invention may be applied.
Fig. 2 is a flowchart of a method for selecting a browsing point location in a virtual space based on an external device according to an embodiment of the present invention.
Fig. 3 shows a specific flowchart of updating a transformation matrix of the virtual camera in the virtual space according to a control signal of the external device in the flowchart shown in fig. 2.
Fig. 4 shows a schematic view of a view cone of a virtual camera according to an embodiment of the invention.
Fig. 5 shows a sectional view of a cone taken along the plane of the dashed line shown in fig. 4.
Fig. 6 shows a schematic diagram of a plurality of browsing points located in the virtual space and their positional relationship with the virtual camera view cone shown in fig. 4.
Fig. 7 is a schematic block diagram of an apparatus for selecting a browsing point location in a virtual space based on an external device according to an embodiment of the present invention.
Fig. 8 shows a schematic block diagram of a virtual camera module in the device for selecting a browsing point location in virtual space based on an external device shown in fig. 7.
FIG. 9 is a schematic diagram of a computer system that may be used to implement an apparatus of an embodiment of the invention.
Detailed Description
The present invention is described in detail below by way of specific examples so that those skilled in the art can easily practice the present invention in light of the present disclosure. The embodiments described below are only some, but not all, embodiments of the invention. All other embodiments, which can be made by a person skilled in the art without any inventive effort, based on the embodiments described in the present specification, fall within the scope of the present invention. In addition, embodiments and features of embodiments in the present specification may be combined with each other without conflict.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a", "an" and "the" include plural referents unless the context clearly dictates otherwise. The terms "first," "second," and the like, as used herein, are used merely to distinguish between different features, steps, operations, elements and/or components, and the like, and do not denote any particular technical meaning nor necessarily denote a logical order between them. The word "plurality" as used herein may refer to two or more than two, and the word "at least one" may refer to one, two or more than two. Any feature, step, operation, element, and/or component mentioned herein may be generally understood as one or more unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used herein, specify the presence of stated features, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and/or groups thereof. The term "and/or" as used herein includes any or all combinations of one or more of the associated listed items. The element suffixes "module" and "unit" are used herein for convenience of description only, and thus, can be used interchangeably without any distinguishing meaning or function.
Detailed descriptions thereof will be omitted when the prior art related to the description of the present invention is obvious to those skilled in the art. It should also be understood that the description of the embodiments in this specification focuses on highlighting differences between the embodiments, and that the same or similar features between the embodiments may be referred to each other, and for brevity, the description is not repeated here.
As schematically shown in fig. 1, an exemplary system architecture 100 of one embodiment of a method for selecting a browsing point location in a virtual space based on an external device, which may be suitable for use with the present invention, is shown. The system architecture 100 may include terminal devices 101, 102, 103, as well as a network 104 and a server 105. The network 104 is used to provide communications between the terminal devices 101, 102, 103 and the server 105, which may include various connection types, such as wired, wireless communications, or fiber optic cables, etc.
The user may interact with the server 105 via the network 104 using the terminal devices 101, 102, 103. Various communication client applications, such as image and video capturing applications, text input applications, web browser applications, professional field application software, search class applications, instant messaging tools, mailbox clients, social platform software, etc., may be installed on the terminal devices 101, 102, 103.
In a specific implementation, the terminal devices 101, 102, 103 may be implemented as hardware or as software according to actual needs. When the terminal devices 101, 102, 103 are implemented as hardware, they may be various electronic devices having (touch) display screens and supporting various inputs of voice, text, etc., including, but not limited to, personal computers (including notebook computers and desktop computers), tablet computers, smartphones, car terminals, electronic book readers, video players, etc. When the terminal devices 101, 102, 103 are implemented as software, they may be installed in a suitable electronic device, implemented as a plurality of software or software modules (e.g. for providing distributed services), or as a single software or software module. It should be understood that the terminal device 101, 102, 103 examples in fig. 1 and described above are by way of example only and should not be construed as being particularly limiting.
The server 105 may be a server providing various services, for example, a background server providing processing of analysis, response, support, etc. of various information, such as control signals, voice, or text information, input to the terminal devices 101, 102, 103. The background server may analyze and process the received control signal, voice or target text, and the like, and feed back the processing result to the terminal devices 101, 102, 103 through the network 104.
In a specific implementation, the server 105 may be implemented as hardware or as software according to actual needs. When the server 105 is implemented as hardware, it may be implemented as a distributed server cluster composed of a plurality of servers, or may be implemented as a single server. When the server 105 is implemented as software, it may be implemented as a plurality of software or software modules (e.g., to provide distributed services), or as a single software or software module. It should be understood that the server 105 example in fig. 1 and described above is by way of example only and should not be construed as being limiting in detail.
It should be noted that, the method for selecting the browsing point location in the virtual space based on the external device provided in the embodiment of the present application may be executed by the terminal devices 101, 102, 103, or may be executed by the server 105, or may be executed by the terminal devices 101, 102, 103 and the server 105 together in cooperation. Accordingly, the device for selecting the browsing point location in the virtual space based on the external device may be set in the terminal devices 101, 102, 103, or may be set in the server 105, or may be set in the terminal devices 101, 102, 103 and the server 105.
It can be appreciated that, when the method for selecting the browsing point location in the virtual space based on the external device provided in the embodiment of the present application is executed by the terminal devices 101, 102, 103, the system architecture 100 may not include the network 104 and the server 105.
It should be understood that the number and types of terminal devices, networks, and servers in fig. 1 are merely illustrative. In particular implementations, there may be any number and variety of terminal devices, networks, and servers, as desired.
As shown in fig. 2, a method for selecting a browsing point location in a virtual space based on an external device according to an embodiment of the present invention includes the following steps: step S201, collecting control signals of external equipment; step S202, confirming the current browsing point position according to the control signal of the external equipment acquired in the step S201; step S203, constructing a virtual camera; step S204, updating a transformation matrix of the virtual camera in a virtual space, namely a scene projection matrix (Projection Matrix), according to the control signals of the external equipment acquired in the step S201; step S205, updating the virtual scene with the current browsing point position as the virtual camera position according to the transformation matrix updated by the virtual camera in the virtual space, wherein the virtual scene can be easily generated and updated by a person skilled in the art by using a currently known tool, for example, the virtual scene can be generated and updated by WebGL, so that the description will not be repeated in detail; step S206, the preset browsing points in the virtual space are obtained, and similarly, the preset browsing points in the virtual space can be easily obtained by a person skilled in the art by using the existing known tools, so that the description is not repeated here; step S207, constructing the view cone of the virtual camera constructed in the step S203; step S208, on the basis of the steps S205 and S206, the browsing point positions in the viewing cone constructed in the step S207 are initially selected as alternative browsing point positions; step S209, respectively calculating the distances between each alternative browsing point position initially selected in the step S208 and the current browsing point position; and step S210, selecting the alternative browsing point position closest to the selected browsing point position as the next browsing point position according to the result calculated in the step S209.
In the step S201, the control signal of the external device may be continuously collected by polling. The external device can be various common or unusual external devices capable of inputting control signals, such as a mouse, a touch screen, a rotary rocker, a game handle, a sensor capable of sensing human body limb movement or facial expression and the like, which can be connected by wires through interfaces such as USB (universal serial bus), HDMI (high-definition multimedia interface) and the like or can be connected by wireless such as Bluetooth, infrared and the like.
In step S202 described above, a specific input of the external device, for example, a specific button of the external device, may be polled. When the control signal value corresponding to the specific input is found to be valid, for example, a preset value is reached, the current browsing point position can be confirmed by considering the control signal value as a confirmation operation.
In the step S203, the virtual camera may be constructed by WebGL, and those skilled in the art will be able to construct the virtual camera by WebGL, which is a conventional and common operation, so this description will not be repeated here.
Referring to fig. 3, a specific flowchart of updating the transformation matrix of the virtual camera in the virtual space according to the control signal of the external device in step S204 is shown. As shown in fig. 3, in step S301, it is determined whether the control signal of the external device acquired in the polling manner in step S201 is zero, and if the control signal is zero, then the next polling is continued; if it is found by polling that a control signal or signals of the external device is/are not zero, the encapsulated library is used to convert the control signal or signals that are not zero into a parameter of the virtual camera in step S302, for example, the product of the interval duration of two polls and the change value of the control signal is calculated, and this is taken as the rotation angle value of the virtual camera, for example, in the case that the external device is a rocker, the rocker is set to be rotatable in its own axial direction, and the rotation has a corresponding signal output port. Thus, the port can output signals with the intensity in the range of [0,1] according to the rotation angle of the rocker. When the port is polled, the frequency of the polling can be set to be N (fps), so that the product between the signal output intensity and the time interval of 1/N can be obtained in each 1/N, and the accumulated rotation angle (rotation angle value) at the moment can be obtained according to the integral concept in the calculus at any moment; then, in step S303, a transformation matrix of the virtual camera in the virtual space is updated according to the rotation angle value of the virtual camera. The virtual camera can update the picture of the cut virtual space accordingly, thereby helping the user control the picture of the virtual space which the user wants to see.
The steps S207 to S210 will be described in detail below with reference to fig. 4 to 6. Wherein fig. 4 shows a perspective view of a virtual camera view cone, fig. 5 shows a view cone cross-section taken along a plane formed by the dashed lines shown in fig. 4, and fig. 6 shows a plurality of browsing points located in a virtual space and a schematic view of the position relationship with the virtual camera view cone shown in fig. 4.
The construction of the viewing cone of the virtual camera in step S207 is a routine operation of those skilled in the art, so that the specific construction method and process thereof will not be repeated in the present specification. Fig. 4 and 5 show schematic views of a virtual camera View cone, wherein the virtual camera is located at a position O in the figure, a Near clipping plane (Near plane, also referred to as "Near clipping plane", etc.) of the virtual camera View cone is represented by a rectangle ABCD, a Far clipping plane (Far plane, also referred to as "Far clipping plane", etc.) is represented by a rectangle ABCD, and a Field angle (Field of View, fov) is represented by Fov in fig. 5. The dashed-dotted arrow OP in fig. 4 indicates the line-of-sight direction of the virtual camera, which originates from the virtual camera position O, through the center points of the near clipping surface ABCD and the far clipping surface ABCD. The dashed line MN in fig. 5 represents a horizontal plane, and the triangle EOF in fig. 5 corresponds to the vertical plane EOF passing through the position O represented by the dashed line in fig. 4, which is perpendicular to the horizontal plane.
As shown in fig. 6, for clarity, six browsing points R1, R2, R3, R4, R5, R6 in the virtual space are schematically shown, and it is easily understood that any number of browsing points may be preset in the virtual space in the implementation. In step S208, the browsing point location in the virtual camera view cone is initially selected as an alternative browsing point location. Specifically, the browsing points R3 and R6 in fig. 6 are not between the near clipping plane and the far clipping plane, and thus are eliminated and are not used as alternative browsing points. The present specification refers to a vector formed by the virtual camera position O and the browsing points as browsing point vectors, whereby each browsing point R1, R2, R3, R4, R5, R6 has its corresponding browsing point vector (browsing point vector OR1 of browsing point R1 is shown only by way of example with a two-dot chain arrow in the figure), and it will be readily understood that each browsing point vector will form an angle with the virtual camera line-of-sight direction OP, respectively. In addition, as can be seen from fig. 6, the included angle between the browsing point position vector OR1 of the browsing point position R1 and the virtual camera sight line direction OP is greater than one half of the sight angle Fov, so that the browsing point position R1 is also removed and is not used as an alternative browsing point position. In this way, the browsing points R1, R3, R6 are eliminated, and the remaining three browsing points R2, R4, R5 are used as candidate browsing points.
In step S209, the distances between the candidate browsing points R2, R4, R5 initially selected in step S208 and the current browsing point (i.e. the position O of the virtual camera) confirmed in step S202 are calculated. Subsequently, in step S210, the browsing point R4 closest to the browsing point is selected as the next browsing point.
According to a preferred embodiment of the present invention, in order to further screen the candidate browsing points in step S208, it may be further preferred to further reject the browsing points corresponding to the browsing point vector and the virtual camera line of sight OP that are greater than a specific angle value, for example, 45 degrees, 30 degrees, or 15 degrees, and not to be the candidate browsing points, so that a more preferred candidate browsing point may be obtained. Taking the embodiment described above in connection with fig. 6 as an example, the browsing point location R2 with a larger included angle between the browsing point location vector and the virtual camera sight line direction OP may be further removed, and the browsing points R4 and R5 are used as alternative browsing points, thereby reducing the calculation amount in step S209.
It should be noted that, in the drawings and the above description, the steps are described in the above sequence for the convenience of describing the present invention, but the method for selecting the browsing point location in the virtual space based on the external device of the present invention is not limited to the above sequence of steps. Specifically, for example, the steps S201, S203, and S206 and the steps performed subsequently thereto may be performed simultaneously without any particular order, or may be performed in random order. It should also be understood that the above-described method steps of the present invention are merely for the purpose of clearly illustrating the present invention, and thus are not intended to limit the present invention in any way. In other words, the above described method steps may be combined or further subdivided without essentially departing from the inventive concept and also fall within the scope of the claimed application. Specifically, for example, steps S203 and S204 may be combined and expressed as one step, and steps S207 and S208 may be combined and expressed as one step.
Fig. 7 shows a schematic block diagram of an apparatus 700 for selecting a browsing point location in a virtual space based on an external device according to an embodiment of the present invention, and the apparatus 700 is particularly applicable to various electronic devices. As shown in fig. 7, an apparatus 700 for selecting a browsing point location in a virtual space based on an external device according to an embodiment of the present invention includes: the signal acquisition module 701 acquires control signals of the external device, preferably continuously acquiring the control signals of the external device through polling; the current browsing point position confirming module 702 confirms the current browsing point position according to the control signal of the external device, and preferably confirms the current browsing point position when the signal acquisition module 701 polls the control signal value specifically input by the external device to reach a preset value; a virtual camera module 703 that constructs a virtual camera and updates a virtual scene according to a control signal of the external device; a browsing point position obtaining module 704, which obtains all preset browsing points in the virtual space; the alternative browsing point position initial selection module 705 constructs a view cone of the virtual camera and initially selects a browsing point position in the view cone as an alternative browsing point position; a distance calculation module 706, which calculates the distance between the alternative browsing point location and the current browsing point location; and a selection module 707 that selects the candidate browsing point location closest to the selected candidate browsing point location as the next browsing point location.
As shown in fig. 8, the virtual camera module 703 may further include a transformation matrix updating sub-module 7031 and a virtual scene updating sub-module 7032, where the transformation matrix updating sub-module 7031 updates a transformation matrix of the virtual camera in the virtual space according to a control signal of the external device, specifically, when one or more control signals of the external device are polled by the signal acquisition module 701 and are not zero, a product of a polling interval duration and a value of the control signal is calculated, and the product is used as a rotation angle value of the virtual camera, and updates the transformation matrix of the virtual camera in the virtual space according to the rotation angle value of the virtual camera; the virtual scene update sub-module 7032 updates the virtual scene according to the transformation matrix updated by the virtual camera. The virtual camera module 703 may construct a virtual camera through WebGL and update a virtual scene.
Referring to FIG. 9, there is shown a schematic diagram of a computer system that may be used to implement the apparatus of an embodiment of the present invention. It should be noted that the apparatus shown in fig. 9 is only an example, and should not be construed as having any limiting effect on the embodiments of the present application. The computer system shown in fig. 9 includes a Central Processing Unit (CPU) 901, which can execute various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 902 or a program loaded from a storage unit 908 into a Random Access Memory (RAM) 903. In the RAM 903, various programs and data required for the operation of the computer system are also stored. The CPU 901, ROM 902, and RAM 903 are connected to each other through a bus 904. An input/output (I/O) interface 905 is also connected to the bus 904.
The following components are connected to the I/O interface 905: an input unit 906 including a keyboard, a mouse, a microphone, a touch screen, and the like; an output unit 907 including a display screen such as a liquid crystal display, a light emitting diode display, or the like, a speaker, or the like; a storage unit 908 including a hard disk memory or the like; and a communication unit 909 including a network interface card such as a WAN/LAN card, modem, or the like. The communication unit 909 performs communication processing via a network such as the internet, a local area network, or the like. The drive 910 may also be connected to the I/O interface 905 as needed. Removable media 911 such as magnetic disks, optical disks, magneto-optical disks, semiconductor memories, and the like are mounted on the drive 910 as needed so that a computer program read therefrom is mounted into the storage unit 908 as needed.
In another aspect, the present application also provides a computer readable medium, which may be contained in the apparatus described in the above embodiments; or may be present alone without being assembled into the device. The computer readable medium carries one or more programs, which when executed by the apparatus, cause the apparatus to implement the steps of the method for selecting a browsing point location in a virtual space based on an external device according to the present invention.
In still another aspect, the present application further provides a computer program product, which includes computer instructions that, when executed by a processor, implement the steps of the method for selecting a browsing point location in a virtual space based on an external device according to the present invention.
In particular, the embodiments described above with reference to the flowcharts in the figures may be implemented as computer software programs. For example, embodiments disclosed herein include a computer program product comprising program instructions or code for performing the method of selecting a point of view in virtual space based on an external device of the present invention as shown in the flowcharts of the figures. In such an embodiment, the computer program may be downloaded and installed from a network via the communication unit 909 and/or installed from the removable medium 911. The method of the present invention is performed when the computer program is executed by a Central Processing Unit (CPU) 901.
It should be noted that the computer readable medium described in the present application may be a computer readable signal medium or a computer readable storage medium, or any combination of the two. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples of the computer-readable storage medium may include, but are not limited to: computer magnetic disk, hard disk, random Access Memory (RAM), read Only Memory (ROM), erasable Programmable Read Only Memory (EPROM), flash memory, portable compact disc read only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present application, however, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, with computer-readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations of the present application may be written in one or more programming languages, including an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present application. Each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should be noted that in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units or modules involved in the embodiments of the present application may be implemented by software, or may be implemented by hardware. The above units or modules may also be provided in a processor, for example, described as: the processor comprises a signal acquisition module, a current browsing point position confirmation module, a virtual camera module, a virtual scene updating module, a browsing point position acquisition module, an alternative browsing point position primary selection module, a distance calculation module and a selection module. The names of these units or modules do not in some cases constitute a limitation of the unit or module itself, e.g. a signal acquisition module may also be described as a "module for acquiring signals".
All documents mentioned in this specification are incorporated by reference in this application as if each were fully incorporated by reference into this specification.
Further, it is understood that various changes or modifications of the present invention may be made by those skilled in the art after reading the above description of the invention, and such equivalents are intended to fall within the scope of the invention.

Claims (10)

1. The method for selecting the browsing point positions in the virtual space based on the external equipment is characterized by comprising the following steps:
collecting control signals of external equipment;
confirming the current browsing point position according to the control signal of the external equipment;
constructing a virtual camera and updating a virtual scene according to the control signal of the external equipment;
acquiring a preset browsing point position in the virtual space;
constructing a view cone of the virtual camera, and initially selecting browsing points positioned in the view cone as alternative browsing points;
calculating the distance between the alternative browsing point position and the current browsing point position; and
and selecting the alternative browsing point position closest to the selected browsing point position as the next browsing point position.
2. The method for selecting a browsing point location in a virtual space based on an external device according to claim 1, wherein the step of initially selecting the browsing point location in the view cone as an alternative browsing point location comprises:
initially selecting a browsing point position meeting the following conditions as an alternative browsing point position:
the virtual camera view cone is positioned between the near clipping surface and the far clipping surface of the virtual camera view cone; and is also provided with
And the included angle between the browsing point position vector and the visual line direction of the virtual camera is less than or equal to one half of the visual field angle, wherein the browsing point position vector represents a vector formed by the position of the virtual camera and the browsing point position.
3. The method for selecting a browsing point location in a virtual space based on an external device according to claim 2, wherein the step of initially selecting the browsing point location in the view cone as an alternative browsing point location further comprises:
the following browsing points are further selected as alternative browsing points: and the included angle between the browsing point position vector and the visual line direction of the virtual camera is smaller than or equal to 30 degrees.
4. The method for selecting browsing points in a virtual space based on an external device according to claim 1, wherein the step of collecting control signals of the external device comprises:
and continuously collecting the control signals of the external equipment through polling.
5. The method for selecting a browsing point location in a virtual space based on an external device according to claim 4, wherein the step of confirming the current browsing point location comprises:
when the control signal value input by the external equipment specifically reaches a preset value, the current browsing point position is confirmed.
6. The method for selecting browsing points in a virtual space based on an external device according to claim 4, wherein the step of updating the virtual scene according to the control signal of the external device comprises:
updating a transformation matrix of the virtual camera in a virtual space according to the control signal of the external equipment; and
and updating the virtual scene according to the updated transformation matrix of the virtual camera.
7. The method for selecting browsing points in a virtual space based on an external device according to claim 6, wherein the step of updating the transformation matrix of the virtual camera in the virtual space comprises:
when one or more control signals of the external device are polled, calculating the product of the polling interval duration and the control signal value as the rotation angle value of the virtual camera; and
and updating a transformation matrix of the virtual camera in a virtual space according to the rotation angle value of the virtual camera.
8. The method for selecting browsing points in a virtual space based on an external device according to claim 1, wherein the virtual camera is constructed by WebGL and a virtual scene is updated.
9. The device for selecting browsing points in the virtual space based on the external equipment is characterized by comprising:
the signal acquisition module is configured to acquire control signals of external equipment;
the current browsing point position confirming module is configured to confirm the current browsing point position according to the control signal of the external equipment;
the virtual camera module is configured to construct a virtual camera and update a virtual scene according to a control signal of the external equipment;
the browsing point position acquisition module is configured to acquire all preset browsing point positions in the virtual space;
the alternative browsing point position initial selection module is configured to construct a view cone of the virtual camera and initially select a browsing point position in the view cone as an alternative browsing point position;
a distance calculation module configured to calculate a distance between the alternative browsing point location and a current browsing point location; and
and the selecting module is configured to select the alternative browsing point position closest to the selected browsing point position as the next browsing point position.
10. A computer readable storage medium, on which a computer program is stored, characterized in that the computer program, when being executed by a processor, implements the steps of the method according to any of claims 1-8.
CN202111032132.9A 2021-09-03 2021-09-03 Method and device for selecting browsing point positions in virtual space based on external equipment Active CN113722644B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111032132.9A CN113722644B (en) 2021-09-03 2021-09-03 Method and device for selecting browsing point positions in virtual space based on external equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111032132.9A CN113722644B (en) 2021-09-03 2021-09-03 Method and device for selecting browsing point positions in virtual space based on external equipment

Publications (2)

Publication Number Publication Date
CN113722644A CN113722644A (en) 2021-11-30
CN113722644B true CN113722644B (en) 2023-07-21

Family

ID=78681426

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111032132.9A Active CN113722644B (en) 2021-09-03 2021-09-03 Method and device for selecting browsing point positions in virtual space based on external equipment

Country Status (1)

Country Link
CN (1) CN113722644B (en)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007252561A (en) * 2006-03-23 2007-10-04 Aruze Corp Game machine and simulation program
CN104517001A (en) * 2014-02-27 2015-04-15 绿地控股集团有限公司 Browser-based method for displaying to-be-constructed construction information
CN104599243A (en) * 2014-12-11 2015-05-06 北京航空航天大学 Virtual and actual reality integration method of multiple video streams and three-dimensional scene
CN105225230A (en) * 2015-09-11 2016-01-06 浙江宇视科技有限公司 A kind of method and device identifying foreground target object
CN105678693A (en) * 2016-01-25 2016-06-15 成都易瞳科技有限公司 Panorama video browsing-playing method
CN107957774A (en) * 2016-10-18 2018-04-24 阿里巴巴集团控股有限公司 Exchange method and device in virtual reality space environment
CN109069927A (en) * 2016-06-10 2018-12-21 Colopl株式会社 For providing the method for Virtual Space, for making computer realize the program of this method and for providing the system of Virtual Space
CN110020301A (en) * 2017-11-13 2019-07-16 百度在线网络技术(北京)有限公司 Web browser method and device
CN110136082A (en) * 2019-05-10 2019-08-16 腾讯科技(深圳)有限公司 Occlusion culling method, apparatus and computer equipment
WO2019179314A1 (en) * 2018-03-22 2019-09-26 腾讯科技(深圳)有限公司 Method for displaying marker point position, electronic device, and computer readable storage medium
WO2019184648A1 (en) * 2018-03-30 2019-10-03 腾讯科技(深圳)有限公司 Virtual object movement control method and device, electronic device and storage medium
CN111164971A (en) * 2017-07-31 2020-05-15 脸谱公司 Parallax viewer system for 3D content
CN111427455A (en) * 2020-04-15 2020-07-17 姜振英 Interaction method and system based on network exhibition platform
CN113111424A (en) * 2021-04-22 2021-07-13 北京房江湖科技有限公司 Automatic wiring method and device, storage medium, and electronic device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019228468A1 (en) * 2018-05-30 2019-12-05 Ke.Com (Beijing) Technology Co., Ltd. Systems and methods for providing an audio-guided virtual reality tour

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007252561A (en) * 2006-03-23 2007-10-04 Aruze Corp Game machine and simulation program
CN104517001A (en) * 2014-02-27 2015-04-15 绿地控股集团有限公司 Browser-based method for displaying to-be-constructed construction information
CN104599243A (en) * 2014-12-11 2015-05-06 北京航空航天大学 Virtual and actual reality integration method of multiple video streams and three-dimensional scene
CN105225230A (en) * 2015-09-11 2016-01-06 浙江宇视科技有限公司 A kind of method and device identifying foreground target object
CN105678693A (en) * 2016-01-25 2016-06-15 成都易瞳科技有限公司 Panorama video browsing-playing method
CN109069927A (en) * 2016-06-10 2018-12-21 Colopl株式会社 For providing the method for Virtual Space, for making computer realize the program of this method and for providing the system of Virtual Space
CN107957774A (en) * 2016-10-18 2018-04-24 阿里巴巴集团控股有限公司 Exchange method and device in virtual reality space environment
CN111164971A (en) * 2017-07-31 2020-05-15 脸谱公司 Parallax viewer system for 3D content
CN110020301A (en) * 2017-11-13 2019-07-16 百度在线网络技术(北京)有限公司 Web browser method and device
WO2019179314A1 (en) * 2018-03-22 2019-09-26 腾讯科技(深圳)有限公司 Method for displaying marker point position, electronic device, and computer readable storage medium
WO2019184648A1 (en) * 2018-03-30 2019-10-03 腾讯科技(深圳)有限公司 Virtual object movement control method and device, electronic device and storage medium
CN110136082A (en) * 2019-05-10 2019-08-16 腾讯科技(深圳)有限公司 Occlusion culling method, apparatus and computer equipment
CN111427455A (en) * 2020-04-15 2020-07-17 姜振英 Interaction method and system based on network exhibition platform
CN113111424A (en) * 2021-04-22 2021-07-13 北京房江湖科技有限公司 Automatic wiring method and device, storage medium, and electronic device

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Path planning for encountered-type haptic devices that render multiple objects in 3D space;Y. Yokokohji 等;《Proceedings IEEE Virtual Reality 2001》;271-278 *
基于Java3D的三维动态显示的研究;季婷;;天津职业院校联合学报(第05期);30-34 *
电子游戏虚拟空间构成的理论研究;李金泰;《中国优秀硕士学位论文全文数据库 信息科技辑》;I138-646 *

Also Published As

Publication number Publication date
CN113722644A (en) 2021-11-30

Similar Documents

Publication Publication Date Title
WO2020186935A1 (en) Virtual object displaying method and device, electronic apparatus, and computer-readable storage medium
CN106846497B (en) Method and device for presenting three-dimensional map applied to terminal
CN108594999B (en) Control method and device for panoramic image display system
CN112074797A (en) System and method for anchoring virtual objects to physical locations
CN108885521A (en) Cross-environment is shared
CN109600559B (en) Video special effect adding method and device, terminal equipment and storage medium
CN112051961A (en) Virtual interaction method and device, electronic equipment and computer readable storage medium
CN113806306A (en) Media file processing method, device, equipment, readable storage medium and product
CN111652675A (en) Display method and device and electronic equipment
CN111862349A (en) Virtual brush implementation method and device and computer readable storage medium
CN109636917B (en) Three-dimensional model generation method, device and hardware device
US11921994B2 (en) Method, apparatus, device, medium and program product for replying questions
CN113722644B (en) Method and device for selecting browsing point positions in virtual space based on external equipment
CN108874141B (en) Somatosensory browsing method and device
TWI514319B (en) Methods and systems for editing data using virtual objects, and related computer program products
CN111258413A (en) Control method and device of virtual object
Büschel et al. Improving 3d visualizations: Exploring spatial interaction with mobile devices
CN111135557B (en) Interaction method and device for multiple screens
CN109472873B (en) Three-dimensional model generation method, device and hardware device
CN116527993A (en) Video processing method, apparatus, electronic device, storage medium and program product
CN110263743B (en) Method and device for recognizing images
CN111710046A (en) Interaction method and device and electronic equipment
CN111696214A (en) House display method and device and electronic equipment
Piszczek et al. Tools virtualization for command and control systems
CN115454255B (en) Switching method and device for article display, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20220105

Address after: Unit 05, room 112, 1st floor, office building, Nangang Industrial Zone, economic and Technological Development Zone, Binhai New Area, Tianjin 300457

Applicant after: BEIKE TECHNOLOGY Co.,Ltd.

Address before: 101300 room 24, 62 Farm Road, Erjie village, Yangzhen Town, Shunyi District, Beijing

Applicant before: Beijing fangjianghu Technology Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220408

Address after: 100085 8th floor, building 1, Hongyuan Shouzhu building, Shangdi 6th Street, Haidian District, Beijing

Applicant after: As you can see (Beijing) Technology Co.,Ltd.

Address before: Unit 05, room 112, 1st floor, office building, Nangang Industrial Zone, economic and Technological Development Zone, Binhai New Area, Tianjin 300457

Applicant before: BEIKE TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant