RSOP model three-dimensional visualization mapping normalization method
By using the RSOP model 3D visualization mapping standardization method, the problem of cross-layer dependency and feedback loop representation in complex production systems in traditional visualization solutions is solved. This enables intuitive decision support and efficient bottleneck discovery across industries and platforms, and improves the visualization capability of production processes.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HANGZHOU DIANZI UNIVERSTIY INFORMATION ENG SCHOOL
- Filing Date
- 2025-12-12
- Publication Date
- 2026-05-12
AI Technical Summary
Existing technologies struggle to intuitively represent cross-layer dependencies and feedback loops in complex production systems. Traditional visualization solutions cannot support non-strict hierarchical structures, overlapping nodes, and chaotic relationships, leading to large discrepancies between plans and actual execution, delayed bottleneck detection, and low efficiency in optimization decisions.
The RSOP model is used as a 3D visualization mapping normalization method. Directed networks are generated through inverse recursive decomposition, and standardized data structures and connection representations are defined. The network is then mapped to 3D space using connection depth algorithm and force-directed layout to generate a non-overlapping visualized network.
It enables cross-industry and cross-platform plan verification and real-time decision support, improves the intuitiveness and decision-making efficiency of complex processes, supports complex directed networks with non-strict hierarchical structures, avoids redundant development, and shortens the integration cycle.
Abstract
Description
Technical Field
[0001] This invention relates to a method for normalizing the 3D visualization mapping of RSOP models, belonging to the field of data acquisition and processing. Background Technology
[0002] The RSOP model, R: resource, S: site, O: operation, P: product, is recursively decomposed based on the final product. Each site, through input resources, performs operations to produce a product. The product then becomes a resource and enters the next site. Raw materials, manpower, equipment, work processes, standards, indicators, etc., are all production resources. Entering the same site, they produce a product through production operations. The product can be a tangible object, such as a car, or an intangible object, such as intellectual property.
[0003] As complex production systems such as intelligent manufacturing, software delivery, and prefabricated engineering expand in scale, traditional project management tools (such as Gantt charts and WBS) still use two-dimensional tables or static hierarchical diagrams to display processes, which are difficult to intuitively express cross-layer dependencies, feedback loops, and dynamic resource status. This results in large deviations between plans and actual execution, delayed bottleneck detection, and low efficiency in optimization decisions.
[0004] Most existing visualization solutions are geared towards a single industry, with data models and mapping rules tightly coupled, making them unable to be migrated between different scenarios. At the same time, their node coordinates are mostly based on fixed levels or simple tree layouts, which cannot support complex directed networks with non-strict hierarchical structures and feedback, resulting in overlapping nodes, chaotic relationships, and limited interactive and simulation capabilities.
[0005] Therefore, there is an urgent need for a mapping framework that is independent of specific business operations, can be standardized and migrated, and can abstract any complex production process into a three-dimensional visual logical network, optimize the layout according to natural laws, and realize cross-industry and cross-platform plan verification and real-time decision support. Summary of the Invention
[0006] This invention provides a standardized method for 3D visualization mapping of RSOP models to address the problems existing in the prior art. This invention is applicable to the visualization of complex processes in manufacturing, software development, project management, and other fields. The RSOP model constructs production processes through logical units (input resources, logical scenarios, operations, and output products), supporting infinite splitting, linking, and recursion to form a complex directed network that is not strictly hierarchical. This invention defines standardized data structures and connection expressions, generating a unit network from the end product through reverse decomposition, supporting cross-layer connections and feedback loops. Employing a connection depth algorithm and force-directed layout, the network is mapped to 3D space, generating Z-axis depth and XY-plane coordinates, ensuring clear and non-overlapping node distribution. The verification process guarantees unit integrity, connection consistency, and mapping accuracy. This invention provides a general mapping framework, adaptable to various 3D visualization systems, improving the intuitiveness and decision support capabilities of complex processes, and possesses significant novelty and industrial applicability.
[0007] The technical solutions adopted in this invention are as follows:
[0008] A method for normalizing the 3D visualization mapping of RSOP models includes the following steps:
[0009] S1: Starting from the end product, reverse recursively decompose to generate a directed network composed of multiple logical units. Each logical unit is defined by a quadruple of input resources, field, operation and output product. Directed edges are established between logical units through matching output products with input resources.
[0010] S2: Calculate the connection depth of each logical unit based on the connection relationship of the directed edges. The connection depth of the endpoint logical unit is 0. The connection depth of other logical units is the weighted average of the connection depths of all its predecessor logical units, and then the weight of the corresponding directed edge is subtracted.
[0011] S3: Map the connection depth to Z-axis coordinates, and use the force-oriented layout algorithm in the XY plane to calculate the X and Y coordinates of each logic unit. The attraction acts between logic units with directed edges, and the repulsion acts between all logic units.
[0012] S4: Render logical units and their directed edges in three-dimensional space based on the Z-axis coordinates and X and Y coordinates to generate a visual network.
[0013] Furthermore, in the reverse recursive decomposition of S1, for the current logic unit U... current First, iterate through its input resource list U. current .R in ;
[0014] The input resource list includes one or more resource elements, each resource element including resource identifier (id), resource type (type), and quantity (quantity). The format of the input resource list is: [{id,type,quantity},……];
[0015] Resource elements are divided into two categories: basic resources and non-basic resources. Basic resources are resources obtained from external sources that do not require decomposition.
[0016] If a resource element is marked as a non-basic resource, a new logical unit Unew is created with the output product corresponding to that resource element as the target. The resources, context, and operations required for Unew to implement the product are determined. A directed edge (Unew, Ucurrent) is established to represent that the output product of Unew serves as the input resource of Ucurrent. The same decomposition is then recursively performed on the logical unit Unew until the input resource list U is reached. current .R in All resource elements are basic resources.
[0017] 3. The RSOP model 3D visualization mapping normalization method as described in claim 2, characterized in that:
[0018] Each logical unit obtained from the decomposition retains a quadruple structure:
[0019] Unique identifier U of logical unit id ,
[0020] Input resource list R in =[{id,type,quantity},…],
[0021] On-site S = {id, name}
[0022] Operation O = {id, name, duration}
[0023] Output product Pout = {id, type, quantity};
[0024] The resulting directed network is represented as G = (V, E), where V is the set of all logical units and E is the set of all directed edges. The edge weights are used for the connection depth calculation in the subsequent S2.
[0025] Furthermore, in S1, when establishing directed edges, the following matching rules are executed:
[0026] a) Direct matching: If the source logic unit U i Output product U i .P out With target logic unit U j Input resources Uⱼ.Rin If [k] are equal in resource identifier, then a directed edge (U) is established. i U j );
[0027] b) Type matching: If type(U) i .P out )=type(U j .R in If [k] is selected, a candidate connection is established, and a directed edge is generated after user confirmation.
[0028] c) Feedback matching: Allows the subsequent logic unit to connect its output product in reverse to the input resource of the preceding logic unit to form a feedback loop; and for each non-basic resource input resource element, ensures that there is at least one directed edge pointing to the logic unit where the element is located, and verifies that there are no isolated logic units or unconnected output products.
[0029] Furthermore, in S3, when mapping the connection depth to Z-axis coordinates, the following steps are executed sequentially for each logic unit Uᵢ:
[0030] a) Connection depth is set to depth(U) i =avg{depth(U j )-w(U j U i )| U j ∈predecessors(U i )} calculate, where, precursors(U i ) for U i The set of all preceding logic units, i.e., {U j |( U j U i )∈E};w(U j U i ): Edge (U j U i The weight of ) is in the range [0,1], representing the connection strength;
[0031] b) Reference Z coordinate z coordinate (U i )=depth(U i )×layer spacing ,and
[0032] layer spacing =visualization height / (max depth +1), where visualization height The maximum height is the total height in the Z-axis of the 3D scene. depthThe maximum connection depth of a directed network;
[0033] c) If U i If a feedback connection exists, its Z-coordinate is corrected as follows:
[0034] z coordinate (U i )=min(z coordinate (U j )-feedback offset ,depth(U i )×layer spacing ),
[0035] Make the feedback node closer to the feedback node in three-dimensional space;
[0036] Among them, feedback offset : Z-axis offset of the feedback connection, in virtual space units; z coordinate (U j For direct connection U i The unit's front unit U j The Z-axis coordinate is in virtual space units.
[0037] Furthermore, in S3,
[0038] In S3, the force-directed placement algorithm iteratively updates the position of each logic unit v in the XY plane, and the iteration formula is:
[0039] F(v)=Σ {u≠v} (-k 2 / d(v,u))×(pos(u)-pos(v)) / d(v,u)+Σ {(v,u)∈E} w(v,u)×(d(v,u) / k)×(pos(u)-pos(v)),
[0040] Where: F(v): the total force vector acting on logic unit v, in virtual space force; u: traversing all logic units except v; d(v,u): the Euclidean distance between logic units v and u, d(v,u)=sqrt((x v -x u ) 2 +(y v -y u ) 2 );
[0041] pos(v), pos(u): XY coordinate vectors of logic units v and u, in virtual space units;
[0042] k: Ideal display spacing, k = sqrt (area / |V|), where area is the area of the XY plane, |V| is the total number of logical units in the directed network, and sqrt() represents the square root;
[0043] w(v,u): Weight of the directed edge (v,u), in the range [0,1];
[0044] E: The set of directed edges in a directed network;
[0045] Location iteration update:
[0046] pos(v) = pos(v) + step size ×F(v) / ||F(v)||if||F(v)||>0,
[0047] pos(v) = pos(v) if ||F(v)|| = 0;
[0048] step size =0.1×k, ‖F(v)‖ is the modulus of F(v); and between any two logic units, ‖pos(Uᵢ)−pos(Uⱼ)‖≥mindistance=0.1×k is maintained to ensure that nodes do not overlap.
[0049] Furthermore, the mapping process follows a three-layer architecture:
[0050] Logic layer: Maintain the logical relationship of the four-tuple (input resource, context, operation, output product) of each logic unit unchanged;
[0051] Transformation Layer: Assign a globally unique string identifier Uid to each logical unit. Input resources are mapped to a list of [{id,type,quantity},...], the site is mapped to an entity of {id,name}, the operation is mapped to a process of {id,name,duration}, and the output product is mapped to a result of {id,type,quantity}.
[0052] Perform forward join, feedback join, and cross-layer join mapping on directed edges to ensure that all connection relationships are fully preserved.
[0053] Presentation layer: Maps connection depth to Z-axis coordinates and force-guided layout to XY coordinates, generating directly readable coordinate data.
[0054] Furthermore, in the conversion layer, the logical units are divided according to their connection relationships:
[0055] The endpoint logical unit is the unit that has no directed edge connection to it;
[0056] A basic resource logical unit is a unit that has no directed edges connecting it to anything in front of it.
[0057] A normal logical unit is a unit that is connected by both a preceding directed edge and a subsequent directed edge. The string identifier Uid assigned to each logical unit remains globally unique and unchanged during the mapping and subsequent 3D visualization process.
[0058] Furthermore, when oriented towards production and manufacturing, the input resources are raw materials, equipment, or personnel, the site is a physical workshop, and the operation is an assembly, processing, or testing process;
[0059] When dealing with engineering projects, the input resources are prefabricated components, construction equipment or personnel, the site is the construction area, and the operation is a hoisting or grouting process.
[0060] When dealing with information production, the input resources are information, code repositories, container images, or cloud resources; the site is a continuous integration node or a data center cabinet; and the operation is a compilation, configuration, or testing task.
[0061] The present invention has the following beneficial effects:
[0062] (1) The RSOP quadruple abstraction, which does not depend on specific business, can cover multiple production scenarios such as automobile manufacturing, software delivery, prefabricated housing, and lithium battery modules with the same mapping framework, thus avoiding redundant development.
[0063] (2) By using reverse recursion and weighted depth algorithm, non-strict hierarchy, cross-level connection and feedback loop can be naturally expressed, solving the circular dependency problem that traditional tree or two-level graph cannot describe.
[0064] (3) The connection depth is mapped to the Z-axis and the force-oriented layout is mapped to the XY plane to generate a non-overlapping and non-occluded 3D network in one go. Users can instantly discover bottlenecks, drifts or idle resources, and improve decision-making efficiency.
[0065] (4) Unify string identifiers, quadruple fields and extended attributes so that the import / export of models between different systems does not require secondary conversion, thus shortening the integration cycle. Detailed Implementation
[0066] The present invention will now be further described.
[0067] This invention provides a method for normalizing the 3D visualization mapping of RSOP models, comprising the following steps:
[0068] S1: Starting from the end product, reverse recursively decompose to generate a directed network composed of multiple logical units. Each logical unit is defined by a quadruple of input resources, field, operation and output product. Directed edges are established between logical units through matching output products with input resources.
[0069] S2: Calculate the connection depth of each logical unit based on the connection relationship of the directed edges. The connection depth of the endpoint logical unit is 0. The connection depth of other logical units is the weighted average of the connection depths of all its predecessor logical units, and then the weight of the corresponding directed edge is subtracted.
[0070] S3: Map the connection depth to Z-axis coordinates, and use the force-oriented layout algorithm in the XY plane to calculate the X and Y coordinates of each logic unit. The attraction acts between logic units with directed edges, and the repulsion acts between all logic units.
[0071] S4: Render logical units and their directed edges in three-dimensional space based on the Z-axis coordinates and X and Y coordinates to generate a visual network.
[0072] The following is a further description of this technical solution.
[0073] RSOP model construction:
[0074] 1) Terminology definition;
[0075] Resources (R): Physical or virtual entities that enable on-site functionality, including raw materials (such as steel), equipment (such as machine tools), personnel (such as engineers), or information (such as design documents).
[0076] Site (S): A logical link or node in the production process, with input, processing and output functions, such as "parts processing site" or "product testing site".
[0077] Operation (O): Specific tasks performed on input resources in the field, such as cutting, testing, or assembling.
[0078] Product (P): The result generated after the operation is completed. It can be a tangible product (such as a component) or an intangible result (such as a test report).
[0079] Logic unit (U): composed of R in S, O, P out Each independent module represents a complete production process.
[0080] Edge (E): Represents the dependency relationship between nodes, that is, one unit is linked to another unit through an edge.
[0081] 2) RSOP unit structure:
[0082] Each logical unit is a quad: U id =(R in ,S,O,P out ), defined as follows:
[0083] R in: Input a list of resources, containing one or more resources, in the format [{id,type,quantity},……].
[0084] S: On-site, representing a step in the process, in the format {id,name}.
[0085] O: Operation, describing the operation on R in The specific processing format is {id, name, duration}.
[0086] P out Output the product, in the format {id, type, quantity}.
[0087] U id : A globally unique identifier for the unit, in the format of a string (e.g., "U1").
[0088] 3) Mapping relationship of RSOP logic unit quadruple:
[0089] Mapping function: f:R in ×S×O→P out .
[0090] Resource Integrity R in ⊆R, R is a set of resources that are available.
[0091] O∈Operation, the operation function.
[0092] Site adaptability S∈Site, site space.
[0093] Product consistency P out ∈P, output product, which meets the expected specifications.
[0094] 4) RSOP network structure:
[0095] The RSOP network is represented as a directed graph: G=(V,E,W), where V={U1,U2,...,Un} is the set of all logical units, E⊆V×V is the set of directed edges representing the connections between units, and W:E→R⁺ is the weight function representing the connection strength.
[0096] Example:
[0097] Define the end product (P) final (User specifies the final target product, such as "car" or "application". Data sources: project requirements documents, product specifications, contracts, etc.)
[0098] Create the endpoint cell (U) final ): Set P out For P final Determine the implementation of P finalRequired R in S and O.
[0099] Assign a unique ID.
[0100] Verify logical consistency: Ensure resource R in Product P can be generated on-site by operating O. out .
[0101] End product: automobile.
[0102] Endpoint Unit (U1):
[0103] R in :[{id:"R1",type:"body",quantity:1},{id:"R2",type:"engine",quantity:1}]
[0104] S: {id:"S1",name:"General Assembly Site"}
[0105] O: {id:"O1",name:"Assembly",duration:"5 days}
[0106] P out {id:"P1",type:"Automobile",quantity:1}
[0107] Unit ID: U1.
[0108] 5) Reverse decomposition:
[0109] Starting with the final product P, the required operations (O), site (S), and resources (R) are derived step by step.
[0110] Operation (O): A task or activity performed in a specific field, such as coding, testing, or assembly.
[0111] Site (S): The physical or virtual location where the operation is performed, such as a development team, factory floor, or cloud server.
[0112] Resources (R): The materials, equipment, and manpower required to perform an operation, such as developers, raw materials, and testing tools.
[0113] Decomposition steps:
[0114] Identify the direct preceding operations O required to achieve the final product P. Assign a suitable site S to each operation O. Identify the resources R required for each operation O to be executed in site S. Recursively decompose until the inputs of all operations are basic resources (no resources to be further decomposed).
[0115] Algorithm: Reverse recursive decomposition:
[0116] Input: Current unit U current
[0117] Output: Set of decomposed units {U1, U2, ..., Uk}
[0118] Foreach resource rᵢinU current .R in :
[0119] Ifrᵢ is not a basic resource, then
[0120] Create a new unit U new Set P out =rᵢ
[0121] Determine the set of resources R required to implement rᵢ new
[0122] Assignment to adapt to the site S new and operation O new
[0123] Establish a connecting edge: edge(U new U current )
[0124] Recursive call decomposition (U new )
[0125] End If
[0126] EndF or
[0127] Example:
[0128] U1's R in [{id:"R1",type:"body",quantity:1}]
[0129] Create a new unit U2:
[0130] R in [{id:"R3",type:"steel plate",quantity:100},{id:"R4",type:"welding material",quantity:10}]
[0131] S: {id:"S2",name:"Body Manufacturing Site"}
[0132] O: {id:"O2",name:"Stamping and Welding",duration:"3 days}
[0133] P out {id:"P2",type:"vehicle body",quantity:1}
[0134] Unit ID: U2
[0135] Decomposition of U2 into R in (Steel plate):
[0136] Create a new unit U3:
[0137] R in [{id:"R5",type:"Iron Ore",quantity:500},{id:"R6",type:"Carbon",quantity:50}]
[0138] S: {id:"S3",name:"Steel Plate Production Site"}
[0139] O: {id:"O3",name:"Smelting and Rolling",duration:"7 days}
[0140] P out {id:"P3",type:"steel plate",quantity:100}
[0141] Unit ID: U3
[0142] Continuously decompose...
[0143] 6) Unit Links:
[0144] Connection based on P out To R in The flow of resources is a non-strictly hierarchical connection. A unit's P... out It can be connected to different levels of R in The P of the rear unit out R may be fed back to the front unit in This forms a complex network. Connections can be unidirectional or bidirectional (if feedback exists).
[0145] The connection established in this invention is based on the following matching rules:
[0146] Direct match: Uᵢ.P out =Uⱼ.R in [k] → Establish edge (Uᵢ, Uⱼ);
[0147] Type matching: type(Uᵢ.P out )=type(Uⱼ.R in [k]) → Establish candidate connections;
[0148] Feedback connection: Allows the rear unit to connect in reverse to the front unit.
[0149] Connection establishment method:
[0150] Automatic matching: Scan all cells and compare P. out and R in . If U i .P out ==U j .R in Add an edge: (U i U j ).
[0151] Manual adjustment: Users can add, delete, or modify cross-layer or feedback connections through the interface.
[0152] Verify integrity: for each R in (Non-basic resources) have source units. Basic resources are resources that can be obtained directly without production. Check for the existence of unconnected P. out or isolated unit
[0153] Example:
[0154] U2.P out (Body) == U1.R in (Car body), add edge: U2→U1.
[0155] U3.P out (Steel plate) == U2.R in (Steel plate), add edge: U3→U2.
[0156] 3D spatial mapping algorithm:
[0157] RSOP is a non-strictly hierarchical network that uses a connection depth-weighted average and supports dynamic positioning of feedback connections.
[0158] Z-axis coordinate (depth level): z coordinate (U i ).
[0159] The Z-axis coordinate of unit Uᵢ in 3D space, in virtual space units (scalar). Determines the depth position of Uᵢ in the 3D scene, reflecting its relative order in the workflow. This is achieved by multiplying depth(Uᵢ) by layer. spacing When converting to spatial coordinates, the minimum value is taken during the feedback connection to get closer to the target node.
[0160] depth(Uᵢ) = 0, if Uᵢ is the endpoint unit. A larger depth(Uᵢ) value indicates greater depth and a node further back (farthest from the endpoint product). i )=max depth ,ifpredecessors(U i ) = ∅ (basic resource unit).
[0161] Let U iIt's U j The subsequent nodes, closer to the endpoint, U j The output product is U i Input resources, U j It's U i If the preceding node is far from the node, then the formula is as follows:
[0162] depth(U i =avg{depth(Uⱼ)-w(Uⱼ, U i )| U j ∈predecessors(U i )},
[0163] z coordinate (U i )=depth(U i )×layer spacing,
[0164] If Uᵢ has a feedback connection (i.e., U i .P out As a certain front-end U j R in If so, adjust accordingly:
[0165] z coordinate (U i )=min(z coordinate (U j )-feedback offset ,depth(U i )×layer spacing ).
[0166] Element definition:
[0167] depth(U i Unit U i The connection depth represents its relative position in the RSOP model (a unitless scalar). It reflects U through a depth-weighted average of the preceding units. i The dependency order is determined recursively based on the network structure (edge set E).
[0168] U i : Logic unit, RSOP quad (R in ,S,O,P out This represents a production stage. Nodes in the network carry information about resources, the site, operations, and products, generated through user input or reverse decomposition.
[0169] w(Uⱼ, U i ): Edge (Uⱼ, U iThe weight of ) is in the range [0,1], representing the connection strength; it is user-defined or based on P. out.quantity calculate.
[0170] predecessors(U i ):U i The set of all preceding units, i.e., {U j |(U j U i )∈E}. This indicates that R is directly provided. in The unit. Determine U i The dependencies affect depth calculations. Data originates from the network edge set E.
[0171] layer spacing : The Z-axis spacing between adjacent connection depths, in virtual space units (default 1.0). Controls the distribution density of nodes on the Z-axis to ensure visual clarity.
[0172] layer spacing =visualization height / (max depth +1),
[0173] Among them, visualization height Set the height along the Z-axis of the 3D scene, max depth Maximum connection depth when modeling the RSOP model. Data source is dynamically adjusted based on the visualization area and network size.
[0174] feedback offset : Feedback connection Z-axis offset, in virtual space units (default 0.5), which can be adjusted according to node density (e.g., 0.1 × layer). spacing ). When U i Connect to the front U via the feedback edge j At that time, ensure U i Positioning it close to Uⱼ on the Z-axis enhances the visual intuitiveness of the feedback relationship. This can be set by the user or dynamically calculated based on visualization needs.
[0175] z coordinate (Uⱼ): For directly connected U i The unit's front unit U j The Z-axis coordinate is in virtual space units. Data source: U j The depth calculation results.
[0176] Formula principle:
[0177] By weighted averaging the depth of the preceding unit, U i depth(U) iThis reflects its relative position in the process. Using the average value instead of the maximum value allows for flexible positioning of cross-layer connections. For example, if U2 depends on U3 (basic resource) and U4 (feedback node), then the depth of U2 is an intermediate value to accommodate complex networks. Feedback connections (such as U4→U2) result in a depth of U4 greater than that of U2, which is not visually intuitive. This can be addressed by using min(z...). coordinate (U j )-feedback offset ...), pulls the Z-axis position of U4 closer to U2, creating a "closer" effect. spacing The algorithm adapts to network depth and the visualization area to ensure uniform node distribution, avoiding overlap or excessive sparseness. The formula is based on network topology analysis, combined with node depth calculations from graph theory, and uses a weighted average to support non-strict hierarchical representation.
[0178] XY plane coordinates (force-oriented layout);
[0179] Optimize cell positions on the XY plane, balance node spacing and connection density, and support differentiated processing of feedback edges.
[0180] Resultant force calculation:
[0181] F(v)=Σ {u≠v} (-k² / d(v,u))×(pos(u)-pos(v)) / d(v,u)+Σ {(v,u)} w(v,u)×(d(v,u) / k)×(pos(u)-pos(v)),
[0182] Calculate the total force vector acting on node v, combining the repulsive force (first term) and the attractive force (second term). The repulsive force -k² / d(v,u) pushes all nodes away to prevent overlap and is normalized to a unit vector. The attractive force w(v,u)×(d(v,u) / k) pulls the connected nodes closer, with a lower feedback edge weight w. The resultant force F(v) is a vector containing X and Y components.
[0183] Location update:
[0184] pos(v) = pos(v) + step size ×F(v) / ||F(v)||if||F(v)||>0,
[0185] pos(v) = pos(v) if ||F(v)|| = 0,
[0186] The XY coordinates of node v are updated based on the resultant force F(v). The movement range is controlled by a fixed step size to reduce network complexity. If the network is large and complex, it can be improved by temperature control adjustment. sizeLimit the distance moved each time to avoid oscillations. Normalize F(v) to ensure correct movement direction. If the net force is 0, the position remains unchanged. Iteration rule: Initialize and randomly assign pos(v) = (x v ,y v Iteration max iterations iterations (default 500). Each iteration calculates F(v) and pos(v) for all nodes.
[0187] Element definition:
[0188] F(v): The total force vector acting on node v, expressed as virtual spatial force (normalized). It determines the direction and magnitude of v's movement, balancing repulsive and attractive forces. It calculates the vector sum of repulsive forces (all nodes) and attractive forces (connecting edges). Data is sourced based on node coordinates, edge relationships, and weights.
[0189] v, u: both are RSOP logic units (U), quadruplets (R... in ,S,O,P out Nodes in the network represent production stages. Data originates from user input or is generated through reverse decomposition.
[0190] k: The ideal display spacing in the node visualization structure, in virtual space units. It controls the balance between repulsive and attractive forces, determining the layout density. k = sqrt(area / |V|), where area is the XY plane area (default 100×100), and |V| is the number of nodes. Calculated dynamically based on the visualization area.
[0191] d(v,u): The Euclidean distance between nodes v and u, expressed in virtual space units. It measures the actual distance between nodes and is used to calculate the magnitude of the force. d(v,u) = sqrt((x...) v -x u )²+(y v -y u )²)
[0192] pos(v), pos(u)-pos(v): XY coordinates of node v (x, y, y). v ,y v The unit is virtual space unit. And the direction vector from v to u, also in virtual space unit. Determine the direction of the force: repulsive force points away, attractive force points towards. Calculate (x... u -x v ,y u -y v ).
[0193] w(v,u): Weight of edge (v,u), ranging from [0,1], unitless. Adjusting the gravity strength results in lower edge weights (w=0.5) for feedback edges and w=1 for ordinary edges. User-defined or based on Pout.quantity (For example, for edges with large quantities, w=1.0, and for small quantities, w=0.8).
[0194] (v,u)∈E: A connection in the edge set E, denoted as Uᵢ.P out Matching Uⱼ.R in Determine which nodes are connected by gravity.
[0195] step size Fixed step size, in virtual space units (default 0.1×k). Controls the movement amplitude in each iteration, replacing the temperature parameter. Dynamically adjusted according to k to ensure stable convergence.
[0196] ||F(v)||: The modulus of the resultant force F(v), in virtual space units, normalized to ensure the correct direction of movement. ||F(v)||=sqrt(F x (v)²+F y (v)²)
[0197] min distance Minimum spacing between nodes, in virtual space units (default 0.1×k). Prevents node overlap and ensures visual clarity. Set according to visualization needs.
[0198] ||pos(Uᵢ)-pos(Uⱼ)||: The Euclidean distance between nodes Uᵢ and Uⱼ, in virtual space units. Used as a constraint to ensure non-overlapping. Same as d(v,u). The constraint is ||pos(Uᵢ)-pos(Uⱼ)||≥min distance .
[0199] w(v,u)×||pos(v)-pos(u)||²: Weighted edge length squared, in virtual space units². The optimization objective is to encourage nodes to be close together. Calculated based on edge weights and distances.
[0200] Formula principle:
[0201] The resultant force formula combined with repulsive force (-k) 2 The system is simulated using forces (w×d / k) and gravity (w×d / k). Repulsion is based on Coulomb's law, strong at close range and approaching zero at long range. Gravity is based on Hooke's law, with weights w adjusting the attractive force of the feedback edges. A normalized direction vector ensures that the force only affects the direction, with the amplitude controlled by the step size.
[0202] A fixed step size is used instead of temperature to simplify the iteration process. A smaller step size (0.1×k) ensures stable convergence, and the number of iterations (500) balances computational cost and layout quality.
[0203] Data mapping methods:
[0204] The RSOP model data mapping framework defines a standardized method for mapping RSOP logical structures to 3D visualization systems, which is independent of specific business scenarios or data types.
[0205] The data mapping of the RSOP model is based on the following core principles:
[0206] Structural invariance: The logical relationships of the RSOP quadruple remain unchanged during the mapping process;
[0207] Relationship integrity: Ensure that the connections between units are fully preserved after mapping;
[0208] Hierarchical adaptability: Supports flexible mapping of non-strict hierarchical structures, including cross-layer connections and feedback loops.
[0209] The mapping hierarchy is as follows:
[0210] Mapping architecture
[0211] ├──Logical Layer (RSOP Model)
[0212] │├──Unit Mapping Interface
[0213] │├──Connection Mapping Interface
[0214] │└──Network mapping interface
[0215] ├──Transformation Layer (Mapping Rules)
[0216] │├──Identifier Mapping
[0217] │├──Relationship Mapping
[0218] │└──Attribute Mapping
[0219] └── Presentation Layer (3D Coordinates)
[0220] ├──Spatial coordinate calculation
[0221] ├──Preservation of topological relationships
[0222] └── Visual attribute allocation.
[0223] Cell mapping – this involves converting the four-tuple fields (input resource, field, operation, output product) of a logical cell into a standardized data structure and labeling the cell type (endpoint / basic / normal), specifically:
[0224] Unit Identifier Mapping: Each RSOP unit must have a unique identifier, which is a string type identifier to ensure global uniqueness. The identifier remains unchanged throughout the mapping process and supports user-defined or system-generated identifiers.
[0225] Quadruple structure mapping:
[0226] R (Resource) Mapping: Maps the input set of resources to an enumerable list structure, where each resource item contains three required attributes: identifier, type, and quantity.
[0227] S (Site) Mapping: Maps a site to an entity with an identifier and name, and can be extended with other attributes;
[0228] O (Operation) Mapping: Maps operations to process descriptions that include identifier, name, and duration;
[0229] P (Product) Mapping: Maps the output product to a result description with identifier, type, and quantity.
[0230] Unit type marker:
[0231] Ending element: an element marked as having no subsequent connections;
[0232] Basic resource unit: A unit marked as having no preceding connections;
[0233] Ordinary unit: A unit that has both preceding and subsequent connections.
[0234] The join mapping methods include:
[0235] Forward connection: P of unit A out Matching unit B's R in One of the items;
[0236] Feedback connection: P of the subsequent unit out R connected in reverse to the preceding unit in ;
[0237] Cross-layer connection: Connects units that span multiple depth levels.
[0238] Model topology mapping includes:
[0239] Depth calculation method: The depth of the endpoint cell is 0, and the depth of other cells is the weighted average of the depths of its successor cells plus 1. When there is a feedback connection, the minimum value of the calculated depth and the feedback target depth is taken.
[0240] Hierarchical organization method: The network units are organized into a hierarchical structure according to depth. Units at the same depth are grouped into one layer. Units within a layer can be interconnected, and cross-layer connections maintain their original relationships.
[0241] Coordinate mapping: The Z-axis maps to the depth dimension, and the XY plane maps to the layout dimension. A force-directed algorithm is used for layout in the XY plane.
[0242] Taking the cell data structure as an example, this demonstrates the data structures that may actually occur during 3D visualization of the model:
[0243] (1) Basic information of the unit:
[0244] Each logical unit has a globally unique identifier (ID), formatted as a string such as "U1", "U2", etc. The unit name describes its function or purpose, such as "automobile assembly". Unit types are divided into three categories: normal units, terminal units, and basic resource units. The status field records the unit's current status, including active, inactive, or pending. The metadata section includes creation time, update time (both in ISO 8601 standard format), version number (numeric), and a list of tags (string array), used for unit management and retrieval.
[0245] (2) Input Resources (R) in The structure uses an array to store input resources.
[0246] Resource identifier and type: ID + type;
[0247] Resource categories: divided into four main categories: materials, equipment, human resources, and information;
[0248] Quantitative information: A composite structure consisting of numerical values and units, such as 1, 100 kilograms, 5 people, etc.
[0249] Resource attributes include unit cost (numerical), availability (a numerical value between 0 and 1), quality level (string), and supplier identifier (optional);
[0250] Basic Resource Identifier (Boolean): Used to mark whether the resource is a basic resource that does not require further decomposition;
[0251] Source Unit List: Records an array of preceding unit identifiers that provide this resource.
[0252] (3) On-site (S) structure:
[0253] Site identifier and name: ID + name;
[0254] Site type: physical site, virtual site, or hybrid site;
[0255] Location information: includes building / area, floor, area number, and optional geographic coordinates (latitude and longitude);
[0256] Capacity information: including maximum throughput and current load level.
[0257] (4) Operation (O) structure:
[0258] Operation identifier and name: ID + name;
[0259] Operation type: assembly, processing, testing, or packaging;
[0260] Time information: including estimated duration and actual duration, both consisting of numerical values and time units (minutes, hours, or days);
[0261] Operating parameters: can include standard parameters such as temperature and pressure, as well as custom parameter sets;
[0262] Operational requirements: This includes a list of required skills, certification requirements, and a list of tools.
[0263] (5) Output products (P) out )structure:
[0264] Product identifier and type: ID + type;
[0265] Product categories: finished products, semi-finished products, or by-products;
[0266] Production information consists of numerical values and units;
[0267] Product attributes include quality grade, product specifications (an expandable set of key-value pairs), and a list of target units.
[0268] (6) Connection structure:
[0269] Front-end unit connection: Records information about all units that provide resources to this unit, including unit identifier, corresponding edge identifier, and resource mapping relationship;
[0270] Rear unit connection: Records all unit information for receiving the product from this unit;
[0271] Feedback connection: Records the feedback from this unit to the preceding unit, including the feedback type (quality feedback, quantity feedback, or rework feedback).
[0272] RSOP data system example:
[0273] ├──Logical Unit Layer
[0274] │├──Basic Information (ID, Name, Type, Status)
[0275] │├── Input resource array
[0276] │├──On-site Information
[0277] │├── Operation Definition
[0278] │├──Output Products
[0279] │├──Connection relationship
[0280] │└──Measurement Indicators
[0281] ├──Connection Layer
[0282] │├──Side Identification Information
[0283] │├──Resource Flow Details
[0284] │├──Edge Attributes
[0285] │├──Constraints
[0286] │└──Feedback Information
[0287] └──Network Layer
[0288] ├──Network Identifier
[0289] ├──Topology
[0290] ├──Visual Configuration
[0291] ├──Analysis Results
[0292] └──Metadata.
[0293] The above description is only a preferred embodiment of the present invention. It should be noted that those skilled in the art can make several improvements without departing from the principle of the present invention, and these improvements should also be considered within the scope of protection of the present invention.
Claims
1. A method for normalizing the 3D visualization mapping of RSOP models, characterized in that: Includes the following steps: S1: Starting from the end product, reverse recursively decompose to generate a directed network composed of multiple logical units. Each logical unit is defined by a quadruple of input resources, field, operation and output product. Directed edges are established between logical units through matching output products with input resources. S2: Calculate the connection depth of each logical unit based on the connection relationship of the directed edges. The connection depth of the endpoint logical unit is 0. The connection depth of other logical units is the weighted average of the connection depths of all its predecessor logical units, and then the weight of the corresponding directed edge is subtracted. S3: Map the connection depth to Z-axis coordinates, and use the force-oriented layout algorithm in the XY plane to calculate the X and Y coordinates of each logic unit. The attraction acts between logic units with directed edges, and the repulsion acts between all logic units. S4: Render logical units and their directed edges in three-dimensional space based on the Z-axis coordinates and X and Y coordinates to generate a visual network.
2. The RSOP model 3D visualization mapping normalization method as described in claim 1, characterized in that: In the reverse recursive decomposition of S1, for the current logic unit U current First, iterate through its input resource list U. current .R in ; The input resource list includes one or more resource elements, each resource element including resource identifier (id), resource type (type), and quantity (quantity). The format of the input resource list is: [{id,type,quantity},……]; Resource elements are divided into two categories: basic resources and non-basic resources. Basic resources are resources obtained from external sources that do not require decomposition. If a resource element is marked as a non-basic resource, a new logical unit Unew is created with the output product corresponding to that resource element as the target. The resources, context, and operations required for Unew to implement the product are determined. A directed edge (Unew, Ucurrent) is established to represent that the output product of Unew serves as the input resource of Ucurrent. The same decomposition is then recursively performed on the logical unit Unew until the input resource list U is reached. current .R in All resource elements are basic resources.
3. The RSOP model 3D visualization mapping normalization method as described in claim 2, characterized in that: Each logical unit obtained from the decomposition retains a quadruple structure: Unique identifier U of logical unit id , Input resource list R in =[{id,type,quantity},…], On-site S = {id, name} Operation O = {id, name, duration} Output product Pout = {id, type, quantity}; The resulting directed network is represented as G = (V, E), where V is the set of all logical units and E is the set of all directed edges. The edge weights are used for the connection depth calculation in the subsequent S2.
4. The RSOP model 3D visualization mapping normalization method as described in claim 3, characterized in that: In S1, when establishing directed edges, the following matching rules are executed: a) Direct matching: If the source logic unit U i Output product U i .P out With target logic unit U j Input resources Uⱼ.R in If [k] are equal in resource identifier, then a directed edge (U) is established. i U j ); b) Type matching: If type(U) i .P out )=type(U j .R in If [k] is selected, a candidate connection is established, and a directed edge is generated after user confirmation. c) Feedback matching: Allows the subsequent logic unit to connect its output product in reverse to the input resource of the preceding logic unit to form a feedback loop; and for each non-basic resource input resource element, ensures that there is at least one directed edge pointing to the logic unit where the element is located, and verifies that there are no isolated logic units or unconnected output products.
5. The RSOP model 3D visualization mapping normalization method as described in claim 1, characterized in that: In S3, when mapping the connection depth to Z-axis coordinates, the following steps are executed sequentially for each logic unit Uᵢ: a) Connection depth is set to depth(U) i =avg{depth(U j )-w(U j U i )| U j ∈predecessors(U i )} calculate, where, precursors(U i ) for U i The set of all preceding logic units, i.e., {U j |( U j U i )∈E};w(U j U i ): Edge (U j U i The weight of ) is in the range [0,1], representing the connection strength; b) Reference Z coordinate z coordinate (U i )=depth(U i )×layer spacing ,and layer spacing =visualization height / (max depth +1), where visualization height The maximum height is the total height in the Z-axis of the 3D scene. depth The maximum connection depth of a directed network; c) If U i If a feedback connection exists, its Z-coordinate is corrected as follows: z coordinate (U i )=min(z coordinate (U j )-feedback offset ,depth(U i )×layer spacing ), Make the feedback node closer to the feedback node in three-dimensional space; Among them, feedback offset : Z-axis offset of the feedback connection, in virtual space units; z coordinate (U j For direct connection U: i The unit's front unit U j The Z-axis coordinate is in virtual space units.
6. The RSOP model 3D visualization mapping normalization method as described in claim 5, characterized in that: In S3 In S3, the force-directed placement algorithm iteratively updates the position of each logic unit v in the XY plane, and the iteration formula is: F(v)=Σ {u≠v} (-k 2 / d(v,u))×(pos(u)-pos(v)) / d(v,u)+Σ {(v,u)∈E} w(v,u)×(d(v,u) / k)×(pos(u)-pos(v)), Where: F(v): the total force vector acting on logic unit v, in virtual space force; u: traversing all logic units except v; d(v,u): the Euclidean distance between logic units v and u, d(v,u)=sqrt((x v -x u ) 2 +(y v -y u ) 2 ); pos(v), pos(u): XY coordinate vectors of logic units v and u, in virtual space units; k: Ideal display spacing, k = sqrt (area / |V|), where area is the area of the XY plane, |V| is the total number of logical units in the directed network, and sqrt() represents the square root; w(v,u): Weight of the directed edge (v,u), in the range [0,1]; E: The set of directed edges in a directed network; Location iteration update: pos(v)=pos(v)+step size ×F(v) / ||F(v)||if||F(v)||>0, pos(v) = pos(v) if ||F(v)|| = 0; step size =0.1×k, ‖F(v)‖ is the modulus of F(v); and between any two logic units, ‖pos(Uᵢ)−pos(Uⱼ)‖≥mindistance=0.1×k is maintained to ensure that nodes do not overlap.
7. The RSOP model 3D visualization mapping normalization method as described in claim 1, characterized in that: The mapping process follows a three-tier architecture: Logic layer: Maintain the logical relationship of the four-tuple (input resource, context, operation, output product) of each logic unit unchanged; Transformation Layer: Assign a globally unique string identifier Uid to each logical unit. Input resources are mapped to a list of [{id,type,quantity},...], the site is mapped to an entity of {id,name}, the operation is mapped to a process of {id,name,duration}, and the output product is mapped to a result of {id,type,quantity}. Perform forward join, feedback join, and cross-layer join mapping on directed edges to ensure that all connection relationships are fully preserved. Presentation layer: Maps connection depth to Z-axis coordinates and force-guided layout to XY coordinates, generating directly readable coordinate data.
8. The RSOP model 3D visualization mapping normalization method as described in claim 7, characterized in that: In the conversion layer, the logical units are divided according to their connection relationships: The endpoint logical unit is the unit that has no directed edge connection to it; A basic resource logical unit is a unit that has no directed edges connecting it to anything in front of it. A normal logical unit is a unit that is connected by both a preceding directed edge and a subsequent directed edge. The string identifier Uid assigned to each logical unit remains globally unique and unchanged during the mapping and subsequent 3D visualization process.
9. The RSOP model 3D visualization mapping normalization method as described in claim 1, characterized in that: When it comes to production and manufacturing, the input resources are raw materials, equipment or personnel, the site is a physical workshop, and the operation is an assembly, processing or testing process; When dealing with engineering projects, the input resources are prefabricated components, construction equipment or personnel, the site is the construction area, and the operation is a hoisting or grouting process. When dealing with information production, the input resources are information, code repositories, container images, or cloud resources; the site is a continuous integration node or a data center cabinet; and the operation is a compilation, configuration, or testing task.