所以我一直在与http://processingjs.org/搞混。从圆圈突出的画线
我想绘制一个圆圈,其中有一束从中突出的线条。每条线都应该垂直于圆的切线。
我不一定需要知道如何在processing.js中执行此操作,但我并不真正记得我的三角函数,因此对绘制此线所需数学的更多解释会有所帮助,但如果你知道如何在processing.js中做到这一点,这也很酷。
谢谢。
所以我一直在与http://processingjs.org/搞混。从圆圈突出的画线
我想绘制一个圆圈,其中有一束从中突出的线条。每条线都应该垂直于圆的切线。
我不一定需要知道如何在processing.js中执行此操作,但我并不真正记得我的三角函数,因此对绘制此线所需数学的更多解释会有所帮助,但如果你知道如何在processing.js中做到这一点,这也很酷。
谢谢。
如果直线与圆的切线垂直,则延伸后它会穿过圆的中心。如果你的圆的圆心位于半径为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,因为处理越来越多。
对于一个圆,一条垂直于切线的圆将穿过该圆的中心。任何通过圆的中心的线垂直于与圆相交的点处的切线。
理想情况下,可以有一个圆的无限切线,因此你可以有一个圆出来的无限线。
如果我确实了解你的问题,那么以下可能会有所帮助。
您可以pick random points lying on a circle然后将它们连接到圆的中心。要使线条实际从圆中出来,请围绕一个半径略大于原圆的圆,但具有相同的中心坐标。然后在这个外圈的圆周上随机选取点并将它们连接到它的中心。
欢呼
我建议你忘了切线和从你想从伸出行方向上的圆心画一条线。您可以将线偏移半径距离,以便从圆的边缘开始。
这真棒谢谢。只是为了验证,t是线将突出的圆周角度? – icco 2010-02-02 19:59:39
没问题。回答你的评论:不。从圆周的角度始终是一个直角(根据您的要求)。角度t是线条与x轴的角度。所以,如果你想直接下降,你会使用pi/2(即90度:处理使用弧度),如原来写的(t是顺时针)。 – Ramashalanka 2010-02-02 20:24:25
对不起,我误解了我的评论,我实施了这个,你的回答正是我想要的。谢谢! – icco 2010-02-02 22:09:22