Predictive redirection control method and system for complex virtual scene

By using curved polygon representation and Voronoi graph segmentation technology in the predicted redirection controller, the marking position and calculation of redirection gain are solved, and the positioning deviation and gain limitation problems in complex virtual environments are achieved, achieving a higher precision user tracking and immersive roaming experience.

CN120491655AActive Publication Date: 2025-08-15SHANDONG UNIV
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202510983304.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-17
Publication Date
2025-08-15
Estimated Expiration
2045-07-17

AI Technical Summary

Technical Problem

The existing predictive redirection controllers have large positioning deviations when dealing with large areas of uniform color or repeated texture areas, making it difficult to adapt to complex virtual environments, especially curve boundary scenes, and the fixed gain limits the application of curvature and bending gain, affecting the user's immersion and smooth experience.

Method used

Curve polygons are used to represent physical scenes, marking positions are determined through Voronoi graph segmentation and polygon intersection point set method, optimal physical path is generated, redirection gain is calculated in combination with user feature vectors, view angle mapping is optimized, and view angle mapping is achieved to achieve automatic generation of virtual paths and view angle accuracy.

Benefits of technology

It improves the accuracy of user location tracking, supports the generation of virtual roadmap for complex curve boundary scenarios, expands the scope of gain application, and improves the immersive experience and system adaptability of virtual reality systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120491655A_ABST
    Figure CN120491655A_ABST
Patent Text Reader

Abstract

The invention belongs to the field of predictive redirection control, and provides a predictive redirection control method and a predictive redirection control system for a complex virtual scene, which improve the whole process links of tracking, automatic generation of a virtual road network, automatic generation of a physical road map and view mapping, and perform control optimization of each link for a predictive redirection controller. The method can improve the accuracy of a physical view angle obtained from a physical environment, supports the generation of a virtual path diagram of a curve boundary complex scene, optimizes the generation process of a physical path, expands the application range of curvature gain and bending gain, improves the precision and accuracy of prediction redirection control, and improves the prediction redirection control efficiency. And the immersion experience of the user and the system adaptability in the virtual reality system are further improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of predictive redirection control, and specifically relates to a predictive redirection control method and system for complex virtual scenes, especially a predictive redirection control method and system for complex virtual scenes suitable for curve polygon representation. Background Art

[0002] The statements in this section merely provide background information related to the present invention and do not necessarily constitute prior art.

[0003] Virtual reality (VR) systems allow users to experience locomotion within a virtual environment, similar to how they would naturally walk in a physical environment. For applications involving roaming interactions, an immersive experience is crucial. Games and other interactive applications, in particular, rely on users constantly moving and changing their perspective within the virtual environment to create an exploratory experience. The challenge with this approach lies in enabling players to navigate the virtual space endlessly within the limited physical space.

[0004] To overcome these difficulties, redirected walking (RDW) technology is gaining increasing attention. This technology typically introduces a deviation between the virtual and physical walking trajectories to guide the user's walking trajectory while keeping the deviation imperceptible to the user. This allows users to explore a wider, more graphically complex virtual world within a limited physical space. Predictive redirection controllers, a representative example of redirected walking technology, are currently widely used. They automatically generate virtual waypoints and a virtual road network to form a virtual path, then integrate dynamic gains to generate a physical path. They then perform perspective mapping based on the virtual and physical paths, continuously adjusting the virtual perspective using the physical perspective acquired by the tracking module. In this way, the controller can make appropriate adjustments based on complex environments, allowing users to immerse themselves in larger and more complex virtual scenes even within a limited physical space.

[0005] However, the existing predictive redirection controller has the following disadvantages when working: (1) When using the tracking module to locate and track the user, the real physical scene generally has large areas of uniform color, such as walls, or large areas of repeated textures, such as floors and tiles. The existing tracking method is prone to positioning deviation, resulting in inaccurate calculation of the user's spatial coordinates; if markers are used for tracking, it is difficult to set the location and number of markers, especially in complex scenes with curved boundaries, which is more difficult.

[0006] (2) When generating virtual paths, existing technologies are generally only applicable to simple corridor-type scenes with straight boundaries and cannot be applied to complex virtual environments, especially complex virtual environments with curved boundaries.

[0007] (3) When generating physical paths, existing technologies generally only support fixed gains, rather than dynamic gains such as those achieved through continuous curvature manipulation. These fixed gains only apply to straight and circular paths, limiting the application scope of gains such as curvature and bending gains, and their adaptability to complex virtual environments with curved boundaries is limited. Furthermore, existing perspective mapping algorithms, when used in dynamic gain, can easily cause the user's virtual position to shift when they deviate from the real path, thereby affecting the user's immersion and smooth experience in the redirection system. Summary of the Invention

[0008] To address the above-mentioned issues, the present invention proposes a predictive redirection control method and system for complex virtual scenes. The present invention optimizes the control of each link in a predictive redirection controller, thereby improving the accuracy of the physical perspective obtained from the physical environment, supporting the generation of virtual road maps for complex scenes with curved boundaries, optimizing the physical path generation process, expanding the application range of curvature gain and bending gain, improving the precision and accuracy of predictive redirection control, and further enhancing the user's immersive experience and system adaptability in the virtual reality system.

[0009] According to some embodiments, the present invention adopts the following technical solutions: A predictive redirection control method for a complex virtual scene comprises the following steps: The target curve boundary scene of the physical scene is represented by a curved polygon, and the curved polygon is segmented to determine a set of potential locations for markers. Under a given limit on the number of markers, the final marker position is determined in the potential location set with the goal of maximizing coverage of the required points. The user's physical perspective is tracked based on the marker position. Perform curve polygon segmentation on a given virtual scene. Based on the segmentation results, calculate the shortest path tree of the user's current position in the virtual scene, calculate the visible polygon area of the user's current position, determine each virtual waypoint based on the visible polygon area and the polygon skeleton of the virtual scene, and fit the paths between adjacent virtual waypoints until a virtual road map that meets the given depth is generated. Generate an optimal physical road map based on the virtual road map generated by polygons representing the virtual scene and the physical scene, and the obtained user feature vector; Based on the optimal physical road map, the virtual road map that meets the given depth, the redirection gain, the user's physical perspective obtained by tracking, and the corresponding point of the user's physical perspective at the previous moment on the physical path, perspective mapping is performed to determine the user's virtual perspective.

[0010] As an optional implementation, the process of segmenting the curve polygon is specifically as follows: using a segmentation method based on a Voronoi diagram to spatially segment the curve polygon to obtain a plurality of sub-polygons; Each sub-polygon is further subdivided until the radius of the minimum circumscribed circle of all sub-polygons is less than a given threshold. All sub-polygons obtained after subdivision constitute a sub-polygon set.

[0011] As an optional implementation, the process of determining the potential position set of the mark includes: using the polygon intersection set method, taking the intersection of the coverage boundaries of any two sub-polygons in the sub-polygon set as the potential position of the mark, constructing the potential position set of the mark, and the coverage boundary of the sub-polygon is calculated by drawing a circle with a given mark recognition range as the radius with each vertex of the sub-polygon as the center, and the overlapping part of all circles is the coverage boundary of the sub-polygon.

