Suddenly I thought of a third option: apart from moving forward in technology and switching market focus, it is also possible to go back in time.
Time – photo by Gerd Altmann on Pixabay
Of course it’s not done to go back, but let me explain. I always was very fond of the power of the language VRML. Originally VRML stood for Virtual Reality Markup Language (just like XML is eXtensible Markup Language – also derived from the old GML), but soon it became Virtual Reality Modelling Language. That’s basically what it does: it is able to create spatial models in a computer. These models can be looked at from different angles and of course a lot of calculating power is needed, but nowadays that’s not an issue. A major drawback, however, is that a VRML-viewer is needed. In the beginning a couple of well-known viewers were around. Cortona and Blaxxun Then a very powerful VRML-viewer called FreeWRL was available (.wrl is the extension of VRML-files, hence the name).
It was all very promising and Virtual Reality was coming up again (it’s like nuclear fusion, isn’t it?). I was experimenting with stereoscopy and shutter glasses with an NVidia-set, but things were changing fast – too fast.
Working with VRML and publishing .wrl-files, I noticed that the threshold too look at the real graphs was too high, because such a viewer was needed. Nobody would download and install one. That was many years ago. Try and find “VRML” or “3D” in the Google playstore now and you will be sursprised. Probably the threshold has gone with all those apps. Beware, most of the apps I didn’t try myself and if I did, it was a much older version.
Back then it was different. One by one the VRML-viewers disappeared and some didn’t even support all features, like background, text or viewpoints. VRML was officially declared “legacy” and its successor was X3D, but nobody knew the language. Only one very expensive book was available (I had to learn it first of course) and most viewers didn’t support it (and today we know VRML is still alive and probably more alive than X3D ever was).
That’s why I decided to to move to HTML5 instead. Most readers will know HTML, but version 5 had special properties and supported JavaScript. I hate JavaScript, because it’s chaotic and confusing. Not like Algol, Pascal, Ada, Java, C or Lisp from my perspective (as said before, although I am able to write functional pieces of code I’m not a software engineer and I always need the help from my sons).
Fortunately I discovered a way out! A cloud-service or actually a community, called X3DOM offered a service, translating a kind of X3D dialect (I had to learn it after all, but a document about the standard used was available) into JavaScipt – on the fly! This meant our generator had to create a kind of X3D-file with an X3DOM-call and immediately JavaScript would come back and be shown in the web-browser. It was very funny to see the output-file coming from the AnRep3D-generator and the code saved by right-clicking the browser-screen. Below I show two pieces of the code as an illustration.
First the pure geberator-output:
<html>
<head>
<title>
ANREP3D visualisation
</title>
http ://www.x3dom.org/download/x3dom.js
<link rel=’stylesheet’ type=’text/css’ href=’http ://www.x3dom.org/download/x3dom.css’></link>
<style>x3d { background: rgba(160, 160, 220, 1); } </style>
</head>
<body>
<x3d width=’1200px’ height=’670px’>
<scene>
<transform translation=’ 0.5 -4 0 ‘>
<shape>
<appearance>
<material diffuseColor=’ 1 1 1 ‘> </material>
</appearance>
<box size=’ 1 0.1 0.1 ‘> </box>
</shape>
</transform>
Then the actual code processed by the browser (modified by X3DOM:
<html><head>
<meta http-equiv=”content-type” content=”text/html; charset=UTF-8″>
<title>
ANREP3D visualisation
</title>
http: //data_oil14_files/x3dom.js
<link rel=”stylesheet” type=”text/css” href=”data_oil14_files/x3dom.css”>
<style>x3d { background: rgba(160, 160, 220, 1); } </style>
</head>
<body>
<x3d width=”1200px” height=”670px” style=”width: 1200px; height: 670px;”>
<scene render=”true” bboxcenter=”0,0,0″ bboxsize=”-1,-1,-1″ pickmode=”idBuf” dopickpass=”true”>
<transform translation=” 0.5 -4 0 ” render=”true” bboxcenter=”0,0,0″ bboxsize=”-1,-1,-1″ center=”0,0,0″ rotation=”0,0,0,0″ scale=”1,1,1″ scaleorientation=”0,0,0,0″>
<shape render=”true” bboxcenter=”0,0,0″ bboxsize=”-1,-1,-1″ ispickable=”true”>
<appearance sorttype=”auto” alphaclipthreshold=”0.1″>
<material diffusecolor=” 1 1 1 ” ambientintensity=”0.2″ emissivecolor=”0,0,0″ shininess=”0.2″ specularcolor=”0,0,0″> </material>
</appearance>
<box size=” 1 0.1 0.1 ” solid=”true” ccw=”true” usegeocache=”true” lit=”true”> </box>
</shape>
</transform>
It’s also nice to show a piece of old VRML-code, from the predecessor of the current 3D-graph generator:
#VRML V2.0 utf8
Viewpoint {position 105 525 840 }
Background { groundColor [0.7 0.7 0.7 ]
skyColor [ 0.5 0.5 0.5 ] }
#frame
Transform {
translation 105 68 -420
children [
Shape {appearance Appearance
{material Material
{diffuseColor 1 1 0 transparency 0.1} }
geometry Box
{size 28 136 70 }
} ]}
Transform {
translation 105 139 -420
children [
Shape {appearance Appearance
{material Material
{diffuseColor 0 1 0 transparency 0} }
geometry Box
{size 28 5 70 }
} ]}
In all three cases the first part of the output-file was taken.
For me the idea of “going back” meant working with VRML again. The viewers are more powerful, because it is possible to look at the graphs stereoscopically. Anaglyph or double images (left eye, right eye). When the CRT monitors disappeared I had to drop the stereoscopy, because a normal LCD-screen won’t work with shutter glasses. FreeWRL offers stereoscopic images and I tried with a headset and a mobile phone, but then the generator was rebuilt for HTML5.
Enthusiastically I opened one of my old .wrl-files. At first it was a trip down memory lane. Revisting all the old and long forgotten attempts to design 3D-graphs. Encountering the prototypes in QuickBasic. Several files had “AEX” or “business” in their names (AEX is the index for the Dutch Stock Exchange), but as a matter of fact all kinds of weird patterns came up. Below a collage of screenshots.
One attempt I remembered. It was a combination of the stock prices of companies in the index’s basket, together with the index itself. A screenshot is presented below. No use to make it clickable.
It didn’t last long. It was hard to work with the 3D-image in the viewer. In HTML5 double clicking will just change the viewpoint, but now I was confused. OK, I was able to look at the graph from different angles, but it wasn’t enough. It seems I’m addicted to the new, simple 3D-graphs, presented in a normal web-browser. Turning, tilting, zooming in and out, changing viewpoints (the instructions were shown with every clickable screenshot in the previous posts) – it’s all very easy!
No, going back to the old VRML is definitely not an option and neither is moving forward to new technnologies and languages. This means the second option is the valid one: changing from finance to energy. Let’s have a look at some interesting 3D-graphs again in 2021!
The AnRep3D-generator can still be downloaded for free as a zip-package with examples of input and output and a manual. Videos, blogposts, examples, white-paper and so on can also be found at our website!