Vector products: Difference between revisions
Content added Content deleted
Line 4,305: | Line 4,305: | ||
a ∙ (b ⨉ c) = 6 |
a ∙ (b ⨉ c) = 6 |
||
a ⨉ (b ⨉ c) = (-267, 204, -3)</pre> |
a ⨉ (b ⨉ c) = (-267, 204, -3)</pre> |
||
=={{header|Simula}}== |
|||
<lang simula>BEGIN |
|||
CLASS VECTOR(I,J,K); REAL I,J,K;; |
|||
REAL PROCEDURE DOTPRODUCT(A,B); REF(VECTOR) A,B; |
|||
DOTPRODUCT := A.I*B.I+A.J*B.J+A.K*B.K; |
|||
REF(VECTOR) PROCEDURE CROSSPRODUCT(A,B); REF(VECTOR) A,B; |
|||
CROSSPRODUCT :- NEW VECTOR(A.J*B.K - A.K*B.J, |
|||
A.K*B.I - A.I*B.K, |
|||
A.I*B.J - A.J*B.I); |
|||
REAL PROCEDURE SCALARTRIPLEPRODUCT(A,B,C); REF(VECTOR) A,B,C; |
|||
SCALARTRIPLEPRODUCT := DOTPRODUCT(A,CROSSPRODUCT(B,C)); |
|||
REF(VECTOR) PROCEDURE VECTORTRIPLEPRODUCT(A,B,C); REF(VECTOR) A,B,C; |
|||
VECTORTRIPLEPRODUCT :- CROSSPRODUCT(A,CROSSPRODUCT(B,C)); |
|||
PROCEDURE OUTR(X); REAL X; |
|||
OUTFIX(X,6,0); |
|||
PROCEDURE OUTVECTOR(A); REF(VECTOR) A; |
|||
BEGIN |
|||
OUTTEXT("("); OUTR(A.I); |
|||
OUTTEXT(", "); OUTR(A.J); |
|||
OUTTEXT(", "); OUTR(A.K); OUTTEXT(")"); |
|||
END; |
|||
BEGIN |
|||
REF(VECTOR) A,B,C; |
|||
A :- NEW VECTOR(3, 4, 5); |
|||
B :- NEW VECTOR(4, 3, 5); |
|||
C :- NEW VECTOR(-5, -12, -13); |
|||
OUTTEXT("A = "); OUTVECTOR(A); |
|||
OUTIMAGE; |
|||
OUTTEXT("B = "); OUTVECTOR(B); |
|||
OUTIMAGE; |
|||
OUTTEXT("C = "); OUTVECTOR(C); |
|||
OUTIMAGE; |
|||
OUTTEXT("A . B = "); OUTR(DOTPRODUCT(A,B)); |
|||
OUTIMAGE; |
|||
OUTTEXT("A X B = "); OUTVECTOR(CROSSPRODUCT(A,B)); |
|||
OUTIMAGE; |
|||
OUTTEXT("A . (B X C) = "); OUTR(SCALARTRIPLEPRODUCT(A,B,C)); |
|||
OUTIMAGE; |
|||
OUTTEXT("A X (B X C) = "); OUTVECTOR(VECTORTRIPLEPRODUCT(A,B,C)); |
|||
OUTIMAGE; |
|||
END; |
|||
END;</lang> |
|||
{{out}} |
|||
<pre>A = (3.000000, 4.000000, 5.000000) |
|||
B = (4.000000, 3.000000, 5.000000) |
|||
C = (-5.000000, -12.000000, -13.000000) |
|||
A . B = 49.000000 |
|||
A X B = (5.000000, 5.000000, -7.000000) |
|||
A . (B X C) = 6.000000 |
|||
A X (B X C) = (-267.000000, 204.000000, -3.000000) |
|||
</pre> |
|||
=={{header|Stata}}== |
=={{header|Stata}}== |