从A+B 到 sin A+cos B 再到 向量A+向量B

\(A+B\)\(\sin A+\cos B\)再到\(\vec{A}+\vec{B}\)

前言

只是一个整理,部分内容来源于网络。

这篇整理初写于23年7月18日,结果20日才写完~

而这些只是计算几何的皮毛。

希望你能有所收获,在计算几何的路上越走越远吧(蒟蒻的我可能是走不下去了

最后sto各位大佬,写的不好请各位神犇提出建议和意见,感谢你的阅读

弧度

过去我们习惯于用角度表示角的大小,事实上更加通用的是弧度。

先来看角度是怎么来的:把圆周分为360等分,每一等分叫作 \(1^\circ\)

细细想来,我们的角度和长度是两套体系,没法放在一起计算,比如\(5+10^\circ\)就毫无意义。

现在我们引入新的描述角大小的体系:弧度

\(\pi\)

我们对\(\pi\)应该都还算熟悉,\(\pi\)是无理数,\(\pi\)的值约为\(3.1415926\dots\)

\(\pi\)的含义为圆的周长与直径的比值

我们令某圆的半径为\(r\),那么它的直径\(d=2r\),周长\(C=\pi d=2\pi r\)

对于单位圆,也就是半径为1的圆,它的直径\(d=2\),周长\(C=2\pi\)

规定:单位圆每单位长度的弧所对应的角的大小为1弧度,记作\(1\ rad\)

弧度的单位:rad

弧度的单位rad其实是个没有单独现实意义的单位,它代表这个大小的角度,在单位圆中对应的弧长。

比如某个圆的半径为\(r\),对于大小为\(a\ rad\)的角,它对应的弧长为\(r\times a\)

角度与弧度

来比较下角度和弧度两套系统。

单位 单位值 全圆周大小
角度 \(^\circ\) \(1^\circ\) \(360^\circ\) \(0^\circ\) \(30^\circ\) \(45^\circ\) \(60^\circ\) \(90^\circ\) \(180^\circ\)
弧度 \(rad\) \(1\ rad\) \(2\pi\ rad\) \(0\) \(\frac{\pi}{6}\) \(\frac{\pi}{4}\) \(\frac{\pi}{3}\) \(\frac{\pi}{2}\) \(\pi\)

根据全圆周大小可以看出:

\(360^\circ\)等同于\(2\pi\ rad\),也就是\(1^\circ\)等同于\(\frac{\pi}{180}\ rad\),或者\(1\ rad\)等同于\((\frac{180}{\pi})^\circ\)

得到换算公式:

\[a\ rad = (a\frac{180}{\pi})^\circ \]

\[b^\circ = (\frac{π}{180}\times b)\ rad \]

例一

举个具体例子会更加直观:

假设圆A的半径为5厘米,那么弧度为\(\frac{\pi}{6}\)(也就是\(30^\circ\))大小的角,它对应的弧长为:

\(5厘米\times (\frac{\pi}{6})rad=(5π)/6 厘米\)

比较等式两边的单位,可以看出,这个$ rad=厘米/厘米 $ ,也就是说它没有现实中的物理意义,它就代表着“半径为\(r\)厘米的圆上,长度为\(r\)厘米的弧对应的角的大小”。

例二

再来看一个很有说服力,也很极端的例子:

假设圆B的半径为1米,那么弧度为\(2\pi\)(也就是\(360^\circ\))的角,它对应的弧长是多少?

很简单:\(1米\times2\pi=2\pi米\),也就是我们圆周长。

这也符合\(\pi\)的定义:圆周长(\(2\pi\)米)与直径(2米)的比值。

基本三角函数

先来看\(\mathrm{Rt}\triangle ABC\),其中C是直角,\(\angle ACB=\pi/2\)

对于 \(\angle BAC\),假设它的大小为\(\theta\),我们规定

  1. 它的对边BC与斜边AB的比叫作正弦(正对着的边 比 弦边),用函数sin表示,\(\sin\theta=BC/AB\)

  2. 它的邻边AC与斜边AB的比叫作余弦(剩下来的边 比 弦边),用函数cos表示,\(\cos\theta=AC/AB\)

  3. 它的对边BC与邻边AC的比叫作正切(正对着的边 比 切边),用函数tan表示,\(\tan\theta=BC/AC\)

  4. 它的邻边AC与对边BC的比叫作余切(剩下来的边 比 切边),用函数cot表示,\(\cot\theta=AC/BC\)

  5. 它的斜边AB与邻边AC的比叫作正割(正对着的边 割出来的两条边),用函数sec表示,\(\sec\theta=AB/AC\)

  6. 它的斜边AB与对边BC的比叫作余割(剩下来的边 割出来的两条边),用函数csc表示,\(\csc\theta=AB/BC\)

直角坐标系中的角与三角函数

来看这个二维坐标系,这个圆的半径为\(1\),圆心O在原点\((0,0)\),我们叫它单位圆。

在这样的单位圆中,我们规定起始位置为x轴正方向,它的角大小为\(0\ rad\)逆时针方向旋转为正,顺时针方向旋转为负

当逆时针转时:

第一次转到y轴正方向刚好经历一个直角,它是\(\pi/2\)

第一次转到x轴负方向刚好经历一个平角,它是\(\pi\)

第一次转到y轴负方向刚好经历一个平角+一个直角,它是\(3\pi/2\)

第一次转回到x轴正方向刚好经历一个圆周,它是\(2\pi\)

继续转下去就是\(2\pi+\theta\)

当顺时针转时:

第一次转到y轴负方向刚好经历一个直角,由于方向是负的,它是\(-\pi/2\)

第一次转到x轴负方向刚好经历一个平角,由于方向是负的,它是\(-\pi\)

第一次转到y轴正方刚好经历一个平角+一个直角,由于方向是负的,它是\(-3\pi/2\)

第一次转回到x轴正方向刚好经历一个圆周,由于方向是负的,它是\(-2\pi\)

继续转下去就是\(-2\pi-\theta(\theta>0)\)

正弦定理

在任意一个平面三角形中,各边和它所对角的正弦值的比相等且等于外接圆的直径”,即 \(\frac{a}{\sin ⁡A}=\frac{b}{\sin ⁡B}=\frac{c}{\sin ⁡C}=2R\)\(R\)为外接圆半径)。

