#### Previous topic

sknano.core.geometric_regions.Sphere.translate

#### Next topic

sknano.core.geometric_regions.Cylinder.axis

# sknano.core.geometric_regions.Cylinder¶

class sknano.core.geometric_regions.Cylinder(p1=None, p2=None, r=1)[source][source]

Geometric3DRegion for a cylinder.

New in version 0.3.10.

Represents a cylinder of radius $$r$$ around the line from $$(x_1, y_1, z_1)$$ to $$(x_2, y_2, z_2)$$.

Parameters: p1, p2 : array_like, optional 3-tuples or Point class instances specifying the Cylinder axis from point $$p_1=(x_1,y_1,z_1)$$ to $$p_2=(x_2,y_2,z_2)$$. r : float, optional Cylinder radius $$r$$

Notes

Cylinder represents a cylinder region $$\left\{p_1+\rho\cos(\theta)\mathbf{v}_1 + \rho\sin(\theta)\mathbf{v}_2 + \mathbf{v}_3 z| 0\le\theta\le 2\pi\land 0\le\rho\le 1\land 0\le z\le 1\right\}$$ where $$\mathbf{v}_3=p_2 - p_1$$ and the vectors $$\{\mathbf{v}_1,\mathbf{v}_2,\mathbf{v}_3\}$$ are orthogonal with $$|\mathbf{v}_1|=|\mathbf{v}_2|=1$$, and $$p_1=(x_1, y_1, z_1)$$ and $$p_2=(x_2,y_2,z_2)$$.

Calling Cylinder with no parameters is equivalent to Cylinder(p1=[0, 0, -1], p2=[0, 0, 1], r=1).

Attributes

 axis Cylinder axis Vector $$\boldsymbol{\ell}=p_2 - p_1$$. center Alias for centroid. centroid Cylinder centroid, $$(c_x, c_y, c_z)$$. fmtstr Format string. measure Alias for volume, which is the measure of a 3D geometric region. p1 Cylinder axis point $$p_1=(x_1, y_1, z_1)$$. p2 Cylinder axis point $$p_2=(x_2, y_2, z_2)$$. r Cylinder radius $$r$$. volume Cylinder volume, $$V=\pi r^2 \ell$$.

Methods

 center_centroid() Center centroid on origin. contains(point) Test region membership of point in Cylinder. rotate([angle, axis, anchor_point, ...]) Rotate GeometricRegion points and vectors. todict() Returns a dict of the Cylinder constructor parameters. translate(t[, fix_anchor_points]) Translate GeometricRegion points and vectors by Vector t.