标签: c math drawing geometry trigonometry
我是否可以创建任何函数来使用基本绘图函数绘制实心圆:
putpixel(x, y);
lineto(x, y);
请注意,它必须使用三角函数(videlicet sin,cos等。)所以我可以轻松地将其转换为六边形甚至更远 - 方形或其他类型的多边形
sin
cos
最后,不一定但总是欣赏如果绘画不是很慢(一个循环应该足够我认为),甚至更不一定,但如果它不是太复杂和/或总是更受欢迎包含比轻量化生活所需的更多线条。
答案 0 :(得分:2)
使用lineto绘制实心圆的最快方法如下
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.一旦有了多边形顶点,就可以根据方程计算每个x1值的x2和y值顶点之间的线条。
x1
x2
y