推导并试验中点bh算法
时间: 2023-12-10 15:34:56 浏览: 108
以下是中点Bh算法的推导和Python实现:
中点Bh算法的推导:
1. 首先,我们需要将抛物线函数转换为标准形式:y^2=100x
2. 然后,我们需要将抛物线函数转换为参数形式:x=t, y=10*sqrt(t)
3. 接下来,我们需要将参数形式的抛物线函数转换为整数形式,即将坐标值乘以一个倍数k,使得坐标值为整数。这里我们取k=10,即x=10t, y=100sqrt(t)
4. 然后,我们需要将坐标轴平移,使得抛物线的顶点位于坐标原点。这里我们将x轴平移50个单位,y轴平移50个单位,即x=10t-50, y=100sqrt(t)-50
5. 最后,我们需要将坐标轴旋转45度,使得抛物线的一段变为水平线段。这里我们采用中点Bh算法进行扫描转换。
中点Bh算法的Python实现:
```python
import matplotlib.pyplot as plt
def midpoint_bh_algorithm(a, b):
x = 0
y = b
d = 1 - b
points = [(x, y)]
while x <= y:
if d < 0:
d += 2 * x + 3
else:
d += 2 * (x - y) + 5
y -= 1
x += 1
points.append((x, y))
return points
points = midpoint_bh_algorithm(100, 100)
x = [p[0] for p in points]
y = [p[1] for p in points]
plt.plot(x, y)
plt.show()
```