|
If this is your first time using the tool then I recommend reading or printing this page or just read the Quickstart section.
| VRML data visualization tool |
Use Method 1 block of data |
Use Method 2 ranges of data |
VRML Examples |
My Homepage |
VRML Cyberclock |
This tool has been tested with:
This is best proved by example. Lets say we want to visualise
sin(x)*cos(y) where X={-3.142,3.142},
Y={-3.142,3.142}. Then we would fill out the form as below.
Now we must enter how the height data (Z) is defined:
Then simply press the generate VRML button.
Here are examples of the generated files.
| Default options | uncompressed 10K | compressed 2K |
| Coloured data, bounding box | uncompressed 24K | compressed 2.5K |
| No axes, No text, higher resolution | uncompressed 39K | compressed 10K |
To try the above data use Method 2 from the index.
It is intended to be an open platform, easy to use tool for visualising wide rangeing types of data using the Virtual Reality Modeling Language. Minimum conversion of data is required on the users side, the tool analyses the data and visualises it accordingly. The VRML files generated are strict VRML version 1.0 and should work with any compliant VRML viewer on any platform. It has been successfully tested with Live3D (Windows 3.1,95,NT), VRScout (Windows 3.1, 95, NT), Webspace(95, I am still waiting for my SGI Indy to arrive ;-] ), Virtus Voyager(Macintosh) and VRweb (Unix and Windows). These viewers are availble from the excellent VRML Repository.
This tool is very flexible, therefore I expect people to find uses for it that I never even imagined, If you find a use for it please email me. I am open to suggestions for expanding and extending the tools capabilites, however as I finishing University before June I may not be able to implement them before then. The tool can accept numbers ranging from very small to large (32 bit precison) and will scale them appropriatly before attempting to show them on screen. The user can enter data by cutting and pasting, directly typing in numbers or by setting ranges of numbers. More about this is in the Data entry section.
The Tool is a combination of a HTML frontend and a Common Gateway Interface (CGI) Engine running on a UNIX server. The CGI is written in approximatley 3000 lines of ANSI C and compiled using the GNU compiler. The development platform was an Intel Pentium PC running the Unix Clone Linux. Similar Machines running windows 3.1/95/NT were used when testing the VRML client software. The VRML clients were also tested on Macintosh (68k and PowerMac) and Unix (Sun Solaris and Linux). Special care was taken to provide the ability to accept data from a variey of platforms (Windows,UNIX,Mac).
I undertook this project because I wanted to work with VRML and the web. I would like to work with the Moving Worlds VRML 2.0 standard in the future, any companies looking for an eager, hard working technically capable Internet/VRML/Multimedia/Unix/PC/Mac expert should get in Contact with me soon, my CV is online. I am going to the states in early June and work like to work with a leading edge company with the same interests and enthusiasm as myself. Jump to the Hire me! section.
The only data that the tool will recognize is numbers. It is up to the user to provide the data in numerical format e.g. from a spreadsheet, database or other data source. They data can be entered in 3 different ways:
Once the data has been entered/defined functions may be applied that will transform the data e.g. inversion, scaling in fact almost any mathematical formala may be applied. Several operators are supported.
This would scale all the Z data by 1000, perhaps to show the money being
represented in thousands of dollars instead of single dollars. This example
is not really effective but it should give the general idea.
A range of data may also be generated instead of using the above method,
this is sometimes more appropriate. For example if we wanted to define 50
sets of data ranging from 0 to 300 we would simply entering the following:
The above may represent the X (horizontal) data. A similar form exists
for entering the Y (vertical). Finally a function must be entered to
define the Z (height) data. This is quite powerful. The Z
definition function can be made up of a combination of X and Y using
operators e.g. Z may be defined as follows.
The function parser currently only supports a few operators as shown below.
I intend to vastly increase this in future, theoretically any
binary/unary operator can be supported.
The data is stored internally as IEEE 32 bit single-precision floating point
numbers which will provide an acceptable range for most types of data, If
the
data is outside the range of the IEEE standard then It can be simply scaled
or approximated to fit in the IEEE range as all that is required is a visual
representation.
I hope to fix all these sometime, but as I am currently busy finishing my
finals it may take a while.
I currently only have 3 pathetic examples on line, I hope to increase the
number of examples in the future. If you find a use for the tool, please
send me an example and I will put it here with a link to your company.
If you want to modify this data then jump to
the
data entry page for the above example with all values already entered.
By looking at the VRML file it is possible to see the exact relationship
between Resistance and Inductance in an LC circuit and therefore make
decisons about bandwidth.
Alternatively I am interested in postgraduate/internship positions in
this area, if you know of any courses please email me.
Data Entry
There are 2 separate ways of presenting data to the tool.
Default options
uncompressed 5 K
compressed 2 K
Coloured data, bounding planes
uncompressed 9 K
compressed 2 K
Flattened, coloured
uncompressed 6 K
compressed 2 K
Here we can see a row highlighted. It can be pasted into a text box in a
form in the tools method 2 data entry page
as shown below.
Operator Definition
+ , - , / , *
add, subtract, divide, multiply
x ^ y
'^' returns x raised to the power of y.
Cos(x),Sin(x),Tan(x)
Cosine,Sine,Tangent of x (in Radians)
Exp(x)
The exp() function returns the value of e (the base of
natural logarithms) raised to the power of x.
Log(x)
The log() function returns the natural logarithm of x.
Root(x)
The Root() function returns the square root of x.
User selectable options
Several options are available that affect the asthetics of the VRML file.
Tips for use
Bugs & Problems
If you find a bug thats not listed here then its an undocumented
feature ;-)
Browser bugs
Examples
Here are some examples as generated by the VRML data visualisation tool.
NB
You need a VRML viewer such as Live3d, WebSpace or VRScout to
see these files.
Example 1: sin(x)*cos(y)
X = { -3.142,..., +3.142} number of steps: 10
Y = { -3.142,..., +3.142} number of steps: 10
Z = sin(x)*cos(y)
Default options
uncompressed 10K
compressed 2K
Coloured data, bounding box
uncompressed 24K
compressed 2.5K
No axes, No text, higher resolution
uncompressed 39K
compressed 10K
Example 2: (sin(x)*sin(y/2)*cos(x/3)*cos(y/4))^2
X = { -3.142,..., +3.142} number of steps: 15
Y = { -3.142,..., +3.142} number of steps: 15
Z = (sin(x)*sin(y/2)*cos(x/3)*cos(y/4))^2
Default options
uncompressed 20K
compressed 5K
Coloured data, bounding box
uncompressed 66K
compressed 6K
No axes, No text,
uncompressed 14K
compressed 4K
Example 3 - LC tank Circuits
LC tanks circuits are used in electronic engineering.
The Bandwidth (BW) of this circuit is determined by the simple formula:
R
BW = -------
2*PI*L
Where R is resistance, L is inductance, PI = 3.142.
We can use the VRML data visualisation tool to visualise this. We will
assign Resistance to the X axis and Inductance to the Y axis. Good
values for R (in ohms) might be:
R = { 2 to 200 } number of steps: 10
And for L (in milli Henrys)
L = { 0.001 to 0.01 } number of steps: 10
Z will be defined as:
X/(2*3.142*Y)
Default options
uncompressed 10K
compressed 3K
Coloured data, bounding box
uncompressed 66K
compressed 6K
No axes, No text,
uncompressed 14K
compressed 4K
Hire me
I join the great working masses in early June when I travel to the states
for (at least) a few months. I would love to continue working with
WWW / VRML / Java / CGI / 3D basically all the cool leading edge stuff. I have extensive
WWW / Unix / Mac / PC / Amiga / TCPIP /Multimedia / TV experience including working for 8
months in Germany on a Multimedia Computer Based Training program for Neural
Networks (Multimedia Toolbook, Adobe Photoshop & Premiere, 3D studio) ,
contract work (multimedia/WWW/TV) for Multimedia Technologies Ireland, Co - Web
admistration on the mighty Skynet Server,
Chairman of the University TV Society (Campus TV) for 2 years (including
filming The Cranberries) and lots more. My CV is online or I can
snail mail a typed version including references from
companies/individuals.