bezier package
Helper for Bézier Curves, Triangles, and Higher Order Objects.
Intended to perform basic operations on Bézier objects such as intersections, length / area / etc. computations, subdivision, implicitization and other relevant information.
Plotting utilities are also provided.
Submodules
- bezier.curve module
CurveCurve.from_nodes()Curve.lengthCurve.copy()Curve.evaluate()Curve.evaluate_multi()Curve.evaluate_hodograph()Curve.plot()Curve.subdivide()Curve.intersect()Curve.self_intersections()Curve.elevate()Curve.reduce_()Curve.specialize()Curve.locate()Curve.to_symbolic()Curve.implicitize()Curve.degreeCurve.dimensionCurve.nodes
- bezier.curved_polygon module
- bezier.triangle module
TriangleTriangle.from_nodes()Triangle.areaTriangle.edgesTriangle.evaluate_barycentric()Triangle.evaluate_barycentric_multi()Triangle.evaluate_cartesian()Triangle.evaluate_cartesian_multi()Triangle.plot()Triangle.subdivide()Triangle.is_validTriangle.locate()Triangle.intersect()Triangle.elevate()Triangle.to_symbolic()Triangle.implicitize()Triangle.degreeTriangle.dimensionTriangle.nodes
Subpackages
- bezier.hazmat package
- Submodules
- bezier.hazmat.algebraic_intersection module
- bezier.hazmat.clipping module
- bezier.hazmat.curve_helpers module
make_subdivision_matrices()subdivide_nodes()evaluate_multi()evaluate_multi_vs()evaluate_multi_de_casteljau()evaluate_multi_barycentric()vec_size()compute_length()elevate_nodes()de_casteljau_one_round()specialize_curve()evaluate_hodograph()get_curvature()newton_refine()locate_point()reduce_pseudo_inverse()projection_error()maybe_reduce()full_reduce()discrete_turning_angle()
- bezier.hazmat.geometric_intersection module
bbox_intersect()linearization_error()segment_intersection()parallel_lines_parameters()line_line_collide()convex_hull_collide()from_linearized()add_intersection()endpoint_check()tangent_bbox_intersection()bbox_line_intersect()intersect_one_round()prune_candidates()make_same_degree()coincident_parameters()check_lines()all_intersections()BoxIntersectionTypeSubdividedCurveLinearizationself_intersections()
- bezier.hazmat.helpers module
- bezier.hazmat.intersection_helpers module
ZERO_THRESHOLDMAX_NEWTON_ITERATIONSNEWTON_ERROR_RATIOnewton_refine()NewtonSimpleRootNewtonDoubleRootnewton_iterate()full_newton_nonzero()full_newton()IntersectionClassificationIntersectionClassification.FIRSTIntersectionClassification.SECONDIntersectionClassification.OPPOSEDIntersectionClassification.TANGENT_FIRSTIntersectionClassification.TANGENT_SECONDIntersectionClassification.IGNORED_CORNERIntersectionClassification.TANGENT_BOTHIntersectionClassification.COINCIDENTIntersectionClassification.COINCIDENT_UNUSED
IntersectionIntersectionStrategy
- bezier.hazmat.triangle_helpers module
polynomial_sign()two_by_two_det()quadratic_jacobian_polynomial()cubic_jacobian_polynomial()de_casteljau_one_round()make_transform()reduced_to_matrix()specialize_triangle()subdivide_nodes()jacobian_s()jacobian_t()jacobian_both()jacobian_det()classify_tangent_intersection()ignored_edge_corner()ignored_double_corner()ignored_corner()classify_intersection()handle_ends()to_front()get_next_first()get_next_second()get_next_coincident()is_first()is_second()get_next()ends_to_curve()no_intersections()tangent_only_intersections()basic_interior_combine()combine_intersections()evaluate_barycentric()evaluate_barycentric_multi()evaluate_cartesian_multi()compute_edge_nodes()shoelace_for_area()compute_area()
- bezier.hazmat.triangle_intersection module
newton_refine_solve()newton_refine()update_locate_candidates()mean_centroid()locate_point()same_intersection()verify_duplicates()verify_edge_segments()add_edge_end_unused()check_unused()add_intersection()classify_coincident()should_use()triangle_intersections()generic_intersect()geometric_intersect()algebraic_intersect()
- Submodules