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
Curve
Curve.from_nodes()
Curve.length
Curve.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.degree
Curve.dimension
Curve.nodes
- bezier.curved_polygon module
- bezier.triangle module
Triangle
Triangle.from_nodes()
Triangle.area
Triangle.edges
Triangle.evaluate_barycentric()
Triangle.evaluate_barycentric_multi()
Triangle.evaluate_cartesian()
Triangle.evaluate_cartesian_multi()
Triangle.plot()
Triangle.subdivide()
Triangle.is_valid
Triangle.locate()
Triangle.intersect()
Triangle.elevate()
Triangle.to_symbolic()
Triangle.implicitize()
Triangle.degree
Triangle.dimension
Triangle.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()
BoxIntersectionType
SubdividedCurve
Linearization
self_intersections()
- bezier.hazmat.helpers module
- bezier.hazmat.intersection_helpers module
ZERO_THRESHOLD
MAX_NEWTON_ITERATIONS
NEWTON_ERROR_RATIO
newton_refine()
NewtonSimpleRoot
NewtonDoubleRoot
newton_iterate()
full_newton_nonzero()
full_newton()
IntersectionClassification
IntersectionClassification.FIRST
IntersectionClassification.SECOND
IntersectionClassification.OPPOSED
IntersectionClassification.TANGENT_FIRST
IntersectionClassification.TANGENT_SECOND
IntersectionClassification.IGNORED_CORNER
IntersectionClassification.TANGENT_BOTH
IntersectionClassification.COINCIDENT
IntersectionClassification.COINCIDENT_UNUSED
Intersection
IntersectionStrategy
- 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