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;
}
上一篇下一篇

猜你喜欢

热点阅读