Erzeugung von geometrischen Objekten durch Transformationen

Schraubung, Drehung und Schiebung

> with(plots):with(linalg):

Matrizendarstellung der Schraubung um die z-Achse mit dem Schraubparameter p (Konstante) und dem Bewegungsparameter t. Die zu einer vollen Umdrehung gehörige Schubstrecke heißt Ganghöhe.

> A:=matrix(4,4,[1,0,0,0,0,cos(t),-sin(t),0,0,sin(t),cos(t),0,p*t,0,0,1]);

Warning, new definition for norm

Warning, new definition for trace

A := matrix([[1, 0, 0, 0], [0, cos(t), -sin(t), 0],...

Die Bahnkurve eines Punkte ist eine Schraublinie. Definition der Schraublinien mit der z-Achse als Schraubachse und dem Parameter p

> Schraublinie:=evalm(A&*vector([1,x,y,z]));

Schraublinie := vector([1, cos(t)*x-sin(t)*y, sin(t...

Der bewegte Punkt wird eingesetzt (eine spezielle Schraublinie wird bestimmt):

> Schraublinie1:=subs(x=1,y=0,z=0,p=2,op(Schraublinie));

> Schraublinie2:=subs(x=3,y=0,z=0,p=2,op(Schraublinie));

Schraublinie1 := vector([1, cos(t), sin(t), 2*t])

Schraublinie2 := vector([1, 3*cos(t), 3*sin(t), 2*t...

Nun wird geplottet:

> s1:=spacecurve([Schraublinie1[2],Schraublinie1[3],Schraublinie1[4]], t=0..4*Pi,thickness=3,numpoints=200,color=red):

> s2:=spacecurve([Schraublinie2[2],Schraublinie2[3],Schraublinie2[4]], t=0..4*Pi,thickness=3,numpoints=200,axes=frame):

> display3d({s1,s2});

[Maple Plot]

Für p=0 bekommt man eine reine Drehung um die z-Achse

> Drehmatrix:=subs(p=0,op(A));

Drehmatrix := matrix([[1, 0, 0, 0], [0, cos(t), -si...

> Bahn:=evalm(Drehmatrix&*vector([1,x,y,z]));

Bahn := vector([1, cos(t)*x-sin(t)*y, sin(t)*x+cos(...

> Bahn1:=subs(x=2,y=5,z=7,op(Bahn));

Bahn1 := vector([1, 2*cos(t)-5*sin(t), 2*sin(t)+5*c...

> spacecurve([Bahn1[2],Bahn1[3],Bahn1[4]], t=0..4*Pi,thickness=3,numpoints=200,color=red,axes=FRAME);

[Maple Plot]

Wenn der Drehanteil der Bewegung die Einheitsmatrix ist, dann ist die zugehörige Bewegung eine Schiebung :

> Schiebmatrix:=matrix(4,4,[1,0,0,0,r*t,1,0,0,q*t,0,1,0,p*t,0,0,1]);

Schiebmatrix := matrix([[1, 0, 0, 0], [r*t, 1, 0, 0...

> Bahnkurve:=evalm(Schiebmatrix&*vector([1,x,y,z]));

Bahnkurve := vector([1, r*t+x, q*t+y, p*t+z])

> Bahnkurve1:=subs(x=2,y=5,z=7,p=2,q=3,r=-1,op(Bahnkurve));

Bahnkurve1 := vector([1, -t+2, 3*t+5, 2*t+7])

> spacecurve([Bahnkurve1[2],Bahnkurve1[3],Bahnkurve1[4]], t=-2..3,thickness=3,numpoints=200,color=red,axes=FRAME);

[Maple Plot]

Im Schiebanteil der Bewegung können auch nichtlineare Funktionen des Bewegungsparamters t vorkommen.Man spricht dann von einer krummen Schiebung:

> KSchiebmatrix:=matrix(4,4,[1,0,0,0,t,1,0,0,3+t,0,1,0,1/2*t^2,0,0,1]);

KSchiebmatrix := matrix([[1, 0, 0, 0], [t, 1, 0, 0]...

> Bahnku:=evalm(KSchiebmatrix&*vector([1,x,y,z]));

Bahnku := vector([1, t+x, 3+t+y, 1/2*t^2+z])

> Bahnku1:=subs(x=2,y=5,z=7,op(Bahnku));

Bahnku1 := vector([1, t+2, 8+t, 1/2*t^2+7])

> Bahnku2:=subs(x=3,y=-5,z=1,op(Bahnku));

Bahnku2 := vector([1, 3+t, -2+t, 1/2*t^2+1])

> p1:=spacecurve([Bahnku1[2],Bahnku1[3],Bahnku1[4]], t=-5..5,thickness=3,numpoints=200,color=red,axes=FRAME):

> p2:=spacecurve([Bahnku2[2],Bahnku2[3],Bahnku2[4]], t=-5..5,thickness=3,numpoints=200,color=black,axes=FRAME,orientation=[-30,70]):

> display3d({p1,p2});

[Maple Plot]

>

Schraubflächen, Regelflächen, Drehflächen und Schiebflächen

Torsen