Normalize() public method

public Normalize ( ) : float
return float
Exemplo n.º 1
0
        public static void ApplyScreenDeltaToWorldPos(Vec2 screenDelta, ref Vec3 worldPos)
        {
            Vec3 vec = Camera.FrontVector;

            if ((double)Math.Abs(vec.X) < 0.001 && (double)Math.Abs(vec.Y) < 0.001)
            {
                vec = Camera.UpVector;
            }
            Vec2 vec2 = -vec.XY;

            vec2.Normalize();
            Vec2  vec3 = new Vec2(-vec2.Y, vec2.X);
            float num  = (float)((double)Vec3.Dot(worldPos - Camera.Position, Camera.FrontVector) * Math.Tan((double)Camera.HalfFOV) * 2.0);

            worldPos.X += num * screenDelta.X * vec3.X + num * screenDelta.Y * vec2.X;
            worldPos.Y += num * screenDelta.X * vec3.Y + num * screenDelta.Y * vec2.Y;
        }