這章早在2023年寒假就在培訓的時候由來自清華的hta老師上過了
但是本蒟蒻那時候並不是懂的太多
所以這週ww老師又上了一遍
大概記錄一下
大概就跟高中必修4的平面向量差不多(有上過的應該都會)
a = (x1, y1) b = (x2, y2)
a · b = x1x2 + y1y2
a · b = |a||b|cos< a, b>
運用:
若a與b**垂直**,則a · b = 0
乙個與a垂直的向量: (y1, –x1)
a = (x1, y1) b = (x2, y2)
a×b = x1y2 - x2y1
|a×b| = |a||b|sin< a, b>
a×b = - b×a
討論x1y2 - x2y1符號
當=0,b與a共線(可以反向)
當》0,b在a逆時針方向
當<0,b在a順時針方向
運用 折線段的拐向判斷:
折線段的拐向判斷方法可以直接由向量叉積的性質推出。對於有公共端點的線段p0p1和p1p2,通過計算(p2 - p0) × (p1 - p0)的符號便可以確定折線段的拐向:
若(p2 - p0) × (p1 - p0) > 0,則p0p1在p1點拐向右側後得到p1p2。
若(p2 - p0) × (p1 - p0) < 0,則p0p1在p1點拐向左側後得到p1p2。
若(p2 - p0) × (p1 - p0) = 0,則p0、p1、p2三點共線。
absinc/2
底乘高海**式:s=根號下p(p-a)(p-b)(p-c)(p為三角形周長的一半,即p=1/2(a+b+c))跨立實驗:判斷一條線段的兩端是否在另一條線段的兩側(兩個端點與另一線段的叉積乘積為負)。需要正反判斷兩側。
( p1 - q1 ) × ( q2 - q1 ) * ( q2 - q1 ) × ( p2 - q1 ) >= 0
( q1 - p1 ) × ( p2 - p1 ) * ( p2 - p1 ) × ( q2 - p1 ) >= 0
隨機向乙個方向射出一條射線,
這個點在多邊形內僅當射線與多邊形奇數條邊相交。
大概就是這樣吧~
計算幾何基礎
1 向量叉積 ab ac 0 ac在ab的 逆時針方向,否則順時針 0 a b c 共線 class point p q 為向量 a,b,c為點 p q x1 y2 x2 y1 p a b q c a 即 x1 x0 y2 y0 x2 x0 y1 y0 計算 ab ac 的叉積 double cor...
計算幾何基礎
凸包演算法 include includeusing namespace std const int n 5e5 11 int n,m struct point point int x,int y x x y y friend inline point operator const point a,...
計算幾何基礎提綱
一 約定格式 a 點 向量的表示 b 封裝向量加減法 點積 叉積 double mult struct point p1,struct point p2,struct point p3 double dis struct point p1,struct point p2 c 線段 兩個點隔得很遠,取...