matplotlib.bezier
#
Bezier 경로 조작과 관련된 일부 유틸리티 기능을 제공하는 모듈입니다.
- 클래스 matplotlib.bezier. BezierSegment ( control_points ) [소스] #
베이스:
object
d차원 베지어 세그먼트.
- 매개변수 :
- control_points (N, d) 배열
N 제어점 의 위치 .
- axis_aligned_extrema ( ) [소스] #
곡선 내부 극단의 치수와 위치를 반환합니다.
극한값은 부분 도함수 중 하나가 0인 곡선을 따라 있는 지점입니다.
- 반환 :
- int의 희미한 배열
색인\(i\)각 내부 극한값에서 0인 편도함수.
- float의 dzeros 배열
딤스와 같은 크기. 그만큼\(t\)그렇게\(d/dx_i B(t) = 0\)
- 속성 control_points #
곡선의 제어점.
- 재산 정도 #
다항식의 차수. 제어점 수가 하나 적습니다.
- 속성 차원 #
곡선의 치수입니다.
- 속성 polynomial_coefficients #
베지어 곡선의 다항식 계수.
경고
의 반대 규칙을 따릅니다
numpy.polyval
.- 반환 :
- (n+1, d) 배열
다항식으로 확장한 후의 계수, 여기서\(n\) 는 베지어 곡선의 정도이고\(d\)그것의 차원. 이들은 숫자(\(C_j\)) 곡선을 쓸 수 있도록\(\sum_{j=0}^n C_j t^j\).
메모
계수는 다음과 같이 계산됩니다.
\[{n \choose j} \sum_{i=0}^j (-1)^{i+j} {j \choose i} P_i\]어디\(P_i\)곡선의 제어점입니다.
- 예외 matplotlib.bezier. NonIntersectingPathException [출처] #
베이스:
ValueError
- matplotlib.bezier. check_if_parallel ( dx1 , dy1 , dx2 , dy2 , 공차 = 1e-05 ) [출처] #
두 선이 평행한지 확인합니다.
- 매개변수 :
- dx1, dy1, dx2, dy2 플로트
두 선의 그래디언트 dy / dx .
- 공차 플로트
선이 평행한 것으로 간주되는 라디안 단위의 각도 공차입니다.
- 반환 :
- is_parallel
두 선이 같은 방향으로 평행한 경우 1입니다.
두 선이 반대 방향으로 평행한 경우 -1입니다.
그렇지 않으면 거짓입니다.
- matplotlib.bezier. find_bezier_t_intersecting_with_closedpath ( bezier_point_at_t , inside_closedpath , t0 = 0.0 , t1 = 1.0 , tolerance = 0.01 ) [출처] #
닫힌 경로가 있는 베지어 곡선의 교차점을 찾습니다.
교차점 t 는 t0 <= t <= t1 이 되도록 두 개의 매개변수 t0 , t1 에 의해 근사화됩니다 .
검색은 t0 및 t1 에서 시작 하고 간단한 이등분 알고리즘을 사용하므로 끝점 중 하나는 경로 내부에 있어야 하고 다른 하나는 그렇지 않아야 합니다. t0 및 t1 에 의해 매개변수화된 점의 거리가 주어진 허용 오차 보다 작아지면 검색이 중지됩니다 .
- 매개변수 :
- bezier_point_at_t 호출 가능
매개변수 t 에서 베지어의 x, y 좌표를 반환하는 함수 . 서명이 있어야 합니다.
bezier_point_at_t(t: float) -> tuple[float, float]
- inside_closedpath 호출 가능
주어진 점(x, y)이 닫힌 경로 안에 있으면 True를 반환하는 함수입니다. 서명이 있어야 합니다.
inside_closedpath(point: tuple[float, float]) -> bool
- t0, t1 플로트
검색을 위한 시작 매개변수입니다.
- 공차 플로트
최종 지점 사이의 최대 허용 거리.
- 반환 :
- t0, t1 플로트
베지어 경로 매개변수.
- matplotlib.bezier. find_control_points ( c1x , c1y , mmx , mmy , c2x , c2y ) [출처] #
파라메트릭 값 0, 0.5 및 1에서 ( c1x , c1y ), ( mmx , mmy ) 및 ( c2x , c2y ) 를 통과하는 베지어 곡선의 제어점을 찾습니다 .
- matplotlib.bezier. get_intersection ( cx1 , cy1 , cos_t1 , sin_t1 , cx2 , cy2 , cos_t2 , sin_t2 ) [출처] #
각도 t1 에서 ( cx1 , cy1 )을 통과하는 선과 각도 t2 에서 ( cx2 , cy2 )를 통과하는 선 사이의 교차점을 반환합니다 .
- matplotlib.bezier. get_normal_points ( cx , cy , cos_t , sin_t , 길이 ) [출처] #
( cx , cy ) 를 지나고 각이 t 인 직선에 대해 길이 의 거리에서 수직선을 따라 위치한 두 점의 위치를 반환합니다 .
- matplotlib.bezier. get_parallels ( 베지어2 , 너비 ) [소스] #
2차 베지어 제어점 bezier2 가 주어지면 너비 로 구분된 2차 베지어 선과 대략 평행한 2차 베지어 선의 제어점을 반환합니다 .
- matplotlib.bezier. inside_circle ( cx , cy , r ) [출처] #
점이 중심( cx , cy )과 반지름이 r 인 원 안에 있는지 확인하는 함수를 반환합니다 .
반환된 함수에는 서명이 있습니다.
f(xy: tuple[float, float]) -> bool
- matplotlib.bezier. make_wedged_bezier2 ( 베지어2 , 너비 , w1 = 1.0 , wm = 0.5 , w2 = 0.0 ) [출처] #
get_parallels와 유사하므로 width 로 구분된 주어진 선과 거의 평행한 너비를 갖는 두 개의 2차 베지어 선의 제어점을 반환 합니다 .
- matplotlib.bezier. split_bezier_intersecting_with_closedpath ( 베지어 , inside_closedpath , 공차 = 0.01 ) [출처] #
닫힌 경로가 있는 교차점에서 베지어 곡선을 두 개로 분할합니다.
- 매개변수 :
- 베지어 (N, 2) 배열형
베지어 세그먼트의 제어점. 참조하십시오
BezierSegment
.- inside_closedpath 호출 가능
주어진 점(x, y)이 닫힌 경로 안에 있으면 True를 반환하는 함수입니다. 또한 참조하십시오
find_bezier_t_intersecting_with_closedpath
.- 공차 플로트
교차에 대한 공차입니다. 또한 참조하십시오
find_bezier_t_intersecting_with_closedpath
.
- 반환 :
- 왼쪽 오른쪽
두 개의 베지어 세그먼트에 대한 제어점 목록입니다.