Rodrigues’ rotation formula: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) m (→{{header|Raku}}: twiddles) |
Thundergnat (talk | contribs) m (→{{header|Raku}}: minor stylistic tweaks) |
||
Line 607: | Line 607: | ||
sub rodrigues-rotate( @point, @axis, $θ ) { |
sub rodrigues-rotate( @point, @axis, $θ ) { |
||
my (\cos𝜃, \sin𝜃) = cis($θ).reals; |
my ( \cos𝜃, \sin𝜃 ) = cis($θ).reals; |
||
⚫ | |||
my \𝑡 = 1 - cos𝜃; |
my \𝑡 = 1 - cos𝜃; |
||
⚫ | |||
map |
map @point • *, [ |
||
[ cos𝜃 + 𝑥²𝑡, 𝑥𝑦𝑡 - 𝑧sin𝜃, 𝑥𝑧𝑡 + 𝑦sin𝜃 ], |
[ cos𝜃 + 𝑥²𝑡, 𝑥𝑦𝑡 - 𝑧sin𝜃, 𝑥𝑧𝑡 + 𝑦sin𝜃 ], |
||
[ 𝑥𝑦𝑡 + 𝑧sin𝜃, cos𝜃 + 𝑦²𝑡, 𝑦𝑧𝑡 - 𝑥sin𝜃 ], |
[ 𝑥𝑦𝑡 + 𝑧sin𝜃, cos𝜃 + 𝑦²𝑡, 𝑦𝑧𝑡 - 𝑥sin𝜃 ], |