%%%%% % This generate a visualization % of a zweischaliges Hyperboloid % % % Robert Hartmann, % Clausthal-Zellerfeld (Germany) % Juni 2008 % % Modification by R. Hartmann % Sankt Augustin (Germany) % August 2009 %%%%% fontsize 12 number minX 0 number minY 0 number maxX 150 number maxY 150 dim maxX maxY point LO minX maxY point RO maxX maxY point LU minX minY point RU maxX minY line l1 LO RU line l2 LU RO intersec O l1 l2 %midpoint of the viewingplane getx Ox O gety Oy O expression Xmin {minX+2} expression Ymin {minY+2} expression Xmax {maxX-2} expression Ymax {maxY-2} % Setup the 3D Cartesian System & View ang3d_picture Xmin Ymin Xmax Ymax %ang3d_origin Ox Oy 2.5 0.45 %ang3d_origin Ox Oy 2.5 0.3 ang3d_origin Ox Oy 2.7 0.1 ang3d_unit 10 ang3d_scale 1 1 1 ang3d_axes_drawing_range -6 6 -6 6 -6 6 color 0 255 0 number a 1 number b 1 number c 0.9 ang3d_draw_parametric_surface u v {-4;u<=4;u+0.25} {-4;v<=4;v+0.25} {u;v;sqrt((((u*u)/(a*a))+((v*v)/(b*b))+1)*c*c)} ang3d_draw_parametric_surface u v {-4;u<=4;u+0.25} {-4;v<=4;v+0.25} {u;v;-sqrt((((u*u)/(a*a))+((v*v)/(b*b))+1)*c*c)} %Es gibt verschiedene Möglichkeiten ein Hyperboloid mit %einer Funktion f: \; \mathbb R^2 \rightarrow \mathbb R^3 %zu parametrisieren. Eine einfache Möglichkeit ist die Folgende, %wobei d = 1 ein einschaliges, %d = - 1 ein zweischaliges Hyperboloid und %d = 0 einen Doppelkegel liefert: %f: \; (s,t) \mapsto \left(a \cdot \sqrt{d+s^2} \cdot \cos(t) \,; \ b \cdot \sqrt{d+s^2} \cdot \sin(t) \,; \ c\cdot s \right) number d -1 number Pi 3.1415926535897932384626433832795028841971693993751058209 ang3d_draw_parametric_surface s t {-1;s<=1;s+0.25} {0;t<=2*Pi+1;t+0.25} {a*sqrt(d+(s*s))*cos(t);a*sqrt(d+(s*s))*sin(t);c*s} color 0 0 0 ang3d_draw_parametric_surface u v {-4;u<=4;u+0.5} {-4;v<=4;v+0.5} {u;v;sqrt((((u*u)/(a*a))+((v*v)/(b*b))+1)*c*c)} ang3d_draw_parametric_surface u v {-4;u<=4;u+0.5} {-4;v<=4;v+0.5} {u;v;-sqrt((((u*u)/(a*a))+((v*v)/(b*b))+1)*c*c)} ang3d_draw_parametric_surface s t {-1;s<=1;s+0.5} {0;t<=2*Pi+1;t+0.5} {a*sqrt(d+(s*s))*cos(t);a*sqrt(d+(s*s))*sin(t);c*s} ang3d_drawsystem_p 3 2 2 2 3 1