3D空间中两个向量的叉积定义为:两个向量的叉积还是一个向量,而向量的点积是标量(只有数值,无方向),今天小编就来聊一聊关于向量叉积运算证明?接下来我们就一起去研究一下吧!

向量叉积运算证明(向量的叉积)

向量叉积运算证明

叉积的定义

3D空间中两个向量的叉积定义为:

两个向量的叉积还是一个向量,而向量的点积是标量(只有数值,无方向)

叉积的几何意义

叉积的主要用途之一是可以计算三角形的面积,叉积满足下面的公式:

θ为向量a、b之间的夹角,上面的公式表明向量a、b叉积的模长等于向量a、b组成的平行四边形的面积,也就是a、b组成的三角形面积的2倍。

另外,向量a、b的叉积也是一个向量,这个向量的方向垂直于向量a、b组成的平面的,就是图形学中常提到的法向量

推导叉积的坐标定义和几何意义为什么是等价的

为什么叉积的坐标定义公式会和对应的几何意义是等价的哪,这里我们简单展示推导的思路,我们尝试计算下面的公式的结果。

通过叉积的坐标形式代入并一步步展开、合并可以得出叉积的几何意义。

julia语言直观演示向量的叉积

下面的动画演示了向量b在xy平面上旋转360°,红色的向量为向量a、b的叉积在3D空间的变化。

附上这段演示动画的julia代码:

# 动画示例 using LinearAlgebra using PyPlot using PyCall @pyimport matplotlib.animation as anim fig = plt.figure() ax = fig.gca(projection="3d") vector_a = [1, 0, 0] vector_b = [1, 0, 0] vector_c = cross(vector_a, vector_b) ax.quiver(0, 0, 0, vector_a[1], vector_a[2], vector_a[3], color="blue") ax.text(1.1, 0, 0, "a") ax.quiver(0, 0, 0, vector_b[1], vector_b[2], vector_b[3], color="blue") quiver = ax.quiver(0, 0, 0, vector_c[1], vector_c[2], vector_c[3], color="red") function init() ax.grid(true) ax.set_xlabel("X") ax.set_ylabel("Y") ax.set_zlabel("Z") ax.set_xlim([-1.2, 1.2]) ax.set_ylim([-1.2, 1.2]) ax.set_zlim([-1.2, 1.2]) ax.set_title("cross product demo",color="b",fontsize=14) return (quiver,) end function update(frame) # ln.set_UVC(cos(frame), sin(frame)) # used for 2d quiver global quiver quiver.remove() vector_b = [cos(frame), sin(frame), 0] vector_c = cross(vector_a, vector_b) ax.clear() init() ax.quiver(0, 0, 0, vector_a[1], vector_a[2], vector_a[3], color="blue") ax.text(1.1, 0, 0, "a") ax.quiver(0, 0, 0, vector_b[1], vector_b[2], vector_b[3], color="blue") ax.text(cos(frame), sin(frame), 0, "b") quiver = ax.quiver(0, 0, 0, vector_c[1], vector_c[2], vector_c[3], color="red") return (quiver,) end ani = anim.FuncAnimation(fig, update, frames=range(0, 2*pi, step=0.1), init_func=init, blit=true, interval=20) ani.save("/cross_product.gif", fps=20)