当前位置: 首页>>代码示例>>C#>>正文


C# Scientrace.crossProduct方法代码示例

本文整理汇总了C#中Scientrace.crossProduct方法的典型用法代码示例。如果您正苦于以下问题:C# Scientrace.crossProduct方法的具体用法?C# Scientrace.crossProduct怎么用?C# Scientrace.crossProduct使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Scientrace的用法示例。


在下文中一共展示了Scientrace.crossProduct方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: VectorTransform

 public VectorTransform(Scientrace.NonzeroVector u, Scientrace.NonzeroVector v, int swapz)
 {
     //third base coordinate orthogonal on both u and v.
     Scientrace.Vector w = u.crossProduct(v).tryToUnitVector();
     switch (swapz) {
     case VectorTransform.SWAP_U_WITH_W:
         //for some reasons it might be usefull to change u and w
         this.inituvw(w,v,u);
         break;
     case VectorTransform.SWAP_V_WITH_W:
         //or v and w
         this.inituvw(u,w,v);
         break;
     default:
         //normal init
         this.inituvw(u,v,w);
         break;
     }
 }
开发者ID:JoepBC,项目名称:scientrace,代码行数:19,代码来源:VectorTransform.cs

示例2: getX3DRotationTag

 public string getX3DRotationTag(Scientrace.NonzeroVector fromVector, Scientrace.NonzeroVector toVector)
 {
     Scientrace.Vector r = fromVector.crossProduct(toVector);
     double angle =
     Math.Acos(toVector.normalized().dotProduct(fromVector.normalized())) // the angle to be rotated
     * Math.Sign(r.crossProduct(fromVector).dotProduct(toVector));
     try {
     return "<Transform rotation='"+r.tryToUnitVector().trico()+" "+angle+"' >";
     } catch { // if fromVector has the same direction as toVector, the crossProduct is a zerovector which cannot be normalized.
     return "<Transform>"; //no transformation, just open so it can be closed afterwards
     }
 }
开发者ID:JoepBC,项目名称:scientrace,代码行数:12,代码来源:X3DShapeDrawer.cs

示例3: fillOrtogonalVectors

 public void fillOrtogonalVectors(ref Scientrace.NonzeroVector refVec1, ref Scientrace.NonzeroVector refVec2)
 {
     Scientrace.UnitVector tRefvec = Scientrace.UnitVector.x1vector();
     if (Math.Abs(this.toUnitVector().dotProduct(tRefvec))>0.8) {
     tRefvec = Scientrace.UnitVector.y1vector();
     }
     refVec1 = tRefvec.crossProduct(this).tryToUnitVector();
     refVec2 = refVec1.crossProduct(this).tryToUnitVector();
 }
开发者ID:JoepBC,项目名称:scientrace,代码行数:9,代码来源:NonzeroVector.cs


注:本文中的Scientrace.crossProduct方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。