Страница 1 из 1

Перпендикуляр к двум точкам

СообщениеДобавлено: 14 июн 2018, 01:53
Pollux
Доброго времени суток. Требуется найти координаты точки D, если известны координаты A, B, C. В моем понятии в юнити вектор2/3 это координата, позиция в пространстве. Весь вечер рыл гугл и уже совсем запутался: где то говорится о векторе как о направлении, где-то говорится как о длине стороны в итоге я совсем уже в замешательстве. Подскажите, как найти точку D, и, если не сложно, с пояснениями. Спасибо.
Изображение

Re: Перпендикуляр к двум точкам

СообщениеДобавлено: 14 июн 2018, 02:35
waruiyume
Синтаксис:
Используется csharp
using UnityEngine;

public class PrjTest : MonoBehaviour
{
    public Vector3 a = new Vector3(2, 10, 0);
    public Vector3 b = new Vector3(3, 5, 0);
    public Vector3 c = new Vector3(1.5f, 6.3f, 0);

    void Update()
    {
        var ab = b-a;
        var ac = c-a;
        var d = Vector3.Project(ac, ab)+a;
        Debug.DrawLine(a, b);
        Debug.DrawRay(c, Vector3.up*0.1f, Color.green);
        Debug.DrawRay(d, Vector3.up*0.1f, Color.red);
        Debug.DrawRay(a, ac, Color.magenta);
        Debug.DrawLine(c, d, Color.blue);
    }
}

Re: Перпендикуляр к двум точкам

СообщениеДобавлено: 14 июн 2018, 15:03
Pollux
waruiyume, спасибо!