(v: [f32; 3])
| 538 | } |
| 539 | |
| 540 | fn normalize3(v: [f32; 3]) -> [f32; 3] { |
| 541 | let len = (v[0] * v[0] + v[1] * v[1] + v[2] * v[2]).sqrt(); |
| 542 | if len > 1e-6 { |
| 543 | [v[0] / len, v[1] / len, v[2] / len] |
| 544 | } else { |
| 545 | [0.0, 0.0, 1.0] |
| 546 | } |
| 547 | } |
| 548 | |
| 549 | fn dot3(a: [f32; 3], b: [f32; 3]) -> f32 { |
| 550 | a[0] * b[0] + a[1] * b[1] + a[2] * b[2] |