使用三角函数绘制实心圆

时间:2015-08-03 20:18:32

标签: c math drawing geometry trigonometry

我是否可以创建任何函数来使用基本绘图函数绘制实心圆:

  • putpixel(x, y);
  • lineto(x, y);

请注意,它必须使用三角函数(videlicet sincos等。)所以我可以轻松地将其转换为六边形甚至更远 - 方形或其他类型的多边形 enter image description here

最后,不一定但总是欣赏如果绘画不是很慢(一个循环应该足够我认为),甚至更不一定,但如果它不是太复杂和/或总是更受欢迎包含比轻量化生活所需的更多线条。

1 个答案:

答案 0 :(得分:2)

使用lineto绘制实心圆的最快方法如下

for each value of y that lies within the circle
{
    compute the corresponding x values
    draw a line between (x1,y) and (x2,y)
}

enter image description here

要将圆转换为多边形,您可以根据圆的半径和每个顶点的角度计算多边形的顶点。例如,对于六边形,角度为0度,60度,120度,180度,240度和300度。对于正方形,角度为45,135,225和315.一旦有了多边形顶点,就可以根据方程计算每个x1值的x2y值顶点之间的线条。

enter image description here