- /**
- * Projeziert den Vektor auf eine Ebene, die in hessischer Normalform gegeben ist.
- *
- * @param n Die Normale der Ebene.
- * @param d Der Abstand der Ebene zum Ursprung.
- */
- Vector3 Vector3::project(Vector3 n, double d) {
- double quotient = n[0]*n[0] + n[1]*n[1] + n[2]*n[2];
- if (quotient == 0.0) {
- return Vector3::nullVector;
- }
- double lambda = (d - n[0]*v[0] - n[1]*v[1] - n[2]*v[2]) / quotient;
- Vector3 result(v[0] + lambda*n[0], v[1] + lambda*n[1], v[2] + lambda*n[2]);
- return result;
- }