I have a set of 3D points of a mesh and normals at each point. Points lie on the same plane which are obtained from cutting a 3d model along an arbitrary plane.
The problem is - I need to map these 3D points to their planar 2d coordinates (u,v), that can be used to form Delaunay triangulation of the mesh. So I need a transformation matrix that transforms these 3d coplanar points to their planar 2D coordinates.
The simple solution would be to define a plane perpendicular at all points to your normal vectors. In that case, you simply let the Z
component of each vector to the point on your surface equal 0
giving you a two-dimensional representation of your surface on the defined plane. Your transformation (or properly rotation
) matrix is then defined with respect to the plane.
The details of the approach are given at plane (Geometry) and the nuts and bolts of how to do it are shown at Defining a plane in R3 with a point and normal vector.