Triangle¶
-
class
sknano.core.geometric_regions.
Triangle
(p1=None, p2=None, p3=None)[source] [edit on github][source]¶ Bases:
sknano.core.geometric_regions.Geometric2DRegion
Geometric2DRegion
for a triangle.New in version 0.3.10.
Represents the bounded region with corner points \(p_1=(x_1,y_1)\), \(p_2=(x_2,y_2)\), and \(p_3=(x_3,y_3)\).
Parameters: p2, p3 (p1,) – 2-tuples or Point
class instances specifying theTriangle
corner points \(p_1=(x_1,y_1)\), \(p_2=(x_2,y_2)\), and \(p_3=(x_3, y_3)\).Notes
Triangle
represents a 2D geometric region consisting of all combinations of corner points \(p_i\), \(\left\{\lambda_1 p_1+\lambda_2 p_2 + \lambda_3 p_3| \lambda_i\ge0\land\lambda_1+\lambda_2+\lambda_3=1\right\}\).Calling
Triangle
with no parameters is equivalent toTriangle
(p1=[0, 0], p2=[0, 1], p3=[1, 0])
.Attributes
area
Triangle
area.bounding_box
Bounding Cuboid
.center
Alias for centroid
.centroid
Triangle
centroid, \((c_x, c_y)\).fmtstr
Format string. measure
Alias for area
, which is the measure of a 2D geometric region.ndim
Return the dimensions. p1
Corner point \(p_1=(x_1, y_1)\). p2
Corner point \(p_2=(x_2, y_2)\). p3
Corner point \(p_3=(x_3, y_3)\). pmax
Point
at maximum extent.pmin
Point
at minimum extent.Methods
center_centroid
()Center centroid
on origin.contains
(point)Test region membership of point
inTriangle
.get_points
()Return list of points from GeometricRegion.points
andGeometricRegion.vectors
rotate
(**kwargs)Rotate GeometricRegion
points
andvectors
.todict
()Returns a dict
of theTriangle
constructor parameters.translate
(t[, fix_anchor_points])Translate GeometricRegion
points
andvectors
byVector
t
.Attributes Summary
area
Triangle
area.centroid
Triangle
centroid, \((c_x, c_y)\).p1
Corner point \(p_1=(x_1, y_1)\). p2
Corner point \(p_2=(x_2, y_2)\). p3
Corner point \(p_3=(x_3, y_3)\). Methods Summary
contains
(point)Test region membership of point
inTriangle
.todict
()Returns a dict
of theTriangle
constructor parameters.Attributes Documentation
-
area
¶ Triangle
area.Computed as:
\[A = \frac{1}{2}|-x_2 y_1 + x_3 y_1 + x_1 y_2 - x_3 y_2 - x_1 y_3 + x_2 y_3|\]
-
centroid
¶ Triangle
centroid, \((c_x, c_y)\).Computed as 2D
Point
\((c_x, c_y)\) with coordinates:\[c_x = \frac{x_1 + x_2 + x_3}{3}\]\[c_y = \frac{y_1 + y_2 + y_3}{3}\]Returns: 2D Point
of centroid.Return type: Point
-
p1
¶ Corner point \(p_1=(x_1, y_1)\).
-
p2
¶ Corner point \(p_2=(x_2, y_2)\).
-
p3
¶ Corner point \(p_3=(x_3, y_3)\).
Methods Documentation
-
contains
(point)[source] [edit on github][source]¶ Test region membership of
point
inTriangle
.Parameters: point (array_like) – Returns: True
ifpoint
is withinTriangle
,False
, otherwise.Return type: bool
Notes
A point \((p_x, p_y)\) is within the bounded region of a triangle with corner points \(p_1=(x_1, y_1)\), \(p_2=(x_2, y_2)\), and \(p_3=(x_3, y_3)\), if the following is true:
\[\frac{(x_1 - x_3) p_y + (x_3 - p_x) y_1 + (p_x - x_1) y_3}{ (y_1-y_2) x_3 + (y_2 - y_3) x_1 + (y_3 - y_1) x_2}\ge 0\land\]\[\frac{(x_2 - x_1) p_y + (p_x - x_2) y_1 + (x_1 - p_x) y_2}{ (y_1 - y_2) x_3 + (y_2 - y_3) x_1 + (y_3 - y_1) x_2}\ge 0\land\]\[\frac{(x_2 - x_3) p_y + (x_3 - p_x) y_2 + (p_x - x_2) y_3}{ (y_1 - y_2) x_3 + (y_2 - y_3) x_1 + (y_3 - y_1) x_2}\le 0\]
-