I'm not entirely sure if this belongs in Mathematics or GameDev. I'm trying Mathematics first, so please let me know if it's in the wrong place.
In 3D space, I have a plane A
given by 3 points A1
, A2
, and A3
, and I need a transform matrix M
to scale arbitrary points so their distance to the plane changes by a factor x
, along the normal of the plane.
The plane doesn't necessarily pass through the origin so homogeneous coordinates are necessary.
So far I only have convoluted solutions (e.g. rotate and translate plane to match xy plane, scale along z, then reverse rotation and translation) and feel something simpler is possible.