使用三角法绘制实心圆

我是否可以创建任何function,以便使用基本绘图function绘制实心圆:

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


请注意,它必须使用三角函数(videlicet sincos等…), 因此我可以轻松地将其转换为六边形甚至更远 – 方形或其他类型的多边形。 在此处输入图像描述


最后,不一定但总是被欣赏,如果绘图不是很慢(一个循环应该足够我认为),甚至更不一定,但如果它不是太复杂和/或由更多组成,总是更感激比轻量化生活所需的线条。

使用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) } 

在此处输入图像描述

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

在此处输入图像描述