Calculate the projection of point onto plane defined by 3 points.
The convention for the points numeration is the following:
1.----.2
\ |
\ *---------> . self
\ |
\|
.3
type(vector_R4P) :: pt(0:3)
pt(0) = 1 * ex_R4P + 2 * ey_R4P + 5.3 * ez_R4P
pt(1) = ex_R4P
pt(2) = ey_R4P
pt(3) = ex_R4P - ey_R4P
pt(0) = pt(0)%projection_onto_plane(pt1=pt(1), pt2=pt(2), pt3=pt(3))
print "(3(F3.1,1X))", pt(0)%x, pt(0)%y, pt(0)%z
type(vector_R4P) :: pt(0:3)
pt(0) = 1 * ex_R4P + 2 * ey_R4P + 5.3 * ez_R4P
pt(1) = ex_R4P
pt(2) = ey_R4P
pt(3) = ex_R4P - ey_R4P
pt(0) = projection_onto_plane_R4P(pt(0), pt1=pt(1), pt2=pt(2), pt3=pt(3))
print "(3(F3.1,1X))", pt(0)%x, pt(0)%y, pt(0)%z
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(vector_R4P), | intent(in) | :: | self | The point from which computing the distance. |
||
| type(vector_R4P), | intent(in) | :: | pt1 | First plane point. |
||
| type(vector_R4P), | intent(in) | :: | pt2 | Second plane point. |
||
| type(vector_R4P), | intent(in) | :: | pt3 | Third plane point. |
Point projection.