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


C# Vertex.VectorProduct方法代码示例

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


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

示例1: EvaluateTrefoil

        Vertex EvaluateTrefoil(float s, float t)
        {
            float TwoPi = (float)Math.PI * 2;
            float a = 0.5f;
            float b = 0.3f;
            float c = 0.5f;
            float d = 0.1f;
            float u = (1 - s) * 2 * TwoPi;
            float v = t * TwoPi;
            float r = (float)(a + b * Math.Cos(1.5f * u));
            float x = (float)(r * Math.Cos(u));
            float y = (float)(r * Math.Sin(u));
            float z = (float)(c * Math.Sin(1.5f * u));

            Vertex dv;
            dv.X = (float)(-1.5f * b * Math.Sin(1.5f * u) * Math.Cos(u) -
                    (a + b * Math.Cos(1.5f * u)) * Math.Sin(u));
            dv.Y = (float)(-1.5f * b * Math.Sin(1.5f * u) * Math.Sin(u) +
                    (a + b * Math.Cos(1.5f * u)) * Math.Cos(u));
            dv.Z = (float)(1.5f * c * Math.Cos(1.5f * u));

            Vertex q = new Vertex(dv);
            q.Normalize();
            Vertex qvn = new Vertex(q.Y, -q.X, 0);
            qvn.Normalize();
            Vertex ww = q.VectorProduct(qvn);

            Vertex range;
            range.X = (float)(x + d * (qvn.X * Math.Cos(v) + ww.X * Math.Sin(v)));
            range.Y = (float)(y + d * (qvn.Y * Math.Cos(v) + ww.Y * Math.Sin(v)));
            range.Z = (float)(z + d * ww.Z * Math.Sin(v));
            return range;
        }
开发者ID:mind0n,项目名称:hive,代码行数:33,代码来源:TrefoilKnot.cs


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