/usr/lib/open-axiom/input/scherk.input is in open-axiom-test 1.5.0~svn3056+ds-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | --Copyright The Numerical Algorithms Group Limited 1994.
-- Scherk's minimal surface.
-- Defined by:
-- exp(z) * cos(x) = cos(y)
-- See: A comprehensive Introduction to Differential Geometry, Vol. 3,
-- by Michael Spivak, Publish Or Persih, Berkeley, 1979, pp 249-252.
-- Off set for a single piece of Scherk's minimal surface
(xOffset, yOffset):DoubleFloat
-- DrawScherk's minimal surface on an m by n patch.
drawScherk(m,n) ==
free xOffset, yOffset
space := create3Space()$ThreeSpace(DoubleFloat)
for i in 0..m-1 repeat
xOffset := i*%pi
for j in 0 .. n-1 repeat
rem(i+j, 2) = 0 => 'iter
yOffset := j*%pi
drawOneScherk(space)
makeViewport3D(space, "Scherk's Minimal Surface")
-- The four patches which make up a single piece of Scherk's minimal surface.
scherk1(u,v) ==
x := cos(u)/exp(v)
point [xOffset + acos(x), yOffset + u, v, abs(v)]
scherk2(u,v) ==
x := cos(u)/exp(v)
point [xOffset - acos(x), yOffset + u, v, abs(v)]
scherk3(u,v) ==
x := exp(v) * cos(u)
point [xOffset + u, yOffset + acos(x), v, abs(v)]
scherk4(u,v) ==
x := exp(v) * cos(u)
point [xOffset + u, yOffset - acos(x), v, abs(v)]
-- We draw the surface by breaking it into 4 patches, and drawing them
-- into a single space.
drawOneScherk(s) ==
makeObject(scherk1, -%pi/2..%pi/2, 0..%pi/2, space == s, _
var1Steps == 28, var2Steps == 28)
makeObject(scherk2, -%pi/2..%pi/2, 0..%pi/2, space == s, _
var1Steps == 28, var2Steps == 28)
makeObject(scherk3, -%pi/2..%pi/2, -%pi/2..0, space == s, _
var1Steps == 28, var2Steps == 28)
makeObject(scherk4, -%pi/2..%pi/2, -%pi/2..0, space == s, _
var1Steps == 28, var2Steps == 28)
void()
|