2010-02-02 92 views
0

所以我一直在与http://processingjs.org/搞混。从圆圈突出的画线

我想绘制一个圆圈,其中有一束从中突出的线条。每条线都应该垂直于圆的切线。

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

谢谢。

回答

2

如果直线与圆的切线垂直,则延伸后它会穿过圆的中心。如果你的圆的圆心位于半径为r的(a,b),并且你希望它以角度t出来,那么起点为x1 = a + r cos t,y1 = b + r sin t(I假设你想让这条线从圆周开始,这就是你的问题似乎暗示的),如果你想要这条线的长度为z,你的端点是x2 = x1 + z cos t,y2 = y1 + Z罪吨和可以使用的处理命令

line(x1,y1,x2,y2) 

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

+0

这真棒谢谢。只是为了验证,t是线将突出的圆周角度? – icco 2010-02-02 19:59:39

+0

没问题。回答你的评论:不。从圆周的角度始终是一个直角(根据您的要求)。角度t是线条与x轴的角度。所以,如果你想直接下降,你会使用pi/2(即90度:处理使用弧度),如原来写的(t是顺时针)。 – Ramashalanka 2010-02-02 20:24:25

+0

对不起,我误解了我的评论,我实施了这个,你的回答正是我想要的。谢谢! – icco 2010-02-02 22:09:22

0

对于一个圆,一条垂直于切线的圆将穿过该圆的中心。任何通过圆的中心的线垂直于与圆相交的点处的切线。

0

理想情况下,可以有一个圆的无限切线,因此你可以有一个圆出来的无限线。

如果我确实了解你的问题,那么以下可能会有所帮助。

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

欢呼

1

我建议你忘了切线和从你想从伸出行方向上的圆心画一条线。您可以将线偏移半径距离,以便从圆的边缘开始。