+[[file:3D%20graph.bas][file:3D%20graph%20-%20Screenshot%200.png]]
+
+The heightmap as seen from the camera's starting position, floating
+outside the grid volume and looking in at an oblique angle. The
+yellow wireframe dome is the spherical cap SQR((15+v)*(15-v))-10,
+its surface rippled by the diagonal SIN(x+y) waves that are also
+enabled in the formula subroutine. Cyan measuring grids line the
+three axis planes behind and below the surface, and the light red
+3D cross marks the zero point at the center of the scene.
+
+#+attr_html: :class responsive-img
+#+attr_latex: :width 1000px
+[[file:3D%20graph.bas][file:3D%20graph%20-%20Screenshot%201.png]]
+
+The same dome after flying the camera closer and lower with the
+cursor keys, so the cap's rim and the crests of the diagonal waves
+fill the frame. The wave term SIN(x+y)*SIN(tm/10) is modulated by
+the frame counter tm, so the ripples slowly grow and shrink as the
+program runs. Every frame the graaf subroutine re-evaluates the
+formula on the 21 by 21 point grid and reconnects neighboring
+points into the yellow mesh.
+
+#+attr_html: :class responsive-img
+#+attr_latex: :width 1000px
+[[file:3D%20graph.bas][file:3D%20graph%20-%20Screenshot%202.png]]
+
+The yellow wireframe is the heightmap of the two formulas currently
+enabled in the "formula" subroutine: a spherical cap
+SQR((15+v)*(15-v))-10, where v is the distance from the center,
+plus diagonal waves SIN(x+y) that the frame counter slowly
+modulates over time. Cyan measuring grids along the three axis
+planes and the light red 3D cross mark the scale and the zero
+point. The camera is flown with the cursor keys, + and - climb and
+sink, 4/6/8/2 spin the view, and space halves all motion.
+
+#+begin_export html
+<div class="flex-center">
+ <video controls loop autoplay>
+ <source src="3D graph - Screencast 0.mp4" type="video/mp4">
+ Your browser does not support the video tag.
+ </video>
+</div>
+#+end_export
+
+A flight through the scene in real time. The recording opens on
+the wide establishing view of the dome inside its three cyan grid
+planes, then the camera is steered around and finally right up
+against the surface, ending with a close-up of the rippling
+wireframe mesh from beneath. The cursor keys move the camera
+forward and sideways, + and - make it climb and sink, 4/6/8/2
+spin the view, and space halves all motion for finer control.
+Meanwhile the diagonal waves pulse on their own as SIN(tm/10)
+modulates their amplitude, and each frame every line of the mesh
+is erased at its previous position and redrawn at the new one.