У меня есть треугольник в 3d и линия, они лежат в одной плоскости.Как я могу сопоставить 5 точек с 3d на 2d?
Я могу преобразовать треугольник в 2d, но не могу сделать то же самое с линией.
Vector2[] ConvertTo2d(Vector3 a, Vector3 b, Vector3 c)
{
var aN = new Vector2(0, 0);
var bN = new Vector2(0, 0);
bN.x = Mathf.Sqrt(Mathf.Pow(b.x - a.x, 2f) + Mathf.Pow(b.y - a.y, 2f) + Mathf.Pow(b.z - a.z, 2f));
var cN = new Vector2(0, 0);
cN.x = ((b.x - a.x) * (c.x - a.x) +
(b.y - a.y) * (c.y - a.y) +
(b.z - a.z) * (c.z - a.z)) / bN.x;
cN.y = Mathf.Sqrt(Mathf.Pow(c.x - a.x, 2f) + Mathf.Pow(c.y - a.y, 2f) + Mathf.Pow(c.z - a.z, 2f) - Mathf.Pow(cN.x, 2f));
return new[] {aN, bN, cN};
}