Bewegung
Schraubung, Drehung und Schiebung
> | with(plots):with(linalg): 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, the name changecoords has been redefined
Warning, the protected names norm and trace have been redefined and unprotected
Die Bahnkurve eines Punktes ist eine Schraublinie. Definition der Schraublinien mit der z-Achse als Schraubachse und dem Parameter p
> | Schraublinie:=evalm(A&*vector([1,x,y,z])); |
> | Schraublinie1:=subs(x=1,y=0,z=0,p=2,op(Schraublinie)); Schraublinie2:=subs(x=3,y=0,z=0,p=2,op(Schraublinie)); |
> | 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}); |
> | Drehmatrix:=subs(p=0,op(A)); |
> | Bahn:=evalm(Drehmatrix&*vector([1,x,y,z])); |
> | Bahn1:=subs(x=2,y=5,z=7,op(Bahn)); |
> | spacecurve([Bahn1[2],Bahn1[3],Bahn1[4]], t=0..4*Pi,thickness=3,numpoints=200,color=red,axes=FRAME); |
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]); |
> | Bahnkurve:=evalm(Schiebmatrix&*vector([1,x,y,z])); |
> | Bahnkurve1:=subs(x=2,y=5,z=7,p=2,q=3,r=-1,op(Bahnkurve)); |
> | spacecurve([Bahnkurve1[2],Bahnkurve1[3],Bahnkurve1[4]], t=-2..3,thickness=3,numpoints=200,color=red,axes=FRAME); |
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]); |
> | Bahnku:=evalm(KSchiebmatrix&*vector([1,x,y,z])); |
> | Bahnku1:=subs(x=2,y=5,z=7,op(Bahnku)); |
> | Bahnku2:=subs(x=3,y=-5,z=1,op(Bahnku)); |
> | 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}); |
> |