二维计算几何学习和理解(1)
向量
定义:
- 向量:向量表示的是位移,用 AB→ A B → 表示A到B的位移,在计算机中通常用一个有序数对 v=(x,y) v = ( x , y ) 来表示
- 模:向量的模的含义是向量的长度,表示为 |v|=x2+y2−−−−−−√ | v | = x 2 + y 2
- 极角:向量的极角含义是向量 v v 绕x正半轴旋转的角度,通常用来计算 v=(x,y) v = ( x , y ) 的极角,注意这里atan2的取值是 (−π,π] ( − π , π ]
- 法向量:和向量垂直的向量称为法向量,单位向量 v⃗ v → 的法向量是 f⃗ =(−vy,vx) f → = ( − v y , v x )
- 点积:两个向量 a,b a , b 的点积的集合意义是向量a在向量b上的投影的模长乘上b的模长
- 叉积:叉积是个标量,其集合意义是两个向量经过平移形成的平行四边形的有向面积
运算:
- 向量和点的运算:
- 点+向量=点
- 点-向量=点
- 点-点=向量
- 向量和向量或数的运算:
- 向量+向量( a⃗ +b⃗ =(ax+by,ay+by) a → + b → = ( a x + b y , a y + b y ) )
- 向量-向量( a⃗ −b⃗ =(ax−by,ay−by) a → − b → = ( a x − b y , a y − b y ) )
- 向量*数( a⃗ ∗b=(ax∗b,ay∗b) a → ∗ b = ( a x ∗ b , a y ∗ b ) )
- 向量/数( a⃗ /b=(ax/b,ay/b) a → / b = ( a x / b , a y / b ) )
- 点积运算: a⃗ ⋅b⃗ =ax∗bx+ay∗by=|a||b|cosθ a → · b → = a x ∗ b x + a y ∗ b y = | a | | b | c o s θ
- 叉积运算: a⃗ ×b⃗ =ax∗by−ay∗bx a → × b → = a x ∗ b y − a y ∗ b x
- 向量旋转:把某个向量逆时针旋转 θ θ 把向量看成2*1 矩阵,则相当于左乘一个
应用:
- 点积的应用:
- 1.判断向量垂直 a⋅b=0 a · b = 0 <=> a⃗ ⊥b⃗ a → ⊥ b →
- 2.定义模长: |a|=a⋅a | a | = a · a
- 3.向量单位化:直接向量除以模长
- 4.向量投影:先求出投影的模,然后用单位向量乘上模长
- 5.向量对称:先求出模的法向量,然后用原向量减去法向量的两倍
- 叉积的应用:
- 1.判断两个向量的位置关系: a⃗ ×b⃗ a → × b → 为正说明a在b的右边,为负说明a在b的左边,为零说明a和b平行,也可以用右手定则判断一下
- 2.计算三角形/平行四边形面积