Plane
- class Plane3(c)[source]
Bases:
object
Create a plane object from linear coefficients
- Parameters
c (array_like(4)) – Plane coefficients
- Returns
a Plane object
- Return type
Plane
Planes are represented by the 4-vector \([a, b, c, d]\) which describes the plane \(\pi: ax + by + cz + d=0\).
- classmethod LinePoint(l, p)[source]
Create a plane object from a line and point
- Parameters
l (Line3) – 3D line
p (ndarray(3)) – Points in the plane
- Returns
a Plane object
- Return type
Plane
- Seealso
- classmethod PointNormal(p, n)[source]
Create a plane object from point and normal
- Parameters
p (array_like(3)) – Point in the plane
n (array_like(3)) – Normal vector to the plane
- Returns
a Plane object
- Return type
Plane
- Seealso
- classmethod ThreePoints(p)[source]
Create a plane object from three points
- Parameters
p (ndarray(3,3)) – Three points in the plane
- Returns
a Plane object
- Return type
Plane
The points in
p
are arranged as columns.- Seealso
- classmethod TwoLines(l1, l2)[source]
Create a plane object from two line
Warning
This algorithm fails if the lines are parallel.
- Seealso
- contains(p, tol=20)[source]
Test if point in plane
- Parameters
p (array_like(3)) – A 3D point
tol (float) – tolerance in units of eps, defaults to 20
- Returns
if the point is in the plane
- Return type
bool
- static intersection(pi1, pi2, pi3)[source]
Intersection point of three planes
- Parameters
pi1 (Plane) – plane 1
pi2 (Plane) – plane 2
pi3 (Plane) – plane 3
- Returns
coordinates of intersection point
- Return type
ndarray(3)
This static method computes the intersection point of the three planes given as arguments.
Warning
This algorithm fails if the planes do not intersect, or intersect along a line.
- Seealso
Plane()
- plot(bounds=None, ax=None, **kwargs)[source]
Plot plane
- Parameters
bounds (array_like(2|4|6), optional) – bounds of plot volume, defaults to None
ax (Axes, optional) – 3D axes to plot into, defaults to None
kwargs – optional arguments passed to
plot_surface
The
bounds
of the 3D plot volume is [xmin, xmax, ymin, ymax, zmin, zmax] and a 3D plot is created if not already existing. Ifbounds
is not provided it is taken from current 3D axes.The plane is drawn using
plot_surface
.- Seealso
axes_logic()
- property d: float
Plane offset
- Returns
Offset of the plane
- Return type
float
For a plane \(\pi: ax + by + cz + d=0\) this is the scalar \(d\).
- Seealso
- property n: numpy.ndarray[Any, numpy.dtype[numpy.floating]]
Normal to the plane
- Returns
Normal to the plane
- Return type
ndarray(3)
For a plane \(\pi: ax + by + cz + d=0\) this is the vector \([a,b,c]\).
- Seealso