Skip to content

Instantly share code, notes, and snippets.

@chuongmep
Created September 19, 2020 06:03
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save chuongmep/764ab8fc1aa444155c1c4b7c8f4af892 to your computer and use it in GitHub Desktop.
XYZ ProjectPointOntoPlane(
XYZ point,
XYZ planeNormal )
{
double a = planeNormal.X;
double b = planeNormal.Y;
double c = planeNormal.Z;
double dx = ( b * b + c * c ) * point.X - ( a * b ) * point.Y - ( a * c ) * point.Z;
double dy = -( b * a ) * point.X + ( a * a + c * c ) * point.Y - ( b * c ) * point.Z;
double dz = -( c * a ) * point.X - ( c * b ) * point.Y + ( a * a + b * b ) * point.Z;
return new XYZ( dx, dy, dz );
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment