|
// TK#104923 - yanhua - 11-November-2008
int CDSFitEllipse3D::get_distances
double _DSFITEXPORT CDSFitEllipse3D::get_error(int npts, int /*ndim*/, double **pdActls, CDSFitVals &Vals,
int CDSFitEllipse3D::get_distances(int n, double **pdActls, double **pdNoms, double *t_in,
double *t_out, double *dists, bool /*get_point*/, bool /*signed_dists*/)
t_theta = ellipse_arc_inverse(t_theta, s_start + p * (s_end - s_start), M, N);
http://www.dimcax.com/resource/math/image/o_polygon.gif
CTransform Transform;
Transform.SetAxis(GetAngleVec(),MAJORAXIS);
Transform.SetAxis(cross(GetAngleVec(),GetSurfaceNormal()),MINORAXIS);
Transform.SetAxis(GetSurfaceNormal(),ALIGNAXIS);
Transform.SetOffset(m_Centre);
CPoint3 NewPoint;
Transform.aaforw(ROTANDTRANS,Point,NewPoint);
double xc=0, yc=0;
double ret = CDSFitEllipse2D::closest_point_on_ellipse(m_radius1, m_radius2, 0, 0,
GetCurvePerUnitDeviation |
|