我想在一个圆圈上找到 Y 值。给定的是中心、半径和一些 X 值。例如:中心是 10,10,半径是 5。如果 X=(centerX - radius),X=centerX - radius +1,则 Y 值是多少,... X = centerX + radius。我明白每个 X 会有 2 个结果。我需要这个方程来使用 Arduino(C++)在 LED 矩阵上画一个圆圈
从公式开始
(x-a)² + (y-b)² = r²
在哪里
r = radius
a = centerX
b = centerY
x = x coordinate of point on circle
y = y coordinate of point on circle
y 的方程应该是:
y = sq(r²-x² + 2a - a² + 2b - b²)
但是我的矩阵上没有一个圆圈……当我为某些 x 值手动计算 y 时,在取平方根之前,我大多会得到一个负数。当然,负数的平方根不存在。当然编译器不会给出任何错误信息。
y = sq((r * r) - (x * x) + (2 * a) - (a * a) + (2 * b) - (b * b))