精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Java 通過向量,計算移動方向,計算線段角度等

開發(fā) 前端
我們可以通過計算線段的向量,來判斷手指(鼠標(biāo))在屏幕中的移動方向。速度等信息。可以通過向量計算兩條線段的夾角度數(shù)等。

1. 簡介

向量是指在數(shù)學(xué)中用于表示大小和方向的量。在計算機科學(xué)中,向量通常用于表示物體的位置、速度和加速度等。在Java中,可以使用坐標(biāo)系中兩點之間的差異來計算向量之間的距離。

在二維空間中,向量通常表示為一個有序的數(shù)對(x, y),其中x和y分別表示向量在x軸和y軸上的分量。例如,向量(3, 4)表示一個向右3個單位和向上4個單位的向量。在三維空間中,向量通常表示為一個有序的三元組(x, y, z),其中x、y和z分別表示向量在x、y和z軸上的分量。

我們可以通過計算線段的向量,來判斷手指(鼠標(biāo))在屏幕中的移動方向。速度等信息。可以通過向量計算兩條線段的夾角度數(shù)等。

2. 獲取線段的向量

向量可以進(jìn)行加法和減法運算。向量的加法運算是將兩個向量的分量相加,得到一個新的向量。向量的減法運算是將一個向量的分量減去另一個向量的分量,得到一個新的向量。

而我們?nèi)绾瓮ㄟ^坐標(biāo)獲取線段的向量呢?很簡單x1-x2 就是向量x,y1-y2就是向量y。合起來就是向量在二維平面(直角坐標(biāo)系)中的向量值:

public static void getVectors(Point p1,Point p2,Point p3,Point p4){
double ABx = p1.x - p2.x;
double ABy = p1.y - p2.y;
double CDx = p3.x - p4.x;
double CDy = p3.y - p4.y;

System.out.println("線段1的向量是: (" + ABx + ", " + ABy + ").");
System.out.println("線段2的向量是: (" + CDx + ", " + CDy + ").");

//向量的加法:
double[] sum = new double[2];
sum[0] = ABx + CDx;
sum[1] = ABy + CDy;
//得到的和sum就是一個新的向量了。是線段1和線段2的向量和。而減法也就是將+號跟換為-號而已。
}

我們得到的向量有什么用處呢?下面就是向量的一些簡單使用場景了。

3. 計算線段和X軸的角度

假如,我們有兩個任意的坐標(biāo)點,需要計算這兩個坐標(biāo)點連接的線段與X軸的夾角。

我們可以使用向量的知識,很簡單的得到這個角度:

public double getDegrees(Point p1, Point p2) {
//得到兩個坐標(biāo)點的差值, 其實得到的dx 和dy 就是我們線條的向量了
double dx = p2.x - p1.x;
double dy = p2.y - p1.y;
double angleRadians = Math.atan2(dy, dx); // 根據(jù)該方法,可以直接獲取坐標(biāo)點和x軸的夾角,返回的是一個-π到π之間的弧度值
double degrees = Math.toDegrees(angleRadians); //調(diào)用Math的API 將弧度轉(zhuǎn)為角度,角度值范圍為±180°。
return degrees;
}

在這個方法中,我們傳入的坐標(biāo)點的Y值的大小,決定了角度的正負(fù)數(shù)。

如果p1的Y值大于p2,返回的就是:-179°~0 中間的值。

如果p1的Y值小于p2,返回的就是:0~180°中間的值。

我們?nèi)绻Y(jié)合手機或者電腦屏幕的坐標(biāo)來計算。

簡單理解就是,點p1在p2的上方,那么計算的就是從x軸出發(fā)順時針的角度,也就是0~180°

而點p1在點p2的下方,那么計算的就是從x軸出發(fā),逆時針的角度。也就是-179°~0。(因為180°的時候,p1和p2平行,無所謂順時針逆時針)。

4. 根據(jù)用戶移動軌跡,判斷用戶的移動方向

在上面計算了線段和X軸的夾角。我們其實可以根據(jù)這個角度,判斷計算用戶的移動軌跡。也就能得到用戶手指或者鼠標(biāo)的移動軌跡了。

示例如下:

