本文整理汇总了C++中Matrix2::FromAngle方法的典型用法代码示例。如果您正苦于以下问题:C++ Matrix2::FromAngle方法的具体用法?C++ Matrix2::FromAngle怎么用?C++ Matrix2::FromAngle使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Matrix2
的用法示例。
在下文中一共展示了Matrix2::FromAngle方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: kMinimizer
EllipseFit2<Real>::EllipseFit2 (int iQuantity, const Vector2<Real>* akPoint,
Vector2<Real>& rkU, Matrix2<Real>& rkR, Real afD[2], Real& rfError)
{
// Energy function is E : R^5 -> R where
// V = (V0,V1,V2,V3,V4)
// = (D[0],D[1],U.x,U,y,atan2(R[1][0],R[1][1])).
m_iQuantity = iQuantity;
m_akPoint = akPoint;
m_akTemp = WM4_NEW Vector2<Real>[iQuantity];
MinimizeN<Real> kMinimizer(5,Energy,8,8,32,this);
InitialGuess(iQuantity,akPoint,rkU,rkR,afD);
Real fAngle = Math<Real>::ACos(rkR[0][0]);
Real fE0 = afD[0]*Math<Real>::FAbs(rkR[0][0]) +
afD[1]*Math<Real>::FAbs(rkR[0][1]);
Real fE1 = afD[0]*Math<Real>::FAbs(rkR[1][0]) +
afD[1]*Math<Real>::FAbs(rkR[1][1]);
Real afV0[5] =
{
((Real)0.5)*afD[0],
((Real)0.5)*afD[1],
rkU.X() - fE0,
rkU.Y() - fE1,
(Real)0.0
};
Real afV1[5] =
{
((Real)2.0)*afD[0],
((Real)2.0)*afD[1],
rkU.X() + fE0,
rkU.Y() + fE1,
Math<Real>::PI
};
Real afVInitial[5] =
{
afD[0],
afD[1],
rkU.X(),
rkU.Y(),
fAngle
};
Real afVMin[5];
kMinimizer.GetMinimum(afV0,afV1,afVInitial,afVMin,rfError);
afD[0] = afVMin[0];
afD[1] = afVMin[1];
rkU.X() = afVMin[2];
rkU.Y() = afVMin[3];
rkR.FromAngle(afVMin[4]);
WM4_DELETE[] m_akTemp;
}