| 503 | |
| 504 | namespace { |
| 505 | void normalize(std::array<double, 3>& v) { |
| 506 | auto l = std::sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]); |
| 507 | |
| 508 | v[0] /= l; |
| 509 | v[1] /= l; |
| 510 | v[2] /= l; |
| 511 | } |
| 512 | |
| 513 | void cross(const std::array<double, 3>& v1, const std::array<double, 3>& v2, std::array<double, 3>& result) { |
| 514 | result[0] = v1[1] * v2[2] - v1[2] * v2[1]; |