| 203 | } |
| 204 | |
| 205 | Matrix3D Matrix3D::MakeInvolution(const Vector3D& a) |
| 206 | { |
| 207 | float x = a.x * 2.0F; |
| 208 | float y = a.y * 2.0F; |
| 209 | float z = a.z * 2.0F; |
| 210 | float axay = x * a.y; |
| 211 | float axaz = x * a.z; |
| 212 | float ayaz = y * a.z; |
| 213 | |
| 214 | return (Matrix3D(x * a.x - 1.0F, axay, axaz, |
| 215 | axay, y * a.y - 1.0F, ayaz, |
| 216 | axaz, ayaz, z * a.z - 1.0F)); |
| 217 | } |
| 218 | |
| 219 | Matrix3D Matrix3D::MakeScale(float scale) |
| 220 | { |