{'fraction_non_alphanumeric': 0.026001955034213098, 'fraction_numerical': 0.004105571847507331, 'mean_word_length': 4.8097671777399205, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 5, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
The virtual reality framework for engineering objects

A framework for virtual reality of engineering objects has been developed. This framework may simulate different equipment related to virtual reality. Framework supports 6D dynamics, ordinary differential equations, finite formulas, vector and matrix operations. The framework also supports embedding of external software.


Introduction
Problems of virtual reality are indissolubly connected wits other problems of science and engineering. The motion of objects in virtual reality is depended upon many different engineering related factors. More precise simulation we need, more factors should be taken into consideration. For instance, currents of artificial satellite equipment interact with magnetic field of the Earth [1], so the field and currents should be simulated. Then we recall that the satellite has a spin-stabilization system [2] and represent it too. If we concern with an aircraft, the influence of electromagnetic field of the Earth becomes inessential, the motion is mostly depended on aerodynamics and engine's control system behavior. Going further, we can consider, that rockets, spacecrafts and aircrafts could are deformed, and thus elasticity should also be simulated [3] If we suppose the software to be useful for as wide circle of tasks as it possible, it should enable potential inclusion of simulation from different branches of science and engineering. Is it possible? You can download and evaluate interdisciplinary software from following page http://www.genetibase.com/universal-engineering-framework-7.php This reference also contains examples of applications of this code.

Component approach
The best method of complicated phenomenon grasping is decomposition. The best decomposition method is, in authors' opinion, a representation of the whole picture by objects and arrows, where latter reproduce interactions between objects. It is obvious for the reader aquainted with mathematics that the author of the project has been inspired by Category Theory [5]. Furthermore, any object can belong to a set of domains. For example a source of physical field [6] has a geometric position. Hence it is a subject of positioning domain. This object may be linked to other object of positioning domain by positioning links. If a source of a physical field receives and then transmits information then it is an information consumer. So the field is also a subject of information domain and may be linked to sources of information. And at last it is a subject of physical field domain. Typical picture of objects (components) of virtual reality simulation is presented on Figure 1. This picture shows motion of 3D shape. We have ordinary differential equations of the shape motionẍ = f (x,ẋ). (1) The component at left bottom is a solver of these equations. It is a source of information. In this situation we should perform some transformation of this information. To do this we use "Transformation of variables". Latter component is a consumer of information of the solver. By this means it is connected to solver with information link. We also have a "Frame of shape".
It is a moved reference frame that uses information form the solver and from the "Transformation of variables". So it is an information consumer and is connected to its information providers. The "3D Shape" is rigidly connected to this frame. The shape is connected to the frame by geometrical positioning link. We also have a virtual camera and its reference frame. They are connected with geometrical positioning link as well. And at last the camera is connected to the shape by visibility link.

Formula editor
As a software is intends to be interdiscipliniary, it is intended to contain a rich formula editor, that would enable us to use formulas in different tasks appearing in virtual reality. Signal recognition, transformation of 3d figures, differential equations solving, definition of figures' size and color etc. etc.-well, there is no need to explain where formulas are used and thus where formula editor would be useful. We shall also enable the editor to work with variables of different types such as real, integer, boolean vector and so on. In fact, in the CategoryTheory project https://sourceforge.net/projects/categorytheory/ formula, the editor operates even with Galois fields. The formula editor implemented in related projectsis case sensitive and operates with lots of different types. For instance, let sin(a) be a formula of formula editor. What is its meaning? If a is a real variable then result of formula is a real value. However if a is an array then sin(a) is also an array of componentwise calculation of sin. If a is a real array and b is a real variable then a + b means an array of sums of components of a with b. Any function of formula editor may be a variable or a result of calculation. A function as a result is not a value of function but the function itself. This fact seems unusual for those who do not know functional analysis.
These examples contain transposition of matrixes, products of matrixes, inversion of matrixes and vector product of 3D vectors. A very good sample of these operations' applications is Kalman filter [7]. In particular this filter is used in motion control systems. You can download and evaluate example of this filter from: http://www.genetibase.com/universal-engineering-framework-6.php Recently the formula editor have been enlarged with Dirac delta function [8].
The presence of the delta function at the right part of the ordinary differential equation shows that the result function is not continuous. Following picture shows presence of delta function in formula editor

Openness of the software
Usually every developer or company has its own projects of those object domain. This software does not require discarding of existing projects. Any object domain project may be included to this software. If you wish to include your project or its part, then you should develop an adapter, compile the class library, and link it to this software. The adapter should contain one or more classes that implement one or more interfaces of this software. A more profound description of these interfaces is contained in the developer's guide. You can download the guide from AstroFrame homepage https://sourceforge.net/projects/astrohalaxy.

Examples
This section is a brief review. Profound description could be found in guides. You can also download and evaluate examples from pages devoted to this software.

Reference frames
Reference frame is one of basic notions of virtual reality. We should link visible objects and virtual cameras to reference frames. Architecture of the framework uses relative frames, those have forest structure. Example of such structure is presented on the following diagram:

℄ ℄ ℄
There exists a zero reference frame. All root nodes of the forest correspond to this frame. 6D positions of other frames (nodes) are relative to 6D positions of their parents. It means that 6D position of frame 1.1.2 is relative to 6D position of frame 1.1 etc. This architecture enables us to create different useful situations easily. For example we can install a set of virtual cameras on air(space)craft. It is easy to visualize a plane with Swing-wing [9]

Motion of objects
The framework enables us to define motion by finite formulas and ordinary differential equations. Besides this facilities it contains a special component for simulation 6D dynamics of rigid body. This component operates with forces, momentums and moments of inertia [10].

Deformation of figures and views
This framework performs data processing. In particular it is used for deformations of 3D shapes. Figures 2 and 3 show deformation of a plane.  x → x 2 ; y → y 2 .

Visualization of interaction with fields
Virtual reality does not operates with realistic pictures only. For example we should visualize invisible physical fields, temperatures or tenses of materials.  The framework has excellent data processing. It may be used for simulation of physical fields those have different nature. The framework also uses data processing for simulation of interaction between fields and surfaces of bodies. High level of abstraction makes the framework very flexible. So it enables us to simulate any physical properties of surfaces.

Celestial bodies
Celestial bodies have a set of different applications to virtual reality. First application is visualization of them. We often should to visulize celestial bodies with spacecrafts and aircrafts. Second application is usage of physical fields. Gravity fields of Earth, Moon and Sun are taking an influence on the motion of artificial satellites. Moreover Earth's magnetic field affects angular motion of satellites. Third application is simulation of astronomical instruments [11] Lots of them are used in control systems of spacecrafts' and aircrafts' motion. Some problems of virtual reality require processing with a lot of stars. This framework operates with catalogues of stars those are stored in databases. Present version of the framework supports ODBC, SQL Server and Oracle drivers for working with databases. Now there exists a lot of different star catalogues. They have different structure. The framework is compatible with all of them since it can perform any SQL query to database. Besides SQL query framework have a facility of advanced filtration of stars. This filtration uses data processing that could be particularly performed with formula editor. Usually star catalogues contain information that cannot be directly used for visualization. They may contain parallax [12] declination (δ) and right ascension (α) [13], mean BT and/or VT magnitude [14]. The data processing is used for transformation of this parameters into stars' coordinates and those visible sizes and color. It is worth to note that there exists such tasks where the simulated color of the star does not correspond to color that is perceive by human eye. Simulated color could represent astronomical instruments and may show invisible spectrum of star. Since visible colors are linked to data processing we can simulate any dependence of represented color on stars' parameters.