2011-04-02 50 views
1

目前我有一个程序,演示低角色素和epitrochoids(又名Spirograph http://www.math.psu.edu/dlittle/java/parametricequations/spirograph/index.html)。整个矢量迭代的贝塞尔曲线

起初我只是用直线画出形状,但意识到锯齿状的边缘并不好。然后,我使用两次循环的圆形旋转(以及所得到的x,y点)引入curveTo()Bezier曲线,一个用于控制点,另一个用于端点(二次曲线)。

现在形状更加曲线,但仍然不够弯曲,它仍然有一些尖锐的角度而不是光滑的形状。

有谁知道我如何渲染更多的曲线,使用curveTo()方法或其他实现有恒定的曲线吗?

我在想也许在锯齿状边缘上使用圆形切线,然后用切线圆的部分替换当前线。

我该如何去实现类似的东西?

编辑: - 我应该补充说我正在使用动画线程来渲染线条。

The image shows that only segments of the line are curved http://dl.dropbox.com/u/12814074/Screen%20shot%202011-04-02%20at%2007.31.56.png

回答

1

这听起来像控制点应该是相切的曲线。如果您只是使用曲线上的另一点,则情况并非如此。试着将控制点的2点的切线满足:

enter image description here

附:你是什​​么意思“使用动画线程”?

+0

是的,我听到你在说什么......随着线程,我没有建立一个有限的向量列表点,然后渲染,它正在使用屏幕更新完成。它可能会在可以采取的各种方法上有所不同(因为要求它是动画的)。 – Alex 2011-04-02 06:58:11

+0

啊,我明白了。我只是想澄清一下,在Flash中没有独立的动画线程。 – 2011-04-02 20:10:32