[0012] As an optional implementation, a curve polygonal subdivision is performed on a given virtual scene, and based on the subdivision result, a shortest path tree of the user's current position in the virtual scene is calculated. The process of calculating the visible polygon area of the user's current position includes: obtaining a sub-polygon containing the user's current position in a subdivision sub-polygon set; Add the sub-polygon to the queue, and if the queue is not empty, repeat the next step; Push the first sub-polygon out of the queue, calculate the shortest path tree from all vertices in the sub-polygon to the user's current location through the funnel data structure, and add the unprocessed neighbor sub-polygons of the sub-polygon to the queue; Get the shortest path tree with the user's current location as the root node; For each edge in the virtual scene, calculate the visible area of the edge for the user's current location, and find the shortest paths from the user's current location to the two vertices of the edge from the shortest path tree. Starting from the user's current location, send rays from the tangent direction of the starting position of the first segment of the two shortest paths to determine the intersection point with the edge. If there are two intersection points, the line segment connecting the two intersection points is the visible area of the edge; otherwise, the edge is not visible to the user's current location. Connect the visible areas of each edge in sequence to obtain the visible polygon of the user's current location.

[0013] As an optional implementation, the process of determining each virtual waypoint based on the visible polygon area and the polygon skeleton of the virtual scene includes: for the input curved polygon virtual scene, calculating the Voronoi diagram of the curved polygon, based on the Voronoi diagram, for each Voronoi edge, if there is an endpoint that is a vertex of the polygon, then deleting the edge, otherwise, retaining the edge, thereby obtaining the skeleton diagram of the curved polygon; For each edge of the visible polygon and each edge of the polygon skeleton, if the two have an intersection, they are added to a set and the points in the set are used as virtual waypoints.

[0014] As an optional implementation, the process of fitting a path between adjacent virtual waypoints includes: obtaining a position of a first virtual waypoint as a starting position, and a tangent direction of the waypoint on the skeleton graph as a starting direction; The position of the second virtual waypoint is obtained as the end position, and the tangent direction of the waypoint on the skeleton graph is the end direction; A virtual path is fitted by a spiral curve fitting method using the starting position, starting direction, ending position and ending direction. The starting point and end point of the path are the starting position and the ending position respectively, and the tangent directions of the starting point and the end point of the path are the starting direction and the ending direction respectively.

[0015] As an optional implementation, the process of generating a virtual road map that meets a given depth includes: determining whether the current waypoint depth meets the given depth; if not, repeating the steps of calculating the visible polygon area of the user's current location to fitting the path between adjacent virtual waypoints with the next virtual waypoint as the user's current location, until a virtual road map that meets the given depth is generated.

[0016] As an optional implementation, the user feature vector includes feature vectors representing gender, familiarity with virtual reality technology, and walking speed, respectively, and each feature vector has a corresponding value range.

[0017] As an optional embodiment, the process of generating an optimal physical road map based on the virtual road map generated by the polygons representing the virtual scene and the physical scene and the obtained user feature vector includes: calculating a detection threshold function of a redirected translation gain, a rotation gain, a curvature gain, and a bending gain based on the user feature vector; Under the constraint of the detection threshold function, an optimization problem is constructed, wherein the optimization objective of the optimization problem is to minimize the expected total cost of the redirected walking system; In a multi-branch tree representing an input virtual road network, the current state, remaining depth, and previous action corresponding to the root node are used as inputs, and a dynamic programming algorithm is used to iteratively solve the optimization problem to obtain the optimal action and the optimal cost.

[0018] As a further embodiment, the process of calculating the detection threshold function of the redirected translation gain, rotation gain, curvature gain, and bending gain according to the user feature vector includes: ; ; ; ; in, are the upper limits of the detection thresholds for translation gain, rotation gain, curvature gain, and bending gain, respectively. are the mapping functions between the upper limit of the detection threshold and specific user features in the four redirection gains, They are the mapping functions of the upper limit of the detection threshold and the cumulative walking time t in the four redirection gains.

[0019] As an optional implementation, constructing an optimization problem, wherein the optimization objective of the optimization problem is to minimize the expected total cost of the redirected walking system, includes: The optimization problem is: ; in, minE[G] To minimize expected cost by choosing actions; The total cost G of the redirected walking system is: ; in, is the cost of each stage k, represents the terminal cost at the end of planning, represents the user’s current state vector, , including locations in real and virtual environments ( ), ( ), directions in real and virtual environments ( ), tangential velocity , the cumulative time the user walks , the virtual path edge or endpoint where the current user is located ; Indicates the current state The action taken, action set Depends on the current state , is a complete set of actions A subset of the complete action set ={null, }, where null means no gain action; Represent the gain values of translation gain, rotation gain, curvature gain and bending gain respectively, Respectively indicate the corresponding Three actions for three buffs; and The relationship is: like is the endpoint of the virtual path, ={null, }, (1, ]; like is the edge of the virtual path and is a straight line, ={null, }, (1, ], [0, ]; like is a clothoid curve, ={null, }, (1, ], [0, ]; Represents the uncertainty of the system.

[0020] As an optional implementation, the redirection gain is composed of a quintuple Indicates that, They represent respectively: the curvature of the physical path, the curvature of the virtual path, the ratio of the distance between the virtual path and the physical path, the slope of the physical path, and the function of the slope of the virtual path varying with the length s.

[0021] As an optional implementation, the process of performing perspective mapping to determine the user's virtual perspective includes: finding the corresponding point of the user's physical position on the physical path ,in The physical path for the user's physical location The path length of the point among all vertical points on the path that is closest to the corresponding point on the user's physical path at the previous moment; Calculate the corresponding point of the user's virtual position on the virtual path ; Calculate the user's virtual location ; Calculate the corresponding points Tangent direction on the physical path Projection on the horizontal plane , and Rotate 90° clockwise on the horizontal plane to get the normal vector ; calculate Projection on the horizontal plane , and calculate arrive The counterclockwise rotation angle of ; calculate The rotation angle to its projection on the horizontal plane and The difference between the rotation angle of its projection on the horizontal plane ; Calculate corresponding points Tangent direction on the virtual path Projection on the horizontal plane , and project Rotate 90° clockwise on the horizontal plane to get the normal vector ; Will Counterclockwise rotation Get the projection of the virtual orientation on the horizontal plane , calculate the projection The rotation angle to its projection on the horizontal plane , project Rotation Get the user's virtual orientation .

[0022] A predictive redirection control system for complex virtual scenes, comprising: a tracking module configured to represent a target curved boundary scene of a physical scene using a curved polygon, segment the curved polygon, determine a set of potential locations for markers, determine a final marker position in the set of potential locations with the goal of maximizing coverage of required points under a given marker quantity constraint, and track the user's physical perspective based on the marker position; The virtual road network automatic generation module is configured to perform curve polygon segmentation on a given virtual scene, calculate the shortest path tree of the user's current position in the virtual scene based on the segmentation results, calculate the visible polygon area of the user's current position, determine each virtual waypoint based on the visible polygon area and the polygon skeleton of the virtual scene, and fit the path between adjacent virtual waypoints until a virtual road map that meets the given depth is generated; a physical road map automatic generation module configured to generate an optimal physical road map based on polygons representing the virtual scene and the physical scene, the generated virtual road map, and the acquired user feature vector; The perspective mapping module is configured to perform perspective mapping based on the optimal physical road map, the virtual road map that meets the given depth, the redirection gain, the user's physical perspective obtained by tracking, and the corresponding point of the user's physical perspective at the previous moment on the physical path to determine the user's virtual perspective.

