对不起,您睡过三角法了吗? 你将会。

在我所有的数学课程中,从代数到几何再到微积分,三角学始终是事后的想法。 真可惜,因为当我听到有人说“数学在现实生活中从来没有帮助过我!”时,我立即认为那仅仅是因为他们不记得自己的三角学。 我很幸运地拥有一位非常热衷于让我了解Trig,尤其是Unit Circle的导师,即使我不记得所有可用的东西,我也永远会记住这个经常变化的数学领域有多么宝贵。

三角函数是一个非常简单的名字的奇特名字:将圆分成多个角度。 关于圆的令人敬畏的事情是:1)它在整个表面上是连续的,并且2)它控制可能的角度的整个范围。 我们将这两种性质放在一起,得到基本的三角函数。 因此,了解三角学的基本单位是单位圆,这就是我们要开始的地方。

这里有单位圆。 它看起来确实很复杂,但实际上您需要记住的是,它只是一个划分为基本角度的圆。 我们的操作方法如下:我们知道一个圆的周长为2π,因此将圆分成虚数部分,称为弧度,而在圆中有2π。 假设我们对角度有所了解,您可以说我们有一些简单的弧度值,只需将弧度的总和减半即可将其转换为角度:

  • 一直绕圆-将其视为360度-2π弧度
  • 绕圆的一半-这是180度-π弧度
  • 再说一半,即四分之一圆-这是90度-π/ 2弧度
  • 最后四分之一的一半(45度)为π/ 4弧度

所以减半很棒,但是我们如何获得其他重要角度,或者如何获得所需的任何角度? 好吧,我想做的是相对于90度旋转。 如果我想要30度,那我知道那是90度的1/3。 不好了! 现在我们必须除分数! 我曾经讨厌这个,但如今我知道这没什么大不了的。 就像π/ 2的一半是π/ 4,π/ 2的1/3(记住是90度)是π/ 6。 所以现在我们可以从这里得到想要的任何角度,只要是90的偶数倍即可:

  • 记得! 90度是π/ 2弧度。
  • 30度:π/ 6弧度(30进入90 3倍,如π/ 2的1/3所述为π/ 6)
  • 10度:π/ 18弧度(因为10进入30 3倍)
  • 1度:π/ 180弧度

哇! 看看那个最后一个家伙! 我们怎么到那里? 好吧,请记住180度是π弧度……我们知道我们可以将任意个数除以1,因此,如果将π弧度除以180,则1度必须是π/ 180弧度!
现在我们可以将任何角度转换为弧度! 只需取所需的度数,然后乘以分数π/ 180即可! 如果您因担心数学而瘫痪,甚至不需要减少!
(恭喜!:)

我的想象力受损的读者说:“嘿,等等!这不是Swift博客吗? 这如何适用于Swift? 好吧,有趣的是你应该问! CGAffineTransform对象采用弧度表示其旋转角度。 由于弧度是逆时针旋转的,因此如果要将对象向右旋转29度,则可以编写以下代码:
CGAffineTransform(rotationAngle:-29 *(CGFloat.pi / 180))

因此,我可以从CGAffineTransform在pi的旋转角度参数上最适合pi的事实中猜测,它必须使用正弦或余弦函数来实现其魔术效果。 您可以使用正弦和余弦函数将以弧度表示的角度测量值转换为单位圆上坐标的x和y值。 单位圆是半径为1的圆,因此,如果要在该圆上取一点并旋转某种角度,可以将角度转换为弧度,然后使用正弦和余弦来获取坐标。 将弧度测量值放入正弦函数中时,将在单位圆上获得其y坐标。 同样,当将一个放到余弦函数中时,将获得其x坐标。

这些函数(正弦和余弦)非常有用,因为它们以非常平滑的方式在-1和1之间振荡。 当您在正弦函数中将某个数字乘以pi时,每次该值增加1都会发生振荡。 这使我们可以做很多非常酷的事情。

例如,您可以将余弦函数连接到UIView的.alpha属性,以使其在有人滚动时平滑地淡入和淡出。 因为我们知道Alpha必须在0到1之间,所以我们知道必须使余弦在0处产生最小值,所以我们加+1。 现在,虽然余弦将在0和2之间振荡,所以我们将整个东西除以1/2,以便它可以保持在0和1之内。因此,要使我们的alpha变量相对于某个值,我们可以进行编码:
someObject.alpha =(1/2)*(cos(pi * someValue)+1)
在这里,您可以尝试不同的方法来使渐变变慢或变快。 现在,当您搜索“图形”时,Google会以图形形式显示,然后是一个数学函数,因此对于在Web浏览器中进行此类操作非常有用。

如果您在可视化正弦,余弦和单位圆之间的关系时遇到麻烦,请参考以下来自维基百科的简洁的.gif文件:

clas,这就是我们今天要讲的所有内容,我的意思是,亲爱的数学挑战者! 我确实希望这些知识在Swift和以后的版本中旋转和振荡时能派上用场!