SharpMath.Ray.TurnAboutOrtho C# (CSharp) Méthode

TurnAboutOrtho() public méthode

public TurnAboutOrtho ( float3 _Axis, float _fAngle ) : Ray
_Axis float3
_fAngle float
Résultat Ray
        public Ray TurnAboutOrtho( float3 _Axis, float _fAngle )
        {
            float	fCos = m_Aim.Dot( _Axis );
            float	fSin = (float) System.Math.Sqrt( 1.0f - fCos * fCos );

            float3	Z = m_Aim.Cross( _Axis );
            float3	X = _Axis.Cross( Z );
            float3	Temp = new float3( (float) (fSin * System.Math.Cos( _fAngle ) - fCos * System.Math.Sin( _fAngle )), (float) (fSin * System.Math.Sin( _fAngle ) + fCos * System.Math.Cos( _fAngle )), 0.0f );

            m_Aim = Temp.x * X + Temp.y * _Axis;

            return	this;
        }