예제 #1
0
    private void _visualize(float r, Cone vantageCone)
    {
        float coneHeight = Mathf.Sqrt(1 + r * r);


        vantageCone.Draw(Color.red, coneHeight);
    }
예제 #2
0
    private void _visualize(Vector3 __targetPosition, float r, float lambda, Cone vantageCone, List <Vector2> possibleIntersections, float majorDistance, float minorDistance)
    {
        float coneHeight = Mathf.Sqrt(1 + r * r);


        vantageCone.Draw(Color.red, coneHeight);
        Vector3 intersectionVantagePlane = __targetPosition + vantageCone._midline * coneHeight;

        Debug.DrawLine(__targetPosition, intersectionVantagePlane, Color.black, Mathf.Infinity);
        Debug.DrawLine(__targetPosition, __targetPosition + -_AB, Color.black, Mathf.Infinity);

        Vector3 intersection_ABPlane = __targetPosition + _AB.normalized * checkBetaForPlane(lambda);

        DrawPlane(intersection_ABPlane, -_AB.normalized);

        foreach (Vector2 item in possibleIntersections)
        {
            Ellipse intersectionC = new Ellipse(majorDistance, minorDistance, intersectionVantagePlane, -_AB, 0);
            Ellipse circlePhi     = new Ellipse(r, r, intersection_ABPlane, -_AB);
            circlePhi.Draw(Color.blue);
            intersectionC.Draw(Color.red);
        }
    }