[0023] A computer-readable storage medium is used to store computer instructions, and when the computer instructions are executed by a processor, the steps in the above method are completed.

[0024] An electronic device includes a memory and a processor, and computer instructions stored in the memory and executed on the processor. When the computer instructions are executed by the processor, the steps in the above method are completed.

[0025] Compared with the prior art, the present invention has the following beneficial effects: In the process of tracking the user's position, the present invention divides the given curve polygon representing the physical scene into a set of sub-polygons. For the sub-polygon set, the polygon intersection set method is used to obtain the potential position set of the markers. Based on the potential position set, the sub-polygon set and the given number of markers, a multiple coverage position problem is constructed and solved to obtain the optimal marker set, thereby realizing the automatic generation of marker positions in the physical scene represented by the curve polygon, allowing developers to quickly arrange markers in any physical scene with scarce features, thereby ensuring accurate tracking of user positions in virtual reality technology applications.

[0026] In the virtual path generation process, the present invention combines curve polygon decomposition and curve polygon skeleton extraction to realize the processing of complex curve boundaries, thereby improving the applicability of the predictive redirection controller to complex scenes containing curve boundaries. Based on the visible polygon waypoint generation mechanism and the path fitting based on the spiral curve, the virtual path that is more in line with the walking habits of the human body can be automatically generated according to the virtual scene, allowing developers to quickly develop any virtual scene.

[0027] In the physical path generation process, the present invention calculates four redirection gains based on the user feature vector, and constructs an optimization problem under the constraint of the detection threshold function. The optimization goal of the optimization problem is to minimize the expected total cost of the redirected walking system. In a multi-branch tree representing the input virtual road network, the current state, remaining depth and previous action corresponding to the root node are used as inputs, and the optimization problem is iteratively solved using a dynamic programming algorithm to obtain the optimal action and optimal cost, thereby realizing the automatic generation of the optimal physical path. This allows users to effectively utilize the physical space within a limited physical space and achieve immersive roaming in larger and more complex virtual scenes.

[0028] In the perspective mapping link, the present invention integrates the obtained physical perspective, virtual path, and physical path to determine the corresponding points. Based on the corresponding points, a unified representation model of the redirection gain is combined to form a virtual perspective, ensuring the correctness of the virtual perspective and helping to improve the field of view and rendering speed.

[0029] In summary, the present invention has made improvements in the entire process of tracking, automatic generation of virtual road networks, automatic generation of physical road maps, and perspective mapping, thereby enhancing the effect of predictive redirection control, improving the accuracy of the physical perspective obtained from the physical environment, supporting the generation of virtual road maps for scenes with complex curved boundaries, expanding the application range of curvature gain and bending gain, improving the precision and accuracy of predictive redirection control, and further enhancing the user's immersive experience and system adaptability in the virtual reality system.

[0030] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] The accompanying drawings, which constitute a part of the present invention, are used to provide a further understanding of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute improper limitations on the present invention.

[0032] Figure 1 is a schematic diagram of a predictive redirection control principle for a complex virtual scene according to an embodiment; Figure 2 A schematic diagram of sub-polygons after the physical space is divided in one embodiment; Figure 3 A schematic diagram of subdivision of type 2 sub-polygons in one embodiment; Figure 4 A schematic diagram of subdivision of case 1 of type 3 sub-polygons in one embodiment; Figure 5 Schematic diagram of subdivision of case 2 of type 3 sub-polygon in one embodiment; Figure 6 A schematic diagram of subdivision of case 1 of type 4 sub-polygons in one embodiment; Figure 7 Schematic diagram of subdivision of case 2 of type 4 sub-polygons in one embodiment; Figure 8 A schematic diagram of subdivision of case 3 of type 4 sub-polygons in one embodiment; Figure 9 A schematic diagram of subdivision of case 1 of type 5 sub-polygons in one embodiment; Figure 10 Schematic diagram of subdivision of case 2 of type 5 sub-polygon in one embodiment; Figure 11A schematic diagram of subdivision of case 3 of type 5 sub-polygons in one embodiment; Figure 12 A schematic diagram of subdivision of case 4 of type 5 sub-polygons in one embodiment; Figure 13 A schematic diagram of all subdivided sub-polygons in one embodiment; Figure 14 A schematic diagram of coverage in an embodiment; Figure 15 Schematic diagram of the intersection of coverage areas of two sub-polygons in one embodiment; Figure 16 A schematic diagram of a virtual scene input in one embodiment; Figure 17 A schematic diagram of a Voronoi diagram of a virtual scene in an embodiment; Figure 18 A schematic diagram of a skeleton of a virtual scene based on a Voronoi diagram in an embodiment; Figure 19 A schematic diagram of a Voronoi diagram-based partitioning of a virtual scene in an embodiment; Figure 20 A schematic diagram of visible polygons in a virtual scene in one embodiment; Figure 21 A schematic diagram of virtual waypoints and virtual paths in a virtual scene in an embodiment.

[0033] Figure 22 A schematic diagram of a process of performing no-action mapping on a straight path in one embodiment; Figure 23 FIG1 is a schematic diagram of a translation gain mapping process on a straight path in one embodiment; Figure 24 Schematic diagram of a translation gain mapping process including resetting on a straight path in one embodiment; Figure 25 FIG1 is a schematic diagram of a curvature gain mapping process including resetting on a straight path in one embodiment; Figure 26 FIG1 is a schematic diagram of a curvature gain mapping process including resetting on a straight path in one embodiment; Figure 27 FIG1 is a schematic diagram of a bending gain mapping process on a clothoid path in one embodiment; Figure 28 In one embodiment, bending gain mapping with resetting is performed on a clothoid path; Figure 29 In one embodiment, the physical location Schematic diagram of the closest point on the physical path; Figure 30 In one embodiment, from a physical location and physical orientation Mapping to virtual locations and virtual orientation Schematic diagram of . DETAILED DESCRIPTION

[0034] The present invention will be further described below with reference to the accompanying drawings and embodiments.

[0035] It should be noted that the following detailed descriptions are illustrative and intended to provide further explanation of the present invention. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which the present invention belongs.

[0036] It should be noted that the terms used herein are only for describing specific embodiments and are not intended to limit the exemplary embodiments according to the present invention. As used herein, unless the context clearly indicates otherwise, the singular form is intended to include the plural form. In addition, it should be understood that when the terms "comprise" and / or "include" are used in this specification, they indicate the presence of features, steps, operations, devices, components and / or combinations thereof.

[0037] In the absence of conflict, the embodiments and features in the embodiments of this application can be combined with each other.

[0038] Example 1 A predictive redirection control method for complex virtual scenes, such as Figure 1 As shown, the following steps are included: In the tracking phase, a target curve boundary scene of the physical scene is represented by a curved polygon. The curved polygon is segmented to determine a set of potential locations for markers. Within a given limit on the number of markers, the final marker position is determined in the potential location set with the goal of maximizing coverage of the required points. The user's physical perspective is tracked based on the marker position. In the virtual path automatic generation phase, the given virtual scene is divided into curve polygons. Based on the division results, the shortest path tree of the user's current position in the virtual scene is calculated. The visible polygon area of the user's current position is calculated. Based on the visible polygon area and the polygon skeleton of the virtual scene, each virtual waypoint is determined, and the path between adjacent virtual waypoints is fitted until a virtual road map that meets the given depth is generated. In the physical path automatic generation phase, the optimal physical path map is generated based on the virtual road map generated by the polygons representing the virtual scene and the physical scene, and the acquired user feature vector; In the perspective mapping step, perspective mapping is performed based on the optimal physical road map, the virtual road map that meets the given depth, the redirection gain, the user's physical perspective obtained by tracking, and the corresponding point of the user's physical perspective at the previous moment on the physical path to determine the user's virtual perspective.

[0039] Among them, the improvement of the tracking link is used to improve the accuracy of the physical perspective obtained from the physical environment; The virtual path automatic generation link takes the plane polygon representing the virtual scene as input and outputs the virtual path; The automatic physical path generation process takes the plane polygon representing the virtual scene, the plane polygon representing the physical scene, and the virtual path as input and outputs the physical path; The perspective mapping link takes the physical perspective, virtual path, and physical path as input and outputs the virtual perspective.

[0040] The specific process of each link is introduced below.

[0041] The first is the tracking phase, which adopts a marker-based tracking method and uses predefined markers placed in the real environment to achieve reliable user tracking.

[0042] The focus of the improvement is on the automatic generation of markers for curved boundary scenes, which specifically includes the following steps: Step S11: using a curve polygon to represent the target curve boundary physical scene in the VR application, and dividing the curve polygon to obtain a sub-polygon set; Step S12: Using the polygon intersection set method, the intersection of the coverage boundaries of any two sub-polygons in the sub-polygon set is used as the potential position of the mark, and a potential position set of the mark is constructed; Step S13: Based on the potential position set, the sub-polygon set and the given number of markers, a multiple covering position problem is constructed, with the sub-polygons as the covered points and the potential positions of the markers as the covering points. The final positions of the markers are selected under the limit of the number of markers, with the goal of maximizing the number of covered points, and the optimal marker position set is solved.

[0043] Wherein, step S11 includes: Step S101: Use the Voronoi-based decomposition (VBD) method to perform spatial division on the curve polygon to obtain the following: Figure 2 Several sub-polygons are shown, among which Figure 2 The numbers marked in the figure are the type numbers of the sub-polygons.

[0044] Step S102: further subdivide each sub-polygon until the radius of the minimum circumscribed circle of all sub-polygons is smaller than a given threshold.

[0045] For each sub-polygon, subdivide it according to different methods based on the type of sub-polygon, specifically: Step S1021: For the type 1 sub-polygon formed by three diagonal lines, the subdivision method is: First, find the vertex with the largest internal angle, make a perpendicular point from the vertex to its opposite side, and use the line segment from the vertex to the perpendicular point to divide the type 1 sub-polygon into two type 1 sub-triangles.

[0046] Step S1022: For a type 2 sub-polygon formed by a diagonal line and a curve, such as Figure 3 As shown, the subdivision method is: First find the point on the curve farthest from the diagonal line, and then connect that point to the endpoints of the diagonal line, thereby dividing the type 2 sub-polygon into a type 1 sub-polygon and a type 2 sub-polygon.

[0047] Step S1023: For a type 3 sub-polygon formed by two diagonal lines and a curve, the subdivision method is divided into two cases: If the curve is convex, such as Figure 4 As shown, the endpoints of the curve are connected to divide the type 3 sub-polygon into a type 1 sub-polygon and a type 2 sub-polygon.

[0048] If the curve is concave, such as Figure 5 As shown, find the point on the curve farthest from the line segment connecting the curve endpoints, and then draw a parallel line from the point to intersect the line segment, thereby dividing the type 3 sub-polygon into one type 1 sub-polygon and two type 3 sub-polygons.

[0049] Step S1024: For a type 4 sub-polygon formed by a diagonal line and two curves, the subdivision method is divided into three cases: If one of the curves is convex and the other is concave, as in Figure 6 As shown, find the point on the concave curve that is farthest from the line segment connecting the end points of the concave curve, and then draw a parallel line from the point to intersect the line segment, thereby dividing the type 4 sub-polygon into two type 3 sub-polygons and one type 4 sub-polygon.

[0050] If both curves are concave, such as Figure 7 As shown, find the point on the concave curve that is farthest from the line segment connecting the end points of the concave curve, and then draw a parallel line from the point to intersect the line segment, thereby dividing the type 4 sub-polygon into two type 3 sub-polygons and one type 4 sub-polygon.

[0051] If both curves are convex, such as Figure 8As shown, the endpoints of each curve are connected respectively, thereby dividing type 4 into two type 2 sub-polygons and one type 1 sub-polygon.

[0052] Step S1025: For a type 5 sub-polygon consisting of two diagonal lines and two curves, the subdivision method is divided into four cases: If both curves are convex, such as Figure 9 As shown, the endpoints of each curve are connected respectively, thereby dividing the type 5 into a quadrilateral and two type 2 sub-polygons. The quadrilateral is further divided into two type 1 sub-polygons by connecting one of its diagonals.

[0053] If both curves are concave, find two parallel lines, if these two parallel lines do not intersect the other curve, such as Figure 10 As shown, the type 5 sub-polygon will be divided into a quadrilateral and four type 3 sub-polygons, otherwise, as Figure 11 As shown, find the common tangent of the two curves and divide type 5 into four type 3 sub-polygons.

[0054] If one curve is concave and the other is convex, as Figure 12 As shown, a parallel line is found for the concave curve and the endpoints of the convex curve are connected, thereby dividing type 5 into a quadrilateral, a type 2 sub-polygon, and two type 3 sub-polygons. The quadrilateral is further divided into two type 1 sub-polygons by connecting one of its diagonals.

[0055] Step S103: take all the subdivided sub-polygons as the subdivision results, and obtain Figure 13 The collection of sub-polygons shown.

[0056] Step S12: For a given curve polygon and polygon set, obtain a potential position set of the marker using the PIPS method, including: Calculate the coverage boundary of each sub-polygon as follows: like Figure 14 As shown, with each vertex of the sub-polygon as the center, a circle with a given marker recognition range as the radius is drawn, and the overlapping part of all circles is the coverage boundary of the sub-polygon. Figure 14 In the figure, the red triangle is the sub-polygon whose coverage boundary is to be calculated, the yellow line is the drawn circle, and the green line is the coverage boundary.

[0057] Through the above method, the coverage boundaries of all sub-polygons are obtained.

[0058] like Figure 15 As shown, the intersection of the coverage boundaries of any two sub-polygons is calculated, and the intersection is used as a potential position of the mark to obtain the set of all potential positions.

[0059] Step S13: Based on the potential position set of the markers, the sub-polygon set, and the given number of markers, an MCLP is constructed. The sub-polygons are used as covered points, and the potential positions of the markers are used as covered points. The final positions of the markers are selected under the limit of the number of markers. The goal is to maximize the number of covered points and solve the optimal set of marker positions, including: Step S1301: Make represents the set of potential locations of the mark, that is, the set of coverage points, Represents the sub-polygon set, that is, the covered point set, B is the given number of markers, that is, the upper limit of the number of markers, and there is a covering relationship between the covered points and the covering points. The covering relationship here is expressed by the potential position of the marker Is it in a sub-polygon The coverage boundary is characterized by Indicates that it can cover sub-polygons The set of potential locations of the markers, Indicates potential locations that can be marked The collection of covered sub-polygons.

[0060] Step S1302: construct MCLP, , , , , .

