【发布时间】:2017-11-30 01:50:33
【问题描述】:
所以我有以下函数来生成 3 个矢量点让我们创建一个三角形:
private Vector3[] GetFieldOfViewPoint() {
float Range = 3f;
float Angle = 45;
Vector3 offset = new Vector3(0, Range, 0);
Quaternion rotation1 = Quaternion.Euler(0, 0, -Angle / 2);
Quaternion rotation2 = Quaternion.Euler(0, 0, Angle / 2);
return new Vector3[3] {
transform.position,
(rotation1 * offset) + transform.position,
(rotation2 * offset) + transform.position
};
}
我遇到的问题是,当我增加角度时,范围会减小,这对我来说确实有意义。
例如45角:
135 角:
我需要帮助的问题是如何修改计算以保持范围线(最远的绿色直线)一致,而不管角度如何(上限为 170 度)?
我可以让范围随角度移动,但进行随机计算,但它不一致并且不起作用(至少对于我尝试过的随机数)。我也考虑过斜边公式,但我只知道 1 边的长度(即范围)。
对此的任何帮助都会很棒。
【问题讨论】:
-
Trigonometry。求解 x。
-
如果您像 Draco 建议的那样将该三角形一分为二,您可以使用“The Law of Sines”来解决它。你会在Mathematics 得到完整的答案;主要问题是与语言无关的三角问题。