本文标题就俩字:向量

感谢boshi和Dimitry大佬!!!您们tql!!!

向量的基本操作

加减

几何意义:满足平行四边形法则

代数意义:a⃗±b⃗=(xa±xb,ya±yb,...)\vec a \pm \vec b=(x_a \pm x_b,y_a \pm y_b,...)a±b=(xa±xb,ya±yb,...)

点乘

几何意义:a⃗\vec aab⃗\vec bb上的投影与∣b⃗∣|\vec b|b的乘积。

代数意义:a⃗⋅b⃗=(xaxb,yayb,...)\vec a \cdot \vec b= (x_ax_b,y_ay_b,...)ab=(xaxb,yayb,...)

叉乘

几何意义:

除了二维情况下叉乘是假的(表示两向量所成平行四边形的有向面积)以外,kkk维下必须有k+1k+1k+1个向量一起叉乘,叉积是一个和它们都垂直的向量。

代数意义:

a⃗×b⃗=∣i^j^k^⋯xayaza⋯xbybzb⋯xcyczc⋯⋮⋮⋮⋱∣ \vec a \times \vec b= \left| \begin{matrix} \widehat{i} & \widehat{j} & \widehat{k} & \cdots \\ x_a & y_a & z_a & \cdots \\ x_b & y_b & z_b & \cdots \\ x_c & y_c & z_c & \cdots \\ \vdots & \vdots & \vdots & \ddots \end{matrix} \right| a×b=ixaxbxcjyaybyckzazbzc

混合积

这里主要提一下三维,其实我们说的二维叉积更像混合积的说……

三维下求三个向量所成平行六面体的有向面积,方向遵循右手定则。

[a⃗,b⃗,c⃗]=∣xayazaxbybzbxcyczc∣ [ \vec{a},\vec{b},\vec{c} ]= \left| \begin{matrix} x_a & y_a & z_a \\ x_b & y_b & z_b \\ x_c & y_c & z_c \\ \end{matrix} \right| [a,b,c]=xaxbxcyaybyczazbzc

旋转

将向量逆时针旋转θ\thetaθ

rotate(a⃗,θ)=(xcos⁡θ−ysin⁡θ,xsin⁡θ+ycos⁡θ)rotate(\vec a,\theta)=(x \cos{\theta}-y \sin{\theta},x \sin{\theta}+ y \cos{\theta})rotate(a,θ)=(xcosθysinθ,xsinθ+ycosθ)

放缩

ka⃗=(kx,ky,...)k \vec a =(kx,ky,...)ka=(kx,ky,...)

向量表示法

直线

一般用直线上一点ppp和一个方向向量v⃗\vec{v}v确定:p⃗+v⃗\vec{p}+\vec{v}p+v

平面

一般用法向量n⃗\vec{n}n和平面上一点ppp确定:{q⃗∣(q⃗−p⃗)⋅n⃗=0}\{ \vec{q}|(\vec{q}-\vec{p}) \cdot \vec{n}=0 \}{q(qp)n=0}

例题

例1

求两直线p1⃗+v1⃗\vec{p_1}+\vec{v_1}p1+v1p2⃗+v2⃗\vec{p_2}+\vec{v_2}p2+v2的交点ooo

:设o⃗=p2+tv2⃗\vec o=p_2+t \vec{v_2}o=p2+tv2,又由于v1⃗×(p2+tv2⃗−p1⃗)=0\vec{v_1} \times (p_2+t \vec{v_2}-\vec{p_1})=0v1×(p2+tv2p1)=0,所以:

o⃗=p2⃗+v1⃗×(p1⃗−p2⃗)v1⃗×v2⃗v2⃗\vec{o}=\vec{p_2}+\frac{\vec{v_1} \times (\vec{p_1}-\vec{p_2})}{\vec{v_1} \times \vec{v_2}} \vec{v_2}o=p2+v1×v2v1×(p1p2)v2

例2

求点QQQ到直线p⃗+v⃗\vec{p}+\vec{v}p+v的垂足HHH

:设H⃗=p⃗+tv⃗\vec H=\vec{p}+t\vec{v}H=p+tv,然后有(Q⃗−p⃗−tv⃗)⋅v⃗=0(\vec{Q}-\vec{p}-t\vec{v}) \cdot \vec{v}=0(Qptv)v=0,所以:

H⃗=p⃗+(Q⃗−P⃗)⋅v⃗∣v⃗∣2v⃗\vec{H}=\vec{p}+\frac{(\vec{Q}-\vec{P}) \cdot \vec{v}}{|\vec{v}|^2} \vec{v}H=p+v2(QP)vv

例3

求向量v1⃗\vec{v_1}v1和向量v2⃗\vec{v_2}v2尾部重合后角平分线的方向向量。

:将两个向量都缩放为单位向量,由于向量加法满足平行四边形法则,所以加起来即可。

例4

已知平面上三点,求这个平面的一个法向量。

:众所周知叉积是与这个向量都平行的向量,所以叉积一下即可。

例5

求点QQQ到平面(p⃗,n⃗)(\vec{p},\vec{n})(p,n)的距离。

:其实就是PQPQPQ在法向量上的投影长度,也就是:

d=(Q⃗−p⃗)⋅n⃗∣n⃗∣d=\frac{(\vec{Q}-\vec{p}) \cdot \vec{n}}{|\vec{n}|}d=n(Qp)n

求两圆外公切线切点

	if(c1.r<c2.r) swap(c1,c2);
	point v=c2.o-c1.o;
	db d=dist(c1.o,c2.o),a1=atan2(v.y,v.x),a2=acos((c1.r-c2.r)/d);
	point k1=(point){c1.o.x+cos(a1+a2)*c1.r,c1.o.y+sin(a1+a2)*c1.r};
	point k2=(point){c2.o.x+cos(a1+a2)*c2.r,c2.o.y+sin(a1+a2)*c2.r};
	point k3=(point){c1.o.x+cos(a1-a2)*c1.r,c1.o.y+sin(a1-a2)*c1.r};
	point k4=(point){c2.o.x+cos(a1-a2)*c2.r,c2.o.y+sin(a1-a2)*c2.r};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值