The VAM Temple project was completed by 3 primary school students (Year 5, aged 9) in 2003, using the archived VRMath 1.0 application. The Logo program they wrote at the time can still run in the new VRMath2 Editor with few modifications. You can try to recreate it in the VRMath2 Editor, by openning the vam_temple.logo in the Logo Editor and executing the program.
After executing the Logo program, 12 procedures will be defined. Then you should type in VAM in the console and VRMath2 Editor will create the Temple for you in few seconds. I have recreated this Temple and published as .x3d file to display below for you to navigate in. The default navigation is set to Walk mode. You may press "E" to change to Examine mode, "F" for Fly mode, "W" for Walk mode, and "R" to return to beginning viewpoint.
INFO: Time for setup and init of GL element no. 0: 23 ms.
INFO: activate ViewpointBindable null/defaultX3DViewpointNode
INFO: register ViewpointBindable null/defaultX3DViewpointNode
INFO: create new Viewpoint for X3DViewpointNode-stack
INFO: activate BackgroundBindable null/defaultX3DBackgroundNode
INFO: register BackgroundBindable null/defaultX3DBackgroundNode
INFO: create new Background for X3DBackgroundNode-stack
INFO: System ready.
INFO: activate NavigationInfoBindable null/defaultX3DNavigationInfoNode
INFO: register NavigationInfoBindable null/defaultX3DNavigationInfoNode
INFO: NavType: undefined
INFO: Switch to examine mode.
INFO: create new NavigationInfo for X3DNavigationInfoNode-stack
INFO: activate EnvironmentBindable null/defaultX3DEnvironmentNode
INFO: register EnvironmentBindable null/defaultX3DEnvironmentNode
INFO: create new Environment for X3DEnvironmentNode-stack
INFO: setBaseURL:
INFO: webgl2 context found
Vendor: WebKit Google Inc. (Google), Renderer: WebKit WebGL ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (LLVM 10.0.0) (0x0000C0DE)), SwiftShader driver), Version: WebGL 2.0 (OpenGL ES 3.0 Chromium), ShadingLangV.: WebGL GLSL ES 3.00 (OpenGL ES GLSL ES 3.0 Chromium), MSAA samples: 4
Extensions: EXT_clip_control, EXT_color_buffer_float, EXT_color_buffer_half_float, EXT_conservative_depth, EXT_depth_clamp, EXT_float_blend, EXT_polygon_offset_clamp, EXT_texture_compression_bptc, EXT_texture_compression_rgtc, EXT_texture_filter_anisotropic, EXT_texture_mirror_clamp_to_edge, EXT_texture_norm16, NV_shader_noperspective_interpolation, OES_draw_buffers_indexed, OES_sample_variables, OES_shader_multisample_interpolation, OES_texture_float_linear, OVR_multiview2, WEBGL_clip_cull_distance, WEBGL_compressed_texture_astc, WEBGL_compressed_texture_etc, WEBGL_compressed_texture_etc1, WEBGL_compressed_texture_s3tc, WEBGL_compressed_texture_s3tc_srgb, WEBGL_debug_renderer_info, WEBGL_debug_shaders, WEBGL_lose_context, WEBGL_multi_draw, WEBGL_polygon_mode, WEBGL_stencil_texturing
INFO: Initializing X3DCanvas for [x3dom-1743481759658-canvas]
INFO: Creating canvas for (X)3D element...
INFO: Found 1 X3D and nodes...
INFO: X3DOM 1.8.3, Build: 7482, Revison: 03da6d38708e4eafc94c2305fdc175312a880321, Date: Tue Aug 1 11:18:17 2023 +0200
The name VAM is an acronym of the 3 authors' first names. They are Victor, Alekat20 and R2D2 (pseudo names). By now (time of this blog), they are about 20 years old. I wonder if they will read this blog and if so, they can contact me. I really hope to get in touch with them again.
The project was completed in two weeks (4 hours in total). I was very amazed that these young children could construct a virtual Temple according to their design in this short time frame. To fully document and explain about their Logo program would take many pages. Here I will just pick some procedures to show how and why they were done.
| First of all, I am showing this VAM procedure to give a big picture. In fact, the VAM procedure was a later one the authors created. The VAM procedure calls three other procedures tp1 (temple part 1), tp2 and tp3, each from one of the three authors. Each author then put all their procedures into their temple part procedures. The image below shows how all the procedures were called. |

The TREE procedure on the right is one of my favourites. It has an input :s as the scale of the tree. To make different sizes of tree (ranging from 1.1 to 2 times), one author (Victor) wrote:
; a random size tree tree (((RANDOM 10)+1)/10)+1
He then used REPEAT command to generate trees around the Temple.
HOME SOUTH 18 WEST 18 REPEAT 19 [tree (((RANDOM 10)+1)/10)+1 FD 2] BK 2 RT 90 REPEAT 18 [FD 2 tree (((RANDOM 10)+1)/10)+1] RT 90 REPEAT 18 [FD 2 tree (((RANDOM 10)+1)/10)+1] RT 90 REPEAT 18 [FD 2 tree (((RANDOM 10)+1)/10)+1]
The results is as the image below (ground, tree, trees on the ground). |
TO tree :s METER SETSCALE 0.2*:s 2*:s 0.2*:s SETAI 60 ; material settings SETSH 930 ; for tree trunk SETTR 0 SETDC 510 170 60 SETEC 0 0 0 SETSC 530 530 530 UP 1*:s CYLINDER SETSCALE 1.5*:s 2.2*:s 1.5*:s SETAI 63 ; material settings SETSH 90 ; for the tree green SETTR 0 SETDC 110 550 90 SETEC 0 0 0 SETSC 120 60 60 UP 1.1*:s CONE DN 2.1*:s END
|

TO templebase HOME METER SETSCALE 0.2 5 0.2 UP 2.5 SOUTH 5 WEST 6.5 SETAI 250 ; 6 material setting SETSH 600 SETTR 0 SETDC 400 400 400 SETEC 0 0 0 SETSC 770 770 770 REPEAT 18 [CYLINDER FD 2.2 RT 360/18] SETSCALE 0.6 0.6 0.6 DN 2.2 SETAI 53 SETSH 120 SETTR 0 SETDC 340 0 340 SETEC 0 0 0 SETSC 840 0 0 REPEAT 18 [CYLINDER FD 2.2 RT 360/18] SETSCALE 1 0.2 2.5 UP 4.7 SETAI 26 SETSH 100 SETTR 0 SETDC 0 10 500 SETEC 0 0 0 SETSC 0 910 10 REPEAT 9 [ FD 1.1 BOX FD 1.1 RT 360/18 FD 2.2 RT 360/18] END
| The TEMPLEBASE procedure produces the structure in the temple courtyard. Alekat20 who created it got this structure idea from the Stonehenge picture on the computer. She also utilised what she learnt earlier about 2D polygon and applied the formula
; Polygon formula REPEAT :side [FD 1 RT 360/:side]
to create this courtyard structure (see image below). 
|
R2D2 also had brilliant ideas about the Temple Stage and a Fountain. He observed the patterns in the staircase, pavilion and fountain, then apply REPEAT command to finish effectively.
 |
TO body ; some material settings omitted SETSCALE 15 0.8 6 METER HOME FD 7 BOX REPEAT 4 [UP 0.4 FD 0.25 SETSCALED 6-repcount*0.5 BOX] ; some material settings omitted UP 6.2 SETSCALE 8 2 6 CONE SETSCALE 2 2 2 ; some material settings omitted UP 1 LABEL [VAM Temple] DN 1 SETSCALE 0.5 5 0.5 DN 6 EAST 2.5 SOUTH 1.5 UP 2.5 REPEAT 2 [CYLINDER FD 3 LT 90 CYLINDER FD 5 LT 90] SETSCALE 0.6 0.5 0.6 DN 2.25 ; some material settings omitted REPEAT 2 [CYLINDER FD 3 LT 90 CYLINDER FD 5 LT 90] UP 4.5 REPEAT 2 [CYLINDER FD 3 LT 90 CYLINDER FD 5 LT 90] END
|
There are still plenty to talk about in this project. But I think I should stop here as the blog is getting very long.
Please try this VAM Temple project in the VRMath2 Editor and leave a comment about what you think and questions if any.