(x, y, z)
| 241 | console.log(`=== SAMPLING ANIMATION AT t=0 ===\n`); |
| 242 | |
| 243 | function eulerToQuaternion(x, y, z) { |
| 244 | const cx = Math.cos(x / 2), sx = Math.sin(x / 2); |
| 245 | const cy = Math.cos(y / 2), sy = Math.sin(y / 2); |
| 246 | const cz = Math.cos(z / 2), sz = Math.sin(z / 2); |
| 247 | return [ |
| 248 | sx * cy * cz - cx * sy * sz, |
| 249 | cx * sy * cz + sx * cy * sz, |
| 250 | cx * cy * sz - sx * sy * cz, |
| 251 | cx * cy * cz + sx * sy * sz |
| 252 | ]; |
| 253 | } |
| 254 | |
| 255 | function multiplyQuaternion(a, b) { |
| 256 | const [ax, ay, az, aw] = a; |