woo.comp
¶
Expose interal utility c++ functions for computing volume, centroids, inertia, coordinate transforms; mostly used for testing.
-
woo.comp.
cart2cyl
()¶ Convert cartesian coordinates to cylindrical; cylindrical coordinates are specified as \((r,\theta,z)\), the reference plane is the \(xy\)-plane (see at Wikipedia).
-
woo.comp.
computePrincipalAxes
()¶ Return (pos, ori, inertia) of new coordinate system (relative to the current one), whose axes are principal, i.e. second-order momentum is diagonal (the diagonal is returned in inertia, which is sorted to be non-decreasing). The arguments are volume (mass) V, first-order momentum Sg and second-order momentum Ig. If Sg is
(0,0,0)
, the reference point will not change, only rotation will occur.
-
woo.comp.
cyl2cart
()¶ Convert cylindrical coordinates to cartesian; cylindrical coordinates are specified as \((r,\theta,z)\), the reference plane is the \(xy\)-plane (see at Wikipedia).
-
woo.comp.
inertiaTensorTranslate
()¶ Tensor of inertia of solid translated by off with previous inertia \(I\), volume \(V\); if \(V\) is positive, the translation is away from the centroid, if negative, towards the centroid. The computation implements Parallel axes theorem.
-
woo.comp.
tetraInertia
()¶ Tetrahedron inertia from covariance. If fixSign is true, the tensor is multiplied by -1 if the (0,0) entry is negative (this is caued by non-canonical vertex ordering).
-
woo.comp.
tetraInertia_grid
()¶ Tetrahedron inertia from grid sampling (div gives subdivision along the shortest aabb side).
-
woo.comp.
tetraVolume
()¶ Volume of tetrahedron, computed as \(\frac{1}{6}((A-B)\cdot(B-D)))\times(C-D)\).
-
woo.comp.
triangleArea
()¶
-
woo.comp.
triangleInertia
()¶
-
woo.comp.
uniformResamplePiecewiseLinear
()¶ Resample piecewise-linear function (given by points xx and yy, where xx is non-decreasing) using a uniform grid with endpoints xRange and div points (div-1 pieces), returning linearly interpolated value of yy in *div*+1 points.
Tip
Report issues or inclarities to github.