IOS 中,二维空间计算两个向量的重合度
2023-02-20 本文已影响0人
Albert新荣
CGFloat verticalOverlapRatioOfVectors(simd_float2 vector1, simd_float2 vector2) {
// 计算向量长度
CGFloat length1 = simd_length(vector1);
CGFloat length2 = simd_length(vector2);
// 计算向量内积(点积)
CGFloat dotProduct = simd_dot(vector1, vector2);
// 计算向量夹角的余弦值和正弦值
CGFloat cosAngle = dotProduct / (length1 * length2);
CGFloat sinAngle = sqrt(1 - cosAngle * cosAngle);
// 计算重合比例
return sinAngle;
}