[0061] in, Indicates the potential location of the marker Set the mark, Indicates the potential location of the marker No flag is set; Represents a sub-polygon is covered by at least one marked potential location, i.e., the marked potential location In sub-polygon On the coverage boundary, Represents a sub-polygon Not covered by any of the potential locations marked. A collection of potential locations through markers , sub-polygon collection Can be obtained, and is the decision variable to be solved.

[0062] Step S1303: Solve the MCLP in step S1302 using the branch-and-bound method, specifically: First, relax the integer constraints to obtain the upper bound and use the greedy algorithm to generate the initial lower bound. Then, branch by selecting the fractional variable (forcing or not placing the mark), calculate the relaxed solution of the subproblem and prune the invalid branch. Finally, output the optimal mark arrangement when the termination condition is met. .

[0063] The automatic virtual path generation process specifically includes the following steps: Step S21: performing curve polygonal subdivision on a given virtual scene, and using a shortest path tree algorithm to calculate the shortest path tree of the user's current position in the scene; Step S22: performing skeleton processing on the given virtual scene to obtain a polygonal skeleton; Step S23: Calculate the visible polygon area of the user's current location based on the shortest path tree; Step S24: extracting virtual waypoints based on the intersections of the visible polygon area and the polygon skeleton; Step S25: fitting the path between adjacent virtual waypoints using a clothoid curve; Step S26: Determine whether the current waypoint depth meets the given depth. If not, take the next virtual waypoint as the user's current location and go to step 3. If yes, output the virtual road map, such as Figure 7 .

[0064] The process of performing curve polygonal subdivision on a given virtual scene includes: Step S2101: For the input curve polygon virtual scene, go to step S2102; Step S2102: Calculate the Voronoi diagram of the curve polygon, such as Figure 16 As shown, go to step S2103; Step S2103: Figure 17 As shown, the sub-polygon set of the curve polygon is calculated based on the Voronoi diagram.

[0065] In step S2103, the specific steps include: Step S21031: For each Voronoi vertex, execute step S21032; after all are executed, go to step S21034; Step S21032: Calculate the vertical points on the three sites associated with the Voronoi vertex, and go to step S21033); Step S21033: Connect the three vertical points in pairs to obtain a diagonal line, and then go to step S21031; Step S21034: All diagonal lines divide the curve polygon into a set of sub-polygons.

[0066] In this embodiment, the steps of scene skeleton processing include: Step S2201: For the input curve polygon virtual scene, calculate the Voronoi diagram of the curve polygon; Step S2202: Calculate the skeleton diagram of the curve polygon based on the Voronoi diagram. Specifically, for each Voronoi edge, if there is an endpoint that is a vertex of the polygon, delete the edge; otherwise, keep it. Figure 18 shown.

[0067] In this embodiment, the process of calculating the visible polygon area of the user's current location based on the shortest path tree includes: Step S2301: For the virtual scene represented by the input curve polygon, combine the segmentation result of the curve polygon, such as Figure 19 As shown, and the user's virtual location, go to step S2302 for calculation; Step S2302: Calculate the shortest path tree of the user's virtual position in the curve polygon, and then go to step S2303; Step S2303: Based on the shortest path tree, calculate the visible polygon of the user's virtual position in the curve polygon, such as Figure 20 shown.

[0068] The step S2302 specifically includes: Step S23021: Obtain the sub-polygon containing the user's current position in the sub-polygon set, and then go to step S23022; Step S23022: add the sub-polygon to the queue. If the queue is not empty, repeat step S23023; otherwise, go to step S23024. Step S23023: Push the first sub-polygon out of the queue, calculate the shortest path tree from all vertices in the sub-polygon to the user's current location using the funnel data structure, then add the unprocessed neighbor sub-polygons of the sub-polygon to the queue, and go to step S23022; Step S23024: Obtain the shortest path tree with the user's current location as the root node.

[0069] The step S2303 specifically includes: Step S23031: For each edge in the virtual scene, calculate the visible area of the edge for the user's current position, and then go to step S23032; Step S23032: Connect the visible areas of each edge in sequence to obtain the visible polygon of the user's current position, such as Figure 21 shown.

[0070] The step S23031 specifically includes: Step S230311: Find the shortest paths from the user's current location to the two vertices of the edge from the shortest path tree, and go to step S230312; Step S230312: Starting from the user's current position, send a ray in the tangent direction of the starting position of the first segment of the two shortest paths and find the intersection point with the edge, and then go to step S230313; Step S230313: If there are two intersection points, the line segment connecting the two intersection points is the visible area of the edge; otherwise, the edge is not visible to the user's current position.

[0071] The process of extracting virtual waypoints based on the intersection of the visible polygon area and the polygon skeleton includes: Step S2401: For each edge e1 of the visible polygon and each edge e2 of the polygon skeleton, if e1 and e2 have an intersection, add them to the set R.

[0072] Step S2402: Output R as a virtual waypoint.

[0073] The process of fitting the path between adjacent virtual waypoints using the clothoid curve includes: Step S2501: The position of the first virtual waypoint is obtained as the starting position, and the tangent direction of the waypoint on the skeleton graph is the starting direction.

[0074] Step S2502: Acquire the position of the second virtual waypoint as the end position, and the tangent direction of the waypoint on the skeleton graph as the end direction.

[0075] Step S2503: A virtual path is fitted using a spiral curve fitting method based on the starting position, starting direction, ending position and ending direction. The starting point and ending point of the path are the starting position and ending position respectively, and the tangent directions of the starting point and ending point of the path are the starting direction and ending direction respectively.

[0076] In the automatic generation of physical road maps, the input is polygons representing virtual scenes and physical scenes. and , virtual road map , user feature vector .

[0077] Output: optimal physical path map .

[0078] The specific process of this embodiment includes: The user feature vector P contains three feature data: gender, VR familiarity and walking speed.

[0079] The specific definitions are as follows: Gender value range: Indicates male, Indicates female.

[0080] VR familiarity value range: , where 1 means completely unfamiliar with VR and 5 means very familiar with VR.

[0081] The range of walking speed is: , unit is m / s.

[0082] The specific steps include: Step S31: Calculate the detection threshold function of four redirection gains (translation gain, rotation gain, curvature gain, bending gain) according to the user feature vector P .

[0083] ; ; ; ; in, They are the upper limits of the detection thresholds for four fixed gains, are the mapping functions between the upper limit of the detection threshold and specific user features in the four redirection gains, They are the mapping functions of the upper limit of the detection threshold and the user's cumulative walking time t in the four redirection gains.

[0084] Step S32: Define the discrete-time dynamic system: ; in, and Represent the user's current and next state vectors respectively. The user's current state vector , including locations in real and virtual environments ( ), ( ), directions in real and virtual environments ( ), tangential velocity , the cumulative time the user walks , the virtual path edge or endpoint where the current user is located . Indicates the current state Actions to take next. Available action sets Depends on the current state , is a complete set of actions A subset of the complete action set. ={null, }, where null means no gain action; Represent the gain values of translation gain, rotation gain, curvature gain and bending gain respectively, Respectively indicate the corresponding Three types of gains (including reset) and three actions.

[0085] and The relationship is: like is the endpoint of the virtual path, ={null, }, (1, ].

[0086] like is the edge of the virtual path and is a straight line, ={null, }, (1, ], [0, ].

[0087] like is a clothoid curve, ={null, }, (1, ], [0, ].

[0088] Represents the uncertainty of the system.

