在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页)。http://www.sciencedirect.com/science/article/pii/016783969090019N(非免费文章)

另请参见http://spencermortensen.com/articles/bezier-circle/上的非付费文章

浏览器和画布元素。

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

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

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

其他平台

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

android 贝塞尔曲线 画圆,如何用贝塞尔曲线创建圆?相关推荐

  1. android 坐标图绘制曲线,Android艺术之画一条平滑的曲线

    前言 说的是曲线,其实想法是来自一个曲线图的需求.图表这种东西,项目开发中也不少见,大多情况找个通用的开源框架改改就得了(老板们别打我),然而通用赶不上脑洞,要做交互和视觉比较特别的图表时,还是自己造 ...

  2. python科赫曲线画树叶_Python——科赫曲线绘制

    基本概念 科赫曲线:科赫曲线是一种像雪花的几何曲线,所以又称为雪花曲线,它是de Rham曲线的特例.科赫曲线是出现在海里格·冯·科赫的论文<关于一条连续而无切线,可由初等几何构作的曲线> ...

  3. 用python画熊猫-如何用安德鲁曲线绘制熊猫数据帧?

    我有以下熊猫数据帧:df = pd.read_csv("path/file/file.csv", header=0, sep=",", names=[" ...

  4. 判断点与圆的关系 点类与圆类 C++

    创建点类,圆类. 将其属性都设置为私有,并提供固定公共接口可以对其值进行修改. 原理就是坐标系中两点距离的判断. #include <iostream> using namespace s ...

  5. 三次贝塞尔曲线画圆的方法。

    上一篇说的仿58同城loadingview的项目,中有一个利用贝塞尔曲线进行绘制圆的步骤,这个贝塞尔曲线理论挺复杂,特此单独说一下所知的和能用到的. 比如上一个loadingView的项目中,要用到P ...

  6. Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)

    1.首先说一下canvas类: Class Overview The Canvas class holds the "draw" calls. To draw something, ...

  7. 三阶贝塞尔曲线选点_用三阶贝塞尔曲线拟合圆

    前言 由于贝塞尔曲线控制简便且具有极强的描述能力,它常被用来生成复杂的平滑曲线:圆形是一种很常用的普通图形,在计算机图形学中也有很多画圆的算法,本文想探究一下如何用三阶贝塞尔曲线拟合圆形. 在研究这个 ...

  8. Android利用canvas画各种图形(点、直线、弧、圆、扁圆、文字、矩形、多边形、曲线、圆角矩形)

    1.首先说一下canvas类: Class Overview The Canvas class holds the "draw" calls. To draw something, ...

  9. ai钢笔工具怎么描线_AI钢笔工具技巧,怎么画出完美的贝塞尔曲线

    AI钢笔工具技巧,怎么画出完美的贝塞尔曲线 我们在刚开始学习UI的时候,通常会临摹很多作品,一般临摹都分为两个步骤,第一步是使用钢笔工具把物体勾勒出来,但是很多人在勾轮廓的时候往往都不流畅,其实这是钢 ...

最新文章

  1. 后端架构设计,如何扛住100亿次请求?
  2. 零基础入门学习Python (9)-列表(1)
  3. gridview 中使用 if else_前端代码中如何优化if/else
  4. wechall.net/stegano 解题心得
  5. 【微信小程序】给绑定事件传参数
  6. Oracle 分区表的 FOR 语句,你这样用过吗?
  7. 软件测试--缺陷报告
  8. 狼性文化遭质疑,那我们当个佛系程序员可好?
  9. HBase流程框架图
  10. android提示“SIM not provisioned”
  11. 阿里云,腾讯云,保利威视,金山云,七牛云的视频云方案有什么不同啊?
  12. 告别无休止的甩锅,开发和运维如何高效合作
  13. ios sdk 穿山甲_Creator iOS接入穿山甲SDK
  14. 基于linux下QT象棋,课内资源 - 基于QT实现的网络象棋游戏
  15. 关于小米公司成长的反思
  16. linux服务器中如何解压分卷文件,Linux解压rar文件(unrar安装和使用,分卷解压)...
  17. window系统未能启动服务器,Windows系统下Apache服务器无法启动的问题解决
  18. 实验1:用户的登录与退出、IO重定向与简单文件操作
  19. shift删除的文件如何恢复?
  20. Flink:四大基石[Time,Window,Checkpoint,State]

热门文章

  1. 微信小程序2D canvas绘制分享海报
  2. 腾讯云Linux云服务器如何搭建FTP服务?
  3. 关于android6.0网络连接感叹号的问题
  4. 更新xcode至12.3,编译报错Building for iOS, but the linked and embedded framework ‘xxx.framework’ was buil...
  5. Matlab获取tif各格点经纬度
  6. 博世传感器BMM150数据读取
  7. ERP如何为企业带来效益?
  8. STM32智能开关窗设备
  9. Android音频处理知识(一)MediaRecorder录制音频
  10. 大厂项目经理分享 Code Review经验