《iOS 6核心开发手册(第4版)》——1.9节秘诀:平滑绘图

简介:

本节书摘来自异步社区《iOS 6核心开发手册(第4版)》一书中的第1章,第1.9节秘诀:平滑绘图,作者 【美】Erica Sadun,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.9 秘诀:平滑绘图
iOS 6核心开发手册(第4版)
依赖于使用的设备和涉及的并发处理数量,捕获用户姿势可能产生比想要的更粗糙的结果。触摸事件通常受CPU要求以及握手协议限制。平滑算法可能通过在点之间进行插补操作来抵消这些限制。图1-4演示了由粒状输入导致的棱角类型,以及可代之以应用的平滑效果。


71a598a49fa897d4bf5f1c16765cd7d38079ae5a

图1-4 可以实时应用Catmull-Rom平滑,改进触摸事件之间的弧度。
这里显示的图像基于完全相同的姿势输入,其中分别显示了应用和未应用平滑两种效果

Catmull-Rom样条插值在关键点之间创建连续的曲线。该算法确保所提供的每个初始点都仍然是最终曲线的一部分,得到的路径将保持原始路径的形状。可以选择在每一对参考点之间插入点的数量,需要在处理能力与更好的平滑效果之间进行折衷。添加的点越多,消耗的CPU资源也越多。在使用本章附带的示例代码时可以看到,一点点的平滑都要经历较长的时间,甚至在更新的设备上也是如此。最新的iPad的响应速度是如此之快,以至于它很难在一开始就绘制出锯齿状特别突出的线条。

秘诀1-8演示了如何从现有的贝塞尔曲线路径中提取点,然后应用样条插值,创建平滑的结果。Catmull-Rom一次使用4个点,使用在那些点之间指定的粒度,计算第二个点和第三个点之间的中间值。

秘诀1-8提供了一个示例,其中只显示了可能添加到应用程序中的一类实时的几何处理。可以用类似的方式应用计算几何领域中的许多其他的算法。


12ea7dee582817df45aa386d4aa5a193dca2928c


5cfed1ded831b421e741f1fdda07f6f4cd2287e7
相关文章
|
缓存 安全 Linux
自建iOS构建流水线建设核心原理剖析
文章主要从iOS打包机远程构建的角度分析,整体链路脚本涉及的shell、ruby、security指令、xml以及iOS工程化相关知识,文章通过一个远程构建流程简单并重点的讲解了如何规避本地打包环境下的小的修改出包存在的大量人工操作,如何动态化配置证书、版本号等信息以及内测分发方式的避坑点。
自建iOS构建流水线建设核心原理剖析
|
数据安全/隐私保护 iOS开发 开发者
iOS开发CoreGraphics核心图形框架之九——PDF文件的渲染与创建(二)
iOS开发CoreGraphics核心图形框架之九——PDF文件的渲染与创建
368 0
iOS开发CoreGraphics核心图形框架之九——PDF文件的渲染与创建(二)
|
数据安全/隐私保护 iOS开发 开发者
iOS开发CoreGraphics核心图形框架之九——PDF文件的渲染与创建(一)
iOS开发CoreGraphics核心图形框架之九——PDF文件的渲染与创建
511 0
iOS开发CoreGraphics核心图形框架之九——PDF文件的渲染与创建(一)
|
iOS开发 开发者
iOS开发CoreGraphics核心图形框架之八——层聚合
iOS开发CoreGraphics核心图形框架之八——层聚合
203 0
iOS开发CoreGraphics核心图形框架之八——层聚合
|
iOS开发 开发者
iOS开发CoreGraphics核心图形框架之六——梯度渐变(二)
iOS开发CoreGraphics核心图形框架之六——梯度渐变
237 0
iOS开发CoreGraphics核心图形框架之六——梯度渐变(二)
|
iOS开发 开发者
iOS开发CoreGraphics核心图形框架之六——梯度渐变(一)
iOS开发CoreGraphics核心图形框架之六——梯度渐变
340 0
iOS开发CoreGraphics核心图形框架之六——梯度渐变(一)
|
开发者 iOS开发 容器
iOS开发CoreGraphics核心图形框架之五——Patterns模型的应用
iOS开发CoreGraphics核心图形框架之五——Patterns模型的应用
263 0
iOS开发CoreGraphics核心图形框架之五——Patterns模型的应用
|
iOS开发 开发者
iOS开发CoreGraphics核心图形框架之四——变换函数
iOS开发CoreGraphics核心图形框架之四——变换函数
160 0
|
iOS开发 索引
iOS开发CoreGraphics核心图形框架之三——颜色与色彩空间
iOS开发CoreGraphics核心图形框架之三——颜色与色彩空间
659 0
iOS开发CoreGraphics核心图形框架之三——颜色与色彩空间
|
API 数据安全/隐私保护 iOS开发
iOS开发CoreGraphics核心图形框架之二——深入理解图形上下文(二)
iOS开发CoreGraphics核心图形框架之二——深入理解图形上下文
419 0