Unity已知一角度,一边长度 拿到所有三角形所有点位和坐标

//代码如下可以复制玩一玩
private void Demo3()
{
//先获取距离原点向右偏移30° 长度为十米的坐标点 transform.TransformPoint(0, 0, 10)
transform.eulerAngles = new Vector3(0, 30, 0);
float ac = new Vector3(5.0f, 0.0f, 8.7f).magnitude; //这个模长=10
Debug.Log(ac);
//做bc辅助线 ac垂直与bc 根据sin公式 对边/斜边 所以对边 bc= 斜边*sin30°
float bc = Mathf.Sin(Mathf.Deg2Rad * (30)) * new Vector3(5.0f, 0.0f, 8.7f).magnitude;
print(bc);
//再根据直角三角形公式 a²+b²=c² ab也能得出
float ab = Mathf.Sqrt(Mathf.Pow(ac, 2) - Mathf.Pow(bc, 2));
print(ab);
//在把旋转角度转回来
transform.eulerAngles = new Vector3(0, 0, 0);
Vector3 c = new Vector3(5.0f, 0.0f, 8.7f);
Vector3 b = transform.TransformPoint(new Vector3(0, 0, 8.6f));
Vector3 a = transform.position;
Debug.DrawLine(a, c, Color.red); //a-c
Debug.DrawLine(a, b, Color.green);// a-b
Debug.DrawLine(c, b, Color.blue); ///c-b
}
