Defines a line in 3D Euclidean space using Plücker coordinates.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=real64), | public | :: | v(6) |
The 6-element array containing the Plücker coordinates. The first 3 elements contain the unit vector and the last 3 elements contain the moment vector. |
Constructs a new plucker_line from two points.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real64), | intent(in) | :: | pt1(3) |
The first point. |
||
| real(kind=real64), | intent(in) | :: | pt2(3) |
The second point. |
The resulting line.
Constructs a new plucker_line from a line object.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(line), | intent(in) | :: | ln |
The line. |
The equivalent plucker_line.
Constructs a new plucker_line from the intersection of two planes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(plane), | intent(in) | :: | p1 |
The first plane. |
||
| class(plane), | intent(in) | :: | p2 |
The second plane. |
The resulting line. NaN's are returned in the event that the two planes are parallel.
Constructs a new plucker_line from the supplied array.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real64), | intent(in) | :: | x(6) |
A 6-element array containing the Plücker coordinates. |
||
| logical, | intent(in), | optional | :: | nrm |
An optional input that specifies if the first three coordinates (the unit vector) should be normalized (true), or left as-is (false). The default is true such that the vector is normalized. |
The resulting line.
The line moment vector.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(plucker_line), | intent(in) | :: | this |
The plucker_line object. |
The moment vector.
Returns the plucker_line as a 6-element array of the form [u, m].
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(plucker_line), | intent(in) | :: | this |
The plucker_line object. |
The resulting array.
The unit vector representing the orientation of the line.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(plucker_line), | intent(in) | :: | this |
The plucker_line object. |
The unit vector.