0

我有一道数学题。我有 A、B 点的位置 (x,y) 和一个数字 (x)。我想计算点 C、D 的位置。CD 与 AB 垂直且 AC = AD = x。

这是描述我的问题的图片:

我的问题

谁可以帮我这个事?

谢谢

4

2 回答 2

2

您没有指定编程语言,但从您之前的问题来看,您似乎对 iOS 上的 (Objective-)C 和 Core Graphics 有一些经验,因此这将是使用 C 和 Core Graphics 数据结构的解决方案:

// Your input data:
CGPoint A = ...
CGPoint B = ...
CGFloat x = ...

// Vector from A to B:
CGPoint vecAB = CGPointMake(B.x - A.x, B.y - A.y);
// Length of that vector:
CGFloat lenAB = hypotf(vecAB.x, vecAB.y);
// Perpendicular vector, normalized to length 1:
CGPoint perp = CGPointMake(-vecAB.y/lenAB, vecAB.x/lenAB);

CGPoint C = CGPointMake(A.x + x * perp.x, A.y + x * perp.y);
CGPoint D = CGPointMake(A.x - x * perp.x, A.y - x * perp.y);
于 2013-04-30T08:55:43.317 回答
1

您的问题类似于如何在与线的给定垂直距离处找到一个点?. 如果您想了解更多数学细节,可以参考: http: //mathworld.wolfram.com/Point-LineDistance2-Dimensional.html

于 2013-04-30T08:57:08.887 回答