get_points_ellipseget_points_ellipseGetPointsEllipseGetPointsEllipseget_points_ellipse (算子)

名称

get_points_ellipseget_points_ellipseGetPointsEllipseGetPointsEllipseget_points_ellipse — 计算椭圆周长上的点。

签名

get_points_ellipse( : : Angle, Row, Column, Phi, Radius1, Radius2 : RowPoint, ColPoint)

Herror get_points_ellipse(double Angle, double Row, double Column, double Phi, double Radius1, double Radius2, double* RowPoint, double* ColPoint)

Herror T_get_points_ellipse(const Htuple Angle, const Htuple Row, const Htuple Column, const Htuple Phi, const Htuple Radius1, const Htuple Radius2, Htuple* RowPoint, Htuple* ColPoint)

void GetPointsEllipse(const HTuple& Angle, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2, HTuple* RowPoint, HTuple* ColPoint)

static void HMisc::GetPointsEllipse(const HTuple& Angle, double Row, double Column, double Phi, double Radius1, double Radius2, HTuple* RowPoint, HTuple* ColPoint)

static void HMisc::GetPointsEllipse(double Angle, double Row, double Column, double Phi, double Radius1, double Radius2, double* RowPoint, double* ColPoint)

static void HOperatorSet.GetPointsEllipse(HTuple angle, HTuple row, HTuple column, HTuple phi, HTuple radius1, HTuple radius2, out HTuple rowPoint, out HTuple colPoint)

static void HMisc.GetPointsEllipse(HTuple angle, double row, double column, double phi, double radius1, double radius2, out HTuple rowPoint, out HTuple colPoint)

static void HMisc.GetPointsEllipse(double angle, double row, double column, double phi, double radius1, double radius2, out double rowPoint, out double colPoint)

def get_points_ellipse(angle: MaybeSequence[float], row: float, column: float, phi: float, radius_1: float, radius_2: float) -> Tuple[Sequence[float], Sequence[float]]

def get_points_ellipse_s(angle: MaybeSequence[float], row: float, column: float, phi: float, radius_1: float, radius_2: float) -> Tuple[float, float]

描述

get_points_ellipseget_points_ellipseGetPointsEllipseGetPointsEllipseGetPointsEllipseget_points_ellipse returns the point (RowPointRowPointRowPointRowPointrowPointrow_point,ColPointColPointColPointColPointcolPointcol_point) on the specified ellipse corresponding to the angle in AngleAngleAngleAngleangleangle. With the parameter AngleAngleAngleAngleangleangle you are setting the eccentric anomaly, which denotes the angle used for the parametric equation (see the figure below) and refers to the main axis of the ellipse. The ellipse itself is characterized by the center (RowRowRowRowrowrow, ColumnColumnColumnColumncolumncolumn), the orientation of the main axis PhiPhiPhiPhiphiphi relative to the horizontal axis, the length of the larger (Radius1Radius1Radius1Radius1radius1radius_1) and the smaller half axis (Radius2Radius2Radius2Radius2radius2radius_2). The angles are measured counter clockwise in radiant.

image/svg+xml r2 r1 r2 sin(a) r1 cos(a) a P
The point P with its coordinates RowPointRowPointRowPointRowPointrowPointrow_point and ColPointColPointColPointColPointcolPointcol_point belongs to the ellipse (orange). It is determined over the angle a and the lengths of the half axis r1 (Radius1Radius1Radius1Radius1radius1radius_1) and r2 (Radius2Radius2Radius2Radius2radius2radius_2). For simplicity of the visualization and angle PhiPhiPhiPhiphiphi='0'"0""0""0""0""0" was used.

执行信息

参数

AngleAngleAngleAngleangleangle (输入控制)  angle.rad(-array) HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)

Angle corresponding to the resulting point [rad].

默认值: 0

限制: Angle >= 0 && Angle <= 6.283185307

RowRowRowRowrowrow (输入控制)  ellipse.center.y HTuplefloatHTupleHtuple (real) (double) (double) (double)

Row coordinate of the center of the ellipse.

ColumnColumnColumnColumncolumncolumn (输入控制)  ellipse.center.x HTuplefloatHTupleHtuple (real) (double) (double) (double)

Column coordinate of the center of the ellipse.

PhiPhiPhiPhiphiphi (输入控制)  ellipse.angle.rad HTuplefloatHTupleHtuple (real) (double) (double) (double)

主轴方向 [弧度]。

限制: Phi >= 0 && Phi <= 6.283185307

Radius1Radius1Radius1Radius1radius1radius_1 (输入控制)  ellipse.radius1 HTuplefloatHTupleHtuple (real) (double) (double) (double)

Length of the larger half axis.

限制: Radius1 > 0

Radius2Radius2Radius2Radius2radius2radius_2 (输入控制)  ellipse.radius2 HTuplefloatHTupleHtuple (real) (double) (double) (double)

Length of the smaller half axis.

限制: Radius2 >= 0

RowPointRowPointRowPointRowPointrowPointrow_point (输出控制)  point.y(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Row coordinate of the point on the ellipse.

ColPointColPointColPointColPointcolPointcol_point (输出控制)  point.x(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Column coordinates of the point on the ellipse.

示例(HDevelop)

draw_ellipse(WindowHandle,Row,Column,Phi,Radius1,Radius2)
get_points_ellipse([0,3.14],Row,Column,Phi,Radius1,Radius2,\
                   RowPoint,ColPoint)

结果

get_points_ellipseget_points_ellipseGetPointsEllipseGetPointsEllipseGetPointsEllipseget_points_ellipse returns 2 ( H_MSG_TRUE) if all parameter values are correct。如有必要,则抛出异常。

可能的前趋

fit_ellipse_contour_xldfit_ellipse_contour_xldFitEllipseContourXldFitEllipseContourXldFitEllipseContourXldfit_ellipse_contour_xld, draw_ellipsedraw_ellipseDrawEllipseDrawEllipseDrawEllipsedraw_ellipse, gen_ellipse_contour_xldgen_ellipse_contour_xldGenEllipseContourXldGenEllipseContourXldGenEllipseContourXldgen_ellipse_contour_xld

另见

gen_ellipse_contour_xldgen_ellipse_contour_xldGenEllipseContourXldGenEllipseContourXldGenEllipseContourXldgen_ellipse_contour_xld

模块

基础