Swift如何在任何情况下处理罪恶和cos?

时间:2015-10-19 00:30:07

标签: swift trigonometry sin cos

假设我有一个旋转90度的正方形(我发现这对我的电脑是Up)和第二个旋转75度的正方形。第一个方块的左上角和第二个方块的左下角是连接的。

[{{0}}]

我的目标是使用三角法编辑第二个方块的位置,使其右下角和第一个方块右上角(两个突出显示的角)连接。

在一张不太难的纸上。我使用sin和cos来找到x和y偏移量。在这种情况下,代码看起来类似于:

let xOffset = 15 - (cos(15) * 15)
let yOffset = sin(15) * 15
secondSquare.position = point(secondSquare.position.x + xOffset, secondSquare.position.y - yOffset)

我想澄清一下,我将15度的sin和cos乘以15的原因是因为两个正方形的宽度都是15。

现在,通过绘制垂直于x轴的直角三角形来完成此数学运算。但是,如果第一个方格没有完美的90度旋转并且平行于x轴,我将如何解决同样的问题呢?

[{{0}}]

我的整体问题是,我使用x轴作为基础做了所有这些数学运算。但斯威夫特用什么来发现罪,cos和棕褐色?我如何使用它来解决同一问题的所有变化?

1 个答案:

答案 0 :(得分:0)

在代码中,使用矩形视图或使用矩形绘图执行您正在执行的操作的方法是应用转换。按给定角度旋转视图或矩形很容易。