提供一个简单证明:

余弦定理

\(a^2=b^2+c^2-2bc\cdot\cos A\)

证明:

\[\begin{aligned} a^2 &= CD^2+BD^2\text{(勾股定理)} \\ & \text{又有} CD=b\sin A \\ & BD = c - AD = c - b\cos A \\ \\ a^2&=(b\sin A)^2+(c - b\cos A)^2 \\ &=b^2\sin^2 A+c^2 - 2bc\cos A + b^2\cos^2 A \\ &=b^2(\sin^2A+\cos^2A)+c^2-2bc\cos A \\ & \because \sin^2A+\cos^2A = 1 \text{(证明见下)} \\ & =b^2+c^2-2bc\cos A \\ & \therefore a^2=b^2+c^2-2bc\cdot\cos A \end{aligned} \]

关于\(\sin^2A+\cos^2A = 1\)的证明

\[\text{在}\mathrm{Rt}\triangle ABC\text{中,} \]

\[\sin A=\frac{a}{c},\cos A=\frac{b}{c} \]

\[\sin^2A+\cos^2A = \frac{a^2}{c^2} + \frac{b^2}{c^2} \]

\[\text{根据勾股定理}a^2+b^2=c^2 \]

\[\therefore sin^2+cos^2=1 \]

欧拉函数

\(e^{\pi i} = -1\)

太优美了。

可以刻在墓碑上的一句话

向量

为了体现向量的大小和方向,即一条线段加一个箭头。

说到向量(vector),顾名思义,就是有方向的量,大家可以把向量理解成一条既有大小又有方向的有向线段。

向量一般有两组表示形式,一种是\(\vec a\) ,另一种则是加粗的 \(\boldsymbol{a}\)

上图为向量AB,以A点为起点,B点为终点,表示为 \(\vec{AB}\)

既然向量有方向,也有大小,那么我们便定义 \(\mid\vec{AB}\mid\)\(\vec{AB}\) 的长度,称为 \(\vec{AB}\) 的模长。

