1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android 贝塞尔曲线 画圆 如何用贝塞尔曲线创建圆?

android 贝塞尔曲线 画圆 如何用贝塞尔曲线创建圆?

时间:2018-09-21 04:41:00

相关推荐

android 贝塞尔曲线 画圆 如何用贝塞尔曲线创建圆?

在comp.graphics.faq中涵盖

摘抄:

主题4.04:如何将贝塞尔曲线拟合到圆上?

有趣的是,贝塞尔曲线可以近似一个圆,但不能完美地拟合一个圆。一个常见的近似方法是使用四个贝塞尔曲线来建模一个圆,每个贝塞尔曲线的控制点到端点的距离为d = r * 4 *(sqrt(2)-1)/ 3(其中r是圆半径),而在在端点处与圆相切的方向。这样可以确保贝塞尔曲线的中点在圆上,并且一阶导数是连续的。

这种近似的径向误差约为圆半径的0.0273%。

Michael Goldapp,“三次多项式逼近圆弧”,计算机辅助几何设计(#8 1991 pp.227-238)

Tor Dokken和Morten Daehlen,“曲率连续的贝塞尔曲线的圆的良好近似”,计算机辅助几何设计(1990年第7页,第33-41页)。/science/article/pii/016783969090019N(非免费文章)

另请参见/articles/bezier-circle/上的非付费文章

浏览器和画布元素。

请注意,某些浏览器将Bezier曲线用于其画布绘制弧,Chrome(目前)使用4扇区方法,而Safari使用8扇区方法,这种差异仅在高分辨率时才明显,因为该分辨率为0.0273%,并且只有在圆弧平行且异相绘制时才真正可见,您会注意到圆弧从真实圆中振荡。当曲线围绕其径向中心进行动画处理时,效果也更加明显,半径通常为600px半径,将在该大小上有所不同。

某些绘图API没有真正的圆弧渲染,因此它们也使用Bezier曲线,例如Flash平台没有圆弧绘图api,因此任何提供圆弧的框架通常都使用相同的Bezier曲线方法。

请注意,浏览器中的SVG引擎可能使用不同的绘制方法。

其他平台

无论您尝试使用哪种平台,都值得检查一下圆弧绘制的完成方式,以便您可以预测这样的视觉错误并进行调整。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。