【问题标题】:Getting a point from a vector, length and angle从向量、长度和角度获取一个点
【发布时间】:2017-05-31 18:51:37
【问题描述】:

使用下图,如果我们知道向量“点 A”和“点 B”以及边长 a、b、c。是否可以获得点 D 和 C 的精确向量?

我当前生成这个立方体顶点的代码,但是,这仅在边 a 和 b 长度相等时才有效。

void GenTriangleC() {
    triC [0] = pointB;
    triC [1] = pointA;
    triC [2] = new Vector3 (pointA.x + sideB, pointA.y + sideA, 0); 
    triC [3] = triC [0];
    triC [4] = triC [2];
    triC [5] = new Vector3 (pointB.x + sideB, pointB.y + sideA);
}

【问题讨论】:

  • 呃,这完全是一道数学题,对吧?除非您尝试在代码中实现它并分享您不成功的尝试,否则不幸的是,它与 Stack Overflow 无关。你考虑过math.stackexchange.com吗?
  • 在我回答问题后才意识到。
  • 对不起,我已经添加了代码。

标签: c# unity3d logic unity5


【解决方案1】:

从图中看来,您可以这样做:

D.x = A.x + a

D.y = A.y + b

C.x = B.x + a

C.y = B.y + b

下面是说明数学的图表:

1

我通过在 c 边的正方形周围绘制相同的三角形 (a,b,c) 来可视化这一点。但是,由于我们只是处理图表而不是代码,因此对于 math.stackexchange.com 来说,这可能是一个更好的问题

【讨论】:

  • 感谢您的回复,我已尝试实施您的解决方案,但是,如果 a 和 b 的长度相等,它似乎才能正常工作。
  • 我的第一个答案是错误的,并且 a 和 b 出现在错误的位置。可以再试一次吗?
猜你喜欢
  • 1970-01-01
  • 2016-05-18
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 2015-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多