使用三角法绘制实心圆
我是否可以创建任何function,以便使用基本绘图function绘制实心圆:
putpixel(x, y);
-
lineto(x, y);
?
请注意,它必须使用三角函数(videlicet sin
, cos
等…), 因此我可以轻松地将其转换为六边形甚至更远 – 方形或其他类型的多边形。
最后,不一定但总是被欣赏,如果绘图不是很慢(一个循环应该足够我认为),甚至更不一定,但如果它不是太复杂和/或由更多组成,总是更感激比轻量化生活所需的线条。
使用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
值的x1
和x2
值。