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


C# Quaternion.GetEulerAngles方法代码示例

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


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

示例1: Set

        private void Set(Quaternion value)
        {
            if (mRotation.Equals(value))
                return;
            mRotation = value;

            mRotationChanging = true;
            if (!mPitchChanging && !mYawChanging) {
                float roll, pitch, yaw;
                value.GetEulerAngles(out roll, out pitch, out yaw);
                Set(pitch * RAD2DEG, yaw * RAD2DEG);
            }
            if (!mVectorChanging)
                mLookAtVector = Vector3.UnitX * value;

                if (Changed != null)
                    Changed(this, null);
                mRotationChanging = false;
        }
开发者ID:JohnMcCaffery,项目名称:ChimeraClean,代码行数:19,代码来源:Rotation.cs

示例2: dirupdate

        bool dirupdate()
        {
            if(MainClass.client.Network.LoginStatusCode!=LoginStatus.Success)
                return true;

            Quaternion myrotation=MainClass.client.Self.RelativeRotation;
            Console.Write(myrotation.ToString()+"\n");

            if(myrotation!=rotation)
            {

                float x,y,z;
                rotation=myrotation;
                rotation.GetEulerAngles(out x, out y, out z);
                this.spinbutton_direction.Value=(int)z*(float)(360.0/(2.0*3.1415));
            }

            return true;
        }
开发者ID:robincornelius,项目名称:omvviewer-light,代码行数:19,代码来源:Movment.cs

示例3: GetXYDiffOfMovement

        static Vector3 GetXYDiffOfMovement(int zAngleFromFace, Quaternion rot, double distance)
        {
            double radAngle = zAngleFromFace / RAD2DEG;
            rot.Normalize();
            float rx, ry, rz;
            rot.GetEulerAngles(out rx, out rz, out ry);
            //if (rx != 0f || ry != 0f)
            //{
            //    Debug("180 Eulers:  {0} {1} {2}", rx * RAD_TO_DEG, ry * RAD_TO_DEG, rz * RAD_TO_DEG);
            //}
            //else
            //{
            //    Debug("Current Eulers:  {0} {1} {2}", rx * RAD_TO_DEG, ry * RAD_TO_DEG, rz * RAD_TO_DEG);
            //}
            double az = rz + radAngle;


            while (az < 0)
            {
                az += PI2;
            }
            while (az > PI2)
            {
                az -= PI2;
            }

            float xmul = (float)Math.Cos(az);
            float ymul = (float)Math.Sin(az);
            return new Vector3(xmul, ymul, 0) * (float)distance;
        }
开发者ID:drzo,项目名称:opensim4opencog,代码行数:30,代码来源:SimPathStore.cs


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