《iOS 6核心开发手册(第4版)》——1.9节秘诀:平滑绘图
本节书摘来自异步社区《iOS 6核心开发手册(第4版)》一书中的第1章,第1.9节秘诀:平滑绘图,作者 【美】Erica Sadun,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.9 秘诀:平滑绘图
iOS 6核心开发手册(第4版)
依赖于使用的设备和涉及的并发处理数量,捕获用户姿势可能产生比想要的更粗糙的结果。触摸事件通常受CPU要求以及握手协议限制。平滑算法可能通过在点之间进行插补操作来抵消这些限制。图1-4演示了由粒状输入导致的棱角类型,以及可代之以应用的平滑效果。
图1-4 可以实时应用Catmull-Rom平滑,改进触摸事件之间的弧度。
这里显示的图像基于完全相同的姿势输入,其中分别显示了应用和未应用平滑两种效果
Catmull-Rom样条插值在关键点之间创建连续的曲线。该算法确保所提供的每个初始点都仍然是最终曲线的一部分,得到的路径将保持原始路径的形状。可以选择在每一对参考点之间插入点的数量,需要在处理能力与更好的平滑效果之间进行折衷。添加的点越多,消耗的CPU资源也越多。在使用本章附带的示例代码时可以看到,一点点的平滑都要经历较长的时间,甚至在更新的设备上也是如此。最新的iPad的响应速度是如此之快,以至于它很难在一开始就绘制出锯齿状特别突出的线条。
秘诀1-8演示了如何从现有的贝塞尔曲线路径中提取点,然后应用样条插值,创建平滑的结果。Catmull-Rom一次使用4个点,使用在那些点之间指定的粒度,计算第二个点和第三个点之间的中间值。
秘诀1-8提供了一个示例,其中只显示了可能添加到应用程序中的一类实时的几何处理。可以用类似的方式应用计算几何领域中的许多其他的算法。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
《21天学通Java(第6版)》—— 导读
前言 21天学通Java(第6版)有些革命出其不意地吸引了全世界的眼球。Twitter、Linux操作系统和电视剧《Cupcake Wars》的异军突起颠覆了传统思维模式。 而Java语言的巨大成功却在人们的意料之中。自从Java语言于17年前面世以来,人们就对它充满殷切的期望。当Java融入到Web浏览器时,公众以无比的热情欢迎这种新语言的到来。 Sun公司创始人Bill Joy在介绍这种新语言时,毫不掩饰其孤注一掷的心态:“15年来,我们一直力图开发出一种更佳的编程语言和环境,用于创建更简单、更可靠的软件,Java就是这种努力的最终结晶。” Sun于1991年开发出了Java,并于4年后向公众发布;2010年,Sun被Oracle收购。从Java面世起,Oracle就一直大力支持,它将继续支持这种语言,并提供新版本。 在过去的多年中,Java始终没有辜负媒体的大肆宣传。Java之于软件开发犹如咖啡之于饮料。咖啡伴随程序员们度过了无数个不眠之夜,而Java语言让程序员们完成软件开发后便可高枕无忧。 最初,Java是使用在Web浏览器中运行的程序来提升网站吸引力的技术;今天,一些大型网...
- 下一篇
《iOS 9 开发指南》——第6章,第6.2节和Interface Builder密切相关的库面板
本节书摘来自异步社区《iOS 9 开发指南》一书中的第6章,第6.2节和Interface Builder密切相关的库面板,作者 管蕾,更多章节内容可以访问云栖社区“异步社区”公众号查看 6.2 和Interface Builder密切相关的库面板iOS 9 开发指南当使用Interface Builder进行界面布局和设计时,需要借助于Xcode 7中的库面板实现UI设计和代码的关联操作。Xcode 7中的库面板界面如图6-7所示。 在库面板界面上方,各个按钮从左至右的具体说明如下所示。 图片 6文件库模板:管理文件模板,可以快速创建指定类型文件,可以直接拖入项目中。如图6-8所示。 图片 7代码片段库:管理各种代码片段, 可以直接拖入源代码中。如图6-9所示。 图片 8对象库 : 界面组件, 可以直接拖入故事板中。如图6-10所示。图片 9媒体库:管理各种图片、音频和视频等多媒体资源。在默认情况下,在媒体库中不会显示任何东西,只有在项目中添加了图片、音频和视频等多媒体资源后才会看到显示列表。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Hadoop3单机部署,实现最简伪集群
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker安装Oracle12C,快速搭建Oracle学习环境