PRINT PRINT "3次元空間での任意軸回転" PRINT DIM JJ(3),PP(3) MAT INPUT PROMPT "軸となるベクトル? a,b,c = ":JJ MAT INPUT PROMPT "回転前の点? x,y,z = ":PP INPUT PROMPT "回転角?(度) ":D PRINT LET oo=SQR(JJ(1)^2+JJ(2)^2+JJ(3)^2) LET jx=JJ(1)/oo LET jy=JJ(2)/oo LET jz=JJ(3)/oo LET x=PP(1) LET y=PP(2) LET z=PP(3) LET R=RAD(D) !度→ラジアン LET X1=(COS(R)+(1-COS(R))*jx*jx)*x LET X2=((1-COS(R))*jx*jy-SIN(R)*jz)*y LET X3=((1-COS(R))*jx*jz+SIN(R)*jy)*z LET XX=X1+X2+X3 LET Y1=((1-COS(R))*jy*jx+SIN(R)*jz)*x LET Y2=(COS(R)+(1-COS(R))*jy*jy)*y LET Y3=((1-COS(R))*jy*jz-SIN(R)*jx)*z LET YY=Y1+Y2+Y3 LET Z1=((1-COS(R))*jz*jx-SIN(R)*jy)*x LET Z2=((1-COS(R))*jz*jy+SIN(R)*jx)*y LET Z3=(COS(R)+(1-COS(R))*jz*jz)*z LET ZZ=Z1+Z2+Z3 PRINT "回転後" PRINT " χ座標値:";ROUND(XX,2) PRINT " y座標値:";ROUND(YY,2) PRINT " z座標値:";ROUND(ZZ,2) PRINT END