【问题标题】:How to calculate the (x or y) coordinate of point on a circumference of a circle?如何计算圆周上点的(x或y)坐标?
【发布时间】:2011-01-05 13:18:22
【问题描述】:

pxpy 是圆周上一点的 x 和 y 坐标。

给定:

the center of the circle as: cx, cy
the radius of the circle as: r
px

py的值如何计算?谢谢!

【问题讨论】:

  • 为什么会有Objective-C标签?
  • 欢迎使用 c 或 Objective-c 中的代码

标签: objective-c c math


【解决方案1】:

给定 px,py 最多有两个可能的值。

看看勾股定理:(px-cx)^2+(py-cy)^2=r^2。

令 d=r^2-(px-cx)^2

如果 d>0 那么你有两个解决方案。这给出了 py=sqrt(d)+cy,其中平方根为正或负。

如果 d=0 那么你有一个解 py=cy,圆的左边还是右边,取决于 px

如果 d

【讨论】:

  • 实际上,对于给定的px,有一个、两个或零个解决方案。两个如果r^2 - (px - cx)^2 > 0,一个如果r^2 - (px - cx)^2 == 0(或r == abs(px - cx)),否则为零(在这种情况下,平方根是虚数)。
  • @Mike 你是对的。没有考虑非复数(反正我的钱是虚构的 :-)
【解决方案2】:

虽然这不是编程......你知道这个方程对吗?

(x - h)^2 + (y - k)^2 = r^2

你有来自 cx 和 cy 的 h 和 k

你有 r

你有来自 px 的 x

那么就很容易解决了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-23
    • 1970-01-01
    相关资源
    最近更新 更多