我们先来定义向量的相等:大小相等,方向一致的向量。记作 \(\vec{a}=\vec{b}\)

值得注意的是,向量只取决于起始点和终止点,与摆放位置无关,所以可以任意平移。

所以,下图中的这些向量都是相等的。

我们再来定义向量的平行与共线:方向相同和方向相反的向量,记作 \(\vec{a}//\vec{b}\)

由于向量只取决于起始点和终止点,与摆放位置无关,所以向量的平行与共线是同一个概念。

例如下图中的向量都是平行的

向量的加减

之后来介绍向量的加法。

向量的加法一般有两种法则,虽然是两种,这两种法则其实是一模一样的。

三角形法则:将向量平移到首尾相连,连接首尾即为相加之后的向量。

平行四边形法则:将向量平移到同一点,作为平行四边形两条邻边画平行四边形,对角线即为相加之后的向量

即:\(\vec{AB}+\vec{BC}=\vec{AC}\)

简单来说,对于向量\(\vec{a}\)\((x_1,y_1)\),向量\(\vec{b}\)\((x_2,y_2)\)\(\vec{a}+\vec{b}\)\((x_1+x_2,y_1+y_2)\)

向量的加法是满足交换律和结合律的。

我们接下来定义相反向量,既然数都有相反数的概念,那么我们可以借鉴相反数定义相反向量

相反向量:长度相等,方向相反的向量。即 \(\vec{AB}=-\vec{BA}\)

有了相反向量我们就可以定义向量的减法

\(\vec{a}-\vec{b}\) 就可以被定义为: \(\vec{a}+(-\vec{b})\)

表示在图像上,向量的减法可以用以下方式求得:

将向量平移到同一个起点,末尾指向起点即为相减之后的向量

即:\(\vec{AB}-\vec{AC}=\vec{CB}\)

介绍一下向量的夹角,将 \(\vec{a}\)\(\vec{b}\) 平移到一个初始点,他们之间的夹角称为 \(\vec{a}\)\(\vec{b}\) 的夹角,我们暂时称之为 \(\theta\)

我们可以轻易的得到以下结论:

  1. \(\theta =0\)时, \(\vec{a}\)\(\vec{b}\) 同向

  2. \(\theta =\frac{\pi}{2}\) 时, \(\vec{a}\)\(\vec{b}\) 垂直,记作 \(\vec{a}\perp\vec{b}\)

  3. \(\theta =\pi\) 时, \(\vec{a}\)\(\vec{b}\) 反向

例1

\(\mid\vec{a}+\vec{b}\mid=\mid\vec{a}-\vec{b}\mid\) ,则 \(\vec{a}\ \vec{b}\) 的夹角为

若以 \(\vec{a}\ \vec{b}\)为邻边构造平行四边形,那么 \(\mid\vec{a}+\vec{b}\mid\ \mid\vec{a}-\vec{b}\mid\)则分别表示对角线的长度,对角线相等的三角形为矩形,因此夹角为 \(\frac{\pi}{2}\)\(90^\circ\)

例2

\(\mid\vec{a}\mid=\mid\vec{b}\mid=\mid\vec{a}-\vec{b}\mid\) ,则 \(\vec{a}\ \vec{b}\) 的夹角为

显然是等边三角形,因此夹角为 \(\frac{\pi}{3}\)($ 60^\circ$)

向量的乘除

在向量中,乘法分为两种,一种是数与向量的乘法,称为数乘。另一种是向量与向量的乘法,又分为点积和叉积。

这里我们先介绍数乘。

数乘可以看成是原向量的收缩或拉伸。如下图所示

简单来说,对于向量\(\vec{a}\)\((x,y)\)\(2\vec{a}\)\((2x,2y)\)

数乘的性质:

  1. \(|k\vec{a}|=|k||\vec{a}|\)
  2. \(k>0\) 时,\(k\vec{a}\)\(\vec{a}\) 的方向相同,而 \(k<0\) 时,则相反。

对于数除,则大致相同。

向量的点积

我们可以定义向量的点积为:\(\vec{a}\cdot\vec{b}=x_1y_1+x_2y_2\)

那么我们得到点乘几何意义:

点乘的几何意义是可以用来表征或计算两个向量之间的夹角,以及在b向量在a向量方向上的投影。定义从\(\vec{a}\)\(\vec{b}\)的逆时针夹角为\(\theta\),有:

\(\vec{a}\cdot\vec{b}=|\vec{a}||\vec{b}|\cos\theta\)

如上,\(a_0\)即为\(\vec{a}\cdot\vec{b}\)的结果,也就是在b向量在a向量方向上的投影。

这里提供一个简单的证明:

定义向量\(\vec{c}\)

\[\vec{c}=\vec{a}-\vec{b} \]

根据三角形余弦定理有:

\[\vec{c}^2=\vec{a}^2+\vec{b}^2-2|\vec{a}||\vec{b}|\cdot\cos \theta \]

根据关系\(\vec{c}=\vec{a}-\vec{b}\)有:

\[(\vec{a}-\vec{b})\cdot(\vec{a}-\vec{b})=\vec{a}^2+\vec{b}^2-2\vec{a}\cdot\vec{b}=\vec{a}^2+\vec{b}^2-2|\vec{a}||\vec{b}|\cdot\cos \theta \]

即:

\[\vec{a}\cdot\vec{b}=|\vec{a}||\vec{b}|\cos\theta \]

例一

若向量\(\vec{a}=(6,m)\)\(\vec{b}=(2,-1)\),若\(\vec{a}\perp\vec{b}\),则实数 \(m\) 的值为

根据\(\vec{a}\perp\vec{b}\)可得出\(\vec{a}\cdot\vec{b}=0\)\(\vec{a}\cdot\vec{b}=|\vec{a}||\vec{b}|\cos90^\circ=|\vec{a}||\vec{b}|\times0=0\)

\(\therefore\vec{a}\cdot\vec{b}=x_1y_1+x_2y_2=6\times2-m=12-m=0\)

\(\therefore m=12\)

相反的,我们亦可以通过两个向量证出垂直。

例二

已知向量\(\vec{a}=(3,\sqrt{7}),|\vec{b}|=4\),若\(\vec{a}\cdot\vec{b}=-8\),则\(\vec{a}\)\(\vec{b}\)夹角的余弦值是

\(\vec{a}\)\(\vec{b}\)的夹角为\(\theta\)

则根据\(\vec{a}\cdot\vec{b}=|\vec{a}||\vec{b}|\cos\theta\)\(\cos\theta=\frac{\vec{a}\cdot\vec{b}}{|\vec{a}||\vec{b}|}\)

那么我们可得\(|\vec{a}|=\sqrt{3^2+\sqrt{7}^2}=\sqrt{9+7}=4\)

代入后得\(\cos\theta=\frac{\vec{a}\cdot\vec{b}}{|\vec{a}||\vec{b}|}=\frac{-8}{4\times4}=-\frac{1}{2}\)

向量的叉积

我们可以定义向量的叉积为:则\(\vec{a}\times\vec{b}\)

叉积分为二维和三维,我们一一讲解。

二维叉积

二维叉积的公式为:假设从\(\vec{a}\)\(\vec{b}\)的逆时针夹角为\(\theta\),则\(\vec{a}\times\vec{b}=x_1y_2-x_2y_1=|\vec{a}||\vec{b}|\sin\theta\)

叉积的结果是一个向量,并非一个数,而二维叉积的结果是一个确切的值。因此二维叉积不是严格意义上的叉积。

显然从定义可知,叉积的绝对值表示两个向量张成的平行四边形的面积。

如上,\(\sin A \times b=DE\)

\(S_{ABCD}=a\times DE=\sin A\times a\times b\)

综上,二维叉积的结果为假设从\(\vec{a}\)\(\vec{b}\)的逆时针夹角为\(\theta\),则\(\vec{a}\times\vec{b}=|\vec{a}||\vec{b}|\sin\theta\)

三维叉积

在三维几何中,向量a和向量b的外积结果是一个向量,有个更通俗易懂的叫法是法向量,该向量垂直于a和b向量构成的平面。

定义了这一新的运算之后,我们从这个定义出发能证明以下几条重要性质:

对于性质一,我们可以从以下图片中得到启示:

如上,\(\vec{a}\times\vec{b}\)\(-\vec{b}\times\vec{a}\)面积相等,方向相反,故很容易得证。

关于性质二,因为向量叉积为0,所以向量平行(共线),(关于这点,下面的例一有解释),没有面积。

对于性质三,这是叉积的分配律。大刘老师的博客

老师的简单证明

已知\(\vec{a}\ \vec{b}\ \vec{c}\)为平面内向量,求证:\(a\times(b+c)=a\times b+a\times c\)

首先通过平移使向量起点重合

从几何意义入手,需要满足以\(\vec{a},\vec{b}\)为邻边的平行四边形面积与以\(\vec{a},\vec{c}\)为邻边的平行四边形面积之和等于以\(\vec{a},\vec{b}+\vec{c}\)为邻边的平行四边形面积(这里的面积可能为负值)

显然,这么看难以证明。

那可以把\(\vec{b},\vec{c}\)投影到与\(\vec{a}\)垂直的直线上,令投影后的向量分别为\(\vec{b^{\prime}},\vec{c^{\prime}}\),如图:

由叉积的几何意义易得,\(\vec{a}\times\vec{b}=\vec{a}\times\vec{b^{\prime}}\)\(\vec{a}\times\vec{c}=\vec{a}\times\vec{c^{\prime}}\)

又有叉积的绝对值表示两个向量张成的平行四边形的面积。故\(\vec{a}\times\vec{b}+\vec{a}\times\vec{c}=\vec{a}\times\vec{b^{\prime}}+\vec{a}\times\vec{c^{\prime}}=-|\vec{a}||\vec{b^{\prime}}|+|\vec{a}||\vec{c^{\prime}}|=|\vec{a}|(|\vec{c^{\prime}}|-|\vec{b^{\prime}}|)\)

同理又有\(\vec{a}\times(\vec{b}+\vec{c})=\vec{a}\times(\vec{b}+\vec{c})^{\prime}=|\vec{a}||(\vec{b}+\vec{c})^{\prime}|\)

我们平移\(\vec{b}\)\(\vec{b^\star}\),投影到到与\(\vec{a}\)垂直的直线上,令投影后的向量为\(\vec{HF}\),则我们可以得到\(\vec{HF}=\vec{b^\prime}\),如图:

因为\(|\vec{c^{\prime}}|-|\vec{HF}|=|(\vec{b}+\vec{c})^\prime|\),所以\(|\vec{c^{\prime}}|-|\vec{b^\prime}|=|(\vec{b}+\vec{c})^\prime|\),所以\(\vec{a}\times\vec{b^{\prime}}+\vec{a}\times\vec{c^{\prime}}=\vec{a}\times(\vec{b^{\prime}}+\vec{c^{\prime}})\),所以\(\vec{a}\times\vec{b}+\vec{a}\times\vec{c}=\vec{a}\times(\vec{b}+\vec{c})\)

得证。

实际上,这样就相当于把原先的三个普通平行四边形转化为了三个矩形,便于证明。






那么在三维坐标系中,\(\vec{a}\)\(\vec{b}\)拥有了坐标表示后,\(\vec{c}\)的坐标该怎么计算呢?,定义\(\vec{i}=(1,0,0),\vec{j}=(0,1,0),\vec{k}=(0,0,1)\),则有:

则根据叉乘的上述三条性质我们得到\(\vec{c}\)为:

第二个等号我们运用了性质3,第三个等号我们运用了性质1和性质2,最后一个等号则运用了简单的\(\vec{i},\vec{j},\vec{k}\)之间的叉乘关系。这一计算公式让我们直接能够从\(\vec{a}\)\(\vec{b}\)的坐标表示得到\(\vec{c}\)的坐标表示,用行列式可以更简洁地表示并方便记忆:

有了这个公式,对于任意一个面的法向量,我们总可以选取该面上的两个不共线向量来直接叉乘出来

例一

若向量\(\vec{a}=(6,m)\)\(\vec{b}=(2,-1)\),若\(\vec{a}//\vec{b}\),则实数 \(m\) 的值为

由于我们讨论的是自由向量,所以平行=共线

根据\(\vec{a}//\vec{b}\)可得出\(\vec{a}\times\vec{b}=0\)\(\vec{a}\times\vec{b}=|\vec{a}||\vec{b}|\sin0^\circ=|\vec{a}||\vec{b}|\times0=0\)

\(\therefore x_1y_2-x_2y_1=0\)

\(\therefore 6\times-1-2m=0\)

\(\therefore m=-3\)

例二

证明两向量相交。

判断 2 个线段相交有很多方法,最直接的方法就是直接计算两条直线的交点,然后看看交点是否分别在这两条线段上。这样的方法很容易理解,但是代码实现比较麻烦。

还有一种常用的方法是通过向量叉积来判断的,这种方法不需要算出直线方程,在代码实现上比较简便。
用这种方法判别线段是否相交一般分为两步:

  1. 快速排斥实验
  2. 跨立实验
快速排斥实验

我们首先判断两条线段在 x 以及 y 坐标的投影是否有重合。
也就是判断下一个线段中 x 较大的端点是否小于另一个线段中 x 较小的段点,若是,则说明两个线段必然没有交点,同理判断下 y。

如上图所示,代码表示如下:

max(C.x,D.x)<min(A.x,B.x) || max(C.y,D.y)<min(A.y,B.y) ||
max(A.x,B.x)<min(C.x,D.x) || max(A.y,B.y)<min(C.y,C.y)

如果上面的四条判断有一个为真,则代表两线段必不可交,否则应该进行第二步判断。
显然,上图通不过快速排斥实验。

跨立实验
向量间的顺逆时针关系

叉积的一个非常重要性质是可以通过它的符号判断两向量相互之间的顺逆时针关系:

  • \(\vec P \times \vec Q > 0\), 则\(\vec{P}\)\(\vec{Q}\)的顺时针方向。
  • \(\vec P \times \vec Q < 0\), 则\(\vec{P}\)\(\vec{Q}\)的逆时针方向。
  • \(\vec P \times \vec Q = 0\), 则\(\vec{P}\)\(\vec{Q}\)共线,但可能同向也可能反向。
通过叉乘来判断线段相交

如果两线段相交那么就意味着它们互相跨立,即如上图点A和B分别在线段CD两侧,点C和D分别在线AB两侧。

判断A点与B点是否在线段DC的两侧,即向量\(\vec {AD}\)与向量\(\vec {BD}\)分别在向量\(\vec {CD}\)的两端,也就是其叉积是异号的,即\((\vec{AD}\times\vec{CD})\times(\vec{BD}\times\vec{CD}) < 0\)。同时也要证明C点与D点在线段AB的两端,两个同时满足,则表示线段相交。

然后我们来看看临界情况,也就是上式恰好等于 0 的情况下:

当出现如上图所示的情况的时候,\((\vec{AD}\times\vec{CD})\times(\vec{BD}\times\vec{CD}) = 0\),显然,这种情况是相交的。只要将等号直接补上即可。

再接得想一想,如果没有第一步的快速排斥实验,仅判断第二步,会出现什么问题?

当出现如上所示的情况的时候,叉积都为 0, 可以通过跨立实验,但是两个线段并没有交点。不过还好,这种情况在第一步快速排斥已经被排除了。

参考资料

初学讲义之高中数学八:三角函数入门 - 知乎 (zhihu.com)

从零开始的高中数学——向量(上) - 知乎 (zhihu.com)

向量点乘(内积)和叉乘(外积、向量积)概念及几何意义解读_-牧野-的博客-CSDN博客

高中数学:平面向量40个经典题型汇总,就按这些考你 - 知乎 (zhihu.com)

线性代数本质(8上)-叉积 - 知乎 (zhihu.com)

奇技淫巧系列:向量叉乘 - 知乎 (zhihu.com)

向量叉积分配律简单证明 - AnAn_119 - 博客园 (cnblogs.com)

如何判断2个线段相交_判断两条线段是否相交_Siannodel_的博客-CSDN博客

posted @ 2023-07-20 22:16  ZnPdCo  阅读(48)  评论(0编辑  收藏  举报