nurbspy.jax.nurbs_curve_circular_arc module#

class nurbspy.jax.nurbs_curve_circular_arc.CircularArc(O, X, Y, R, theta_start, theta_end)[source]#

Bases: object

Create a NURBS representation of a circular arc

Create a NURBS representation of the circular arc parametrized by

C(u) = O + R*cos(u)*X + R*sin(u)*Y theta_start <= u <= theta_end

Parameters:
Ondarray with shape (ndim,)

Center of the circular arc. ndim=2 or ndim=3

Xndarray with shape (ndim,)

Unit vector lying in the plane of the circle

Yndarray with shape (ndim,)

Unit vector lying in the plane of the circle and orthogonal to X

Rscalar

Radius of the circle

theta_startscalar

Start angle, measured with respect to X

theta_endscalar

End angle, measured with respect to X

Methods

intersect_lines(P0, T0, P2, T2)

Compute the intersection after reducing the 3x2 system to a 2x2 system using the dot product

make_nurbs_circular_arc

plot

References

The NURBS book. Chapter 7.5 L. Piegl and W. Tiller Springer, second edition

static intersect_lines(P0, T0, P2, T2)[source]#

Compute the intersection after reducing the 3x2 system to a 2x2 system using the dot product

make_nurbs_circular_arc()[source]#
plot()[source]#