33 m = (
x *
x) + (
y *
y) + (
z *
z);
44 m = (
x *
x) + (
y *
y) + (
z *
z);
61 return ((
x * v.
x) + (
y * v.
y) + (
z * v.
z));
66 double nx =
y * v.
z -
z * v.
y;
67 double ny =
z * v.
x -
x * v.
z;
68 double nz =
x * v.
y -
y * v.
x;
76 refl = (*this) - refl;
84 double k = 1 - (n_r * n_r);
85 k = 1 - (fact * fact) * k;
90 refr = (*this) * fact;
91 refr -= norm * (fact * n_r + sqrt(k));
Vector3D & operator=(const Vector3D &v)
Vector3D operator*(const Vector3D &v) const
Vector3D operator+(const Vector3D &v) const
Vector3D & operator-=(const Vector3D &v)
void set(double nx, double ny, double nz)
Vector3D refraction(Vector3D norm, double fact) const
double dotProduct(const Vector3D &v) const
Vector3D reflection(Vector3D norm) const
Vector3D & operator/=(const Vector3D &v)
Vector3D operator/(const Vector3D &v) const
Vector3D operator-(const Vector3D &v) const
Vector3D crossProduct(const Vector3D &v) const
Vector3D & operator+=(const Vector3D &v)
Vector3D & operator*=(const Vector3D &v)