public static String getDegrees(Point p1, Point p2) {
//得到線段的向量
double dx = p2.x - p1.x;
double dy = p2.y - p1.y;
//得到線段和x軸的夾角弧度
double angleRadians = Math.atan2(dy, dx);
//zinyan.com 將弧度值轉(zhuǎn)為角度值
double degrees = Math.toDegrees(angleRadians);
//根據(jù)角度確定方向
if (degrees >= -45 && degrees < 45) {
return "right";//從右往左,也就是所謂的右邊進(jìn)入
} else if (degrees >= 45 && degrees < 135) {
return "up"; //從下往上 ,也就是所謂的上部進(jìn)入
} else if (degrees >= -135 && degrees < -45) {
return "down";//從上往下 ,也就是所謂的底部進(jìn)入
} else {
return "left"; //其他的就是左邊進(jìn)入的了, 從左往右移動的軌跡
}
}

上面的角度比較值,其實45度比較好理解。我們平面畫一條直線當(dāng)做X軸。線條上面的就是0~-180°,線條下面的就是0~180°

然后畫一個米字格,每個線段的夾角就是45°。那么右邊就是±45°。上面就是45°~135°了(PS:135=45+45+45)。

5. 通過向量和角度,計算兩個線條的夾角

在前面,我們計算了如何獲取線條和X軸的夾角。我們?nèi)绻袃蓷l線段,那么如何獲取這兩條線段的夾角呢?

處理邏輯很簡單,例如線段1和x軸的夾角是90°,線段2和x軸的夾角是130°。那么線段1和線段2的夾角應(yīng)該是:130°-90°=40°

使用x軸當(dāng)做基準(zhǔn)點,進(jìn)行處理,你會發(fā)現(xiàn)運算邏輯很簡單,具體示例代碼如下:

//p1和p2 組合成線段1,p3和p4組合成線段2
public static double getDegress(Point p1,Point p2,Point p3,Point p4){
//這里是p2-p1也可以是p1-p2 位置是無所謂的,只是要統(tǒng)一。如果x軸是p2-p1,那么y軸也得是p2-p1
double d1x = p2.x - p1.x;
double d1y = p2.y - p1.y;
//這個的邏輯和上面一樣,p3-p4或者p4-p3都可以
double d2x = p4.x - p3.x;
double d2y = p4.y - p3.y;
//然后通過atan2 得到弧度,要注意了這個方法中必須是y軸值在前面,x軸值在后面
//兩個弧度相減,就是兩個線段的夾角弧度
double angle = Math.atan2(d1y, d1x) - Math.atan2(d2y, d2x);
//將弧度,轉(zhuǎn)為角度。并通過絕對值去除正負(fù)符號
angle = Math.abs(Math.toDegrees(angle));
if (angle > 180) {
//因為線段夾角內(nèi)角+外角=360°,
// 如果超過180°了說明我們得到的是最大的外角了,而夾角應(yīng)該是最小的角度,所以進(jìn)行了360-angile
angle = 360 - angle;
}
return angle;
}

當(dāng)我們使用向量和Math的API。你會發(fā)現(xiàn)計算角度等會很方便

Math.atan2() 方法返回從 X 軸到指定坐標(biāo)點 (x,y) 之間的角度(以弧度為單位)。它是 Math.atan(y/x)的安全版,可以避免除數(shù)為 0 的情況。

6. 小結(jié)

關(guān)于向量也就是這些了。還有更多復(fù)雜的使用場景。這里就不擴展了,太復(fù)雜了。

責(zé)任編輯:武曉燕 來源: zinyan
相關(guān)推薦

2013-11-06 08:48:41

異構(gòu)計算移動計算

2024-10-29 14:34:46

2010-03-31 15:03:12

云計算

2023-11-17 07:30:30

線段pgvector實踐

2021-11-05 11:03:33

云計算開發(fā)技術(shù)

2012-12-12 09:37:12

移動應(yīng)用移動云計算云計算應(yīng)用

2011-12-14 10:33:35

云計算

2021-07-27 05:21:34

邊緣計算數(shù)據(jù)網(wǎng)絡(luò)

2021-09-03 10:45:12

量子計算芯片超算

2015-08-18 11:10:01

云計算移動管理移動性

2012-07-13 09:17:26

移動云計算

2021-03-04 08:00:00

移動邊緣計算網(wǎng)絡(luò)混合云

2020-03-20 10:40:04

云計算物聯(lián)網(wǎng)安全

