我需要让手臂和手围绕钩子的中心旋转,如下图所示,没有它们分开或改变它们的形状(手臂和手之间的角度没有变化,只是在A处旋转),如下图所示:
我尝试旋转手臂,但这使它们分开并改变形状.您可以在下面查看我的代码:
let hookCategoryName = "hook"
let leftArmCategoryName = "leftArm"
let rightArmCategoryName = "rightArm"
let leftHandCategoryName = "leftHand"
let rightHandCategoryName = "rightHand"
let hookCategory : UInt32 = 0x1 << 0
let leftArmCategory : UInt32 = 0x1 << 1
let rightArmCategory : UInt32 = 0x1 << 2
let leftHandCategory : UInt32 = 0x1 << 3
let rightHandCategory : UInt32 = 0x1 << 4
extension Int {
var degreesToRadians: Double { return Double(self) * .pi / 180 }
}
extension FloatingPoint { …Run Code Online (Sandbox Code Playgroud) 我有一系列可能的位置和另一个填充位置数组,这是一个子阵列possiblePositionsArray.possiblePositionsArray是固定的,已经确定.我想在所选数组元素的x位置的右侧和左侧找到最远的3个连续点filledPositions.让我用这个例子进一步解释.说
possiblePositionsArray = [p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15]
filledPositions = [p1, p2, p4, p7, p8, p9, p10, p12, p13, p14, p15]
Run Code Online (Sandbox Code Playgroud)
两者都是CGPoints的数组,并且都具有相同的y位置并且按升序排列.如果我选择p11.x以下将是右侧和左侧的3个连续点.
[p7, p8, p9] and [p8, p9, p10] To the Left of p11
[p12, p13, p14] and [p13, p14, p15] to the right of p11
Run Code Online (Sandbox Code Playgroud)
但是左边和右边最远的是:
farthest to left of p11 is [p7, p8, p9]
farthest to right of …Run Code Online (Sandbox Code Playgroud)