《Motion Design for iOS》(十三)

让我们看看类似弹簧动作的物体。红色的圆仿佛附有非常有弹性的弹簧一般在移动。绿色的圆带着稍微平滑一些的弹性移动。蓝色的不带有弹性,但会在接近终点值时以指数级衰退速度的动画变得非常的缓慢。





第三个球实际上并没有弹性,但它的动画依然被现实世界的弹簧物理法则所管理,是怎么回事呢?弹簧不是应该有弹性么?如我之前所说,附有弹簧的物体的动作实际上由弹簧的特性决定。想象一个弹簧,组成弹簧的线非常的细。这个弹簧的拉力是非常的松额,如果你在其底部挂上一个小物体,并松开它,你就会看到如红球演示的弹性动作。比较一个拥有更多线圈和更大拉力的更加高强度类型的弹簧。挂在这种类型弹簧上的物体动作会很没有弹性,因为弹簧的属性非常不同。





类似弹簧动作的动画曲线和简单类型动作的动画曲线可能看起来相似(至少他们都是曲线!),但是它们背后的数学运算是非常不同的。如前所说,简单曲线通过三维贝塞尔函数来定义绘制曲线控制点的位置。不幸的是,很多高级类型的曲线不能用贝塞曲线来描述。其中一种曲线就是阻尼弹簧系统。

使用好的拥有弹簧感觉动画的动作类型一般模仿阻尼谐振,其可以调整弹簧末端方块质量、弹簧的刚度、阻尼强度等不同值。





质量是指挂在弹簧末端物体的质量。刚度是指拉伸弹簧的难度,一般由弹簧的厚度和盘绕的密度决定。阻尼强度是指抵抗力度或者摩擦力,就如你尝试在水中快速拖动你的手时受到的阻力。这些是定义一个弹簧动作的关键属性。

如果你想要从头构建起你对web、iOS或其他平台的动画库,并且想要支持类似弹簧的动画,你就需要理解弹簧系统背后大量的数学知识才能正确地实现它。幸运的是,对于iOS,有很多已经存在的优秀的动画框架(由苹果公司或其他人创建)可以用来创建自然的、类似弹簧的动画。

在我们投入动画编码之前,让我们从头开始讨论开发iOS app的基本原则,然后进入界面开发和iOS动画。



查看完整合集:https://github.com/Cloudox/Motion-Design-for-iOS

版权所有:http://blog.csdn.net/cloudox_

长期致力于iOS英文资料翻译

觉得有帮助的可以打赏支持一下小弟~

时间: 2024-11-08 20:12:35

《Motion Design for iOS》(十三)的相关文章

构建之法十三~十七章

十三章:软件测试 Bug我们经常听到的,要发现解决我们遇到的bug(软件的缺陷),我们必然需要测试.本章我们了解很多基本名词解释及分类. 测试有很多种方式:白箱和黑箱,功能测试和非功能测试等. 书本还提到很多测试方法,书本239~251, 大概有十几种方法那么多,其实我觉得我们可以选择一种适合的方法进行测试. 测试这一方面我们接触的比较少,一般只会针对功能对程序进行测试,测试也会涉及很多测试相关文档. 十四章:质量保障 对于一个软件来说,软件的质量是很重要的,程序的质量=程序的质量+软件工程的质

构建之法第十三~十七章阅读

不知不觉,<构建之法>已经读到了最后..... 十三章:软件测试 本书里面写了好多软件测试的方法,我该怎么选取呢 十四章:质量保障 质量保障可以通过用户的反馈来体现吗 十五章: 稳定和发布阶段 软件发布以后,可以怎样的情况来更新维护 十六章:IT行业的创新 我觉得创新是在你已经对本行业已经有一定的了解,但是我们好多基本的都还没掌握,该怎么创新呢 十七章:绩效和职业道德 在出去工作以后,公司都是以绩效和职业道德来恒定员工的吗

第五次作业《读构建之法的心得》

<读构建之法的体会> <构建之法>这本书是软件大大神邹欣的作品之一,这本书体现邹欣老师的情怀,很简洁的讲述了软件设计的各个阶段,描述了一个微软软件大神对软件的理解.构建之法对我帮助挺大的,通过构建之法这本书使我对软件的构建很清晰的了解,让我对软件设计更加的清晰的认识,增加了我对软件的认识的兴趣,好了,现在来讲述讲述里面的内容,第一张讲概论:软件等于程序加文档,软件工程是什么,第二章讲 个人技术和流程 单元测试,效能分析工具,个人开发流程第三章讲软件工程师的成长 个人能力的衡量与发展

