| 203 | } |
| 204 | |
| 205 | Motor3D Terathon::Sqrt(const Motor3D& Q) |
| 206 | { |
| 207 | float b = InverseSqrt(Q.v.w * 2.0F + 2.0F); |
| 208 | float a = -Q.m.w * (b * b); |
| 209 | |
| 210 | return (Motor3D(Q.v.x * b, Q.v.y * b, Q.v.z * b, Q.v.w * b + b, (Q.v.x * a + Q.m.x) * b, (Q.v.y * a + Q.m.y) * b, (Q.v.z * a + Q.m.z) * b, Q.m.w * (b * 0.5F))); |
| 211 | } |
| 212 | |
| 213 | FlatPoint3D Terathon::Transform(const FlatPoint3D& p, const Motor3D& Q) |
| 214 | { |
nothing calls this directly
no test coverage detected