绘制从圆圈突出的线条

时间:2010-02-02 19:38:43

标签: trigonometry processing.js

所以我一直在忙着http://processingjs.org/

我想绘制一个圆圈,其上有一串突出的线条。这些线中的每条线都应垂直于圆的切线。

我不一定需要知道如何在processing.js中执行此操作,但我并不记得我的三角函数,所以绘制此行所需的数学解释更有帮助,但如果你知道如何在processing.js中做到这一点,这也很酷。

感谢。

4 个答案:

答案 0 :(得分:2)

如果直线垂直于圆的切线,如果延伸,它将穿过圆的中心。如果您的圆以(a,b)为中心,半径为r,并且您希望它以角度t出现,则起点为x1 = a + r cos t,y1 = b + r sin t(我假设你想让线从圆周开始,这是你的问题似乎意味着什么)如果你想要线长为z,你的终点是x2 = x1 + z cos t,y2 = y1 + z sin t,您可以使用处理命令

line(x1,y1,x2,y2)

编辑:请注意,我的t是从x轴顺时针测量的。如果你想让它逆时针(这在数学上是正常的)你可以在上面的两个地方用-sin t替换sin t,因为处理的y越来越低。

答案 1 :(得分:1)

我建议您忘记切线,然后在想要线条突出的方向上从圆心绘制一条直线。您可以将线偏移半径距离,使其从圆的边缘开始。

答案 2 :(得分:0)

对于圆,垂直于切线的圆将穿过圆的中心。穿过圆心的任何直线都垂直于与圆相交的点处的切线。

答案 3 :(得分:0)

理想情况下,圆圈可以有无限的切线,因此您可以从圆圈中出现无限的线条。

如果我确实理解了您的问题,那么以下内容可能有所帮助。

您可以pick random points lying on a circle然后将它们连接到圆圈的中心。对于实际从圆圈中出来的线条,比一个比原始圆圈略大半径的圆圈,但具有相同的中心坐标。然后在这个外圆周上挑选随机点并将它们连接到它的中心。

欢呼声