bending
Creates a circular bending transformation modifier.
Signatures
- bending( vector center, vector reference, vector tangent )
- bending( float radius, vector axis, vector reference, vector tangent )
Details
The bending transformation is built to bend solids in a defined way. Straight objects can be brought into circular shape by this. So it is especially suitable for planar or longitudial solids that should be bent into a cylindrical or arc form.
The geometric situation for a bending transformation can be seen in the following figure.
In the figure, the grey box solid is bent around center point c, resulting in the orange box. The reference point r defines one point on the isometric plane (vertical dashed line in the gray solid). This plane is defined by the fact, that the transformation of any line on it will have the same arc length as the original line. Lines on parallel planes closer to or further away from the center point get shortened or elongated by the transformation. The distance between the center point and the reference defines the radius of the bending.
The tangent vector t is a vector in the isometric plane that is required to make the bending direction unambiguous. What cannot be seen in the image is the axis vector that sticks out of the image plane. It defines the axis the bent solid is wrapped around.
Constructor (1) is suitable whenever the center point is known. Constructor (2) may be used when the radius and the axis vector is known instead.
Example
solid s = subdiv( 0.25, <[0,0,1]> ) >> box( 1, 1, 5 )
make bending( 4, <[1,0,0]>, <[0.5, 0.5, 0.0]>, <[0,0,1]> ) >> s
Bends a box with a radius of 4 units around the X-axis, with the reference point of the bending at (0.5, 0.5, 0.0) and the tangent vector along the Z-axis.
Note
The quality of the results of a bending transformation depends on the solid's resolution in tangent vector direction. Poor resultion will lead to badly rounded, "edgy" results. For smooth results, the solid should be finely tessellated, which can be achieved using the subdiv modifier.
Return value
A bending transformation modifier.
Parameters
- center
-
Defines the center point of the bending.
- reference
-
Defines a point on the isometric plane. This is typically on or in the solid that is bent.
- tangent
-
A vector in the isometric plane that defines the wrapping direction. This should be orthogonal the to axis vector.
- radius
-
Radius of the bending when the center point is not given. The sign of the radius defines the bending direction ("to the left or to the right").
- axis
-
Axis vector the solid is bent around. This should be orthogonal the to tangent vector.