vmm3d.surface.implicit
Class Maps
- java.lang.Object
-
- vmm3d.surface.implicit.Maps
-
public class Maps extends java.lang.ObjectThis class defines several important and related linear maps of R^3 to itself as static methods; namely projection P on a one-dimemsional subspace, L, reflection R in L, and the transvection T defined by a pair of unit vectors. In what follows axis denotes a unit vector of R^3 and L the subspace it spans. The projection P onto the line L spanned by axis is the linear map (v --->axis). where < . > denotes the dot product. We note that it has L as its +1 eigenspace and the orthogonal complement L' of L is its 0 eigenspace. Since reflection in L has L as its +1 eigenspace and L' as its -1 eigenspace, it is clear that R = 2P -I where I is the identity map. The transvection T defined by unit vectors e1 and e2 is defined whenever e2 is not equal to plus or minus e1, so that e1 and e2 are a basis for a two-dimensional subspace V. Then T is defined to be the unique rotation that is the identity on V', the orthogonal complement of V, and on V is the unique rotation of V carrying e1 into e2. It is easy to see that T is just the product of two reflections. Namely, if m denotes the midpoint of e1 and e2 on the unit sphere S^2 (obtained by normalizing e1 + e2) then T is reflection in m followed by reflection in e2, or equally well it is the reflection in e1 followed by reflection in m. For convenience, each of these maps is provided in two forms, as a Vector3D valued function and as void function returning its image as one of the arguments.
-
-
Constructor Summary
Constructors Constructor and Description Maps()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static Vector3DProjectionOnAxis(Vector3D axis, Vector3D source)returns the projection of a Vector3D, source, onto line spanned by the unit vector, axis.static voidProjectOnAxis(Vector3D axis, Vector3D source, Vector3D destination)destination is the projection of a Vector3D, source, onto line spanned by the unit vector, axis.static voidReflectInAxis(Vector3D axis, Vector3D source, Vector3D destination)destination is the reflection of a Vector3D, source, in the line spanned by the unit vector, axis.static Vector3DReflectionInAxis(Vector3D axis, Vector3D source)returns the reflection of a Vector3D, source, in the line spanned by the unit vector, axis.static voidTransvect(Vector3D e1, Vector3D e2, Vector3D source, Vector3D destination)e1 and e2 should be linearly independent unit vectors.static Vector3DTransvection(Vector3D e1, Vector3D e2, Vector3D source)e1 and e2 should be linearly independent unit vectors.
-
-
-
Method Detail
-
ProjectOnAxis
public static void ProjectOnAxis(Vector3D axis, Vector3D source, Vector3D destination)
destination is the projection of a Vector3D, source, onto line spanned by the unit vector, axis.
-
ProjectionOnAxis
public static Vector3D ProjectionOnAxis(Vector3D axis, Vector3D source)
returns the projection of a Vector3D, source, onto line spanned by the unit vector, axis.
-
ReflectInAxis
public static void ReflectInAxis(Vector3D axis, Vector3D source, Vector3D destination)
destination is the reflection of a Vector3D, source, in the line spanned by the unit vector, axis.
-
ReflectionInAxis
public static Vector3D ReflectionInAxis(Vector3D axis, Vector3D source)
returns the reflection of a Vector3D, source, in the line spanned by the unit vector, axis.
-
Transvect
public static void Transvect(Vector3D e1, Vector3D e2, Vector3D source, Vector3D destination)
e1 and e2 should be linearly independent unit vectors. In the plane V spanned by e1 and e2, Transvect is the rotation carrying e1 to e2, and it is the identity orthogonal to V.
-
-
DMelt 3.0 © DataMelt by jWork.ORG