本文整理汇总了C#中ISurface.xNor方法的典型用法代码示例。如果您正苦于以下问题:C# ISurface.xNor方法的具体用法?C# ISurface.xNor怎么用?C# ISurface.xNor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISurface
的用法示例。
在下文中一共展示了ISurface.xNor方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: xRad
//static public void GetFittingMesh(ISurface s, double vMid, out List<Vect2> uv, out List<Vect3> xyz)
//{
// FixedPoint[] fits = new FixedPoint[2];
// fits[0] = new FixedPoint(0, vMid);
// fits[1] = new FixedPoint(1, vMid);
// SurfaceCurve midcur = new SurfaceCurve("MidCur", s, fits);
//}
public static void xRad(ISurface s, Vect2 uv, ref Vect3 xyz, ref double k)
{
Vect3 dxu = new Vect3(), dxv = new Vect3(), ddxu = new Vect3(), ddxv = new Vect3(), dduv = new Vect3(), xnor = new Vect3();
s.xCvt(uv, ref xyz, ref dxu, ref dxv, ref ddxu, ref ddxv, ref dduv);
s.xNor(uv, ref xyz, ref xnor);
//calculate first fundamental form
double E = dxu.Norm;
double F = dxu.Dot(dxv);
double G = dxv.Norm;
//double E = BLAS.dot(dxu, dxu);
//double F = BLAS.dot(dxu, dxv);
//double G = BLAS.dot(dxv, dxv);
double detI = E * G - F * F;
//calculate second fundamental form
double e = xnor.Dot(ddxu);
double f = xnor.Dot(dduv);
double g = xnor.Dot(ddxv);
//double e = BLAS.dot(ddxu, xnor);
//double f = BLAS.dot(dduv, xnor);
//double g = BLAS.dot(ddxv, xnor);
double detII = e * g - f * f;
k = detII / detI;
}