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
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.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
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