Вектор из точки перпендикулярно другому вектору?

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Re: Вектор из точки перпендикулярно другому вектору?

Сообщение Bill Gates 17 ноя 2017, 11:01

Наивное решение

Синтаксис:
Используется csharp
public class ProjectOnVector : MonoBehaviour
{
    /// <summary>
    /// Точка, из которой опускают перпендикуляр
    /// </summary>
    [SerializeField]
    private Transform tA;

    /// <summary>
    /// Вектор, на который опускают перпендикуляр
    /// </summary>
    [SerializeField]
    private Transform tB;
   
    void Update ()
    {
        float cos = Mathf.Cos (Vector3.Angle (tA.position, tB.position) * Mathf.Deg2Rad);

        Vector3 p = tA.position.magnitude * cos * tB.position.normalized;

        Debug.DrawLine (Vector3.zero, tA.position, Color.green);
        Debug.DrawLine (Vector3.zero, tB.position, Color.blue);

        /* Перпендикуляр */
        Debug.DrawLine (tA.position, p, Color.red);
    }
}
 
Bill Gates
UNIт
 
Сообщения: 127
Зарегистрирован: 16 июл 2015, 11:27

Пред.

Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 30