Vector products: Difference between revisions
Content added Content deleted
(Nimrod -> Nim) |
No edit summary |
||
Line 661: | Line 661: | ||
a . (b x c) = 6 |
a . (b x c) = 6 |
||
a x (b x c) = [-267, 204, -3]</pre> |
a x (b x c) = [-267, 204, -3]</pre> |
||
=={{header|ERRE}}== |
|||
<lang ERRE> |
|||
PROGRAM VECTORPRODUCT |
|||
!$DOUBLE |
|||
TYPE TVECTOR=(X,Y,Z) |
|||
DIM A:TVECTOR,B:TVECTOR,C:TVECTOR |
|||
DIM AA:TVECTOR,BB:TVECTOR,CC:TVECTOR |
|||
DIM DD:TVECTOR,EE:TVECTOR,FF:TVECTOR |
|||
PROCEDURE DOTPRODUCT(DD.,EE.->DOTP) |
|||
DOTP=DD.X*EE.X+DD.Y*EE.Y+DD.Z*EE.Z |
|||
END PROCEDURE |
|||
PROCEDURE CROSSPRODUCT(DD.,EE.->FF.) |
|||
FF.X=DD.Y*EE.Z-DD.Z*EE.Y |
|||
FF.Y=DD.Z*EE.X-DD.X*EE.Z |
|||
FF.Z=DD.X*EE.Y-DD.Y*EE.X |
|||
END PROCEDURE |
|||
PROCEDURE SCALARTRIPLEPRODUCT(AA.,BB.,CC.->SCALARTP) |
|||
CROSSPRODUCT(BB.,CC.->FF.) |
|||
DOTPRODUCT(AA.,FF.->SCALARTP) |
|||
END PROCEDURE |
|||
PROCEDURE VECTORTRIPLEPRODUCT(AA.,BB.,CC.->FF.) |
|||
CROSSPRODUCT(BB.,CC.->FF.) |
|||
CROSSPRODUCT(AA.,FF.->FF.) |
|||
END PROCEDURE |
|||
PROCEDURE PRINTVECTOR(AA.) |
|||
PRINT("(";AA.X;",";AA.Y;",";AA.Z;")") |
|||
END PROCEDURE |
|||
BEGIN |
|||
A.X=3 A.Y=4 A.Z=5 |
|||
B.X=4 B.Y=3 B.Z=5 |
|||
C.X=-5 C.Y=-12 C.Z=-13 |
|||
PRINT("A: ";) PRINTVECTOR(A.) |
|||
PRINT("B: ";) PRINTVECTOR(B.) |
|||
PRINT("C: ";) PRINTVECTOR(C.) |
|||
PRINT |
|||
DOTPRODUCT(A.,B.->DOTP) |
|||
PRINT("A.B =";DOTP) |
|||
CROSSPRODUCT(A.,B.->FF.) |
|||
PRINT("AxB =";) PRINTVECTOR(FF.) |
|||
SCALARTRIPLEPRODUCT(A.,B.,C.->SCALARTP) |
|||
PRINT("A.(BxC)=";SCALARTP) |
|||
VECTORTRIPLEPRODUCT(A.,B.,C.->FF.) |
|||
PRINT("Ax(BxC)=";) PRINTVECTOR(FF.) |
|||
END PROGRAM |
|||
</lang> |
|||
=={{header|Euphoria}}== |
=={{header|Euphoria}}== |