get_points_ellipseget_points_ellipseGetPointsEllipseGetPointsEllipseget_points_ellipse (Operator)

Name

get_points_ellipseget_points_ellipseGetPointsEllipseGetPointsEllipseget_points_ellipse — Calculate points on the perimeter of an ellipse.

Signature

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]

Description

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.

Execution Information

Parameters

AngleAngleAngleAngleangleangle (input_control)  angle.rad(-array) HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)

Angle corresponding to the resulting point [rad].

Default value: 0

Restriction: Angle >= 0 && Angle <= 6.283185307

RowRowRowRowrowrow (input_control)  ellipse.center.y HTuplefloatHTupleHtuple (real) (double) (double) (double)

Row coordinate of the center of the ellipse.

ColumnColumnColumnColumncolumncolumn (input_control)  ellipse.center.x HTuplefloatHTupleHtuple (real) (double) (double) (double)

Column coordinate of the center of the ellipse.

PhiPhiPhiPhiphiphi (input_control)  ellipse.angle.rad HTuplefloatHTupleHtuple (real) (double) (double) (double)

Orientation of the main axis [rad].

Restriction: Phi >= 0 && Phi <= 6.283185307

Radius1Radius1Radius1Radius1radius1radius_1 (input_control)  ellipse.radius1 HTuplefloatHTupleHtuple (real) (double) (double) (double)

Length of the larger half axis.

Restriction: Radius1 > 0

Radius2Radius2Radius2Radius2radius2radius_2 (input_control)  ellipse.radius2 HTuplefloatHTupleHtuple (real) (double) (double) (double)

Length of the smaller half axis.

Restriction: Radius2 >= 0

RowPointRowPointRowPointRowPointrowPointrow_point (output_control)  point.y(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Row coordinate of the point on the ellipse.

ColPointColPointColPointColPointcolPointcol_point (output_control)  point.x(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Column coordinates of the point on the ellipse.

Example (HDevelop)

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

Result

get_points_ellipseget_points_ellipseGetPointsEllipseGetPointsEllipseGetPointsEllipseget_points_ellipse returns 2 (H_MSG_TRUE) if all parameter values are correct. If necessary, an exception is raised.

Possible Predecessors

fit_ellipse_contour_xldfit_ellipse_contour_xldFitEllipseContourXldFitEllipseContourXldFitEllipseContourXldfit_ellipse_contour_xld, draw_ellipsedraw_ellipseDrawEllipseDrawEllipseDrawEllipsedraw_ellipse, gen_ellipse_contour_xldgen_ellipse_contour_xldGenEllipseContourXldGenEllipseContourXldGenEllipseContourXldgen_ellipse_contour_xld

See also

gen_ellipse_contour_xldgen_ellipse_contour_xldGenEllipseContourXldGenEllipseContourXldGenEllipseContourXldgen_ellipse_contour_xld

Module

Foundation