Voxnormalization converts the geometric representation of an object into a body element representation that is closest to the object and generates a body dataset. It not only contains the surface information of the model, it can also describe the internal attributes of the model. The space element used to represent a model is similar to the two-dimensional pixel used to represent an image. It is only extended from a two-dimensional point to a three-dimensional cube Unit. In addition, there are many applications of the Three-dimensional Model Based on Ontology.
Because of the need for use, the model needs to be materialized. Here we use a simple but effective operation method. First, set the resolution of the model body, assuming
N * nThe subsequent operations include:
1.
Externalization of model surface
This step is relatively simple. First, the AABB box of the model is calculated, and then the box is divided according to the spatial resolution.(X/N)
* (Y/n) * (z/N)List of spatial pixels. Then, traverse the polygon or triangle list that constitute the 3D model to obtain the corresponding box for these basic object elements, then, AABB calculates and calculates the number of theme units that can be affected by these basic object elements, and uses these elements as the basic object to be judged. For further accurate determination, the triangle and AABB algorithm are used to determine whether these basic body elements can affect the final body elements, and these body elements are marked as non-empty, in this way, the operation on the surface of the 3D model is completed.
2.
Externalization of Models
After you complete the model surface ontology operation, you can get a "shell" of the model ontology representation. The next step is to perform the internal ontology operation of the model. Here we use a simple method. First, the corresponding 3D model is used to create a spatial octal tree. This octal tree is mainly used for the settlement of basic body elements. Then, all the vobodies in the model AABB are transmitted in the axis alignment direction from the center of the model. The two rays are in the opposite direction, but the basic direction is the axis alignment. These two rays use the octal tree of the spatial model to obtain the intersection position of the 3D model, and obtain the method vector of the intersection and the distance from the intersection to the intersection, then, based on the relationship between these two vectors, we can determine whether the current element is inside the 3D model or outside the 3D model. This operation can be applied to every empty volume to complete the volume-based operation within the 3D model.
However, it is relatively slow to apply such an operation to each empty body. Therefore, the scan method can be used to accelerate the processing. If the location of an element is determined to be inside the model, we can scan the adjacent body elements of the current body element based on the ray direction and the distance between the two rays and the intersection of the model, in this way, we can mark the state of adjacent theme without making any further judgment, which accelerates the somification operation within the entire model.
However, the above method has limitations. For a non-fully closed 3D model, this method cannot perform a good operation on the internal body, but it is necessary for your own project, this method is applicable and easy to use.