arXiv:cs/0612126v1 [cs.CE] 22 Dec 2006

The virtual reality framework for engineering
objects
Petr R. Ivankov, Nikolay P. Ivankov
January 22, 2018
Abstract
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.

1

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.

2

Principles of the framework

Described framework is based on three main principles. First one is component
approach. Second principle is insertion of math formulas. Third principle is
openness of framework. So let us consider them.
1

2.1

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.

Figure 1: Typical example of virtual reality
This picture shows motion of 3D shape. We have ordinary differential equations of the shape motion
ẍ = f (x, 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”.
2

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.

2.2

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.
For example if a is a real variable then f (a) means a result of calculation of
f . If a is a function then f (a) is a composition of functions. Formula editor
supports matrix and vector operations. Examples of usage of vector and matrix
operations are presented below:
f t af,
(2)
(q −1 + h)−1 ,

(3)

a × b.

(4)

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
f (t)δ(t)
3

(5)

2.3

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.

3

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.

3.1

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:

[

1.1.1

1.1.2

1.2.1

2.2.2

[[


℄ 




1.1 [
1.2
2.1 [
2.2
[℄[ 
[℄[ 


1

2

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]

3.2

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].

4

3.3

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.

Figure 2: Plane in normal state

Figure 3: Deformed plane
Besides deformation of 3D shapes we need deformations of views to simulate
a view through curved mineral glass, or view in distorting mirror.

Figure 4: Torus. Normal view
Figures 4 and 5 shows torus and its deformation of view. Following rules of
2D deformation was used:
x 7→ x2 ; y 7→ y 2 .
(6)

3.4

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.
5

Figure 5: Torus. Deformed view

Since this framework is interdiciplinary one it enables us to perform this visualization.

Figure 6: Visualization of surface currents

Figure 6 presents an example of visualization of surface currents.
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.

3.5

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
6

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.

References
[1] A new approach to magnetic angular momentum management for large scientific satellites. Iida H. (1), Ninomya K.
http://cat.inist.fr/?aModele=afficheN&cpsidt=3049179
[2] Spin-stabilisation, Wikipedia http://en.wikipedia.org/wiki/Spin-stabilisation
[3] Elasticity (physics), Wikipedia http://en.wikipedia.org/wiki/Elasticity_%28physics%29
[4] Finite field, Wikipedia http://en.wikipedia.org/wiki/Galois_field
[5] Category theory, Wikipedia http://en.wikipedia.org/wiki/Category_Theory
[6] Field (physics), Wikipedia http://en.wikipedia.org/wiki/Field_%28physics%29
[7] Kalman filter, Wikipedia http://en.wikipedia.org/wiki/Kalman_filter
[8] Dirac delta function, Wikipedia http://en.wikipedia.org/wiki/Dirac_delta_function
[9] Swing-wing, Wikipedia http://en.wikipedia.org/wiki/Swing-wing
[10] Moment of inertia, Wikipedia http://en.wikipedia.org/wiki/Moment_of_inertia

[11] Astronomical instruments, Wikimedia http://commons.wikimedia.org/wiki/Category:Astronomical_
[12] Parallax, Wikipedia http://en.wikipedia.org/wiki/Parallax
[13] Equatorial
coordinate
system,
Wikipedia
http://en.wikipedia.org/wiki/Equatorial_coordinate_system
[14] The Naval Observatory Merged Astrometric Dataset (NOMAD)
http://www.nofs.navy.mil/data/fchpix/nomad_format.html

7

