Vector products: Difference between revisions
Content added Content deleted
m (→{{header|Perl 6}}: proper 'out' template) |
m (Added Sidef language) |
||
Line 2,661: | Line 2,661: | ||
a x(b x c) = (-267.0, 204.0, -3.0) |
a x(b x c) = (-267.0, 204.0, -3.0) |
||
</pre> |
</pre> |
||
=={{header|Sidef}}== |
|||
<lang ruby>class Vector(x, y, z) { |
|||
method ∙(vec) { |
|||
self[:x]*vec[:x] + self[:y]*vec[:y] + self[:z]*vec[:z]; |
|||
} |
|||
method ⨉(vec) { |
|||
__CLASS__(self[:y]*vec[:z] - self[:z]*vec[:y], |
|||
self[:z]*vec[:x] - self[:x]*vec[:z], |
|||
self[:x]*vec[:y] - self[:y]*vec[:x], |
|||
); |
|||
} |
|||
method to_s { |
|||
"(#{self[:x]}, #{self[:y]}, #{self[:z]})"; |
|||
} |
|||
}; |
|||
var a = Vector(3, 4, 5); |
|||
var b = Vector(4, 3, 5); |
|||
var c = Vector(-5, -12, -13); |
|||
say "a=#{a}; b=#{b}; c=#{c};"; |
|||
say "a ∙ b = #{a ∙ b}"; |
|||
say "a ⨉ b = #{a ⨉ b}"; |
|||
say "a ∙ (b ⨉ c) = #{a ∙ (b ⨉ c)}"; |
|||
say "a ⨉ (b ⨉ c) = #{a ⨉ (b ⨉ c)}";</lang> |
|||
{{out}} |
|||
<pre>a=(3, 4, 5); b=(4, 3, 5); c=(-5, -12, -13); |
|||
a ∙ b = 49 |
|||
a ⨉ b = (5, 5, -7) |
|||
a ∙ (b ⨉ c) = 6 |
|||
a ⨉ (b ⨉ c) = (-267, 204, -3)</pre> |
|||
=={{header|Tcl}}== |
=={{header|Tcl}}== |