Quaternion type: Difference between revisions
Content added Content deleted
Line 8,117: | Line 8,117: | ||
q1/r = Q(0.29, 0.43i, 0.57j, 0.71k) |
q1/r = Q(0.29, 0.43i, 0.57j, 0.71k) |
||
r/q1 = Q(0.26, -0.39i, -0.52j, -0.65k)</pre> |
r/q1 = Q(0.26, -0.39i, -0.52j, -0.65k)</pre> |
||
=={{header|Scheme}}== |
|||
For the source code, see [[#Ol|the entry for Otus Lisp]]. However, with most Scheme implementations the output will look different: |
|||
{{out}} |
|||
<pre>$ ypsilon quaternions_task.scm |
|||
q = (1 2 3 4) |
|||
q1 = (2 3 4 5) |
|||
q2 = (3 4 5 6) |
|||
r = 7 |
|||
(quaternion? q) = #t |
|||
(quaternion? q1) = #t |
|||
(quaternion? q2) = #t |
|||
(quaternion? r) = #f |
|||
(quaternion-norm q) = 5.477225575051661 |
|||
(quaternion-norm q1) = 7.3484692283495345 |
|||
(quaternion-norm q2) = 9.273618495495704 |
|||
(quaternion- q) = (-1 -2 -3 -4) |
|||
(quaternion- q1 q2) = (-1 -1 -1 -1) |
|||
(quaternion- q q1 q2) = (-4 -5 -6 -7) |
|||
(quaternion-conjugate q) = (1 -2 -3 -4) |
|||
(quaternion+) = (0 0 0 0) |
|||
(quaternion+ q) = (1 2 3 4) |
|||
(quaternion+ r q) = (8 2 3 4) |
|||
(quaternion+ q r) = (8 2 3 4) |
|||
(quaternion+ q1 q2) = (5 7 9 11) |
|||
(quaternion+ q q1 q2) = (6 9 12 15) |
|||
(quaternion*) = (1 0 0 0) |
|||
(quaternion* q) = (1 2 3 4) |
|||
(quaternion* r q) = (7 14 21 28) |
|||
(quaternion* q r) = (7 14 21 28) |
|||
(quaternion* q1 q2) = (-56 16 24 26) |
|||
(quaternion* q q1 q2) = (-264 -114 -132 -198) |
|||
(quaternion=? q) = #t |
|||
(quaternion=? q q) = #t |
|||
(quaternion=? q1 q2) = #f |
|||
(quaternion=? q q q) = #t |
|||
(quaternion=? q1 q1 q2) = #f |
|||
(quaternion* q1 q2) = (-56 16 24 26) |
|||
(quaternion* q2 q1) = (-56 18 20 28) |
|||
(quaternion=? (quaternion* q1 q2) |
|||
(quaternion* q2 q1)) = #f</pre> |
|||
=={{header|Seed7}}== |
=={{header|Seed7}}== |