返回的值是多少:
\n\ndot(normalize(a), normalize(b))\nRun Code Online (Sandbox Code Playgroud)\n\n假设向量 a 和 b 之间的角度为 45\xc2\xb0。
\n\n一般来说,两个向量的点积等于两个向量之间的角度的余弦乘以两个向量的大小(长度)。
\n\ndot( A, B ) == | A | * | B | * cos( angle_A_B ) \nRun Code Online (Sandbox Code Playgroud)\n\n由此可见, 2 个单位向量的点积等于2 个向量之间角度的余弦,因为单位向量的长度为 1。
\n\nuA = normalize( A )\nuB = normalize( B )\ncos( angle_A_B ) == dot( uA, uB )\nRun Code Online (Sandbox Code Playgroud)\n\n\n\na这意味着,如果向量和向量之间的角度b之间的角度为 45 度,则:
dot(normalize(a), normalize(b)) = cos(45\xc2\xb0) = 1 / sqrt(2)\nRun Code Online (Sandbox Code Playgroud)\n\n请注意,边长为1的正方形中对角线的长度为sqrt(2)。如果对角线的长度为1,则一侧的长度为1 / sqrt(2)。
\n