| Apply(double, double) |
The image of a point, or null when it maps to infinity or behind the viewer (W not positive). |
| ApplyHomogeneous(double, double) |
The homogeneous image of (x, y): X, Y and the divisor W. |
| FromMatrix4(Matrix4x4) |
What a 4x4 (System.Numerics, row-vector convention) does to the plane z = 0: the points (x, y, 0, 1) drop their z and divide by the fourth coordinate. |
| Invert() |
The map that undoes this one, or null when this one is singular. |
| Negated() |
The same map scaled by -1, which is the same picture: used to make W positive where the element is. |
| ProjectRectangle(double, double, double, double, double) |
The image of the rectangle (left, top, right, bottom) as a polygon, cut off where it would reach the viewer’s plane (W at or below epsilon) before dividing, so the part of an element that passes behind the eye never projects to a smear across the page. Empty when none of it is in front. |
| Then(Homography, Homography) |
The map that does first and then second. |
| Translation(double, double) |
The map that moves every point by (dx, dy). |
| TryProjectRectangleBounds(double, double, double, double, double, double, double, double, double) |
The bounding box of ProjectRectangle(double, double, double, double, double)’s polygon, without building it: the same clip at W <= epsilon, on the stack. False when the projection is degenerate (fewer than three points, or wholly behind the viewer). |