[0089] Represents the system's state update function, used to describe the state from arrive evolution process.

[0090] The total cost of evaluating the redirected walking system is: ; in, is the cost of each stage k, It represents the terminal cost at the end of planning, that is, the cost of stage N.

[0091] Due to the stochastic nature of state evolution, the goal is to minimize the expected cost E[G] by selecting actions. Specifically, the costs of different branches of the future trajectory need to be weighted according to their probability of occurrence. This leads to an optimization problem that can be recursively solved using a dynamic programming algorithm: ; Set the current stage k to the final stage N, decrease it one by one, and finally calculate For the minimum cost.

[0092] Step S33: In the virtual road network representing the input In the multi-branch tree, the current state corresponding to the root node Pc , remaining depth , the previous action is null, calling step S34.

[0093] Step S34: Input is the current state , remaining depth Previous action , the output is the optimal action and optimal cost .

[0094] Step S341: Initialize the optimal cost to infinity .

[0095] Step S342: Cost of action u ( ) Traverse the available action set in increasing order : Step S34201: Initialize the current cost counter .

[0096] Step S34202: If , go to step S34203; otherwise, go to step S342.

[0097] Step S34203: If If the corresponding Pc is an endpoint, go to step S34206; otherwise, go to step S34205.

[0098] Step S34204: Traverse all paths starting from Pc , after traversal, go to step S34206; Step S342041: Call step S35 to calculate apply ( ); Step S342042: Update cost ; Step S342043: If , go to step S34205; otherwise, go to step S342044.

[0099] Step S342044: If the current depth : Step S3420441: Based on the current state , remaining depth -1 and current action Call step S34 to obtain the cost nextcost of the next action nextaction. ; Step S3420442: Update cost .

[0100] Step S34205: The corresponding Pc is a straight path or a curved path, let Indicates the end point of the path Pc: Step S342051: Call step S36: Calculate apply ( ); Step S342052: Update cost ; Step S342053: If , go to 4.2.6; otherwise, go to 4.2.5.4.

[0101] Step S342054: If the current depth : Step S3420541: Based on the current state , remaining depth -1 and current action Call step 4 to get the cost nextcost of the next action nextaction. ; Step S3420542: Update cost .

[0102] Step S34206: If the cost : Step S342061: ; Step S342062: Update optimal cost ; Step S343: Return the optimal action and optimal cost .

[0103] Step S35: Input as action , current status ,path , the output is the next state and stage costs ; Step S3501: If =null, =[ ].in, Therefore One of the paths starting from for The tangent direction at the starting point, is the walking speed, and The difference is from Rotate to the current virtual direction The time required (user's rotation speed multiplied by the angle difference), Physical direction With the current physical direction The difference is equal to the virtual rotation angle: ; Step S3502: If = , =[ ].in, Therefore One of the paths starting from for The tangent direction at the starting point, is the walking speed, and The difference is from Rotate to The time required, for: ; ; Step S3503: for The reciprocal of the average of the closest distances of all points on the grid to the physical boundary.

[0104] Step S36: Input as action , current status , endpoint , the output is the next state and stage costs ; Step S3601: If For a straight line: Step S36011: If =null, =[ ].in, yes The end point, ( )for The end position of and The difference along the path The time required to walk, ( )and( ) is equal to The path length from (1,0) to ( ) is rotated counterclockwise by ,like Figure 22 As shown: ; ; Step S36012: If = , =[ ].in, yes The end point, ( )for The end position of and The difference along the path The time required to walk, ( )and( ) is equal to The path length divided by the translation gain , from (1,0) to ( ) is rotated counterclockwise by ,like Figure 23 As shown: ; ; ; ; Step S36013: If = , =[ ].in, yes The end point, ( )for The end position of and The difference along the path The time required for walking. Different from the previous case, due to the need to reset, that is, according to the calculation in the previous case ( )and( ) has an intersection with the physical scene. Let the intersection be ,L is( )arrive The distance. New ( ) determination and and reset the rotation angle Related, such as Figure 24 As shown: ; ; ; ; Step S36014: If = , =[ ].in, yes The end point, ( )for The end position of and The difference along the path The time required to walk, ( )and( ) are all in a ( ) is the center of the circle, 1 / On a circle with a radius of . Among them, from (1,0) to ( ) is rotated counterclockwise by or , ( )arrive( ) is 1 / If the center of the physical path is to the right of the starting point, such as Figure 25 As shown, ( )for: ; ; for: ; If the center of the physical path is on the left side of the starting point, ( )for: ; ; for: ; Step S36015: If = , =[ ].in, yes The end point, ( )for The end position of and The difference along the path The time required for walking. Different from the previous case, due to the need for reset, that is, according to the calculation in the previous case ( )and( ) has an intersection with the physical scene. Let’s assume that the intersection is ,L is( )and Distance on the arc. New ( ) determination and and reset the rotation angle related.( )and( ) are all in a ( ) is the center of the circle, 1 / On a circle with a radius of . Among them, from (1,0) to ( ) is rotated counterclockwise by , ( )arrive( ) is 1 / If the center of the physical path is on the right side of the starting point, Figure 26 As shown, ( )for: ; ; for: ; Step S3602: If is a clothoid curve (with an initial curvature of , the curvature change rate is ): Step S36021: If =null, =[ ].in, yes The end point, ( )for The end position of yes The tangent direction of the end point, and The difference along the path The time required to walk, ( ) is based on , ( ) and the integral formula of the clothoid curve, is based on And the integral formula of the clothoid curve is obtained: ; ; ; Step S36022: If = , =[ ].in, yes The end point, ( )for The end position of yes The tangent direction of the end point, and The difference along the path The time required to walk, ( )and( ) are all in a ( ) is the center of the circle, / On a circle with radius . Among them, if ,but( )exist( ) is in to the right of the tangent direction; otherwise, ( )exist( ) To the left of the tangent direction. If ,like Figure 27 As shown, ( )for: ; ; for: ; If the center of the physical path is on the left side of the starting point, ( )for: ; ; for: ; Step S36023: If = , =[ ].in, yes The end point, ( )for The end position of and The difference along the path The time required for walking. Different from the previous case, due to the need to reset, that is, according to the calculation in the previous case ( )and( ) has an intersection with the physical scene. Let’s assume that the intersection is ,L is( )and Distance on the arc. New ( ) determination and and reset the rotation angle related.( )and( ) are all in a ( ) is the center of the circle, 1 / On a circle with a radius of . Among them, from (1,0) to ( ) is rotated counterclockwise by , ( )arrive( ) is 1 / If the center of the physical path is to the right of the starting point, such as Figure 28 As shown, ( )for: ; ; for: .

[0105] In the perspective mapping step, a unified representation model of redirection gain is first constructed.

[0106] Redirection gain can be represented by a five-tuple Indicates that, They represent the curvature of the physical path, the curvature of the virtual path, the ratio of the distance between the virtual path and the physical path, the slope of the physical path, and the slope of the virtual path as a function of the length s.

[0107] Points on the physical path and points on the virtual path They are: =( , , ), =( , , ); (1) (2) Tangent direction of a point on the physical path and points on the virtual path They are: =( , , ), =( , , ),in: (3) (4) In the above formula, Indicates that the curvature of the physical path varies with the path length Function of change; The curvature of the virtual path changes with the path length Function of change; The ratio of the distance between the virtual path and the physical path to the path length Function of change; Indicates that the slope of the physical path changes with the path length Function of change; Indicates that the slope of the virtual path changes with the path length Function of change; Indicates that the position on the virtual path changes with the path length Function of change; Indicates that the position on the virtual path changes with the path length Function of change; Indicates that the tangent direction of any point on the physical path changes with the path length Function of change; Indicates that the tangent direction of any point on the virtual path changes with the path length Function of change.

[0108] Input for perspective mapping: physical path , virtual path , gain , the user's physical perspective (physical location and physical orientation ), the corresponding point of the user's physical perspective at the previous moment on the physical path .

[0109] Output: User's virtual perspective (virtual position and virtual orientation ).

[0110] Specifically include: Step S41: Find the user's physical location In the physical path The corresponding point on ,in The user's physical location In the physical path The distance from all vertical points on the user to the corresponding point on the physical path at the previous moment The path length to the nearest point, such as Figure 29 As shown: ;

[0111] ; (6) Step S42: Calculate the corresponding point of the user's virtual position on the virtual path, such as Figure 30 As shown: ; (7) Step S43: Calculate the user's virtual location : ; (8) Step S43: Calculate the user's virtual orientation based on Formula 3 and Formula 4: Step S4301: Calculate based on formula 3 Tangent direction on the physical path Projection on the horizontal plane , and Rotate 90° clockwise on the horizontal plane to get the normal vector ; Step S4302: Calculation Projection on the horizontal plane , and calculate arrive The counterclockwise rotation angle of ; Step S4303: Calculation The rotation angle to its projection on the horizontal plane and The difference between the rotation angle of its projection on the horizontal plane ; Step S4304: Calculate based on formula 4 Tangent direction on the virtual path Projection on the horizontal plane , and Rotate 90° clockwise on the horizontal plane to get the normal vector ; Step S4305: Counterclockwise rotation Get the projection of the virtual orientation on the horizontal plane

[0112] Step S4306: Calculation The rotation angle to its projection on the horizontal plane ,Will Rotation Get virtual orientation .

[0113] Example 2 A predictive redirection control system for complex virtual scenes, comprising: a tracking module configured to represent a target curved boundary scene of a virtual scene using a curved polygon, segment the curved polygon, determine a set of potential locations for markers, determine a final marker position in the set of potential locations with the goal of maximizing coverage of required points under a given marker quantity constraint, and track the user's physical perspective based on the marker position; The virtual road network automatic generation module is configured to perform curve polygon segmentation on a given virtual scene, calculate the shortest path tree of the user's current position in the virtual scene based on the segmentation results, calculate the visible polygon area of the user's current position, determine each virtual waypoint based on the visible polygon area and the polygon skeleton of the virtual scene, and fit the path between adjacent virtual waypoints until a virtual road map that meets the given depth is generated; a physical road map automatic generation module configured to generate an optimal physical road map based on polygons representing the virtual scene and the physical scene, the generated virtual road map, and the acquired user feature vector; The perspective mapping module is configured to perform perspective mapping based on the optimal physical road map, the virtual road map that meets the given depth, the redirection gain, the user's physical perspective obtained by tracking, and the corresponding point of the user's physical perspective at the previous moment on the physical path to determine the user's virtual perspective.

[0114] Example 3 A computer-readable storage medium is used to store computer instructions, which, when executed by a processor, complete the steps of the method provided in embodiment 1.

[0115] Example 4 An electronic device includes a memory and a processor, and computer instructions stored in the memory and executed on the processor. When the computer instructions are executed by the processor, the steps of the method provided in embodiment 1 are completed.

[0116] The foregoing description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Those skilled in the art will readily appreciate that various modifications and variations of the present invention are possible. Any modifications, equivalent substitutions, or improvements made by those skilled in the art that fall within the spirit and principles of the present invention and do not require creative effort are intended to be within the scope of protection of the present invention.

Claims

1. A predictive redirection control method for complex virtual scenes, characterized by: The following steps are involved: The target curve boundary scene of the physical scene is represented by a curved polygon, and the curved polygon is segmented to determine a set of potential locations for markers. Under a given limit on the number of markers, the final marker position is determined in the potential location set with the goal of maximizing coverage of the required points. The user's physical perspective is tracked based on the marker position. Perform curve polygon segmentation on a given virtual scene. Based on the segmentation results, calculate the shortest path tree of the user's current position in the virtual scene, calculate the visible polygon area of the user's current position, determine each virtual waypoint based on the visible polygon area and the polygon skeleton of the virtual scene, and fit the paths between adjacent virtual waypoints until a virtual road map that meets the given depth is generated. Generate an optimal physical road map based on the virtual road map generated by polygons representing the virtual scene and the physical scene, and the obtained user feature vector; Based on the optimal physical road map, the virtual road map that meets the given depth, the redirection gain, the user's physical perspective obtained by tracking, and the corresponding point of the user's physical perspective at the previous moment on the physical path, perspective mapping is performed to determine the user's virtual perspective.

2. The predictive redirection control method for a complex virtual scene according to claim 1, characterized in that: The process of dividing the curve polygon is specifically as follows: using a dividing method based on the Voronoi diagram to spatially divide the curve polygon to obtain a plurality of sub-polygons; Each sub-polygon is further subdivided until the radius of the minimum circumscribed circle of all sub-polygons is less than a given threshold. All sub-polygons obtained after subdivision constitute a sub-polygon set.

3. The predictive redirection control method for a complex virtual scene according to claim 1, characterized in that: The process of determining the potential position set of the mark includes: using the polygon intersection set method, taking the intersection of the coverage boundaries of any two sub-polygons in the sub-polygon set as the potential position of the mark, constructing the potential position set of the mark, and the coverage boundary of the sub-polygon is calculated by taking each vertex of the sub-polygon as the center of the circle, drawing a circle with a given mark recognition range as the radius, and the overlapping part of all circles is the coverage boundary of the sub-polygon.

4. The predictive redirection control method for a complex virtual scene according to claim 1, wherein: A curve polygonal subdivision is performed on a given virtual scene, and based on the subdivision result, a shortest path tree of a user's current position in the virtual scene is calculated. The process of calculating a visible polygonal area of the user's current position includes: obtaining a sub-polygon containing the user's current position in a subdivision sub-polygon set; Add the sub-polygon to the queue, and if the queue is not empty, repeat the next step; Push the first sub-polygon out of the queue, calculate the shortest path tree from all vertices in the sub-polygon to the user's current location through the funnel data structure, and add the unprocessed neighbor sub-polygons of the sub-polygon to the queue; Get the shortest path tree with the user's current location as the root node; For each edge in the virtual scene, calculate the visible area of the edge for the user's current location, and find the shortest paths from the user's current location to the two vertices of the edge from the shortest path tree. Starting from the user's current location, send rays from the tangent direction of the starting position of the first segment of the two shortest paths to determine the intersection point with the edge. If there are two intersection points, the line segment connecting the two intersection points is the visible area of the edge; otherwise, the edge is not visible to the user's current location. Connect the visible areas of each edge in sequence to obtain the visible polygon of the user's current location.

5. The predictive redirection control method for a complex virtual scene according to claim 1, wherein: The process of determining each virtual waypoint based on the visible polygon area and the polygon skeleton of the virtual scene includes: for the input curved polygon virtual scene, calculating the Voronoi diagram of the curved polygon, based on the Voronoi diagram, for each Voronoi edge, if there is an endpoint that is a vertex of the polygon, then delete the edge, otherwise, keep it, and obtain the skeleton diagram of the curved polygon; For each edge of the visible polygon and each edge of the polygon skeleton, if the two have an intersection, they are added to a set and the points in the set are used as virtual waypoints.

6. The predictive redirection control method for a complex virtual scene according to claim 1, characterized in that: The process of fitting the path between adjacent virtual waypoints includes: obtaining the position of the first virtual waypoint as the starting position, and the tangent direction of the waypoint on the skeleton graph as the starting direction; The position of the second virtual waypoint is obtained as the end position, and the tangent direction of the waypoint on the skeleton graph is the end direction; A virtual path is fitted by a spiral curve fitting method using the starting position, starting direction, ending position and ending direction. The starting point and end point of the path are the starting position and the ending position respectively, and the tangent directions of the starting point and the end point of the path are the starting direction and the ending direction respectively.

7. The predictive redirection control method for a complex virtual scene according to claim 1, characterized in that: The process of generating a virtual road map that meets the given depth includes: determining whether the depth of the current waypoint meets the given depth; if not, repeating the steps of calculating the visible polygon area of the user's current position and fitting the path between adjacent virtual waypoints with the next virtual waypoint as the user's current position, until a virtual road map that meets the given depth is generated.

8. The predictive redirection control method for a complex virtual scene according to claim 1, characterized in that: The user feature vectors include feature vectors representing gender, familiarity with virtual reality technology, and walking speed, respectively, and each feature vector has a corresponding value range.

9. The predictive redirection control method for a complex virtual scene according to claim 1, wherein: The process of generating an optimal physical road map based on the polygons representing the virtual scene and the physical scene, and the obtained user feature vector includes: calculating a detection threshold function of a redirected translation gain, a rotation gain, a curvature gain, and a bending gain based on the user feature vector; Under the constraint of the detection threshold function, an optimization problem is constructed, wherein the optimization objective of the optimization problem is to minimize the expected total cost of the redirected walking system; In a multi-branch tree representing an input virtual road network, the current state, remaining depth, and previous action corresponding to the root node are used as inputs, and a dynamic programming algorithm is used to iteratively solve the optimization problem to obtain the optimal action and the optimal cost.

10. The predictive redirection control method for a complex virtual scene according to claim 9, characterized in that: The process of calculating the detection threshold function of the redirected translation gain, rotation gain, curvature gain and bending gain according to the user feature vector includes: ; ; ; ; in, are the upper limits of the detection thresholds for translation gain, rotation gain, curvature gain, and bending gain, respectively. are the mapping functions between the upper limit of the detection threshold and specific user features in the four redirection gains, They are the mapping functions of the upper limit of the detection threshold and the cumulative walking time t in the four redirection gains.

11. The predictive redirection control method for a complex virtual scene according to claim 1, wherein: The process of constructing an optimization problem whose optimization objective is to minimize the expected total cost of the redirected walking system includes: The optimization problem is: ; Among them, minE[G] is to minimize the expected cost by selecting actions; The total cost G of the redirected walking system is: ; in, is the cost of each stage k, represents the terminal cost at the end of planning, represents the user’s current state vector, , including locations in real and virtual environments ( ), ( ), directions in real and virtual environments ( ), tangential velocity , the cumulative time the user walks , the virtual path edge or endpoint where the current user is located ; Indicates the current state The action taken, action set Depends on the current state , is a complete set of actions A subset of the complete action set ={null, }, where null means no gain action; Represent the gain values of translation gain, rotation gain, curvature gain and bending gain respectively, Respectively indicate the corresponding Three actions for three buffs; and The relationship is: like is the endpoint of the virtual path, ={null, }, (1, ]; like is the edge of the virtual path and is a straight line, ={null, }, (1, ], [0, ]; like is a clothoid curve, ={null, }, (1, ], [0, ]; Represents the uncertainty of the system.

12. The predictive redirection control method for a complex virtual scene according to claim 1, wherein: The redirection gain consists of a quintuple Indicates that, They represent respectively: the curvature of the physical path, the curvature of the virtual path, the ratio of the distance between the virtual path and the physical path, the slope of the physical path, and the function of the slope of the virtual path varying with the length s.

13. The predictive redirection control method for a complex virtual scene according to claim 1, wherein: The process of performing perspective mapping and determining the user's virtual perspective includes: finding the corresponding point of the user's physical position on the physical path ,in The physical path for the user's physical location The path length of the point among all vertical points on the path that is closest to the corresponding point on the user's physical path at the previous moment; Calculate the corresponding point of the user's virtual position on the virtual path ; Calculate the user's virtual location ; Calculate the corresponding points Tangent direction on the physical path Projection on the horizontal plane , and Rotate 90° clockwise on the horizontal plane to get the normal vector ; calculate Projection on the horizontal plane , and calculate arrive The counterclockwise rotation angle of ; calculate The rotation angle to its projection on the horizontal plane and The difference between the rotation angle of its projection on the horizontal plane ; Calculate corresponding points Tangent direction on the virtual path Projection on the horizontal plane , and project Rotate 90° clockwise on the horizontal plane to get the normal vector ; Will Counterclockwise rotation Get the projection of the virtual orientation on the horizontal plane , calculate the projection The rotation angle to its projection on the horizontal plane , project Rotation Get the user's virtual orientation .

14. A predictive redirection control system for complex virtual scenes, characterized by: include: a tracking module configured to represent a target curved boundary scene of a physical scene using a curved polygon, segment the curved polygon, determine a set of potential locations for markers, determine a final marker position in the set of potential locations with the goal of maximizing coverage of required points under a given marker quantity constraint, and track the user's physical perspective based on the marker position; The virtual road network automatic generation module is configured to perform curve polygon segmentation on a given virtual scene, calculate the shortest path tree of the user's current position in the virtual scene based on the segmentation results, calculate the visible polygon area of the user's current position, determine each virtual waypoint based on the visible polygon area and the polygon skeleton of the virtual scene, and fit the path between adjacent virtual waypoints until a virtual road map that meets the given depth is generated; a physical road map automatic generation module configured to generate an optimal physical road map based on polygons representing the virtual scene and the physical scene, the generated virtual road map, and the acquired user feature vector; The perspective mapping module is configured to perform perspective mapping based on the optimal physical road map, the virtual road map that meets the given depth, the redirection gain, the user's physical perspective obtained by tracking, and the corresponding point of the user's physical perspective at the previous moment on the physical path to determine the user's virtual perspective.

15. A computer-readable storage medium, characterized in that: Used to store computer instructions, which, when executed by a processor, complete the steps of the method according to any one of claims 1 to 13.

16. An electronic device, characterized in that: The method comprises a memory and a processor, and computer instructions stored in the memory and executed on the processor, wherein the steps of the method according to any one of claims 1 to 13 are completed when the computer instructions are executed by the processor.

Citation Information

Patent Citations

  • A virtual reality roaming system and method based on improved redirection walking

    CN109885168A

  • Segmented redirection mapping method based on loop virtual path diagram, terminal and readable storage medium

    CN114612733A

  • Virtual reality redirection walking method and system based on virtual interest point perception

    CN115457121A

  • Multi-user online virtual reality application-oriented redirection walking method and device

    CN115554691A

  • Mapping and redirection method, system, medium and equipment based on dynamic curvature manipulation

    CN117348733A