| 189 | } |
| 190 | |
| 191 | Matrix3D Matrix3D::MakeReflection(const Vector3D& a) |
| 192 | { |
| 193 | float x = a.x * -2.0F; |
| 194 | float y = a.y * -2.0F; |
| 195 | float z = a.z * -2.0F; |
| 196 | float axay = x * a.y; |
| 197 | float axaz = x * a.z; |
| 198 | float ayaz = y * a.z; |
| 199 | |
| 200 | return (Matrix3D(x * a.x + 1.0F, axay, axaz, |
| 201 | axay, y * a.y + 1.0F, ayaz, |
| 202 | axaz, ayaz, z * a.z + 1.0F)); |
| 203 | } |
| 204 | |
| 205 | Matrix3D Matrix3D::MakeInvolution(const Vector3D& a) |
| 206 | { |