作业5(《构建之法》心得体会)

这学期学习邹欣老师的<构建之法:现代软件工程>一书收获颇多. 第一章 概论 软件 = 程序 + 软件工程 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.软件工程包括:软件求分析.软件设计.软件构建.软件测试和软件维护.软件的特殊性:复杂性.不可见性.易变性.服从性.非连续性. 第二章 个人技术和流程 单元测试(用VSTS写单元测试.好的单元测试的标准)回归测试.效能分析工具.个人软件开发流程(实践最简单的项目:WC). 第三章 软件工程师的成长 个人能力的衡量与

快速阅读《构建之法——现代软件工程》

2017年4月1日,我借阅了<构建之法--现代软件工程>一书,2017年4月13日上午终于快速读完了一遍.书中包含的内容丰富,其中大量的网上链接没有阅读.在我看来,读这本书应该先通览全篇,不能被大量的链接在第一次阅读的时候就打断.网上的链接一个接一个,这样会导致我忘记了最初的阅读目的.也许,这就是万维网的一个弊端吧. 速读<构建之法--现代软件工程>记录日程如下: 星期日 星期一 星期二 星期三 星期四 星期五 星期六             1开始阅读 2 3第二章第三章 4 5

项目管理学习——《构建之法》读书笔记

最近终于有时间来读读书了.买了<构建之法>已经一年多了,这次静下心来读完了,收获很大.现在想起自己在上大学的时候学习软件工程是机械工业出版社出版的一本外国书籍的翻译版本,当时由于对于整个行业没有太大的感触,而这本书又全部由专业术语和定义组成,所以当时的课是相当痛苦.而老师通过的这门课程的方式又由各种理论知识考试为准,所以当时学习感觉相当“鸡肋”. 好的地方: 1,情景式.对话式对白,有趣易读.这点非常喜欢,很多实际中碰到的问题在这里可以重现.比如:每日构建,在实际开发中,就会由于各种原因导致不

构建之法第六次随笔

我这个礼拜阅读了构建之法第12,13章. 其中,第十二章讲的是用户体验,我们要考虑用户体验的不同角度,用户的第一印象就很重要,用户第一次使用软件,就很大程度上决定了用户对软件的评价.软件服务始终都要记住用户的选择,从用户的角度考虑,要有一颗同理心.理解用户的处境,心理,动机的能力有着一颗为用户着想的同理心,是好的产品设计的出发点.也不要让用户犯简单的错误,所以要不停改进,高明的设计能让用户不需要花费额外的注意力,也不需要经验与专业知识即可凭借直觉完成正确的操作. 对于一个软件的用户界面,有一些原

初读《构建之法》(Build To Win)有感

最近略读了<构建之法>被作者诙谐幽默的写作风格深深吸引住了,文中有大量通俗易懂.形象鲜明的例子,更好的理解文中提出来的概念与理论.我是第一次接触到软件工程这门课,之前对于软件工程的理解就是编程写出一个应用程序,然而当我对读了本书之后,才对软件工程有了一个大概的了解. 在本书中,作者提出了一种全新的教学理念"Learning by Doing",也就是"做中学",与传统的教学方式不同的是提倡学生在大量的实践中学会知识.应用知识,掌握实用的软件工程技术.同时

构建之法——读书笔记(8)

<构建之法>第十&十一章 主要讲述了在软件设计前期的需求分析问题上的方法和实践经验,分为"典型用户和场景"以及"软件设计与实现". 其中第十章大部分内容包含: 用户的分类(典型用户可以包括以下内容: 1. 名字(越自然越好) 2. 年龄(不同年龄和收入的用户有不同的需求) 3. 收入 4. 代表的用户在市场上的比例和重要性(比例大不等同于重要性高,如付费的用户比例较少,但是影响大,所以更重要 5. 使用这个软件的典型场景 6. 使用本软件/服务的

《构建之法阅读笔记02》

这次主要对<构建之法>的第四章“两人合作”作一次阅读笔记. 首先是代码规范问题. 我过去对于代码规范问题并没有做到注意.在编程中,许多变量和函数的命名都非常的简单而没有实际的意义.而且编程时不注意对齐缩进.很多时候也不加注释,导致对这些简单的变量名称不熟悉. 这样做会使得很多人读代码费劲,甚至是自己都要花时间再次阅读懂自己的代码.而且很多没必要的注释也会使得注释失去意义.当自己再次在原基础上编程时,可能要重新编程等问题. 因此,通过阅读“代码规范”,我找到一些解决方法.代码的风格要简明.易读.