intersection_segment_circleintersection_segment_circleIntersectionSegmentCircleIntersectionSegmentCircleintersection_segment_circle (算子)
名称
intersection_segment_circleintersection_segment_circleIntersectionSegmentCircleIntersectionSegmentCircleintersection_segment_circle — 计算线段与圆或圆弧的交点。
签名
intersection_segment_circle( : : SegmentRow1, SegmentColumn1, SegmentRow2, SegmentColumn2, CircleRow, CircleColumn, CircleRadius, CircleStartPhi, CircleEndPhi, CirclePointOrder : Row, Column)
Herror intersection_segment_circle(double SegmentRow1, double SegmentColumn1, double SegmentRow2, double SegmentColumn2, double CircleRow, double CircleColumn, double CircleRadius, double CircleStartPhi, double CircleEndPhi, const char* CirclePointOrder, double* Row, double* Column)
Herror T_intersection_segment_circle(const Htuple SegmentRow1, const Htuple SegmentColumn1, const Htuple SegmentRow2, const Htuple SegmentColumn2, const Htuple CircleRow, const Htuple CircleColumn, const Htuple CircleRadius, const Htuple CircleStartPhi, const Htuple CircleEndPhi, const Htuple CirclePointOrder, Htuple* Row, Htuple* Column)
void IntersectionSegmentCircle(const HTuple& SegmentRow1, const HTuple& SegmentColumn1, const HTuple& SegmentRow2, const HTuple& SegmentColumn2, const HTuple& CircleRow, const HTuple& CircleColumn, const HTuple& CircleRadius, const HTuple& CircleStartPhi, const HTuple& CircleEndPhi, const HTuple& CirclePointOrder, HTuple* Row, HTuple* Column)
static void HOperatorSet.IntersectionSegmentCircle(HTuple segmentRow1, HTuple segmentColumn1, HTuple segmentRow2, HTuple segmentColumn2, HTuple circleRow, HTuple circleColumn, HTuple circleRadius, HTuple circleStartPhi, HTuple circleEndPhi, HTuple circlePointOrder, out HTuple row, out HTuple column)
def intersection_segment_circle(segment_row_1: Union[float, int], segment_column_1: Union[float, int], segment_row_2: Union[float, int], segment_column_2: Union[float, int], circle_row: Union[float, int], circle_column: Union[float, int], circle_radius: Union[float, int], circle_start_phi: float, circle_end_phi: float, circle_point_order: str) -> Tuple[Sequence[float], Sequence[float]]
def intersection_segment_circle_s(segment_row_1: Union[float, int], segment_column_1: Union[float, int], segment_row_2: Union[float, int], segment_column_2: Union[float, int], circle_row: Union[float, int], circle_column: Union[float, int], circle_radius: Union[float, int], circle_start_phi: float, circle_end_phi: float, circle_point_order: str) -> Tuple[float, float]
描述
intersection_segment_circleintersection_segment_circleIntersectionSegmentCircleIntersectionSegmentCircleIntersectionSegmentCircleintersection_segment_circle calculates the intersection point of
a segment and a circle or circular arc. The segment is defined by its
endpoints (SegmentRow1SegmentRow1SegmentRow1SegmentRow1segmentRow1segment_row_1,SegmentColumn1SegmentColumn1SegmentColumn1SegmentColumn1segmentColumn1segment_column_1) and
(SegmentRow2SegmentRow2SegmentRow2SegmentRow2segmentRow2segment_row_2,SegmentColumn2SegmentColumn2SegmentColumn2SegmentColumn2segmentColumn2segment_column_2). The circle is defined
by its center (CircleRowCircleRowCircleRowCircleRowcircleRowcircle_row,CircleColumnCircleColumnCircleColumnCircleColumncircleColumncircle_column) and its radius
CircleRadiusCircleRadiusCircleRadiusCircleRadiuscircleRadiuscircle_radius. In addition to that, a circular arc is characterized
by the angle of the start point CircleStartPhiCircleStartPhiCircleStartPhiCircleStartPhicircleStartPhicircle_start_phi, the angle of the
end point CircleEndPhiCircleEndPhiCircleEndPhiCircleEndPhicircleEndPhicircle_end_phi, and the point order
CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrdercircle_point_order along the boundary.
If CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrdercircle_point_order is set to 'positive'"positive""positive""positive""positive""positive", the circular arc
is defined counterclockwise.
If CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrdercircle_point_order is set to 'negative'"negative""negative""negative""negative""negative", the circular arc
is defined clockwise.
The intersection points, if any, are returned in
(RowRowRowRowrowrow,ColumnColumnColumnColumncolumncolumn).
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
参数
SegmentRow1SegmentRow1SegmentRow1SegmentRow1segmentRow1segment_row_1 (输入控制) point.y → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Row coordinate of the first point of the segment.
SegmentColumn1SegmentColumn1SegmentColumn1SegmentColumn1segmentColumn1segment_column_1 (输入控制) point.x → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Column coordinate of the first point of the segment.
SegmentRow2SegmentRow2SegmentRow2SegmentRow2segmentRow2segment_row_2 (输入控制) point.y → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Row coordinate of the second point of the segment.
SegmentColumn2SegmentColumn2SegmentColumn2SegmentColumn2segmentColumn2segment_column_2 (输入控制) point.x → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Column coordinate of the second point of the segment.
CircleRowCircleRowCircleRowCircleRowcircleRowcircle_row (输入控制) circle.center.y → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Row coordinate of the center of the circle or
circular arc.
CircleColumnCircleColumnCircleColumnCircleColumncircleColumncircle_column (输入控制) circle.center.x → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Column coordinate of the center of the circle or
circular arc.
CircleRadiusCircleRadiusCircleRadiusCircleRadiuscircleRadiuscircle_radius (输入控制) circle.radius → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
圆或圆弧的半径。
CircleStartPhiCircleStartPhiCircleStartPhiCircleStartPhicircleStartPhicircle_start_phi (输入控制) angle.rad → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Angle of the start point of the circle or
circular arc [rad].
默认值:
0.0
CircleEndPhiCircleEndPhiCircleEndPhiCircleEndPhicircleEndPhicircle_end_phi (输入控制) angle.rad → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Angle of the end point of the circle or
circular arc [rad].
默认值:
6.28318
CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrdercircle_point_order (输入控制) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Point order along the circle or circular arc.
默认值:
'positive'
"positive"
"positive"
"positive"
"positive"
"positive"
值列表:
'negative'"negative""negative""negative""negative""negative", 'positive'"positive""positive""positive""positive""positive"
RowRowRowRowrowrow (输出控制) point.y(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Row coordinates of the intersection points.
ColumnColumnColumnColumncolumncolumn (输出控制) point.x(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Column coordinates of the intersection points.
结果
如果参数有效,算子 intersection_segment_circleintersection_segment_circleIntersectionSegmentCircleIntersectionSegmentCircleIntersectionSegmentCircleintersection_segment_circle 返回值 2 ( H_MSG_TRUE )。
替代
intersection_circle_contour_xldintersection_circle_contour_xldIntersectionCircleContourXldIntersectionCircleContourXldIntersectionCircleContourXldintersection_circle_contour_xld
另见
intersection_line_circleintersection_line_circleIntersectionLineCircleIntersectionLineCircleIntersectionLineCircleintersection_line_circle
模块
基础