intersection_line_circleintersection_line_circleIntersectionLineCircleIntersectionLineCircleintersection_line_circle (算子)

名称

intersection_line_circleintersection_line_circleIntersectionLineCircleIntersectionLineCircleintersection_line_circle — 计算直线与圆或圆弧的交点。

签名

intersection_line_circle( : : LineRow1, LineColumn1, LineRow2, LineColumn2, CircleRow, CircleColumn, CircleRadius, CircleStartPhi, CircleEndPhi, CirclePointOrder : Row, Column)

Herror intersection_line_circle(double LineRow1, double LineColumn1, double LineRow2, double LineColumn2, double CircleRow, double CircleColumn, double CircleRadius, double CircleStartPhi, double CircleEndPhi, const char* CirclePointOrder, double* Row, double* Column)

Herror T_intersection_line_circle(const Htuple LineRow1, const Htuple LineColumn1, const Htuple LineRow2, const Htuple LineColumn2, const Htuple CircleRow, const Htuple CircleColumn, const Htuple CircleRadius, const Htuple CircleStartPhi, const Htuple CircleEndPhi, const Htuple CirclePointOrder, Htuple* Row, Htuple* Column)

void IntersectionLineCircle(const HTuple& LineRow1, const HTuple& LineColumn1, const HTuple& LineRow2, const HTuple& LineColumn2, 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.IntersectionLineCircle(HTuple lineRow1, HTuple lineColumn1, HTuple lineRow2, HTuple lineColumn2, HTuple circleRow, HTuple circleColumn, HTuple circleRadius, HTuple circleStartPhi, HTuple circleEndPhi, HTuple circlePointOrder, out HTuple row, out HTuple column)

def intersection_line_circle(line_row_1: Union[float, int], line_column_1: Union[float, int], line_row_2: Union[float, int], line_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_line_circle_s(line_row_1: Union[float, int], line_column_1: Union[float, int], line_row_2: Union[float, int], line_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_line_circleintersection_line_circleIntersectionLineCircleIntersectionLineCircleIntersectionLineCircleintersection_line_circle calculates the intersection points of a line and a circle or circular arc. The line is defined by the points (LineRow1LineRow1LineRow1LineRow1lineRow1line_row_1,LineColumn1LineColumn1LineColumn1LineColumn1lineColumn1line_column_1) and (LineRow2LineRow2LineRow2LineRow2lineRow2line_row_2,LineColumn2LineColumn2LineColumn2LineColumn2lineColumn2line_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).

执行信息

参数

LineRow1LineRow1LineRow1LineRow1lineRow1line_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 line.

LineColumn1LineColumn1LineColumn1LineColumn1lineColumn1line_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 line.

LineRow2LineRow2LineRow2LineRow2lineRow2line_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 line.

LineColumn2LineColumn2LineColumn2LineColumn2lineColumn2line_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 line.

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_line_circleintersection_line_circleIntersectionLineCircleIntersectionLineCircleIntersectionLineCircleintersection_line_circle 返回值 2 ( H_MSG_TRUE )。

另见

intersection_segment_circleintersection_segment_circleIntersectionSegmentCircleIntersectionSegmentCircleIntersectionSegmentCircleintersection_segment_circle, intersection_circle_contour_xldintersection_circle_contour_xldIntersectionCircleContourXldIntersectionCircleContourXldIntersectionCircleContourXldintersection_circle_contour_xld

模块

基础