牙叔教程 簡單易
如果E點在ABCD這個矩形内部, 那麼AB和AE的夾角取值範圍在0度到90度範圍内;
且
BC和BE,
CD和CE,
DA和DE,
的夾角也必須在0度到90度這個範圍内;
點積a·b的幾何意義為a在b上的投影長度乘以b的模長
a·b=|a||b|cosθ,其中θ為a,b之間的夾角
a·b=x1*x2 y1*y2;
點積的應用
(1)判斷兩個向量是否垂直 a⊥b <=> a·b=0
(2)求兩個向量的夾角,點積<0為鈍角,點積>0為銳角
把公式轉換為js公式
js
(B.x - A.x) * (E.x - A.x) (B.y - A.y) * (E.y - A.y) >= 0;
(C.x - B.x) * (E.x - B.x) (C.y - B.y) * (E.y - B.y) >= 0;
(D.x - C.x) * (E.x - C.x) (D.y - C.y) * (E.y - C.y) >= 0;
(A.x - D.x) * (E.x - D.x) (A.y - D.y) * (E.y - D.y) >= 0;
function dotProduct(pointA, pointB, pointE) {
return (pointB.x - pointA.x) * (pointE.x - pointA.x) (pointB.y - pointA.y) * (pointE.y - pointA.y);
}
function isPointInFourPoints(pointE, pointA, pointB, pointC, pointD) {
let AB = dotProduct(pointA, pointB, pointE);
let BC = dotProduct(pointB, pointC, pointE);
let CD = dotProduct(pointC, pointD, pointE);
let DA = dotProduct(pointD, pointA, pointE);
return AB >= 0 && BC >= 0 && CD >= 0 && DA >= 0;
}
let pointA = {
x: -1,
y: 1,
};
let pointB = {
x: 1,
y: 1,
};
let pointC = {
x: 1,
y: -1,
};
let pointD = {
x: -1,
y: -1,
};
let pointE = {
x: 0,
y: 0,
};
console.log(isPointInFourPoints(pointE, pointA, pointB, pointC, pointD));
手機: Mi 11 ProAndroid版本: 12Autojs版本: 9.1.14
名人名言
思路是最重要的, 其他的百度, bing, stackoverflow, github, 安卓文檔, autojs文檔, 最後才是群裡問問 --- 牙叔教程 聲明
部分内容來自網絡 本教程僅用于學習, 禁止用于其他用途
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!