Beispiel #1
0
        public bool IntersectsRay(Ray2D ray, out float t)
        {
            Vector2 invRadii    = new Vector2(1.0f / Radii.x, 1.0f / Radii.y);
            Ray2D   adjustedRay = new Ray2D(Vector2.Scale(ray.Origin, invRadii), Vector2.Scale(ray.Direction, invRadii));

            Circle2D circle = new Circle2D(Vector2.Scale(Center, invRadii), 1.0f);

            return(circle.Raycast(adjustedRay, out t));
        }