本文整理汇总了C#中Scientrace.toUnitVector方法的典型用法代码示例。如果您正苦于以下问题:C# Scientrace.toUnitVector方法的具体用法?C# Scientrace.toUnitVector怎么用?C# Scientrace.toUnitVector使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Scientrace
的用法示例。
在下文中一共展示了Scientrace.toUnitVector方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: newPlaneOrthogonalTo
public static Scientrace.Plane newPlaneOrthogonalTo(Scientrace.Location loc, Scientrace.NonzeroVector normalVec,
Scientrace.NonzeroVector helpVec1, Scientrace.NonzeroVector helpVec2)
{
Scientrace.UnitVector unitvec = normalVec.toUnitVector();
Scientrace.UnitVector h1 = helpVec1.toUnitVector();
Scientrace.UnitVector h2 = helpVec2.toUnitVector();
if (h1.dotProduct(h2) >= 1) {
throw new Scientrace.ParallelVectorException(h1,h2, " in newPlaneOrthogonalTo(3) factory method.");
}
Scientrace.UnitVector refvec =
(
(Math.Abs(unitvec.dotProduct(h1)) < 0.8) ?
h1 :
h2
);
Scientrace.NonzeroVector u = unitvec.crossProduct(refvec).tryToUnitVector();
Scientrace.NonzeroVector v = unitvec.crossProduct(u).tryToUnitVector();
return new Scientrace.Plane(loc, u,v);
}
示例2: setRefAxis
public void setRefAxis(Scientrace.NonzeroVector refVec)
{
if (refVec==null) {return;}
this.refVecZ = refVec.toUnitVector();
Scientrace.Plane tPlane = Plane.newPlaneOrthogonalTo(new Scientrace.Location(0,0,0), refVec);
this.refVecX = tPlane.u.toUnitVector();
this.refVecY = tPlane.v.toUnitVector();
}