2020-05-08 15:27:06

物聯(lián)網(wǎng)云計算網(wǎng)絡(luò)攻擊

2011-07-19 10:02:12

2022-10-08 15:13:48

AI芯片

2013-10-08 11:16:55

谷歌云計算

2012-05-02 13:52:30

IBM移動產(chǎn)品

2019-11-21 10:29:24

中科曙光

2015-01-15 09:55:49

F5IT發(fā)展
點贊
收藏

51CTO技術(shù)棧公眾號

亚洲小视频在线| 亚洲老妇xxxxxx| 国产第一区电影| 911国产在线| 成人在线视频中文字幕| 在线亚洲精品福利网址导航| 中国成人亚色综合网站| 天堂网av2014| 久久99精品久久久久婷婷| 久久久久久久久电影| 国产美女免费无遮挡| 久久伊人精品| 在线一区二区三区做爰视频网站| 大桥未久一区二区三区| 六十路在线观看| 国产一区视频导航| 欧洲午夜精品久久久| 人妻人人澡人人添人人爽| 日韩动漫一区| 日韩午夜电影av| www.色就是色| 高清在线视频不卡| 综合av第一页| 欧美日韩国产精品一卡| 亚洲av无码国产精品永久一区 | 亚洲人成网站在线播放2019| 丰满人妻一区二区三区四区53| 奇米精品一区二区三区在线观看一| 欧美黄色免费网站| 久久久久久久麻豆| 成人综合久久| 一本大道久久加勒比香蕉| 日韩综合第一页| 日韩最新av| 欧美电影在线免费观看| 天天操天天爱天天爽| gay欧美网站| 亚洲va欧美va人人爽| 97超碰免费观看| www亚洲人| 久久精品夜色噜噜亚洲aⅴ| 国产色综合一区二区三区| 999免费视频| 精品亚洲成a人| 国产欧美精品日韩| 成人黄色免费网| 久久电影一区| 国产成人极品视频| 亚洲 日本 欧美 中文幕| 模特精品在线| 国产v综合ⅴ日韩v欧美大片| 国产无套丰满白嫩对白| 一本不卡影院| 欧美专区中文字幕| 美女又爽又黄免费视频| 亚洲欧美久久久| 57pao精品| 天堂网视频在线| 石原莉奈在线亚洲二区| 国产精品视频99| 中文无码精品一区二区三区| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品普通话| 亚洲在线观看av| 久久99久久久欧美国产| 成人福利网站在线观看11| 亚洲一区二区三区高清视频| 久久99久久99| 亚洲va久久久噜噜噜| 精品人妻伦一二三区久久| 丰满亚洲少妇av| 国产视频一区二区三区四区| 欧美捆绑视频| 亚洲国产高清在线观看视频| 天天干天天操天天干天天操| 在线看福利影| 香蕉乱码成人久久天堂爱免费| 两根大肉大捧一进一出好爽视频| 欧美电影免费观看| 欧美精品日韩综合在线| 国产51自产区| 欧美久久精品一级c片| 日韩中文字幕视频在线| 黄页网站免费观看| 国产欧美一级| 国产欧美精品日韩精品| 国精品人妻无码一区二区三区喝尿| 99热这里都是精品| 亚洲欧洲一区二区在线观看| 1024在线播放| 黄色一区二区三区| 亚洲欧洲日本精品| 日本免费一区二区视频| 国产婷婷色综合av蜜臀av| 国产三级aaa| 亚洲伦理一区| 91精品美女在线| 天堂v视频永久在线播放| 国产精品欧美经典| 国产精品久久中文字幕| 黄色成人在线观看网站| 亚洲成人精品在线| 午夜黄色福利视频| 国产欧美高清| 91精品国产综合久久久久久丝袜| 三级无遮挡在线观看| 亚洲日本va在线观看| 青娱乐自拍偷拍| 国产95亚洲| 亚洲人成绝费网站色www| 欧美三根一起进三p| 日韩激情在线观看| 国产欧美韩日| 在线观看操人| 欧美视频一区在线| 免费的av网站| 韩国一区二区三区在线观看| 国产精品普通话| 欧美18xxxxx| 亚洲成av人片在www色猫咪| 午夜免费看毛片| 亚洲小说图片视频| 久久久爽爽爽美女图片| 99视频在线观看免费| 国产欧美日韩精品一区| 欧美性大战久久久久xxx| 亚洲欧洲国产精品一区| www日韩中文字幕在线看| 久草热在线观看| 久久一区二区视频| 人人干视频在线| 136福利精品导航| 欧美超级乱淫片喷水| 一区二区三区免费观看视频| 国产欧美精品在线观看| 各处沟厕大尺度偷拍女厕嘘嘘| 成人线上播放| 欧美极品欧美精品欧美视频| 国产三级伦理片| 亚洲免费在线视频一区 二区| 亚洲成人福利在线观看| 国产探花在线精品| 国产不卡av在线| 黄色av网站在线免费观看| 精品久久久视频| 成人免费无码大片a毛片| 亚洲激精日韩激精欧美精品| 超碰97人人在线| 男女在线视频| 亚洲精品wwww| 综合网在线观看| 国产丝袜美腿一区二区三区| 日韩欧美黄色大片| 欧美日韩在线观看成人| 亚欧成人精品| 蜜桃导航-精品导航| 精品丝袜在线| 亚洲国产毛片完整版| 国产精品6666| 91麻豆精品秘密| 任你操这里只有精品| av中文一区| 成人黄色片在线| 黄色成人影院| 日韩美女一区二区三区四区| 久久久久久久久久久久久久免费看 | 精品视频久久久久久久| 久久国产黄色片| 国产蜜臀97一区二区三区| 艹b视频在线观看| 91精品国产91久久综合| 91嫩草免费看| 国产伦精品一区二区三区视频痴汉| 久久久久蜜桃| 91人成网站www| 色呦呦在线免费观看| 久久精品30| 国产精品久久久对白| 在线观看午夜av| 日韩精品视频在线观看免费| www.色国产| 国产精品成人在线观看| 日本少妇一级片| 亚洲伊人网站| 亚洲自拍偷拍二区| 91精品日本| 国产成人极品视频| h片在线播放| 亚洲精品永久免费| 亚洲一区中文字幕在线| 亚洲成人一区二区| 国产精品久久免费观看| 国产精品系列在线播放| 女性隐私黄www网站视频| 久久精品久久久| 精品无人区一区二区三区| 91p九色成人| 欧美劲爆第一页| 日韩成人影视| 国产视频亚洲视频| 精品国自产拍在线观看| 色av综合在线| 国产精品30p| 国产精品乱码一区二区三区软件| av在线天堂网| 久久国产综合精品| 91传媒久久久| 国产精品vip| 一区二区三区我不卡| 蜜臀久久99精品久久一区二区| 91免费版网站入口| 欧美日韩在线精品一区二区三区激情综合| 色综合天天狠天天透天天伊人| 在线免费观看黄色| 亚洲人成免费电影| 天堂中文网在线| 日韩一区二区在线观看视频| 中文字幕av第一页| 欧美色欧美亚洲高清在线视频| 唐朝av高清盛宴| 中文字幕亚洲综合久久菠萝蜜| 成人网站免费观看| 成人av在线播放网站| 被黑人猛躁10次高潮视频| 免费看精品久久片| 97成人在线观看视频| 亚洲无毛电影| a级片一区二区| 91精品国产91久久久久久黑人| 亚洲成人网上| 韩日一区二区三区| 欧美精品成人一区二区在线观看| 荡女精品导航| 高清免费日韩| 一区二区三区视频播放| 91久久国产自产拍夜夜嗨| 国产精品一区二区美女视频免费看| 国产精品久久久久久久久久久久久| 在线黄色的网站| 97超碰色婷婷| 国产伦子伦对白在线播放观看| 欧美精品xxx| 超碰97免费在线| 久久久视频在线| 成年人视频免费在线播放| 欧美激情aaaa| japanese色国产在线看视频| 欧美劲爆第一页| 国产调教在线| 精品一区二区三区香蕉蜜桃| 国产日韩欧美视频在线| 欧美free嫩15| 国产精品青青在线观看爽香蕉| 国产福利亚洲| 成人福利在线观看| 日韩区欧美区| 国产精品三区www17con| 人人网欧美视频| 欧美激情第一页在线观看| 精品国产中文字幕第一页| 亚洲人体一区| 亚洲欧美综合久久久| 日本免费成人网| 亚洲深夜福利| 免费在线观看的毛片| 老司机午夜精品| 人妻体体内射精一区二区| 国产xxx精品视频大全| 催眠调教后宫乱淫校园| 99re这里只有精品首页| 69精品无码成人久久久久久| 综合色中文字幕| 日本免费在线播放| 91国产在线精品| 欧美日韩一区二区三区电影| 成人影视亚洲图片在线| 中文字幕一区二区三区四区五区| 91视频一区| 中文字幕色呦呦| 高清国产福利在线观看| 日韩av一卡二卡| 国产午夜在线视频| 久久在线视频在线| 98色花堂精品视频在线观看| 国产成人精品一区二区三区| 电影91久久久| 精品麻豆av| 大片网站久久| 2019日韩中文字幕mv| 视频一区二区三区在线| 能看毛片的网站| 久久影院电视剧免费观看| 国产又粗又硬又长又爽| 亚洲成av人片一区二区三区| 欧美在线视频精品| 亚洲成人亚洲激情| 一区二区三区视频网站 | 国产免费a∨片在线观看不卡| 婷婷激情五月综合| 亚洲一区二区欧美激情| 天天干天天色综合| 日韩欧美一级二级| 国产福利第一视频在线播放| 色综合视频一区中文字幕| 四虎4545www精品视频| 国产另类自拍| 国产精品7m凸凹视频分类| 亚洲午夜无码av毛片久久| 国产一区二区三区视频在线播放| www.超碰97| 一区二区三区影院| 国产乱码在线观看| 日韩国产欧美精品在线| 宅男在线观看免费高清网站| 国产精品久久久久77777| 国产 日韩 欧美 综合 一区| 亚洲视频在线二区| 久久精品官网| 中文字幕无码人妻少妇免费| 亚洲三级在线看| 五月婷婷激情五月| 日韩国产高清视频在线| sm在线观看| 国产91精品一区二区绿帽| 五月开心六月丁香综合色啪| 三级a在线观看| 久久人人爽人人爽| 97人人澡人人爽人人模亚洲| 日韩欧美一卡二卡| 操你啦视频在线| 成人欧美在线观看| 欧美激情国产在线| 狠狠干狠狠操视频| 亚洲国产成人午夜在线一区| 亚洲GV成人无码久久精品| 日韩高清人体午夜| 中文在线免费二区三区| 国产一区免费在线| 尤物在线精品| 日本五十肥熟交尾| 午夜久久电影网| 香蕉视频911| 日韩美女福利视频| 国产一区二区三区91| 亚洲精品高清无码视频| 久久精品夜夜夜夜久久| 亚洲欧美日韩一区二区三区四区| 亚洲欧美日韩精品| 日韩av免费| 亚洲人成人77777线观看| 精品一区二区三区欧美| 欧美日韩色视频| 日韩欧美国产wwwww| 国产一线二线在线观看| 国产乱码精品一区二区三区中文| 黄色成人91| 国产二级一片内射视频播放| 精品成人在线视频| 免费资源在线观看| 国产精品高清免费在线观看| 久久国产影院| 久久综合在线观看| 亚洲第一主播视频| 欧美理论在线观看| 国产一区二区香蕉| 一本一道久久a久久精品蜜桃| 三上悠亚 电影| 亚洲成精国产精品女| 美女欧美视频在线观看免费 | 国产午夜精品理论片a级探花| 美女一区网站| 中文字幕成人一区| 成人激情视频网站| 日韩精品一区不卡| 欧美不卡视频一区发布| 日韩激情毛片| 99re精彩视频| 亚洲一区二区三区四区不卡| 偷拍自拍在线| 国产在线不卡精品| 影音先锋久久久| 成熟人妻av无码专区| 日韩一区二区免费在线电影| 欧美日韩国产观看视频| 一个色的综合| 99久久精品一区二区| 中文字幕人妻色偷偷久久| 欧美xxxx做受欧美.88| 天天做夜夜做人人爱精品 | 波多野结衣中文一区| 中文字幕av第一页| 欧美国产乱视频| 国产一区二区三区不卡视频网站| 午夜激情视频网| 欧美日韩一区二区免费在线观看 | 人狥杂交一区欧美二区| 日韩在线第一区| 国产·精品毛片| 中文字幕av无码一区二区三区| 欧美激情欧美狂野欧美精品|