精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

成人毛片100部免费看| 国产精品久久久久免费a∨大胸| 香蕉久久久久久av成人| 高清精品在线| 国产精品伦一区二区三级视频| 51精品国产人成在线观看| 欧美一级视频免费观看| 欧美激情偷拍自拍| 亚洲第一级黄色片| 日本在线一二三区| 人成在线免费网站| 亚洲色欲色欲www| 久久久久久一区| 国产喷水福利在线视频| 麻豆9191精品国产| 免费不卡欧美自拍视频| 精品人妻中文无码av在线| 97色成人综合网站| 欧美日韩电影在线| 黄色国产精品视频| www.8ⅹ8ⅹ羞羞漫画在线看| 国产精品久久久久久久久免费樱桃| 国产一区二区在线网站| 国产有码在线观看| 玖玖在线精品| 97超级碰碰碰| 久久综合加勒比| 99热国内精品永久免费观看| 亚洲人成电影在线| 超碰97在线资源站| 亚洲一区二区电影| 91精品国产一区二区三区香蕉| 亚洲免费av一区二区三区| 男人av在线播放| 亚洲午夜久久久久久久久电影网 | 五月天婷婷激情视频| 国产丝袜在线观看视频| 日韩毛片视频在线看| 婷婷四月色综合| 国产在线免费观看| 91免费视频观看| 韩国精品一区二区三区六区色诱| 99久久精品日本一区二区免费| 日日夜夜免费精品| 日韩免费在线看| 国产 日韩 欧美 在线| 在线看片日韩| 高清在线视频日韩欧美| 欧美人妻一区二区| 激情欧美日韩| 久久久亚洲影院你懂的| 久久黄色小视频| 欧美日韩亚洲一区| 国内精品一区二区三区| 国产网址在线观看| 在线一区视频| 91成品人片a无限观看| 欧美精品亚洲精品日韩精品| 亚洲国产午夜| 欧美一级片久久久久久久| 国产黄在线免费观看| 国产精品毛片一区二区在线看| 日韩在线观看你懂的| 九九精品视频免费| 欧美精品麻豆| 2023亚洲男人天堂| 波多野结衣一区二区三区在线| 久久精品导航| 国产一区二区香蕉| 精品国自产在线观看| 国产99久久久国产精品潘金| 精品久久精品久久| 黄色在线免费观看大全| 国产精品久线观看视频| 亚洲黄色网址在线观看| 国产精品蜜臀| 色老汉一区二区三区| 91看片在线免费观看| 国产精品免费精品自在线观看| 欧美电影精品一区二区| 一二三不卡视频| 成人免费看片39| 欧美成人精品三级在线观看| 国产乱码久久久久久| 久久九九精品| 亚洲影院在线看| 色av男人的天堂免费在线| 中文字幕精品一区| 黄网站色视频免费观看| www.com.cn成人| 欧美另类变人与禽xxxxx| 熟妇女人妻丰满少妇中文字幕| 羞羞色国产精品网站| www.亚洲成人| 五月婷婷中文字幕| 麻豆精品久久久| 99久久综合狠狠综合久久止| av女名字大全列表| 亚洲欧洲精品一区二区三区不卡| 黄色激情在线视频| 素人啪啪色综合| 精品电影一区二区| 最新中文字幕av| 亚洲天堂久久| 国产情人节一区| 日韩欧美亚洲系列| 亚洲欧美国产77777| 国产综合免费视频| 亚洲精品一区在线| 最新中文字幕亚洲| 欧美成人精品欧美一级乱黄| 久久99久久久久| 久久综合九色综合久99| 性xxxfreexxxx性欧美| 在线观看亚洲专区| 国产夫妻性爱视频| 欧美日韩精品| 国产自摸综合网| 青青草在线视频免费观看| 亚洲精品视频在线观看免费 | 国产一区二区影院| 欧美二区三区| 97超碰免费在线| 日韩欧美国产精品| 国产欧美小视频| 翔田千里一区二区| 国产精品一区二区三区免费观看| 免费在线午夜视频| 欧美亚洲国产一区二区三区| 亚洲狠狠婷婷综合久久久久图片| 欧美大片专区| 91精品在线影院| 99青草视频在线播放视| 色综合久久综合网97色综合| 国产精品九九视频| 国产综合欧美| 91丨九色丨国产| av片哪里在线观看| 欧美精品 国产精品| 一级片黄色录像| 日本怡春院一区二区| 日本一区二区三区四区在线观看 | 亚洲xxxxxx| 欧美艳星brazzers| 国产视频123区| 欧美aaa在线| 五月天婷亚洲天综合网鲁鲁鲁| 校园春色亚洲| 亚洲欧美日韩精品久久| 精品人妻一区二区三区免费看| www.亚洲国产| 麻豆tv在线播放| 亚洲成a人片77777在线播放| 欧美亚洲一级片| 欧美午夜黄色| 色综合久久中文综合久久牛| 中文字幕在线看高清电影| 久久男女视频| 亚洲一区免费看| 亚洲欧洲二区| 欧美精品日韩www.p站| a毛片在线免费观看| 亚洲香肠在线观看| 国产精品无码一区二区三| 99精品国产在热久久下载| 久久久久高清| 高清av一区| 久久久精品2019中文字幕神马| 99这里有精品视频| 亚洲一级不卡视频| 亚洲一区二区三区四区五区六区 | 精品亚洲视频在线| 欧美1区2区| 国产一区在线观| 欧美成人h版| 久久不射电影网| 欧美视频xxx| 色综合色狠狠综合色| 国产jizz18女人高潮| 国产乱国产乱300精品| 成人中文字幕在线播放| 精品国产aⅴ| 91av免费看| 欧美sm一区| 日韩中文娱乐网| 天天操天天干天天插| 91国偷自产一区二区使用方法| 国产喷水在线观看| k8久久久一区二区三区| 婷婷免费在线观看| 亚洲午夜一级| 先锋影音亚洲资源| 爱高潮www亚洲精品| 国产精品视频成人| 欧产日产国产精品视频| 中文字幕精品国产| 色偷偷在线观看| 欧美日韩国产精品成人| 国产成人精品一区二三区| 国产精品久久久久久妇女6080| 久久免费精品国产| 麻豆成人在线观看| 国产黄色一级网站| 亚洲老妇激情| 日韩欧美亚洲区| 加勒比视频一区| 国产日韩在线看片| 最新日韩三级| 午夜欧美不卡精品aaaaa| 亚洲s色大片| 亚洲欧美一区二区三区情侣bbw| 99国产精品一区二区三区| 色哟哟在线观看一区二区三区| 欧美黑吊大战白妞| 国产精品久久久久毛片软件| 成年人在线观看av| 成人国产免费视频| 男人操女人下面视频| 麻豆精品视频在线观看| 中文字幕无码不卡免费视频| 精品91在线| www.黄色网址.com| 欧美熟乱15p| 日本一区视频在线播放| 久久a级毛片毛片免费观看| 成人天堂噜噜噜| 欧美一级免费| 国产精品日韩欧美大师| 影视一区二区三区| 欧美与欧洲交xxxx免费观看| 678在线观看视频| 欧美精品在线免费播放| 黄色在线播放网站| xvideos亚洲| 午夜精品一区| 综合av色偷偷网| 91精彩视频在线观看| 国产亚洲精品一区二555| 你懂的视频在线免费| 亚洲美女www午夜| 亚洲三级中文字幕| 国产视频精品一区二区三区| 日本美女一级片| 亚洲精品电影网在线观看| 日韩永久免费视频| 亚洲第一黄色网| 五月婷婷在线观看视频| 亚洲精品久久视频| 青青草视频免费在线观看| 亚洲精品国产欧美| 日本不卡视频一区二区| 亚洲精品美女在线观看| 天堂а√在线8种子蜜桃视频| 日韩电影中文字幕| 免费福利在线观看| 中国日韩欧美久久久久久久久| 懂色一区二区三区| 在线中文字幕日韩| 亚洲成a人v欧美综合天堂麻豆| 精品国产一区av| 色呦呦在线视频| 午夜免费日韩视频| 欧美三级精品| 国产日韩精品电影| 亚洲一区电影| 免费中文日韩| 日韩综合一区| 国产成人免费高清视频| 欧美午夜一区| 成人在线免费观看av| 日韩成人dvd| 日本美女久久久| 99在线精品观看| 国产成人福利在线| 亚洲天堂a在线| 日本一级片免费看| 欧洲精品中文字幕| 国产极品999| 日韩av在线网站| 在线观看完整版免费| 欧美激情xxxxx| 香蕉伊大人中文在线观看| 国产精品视频自在线| 视频一区国产| 欧美精品一区二区视频| 小处雏高清一区二区三区| www.好吊操| 轻轻草成人在线| 国产成人av片| 亚洲国产精品黑人久久久| 黄色一级视频免费| 欧美调教femdomvk| 亚洲欧美激情国产综合久久久| 国产亚洲福利一区| 毛片网站在线看| 国产精品久久久久久久久久小说 | 国产一区二区三区乱码| 日韩国产成人精品| 美女伦理水蜜桃4| 国产精品久久福利| 日韩黄色a级片| 制服丝袜国产精品| 国产亚洲依依| 午夜欧美不卡精品aaaaa| 91成人短视频在线观看| 欧美极品日韩| 亚洲激情影院| 在线观看日本www| 久久亚洲春色中文字幕久久久| 亚洲天堂黄色片| 欧美日韩国产经典色站一区二区三区| 日韩二区三区| 久久久女人电视剧免费播放下载| 日韩黄色三级在线观看| 久久综合给合久久狠狠色| 亚洲一级特黄| 无码人妻少妇色欲av一区二区| 亚洲国产高清不卡| 丁香社区五月天| 亚洲美女激情视频| 91老司机福利在线| 成人在线观看91| 欧美+亚洲+精品+三区| 国产成人美女视频| 中文字幕第一区综合| 免费视频久久久| 日韩国产欧美精品一区二区三区| 黄污视频在线观看| 91视频-88av| 香蕉国产精品| www.日本久久| 亚洲欧美日韩在线不卡| 亚洲性在线观看| 深夜精品寂寞黄网站在线观看| 四虎影视4hu4虎成人| 欧美日韩一区二区三区在线视频 | 欧美日韩国产区| 亚洲 欧美 自拍偷拍| 久久欧美在线电影| 激情小说亚洲图片| 乱妇乱女熟妇熟女网站| 99久久国产综合精品麻豆| 国产手机在线视频| 精品一区二区三区四区| 在线能看的av网址| 久久久人人爽| 午夜在线视频观看日韩17c| 精品久久久久久中文字幕人妻最新| 婷婷六月综合亚洲| 青青青免费视频在线2| 国产97色在线| 欧美黄色大片在线观看| 中文字幕在线观看日| 亚洲欧美激情一区二区| 国产jzjzjz丝袜老师水多| 欧美激情成人在线视频| 丁香五月缴情综合网| 黄色动漫在线免费看| 国产午夜精品一区二区| 中文字幕在线视频免费| 久久精品成人欧美大片| 欧美专区一区| 欧美特级限制片免费在线观看| 久久亚洲精品大全| 亚洲精品国产精品久久清纯直播 | 日韩精品一区二区三区免费观看| 最新中文字幕免费视频| 18成人在线视频| 韩国av电影在线观看| 欧美在线一区二区三区四| 青青草综合网| 久久久久中文字幕亚洲精品| 黄网动漫久久久| 99视频在线观看地址| www.久久草| 丝袜亚洲另类欧美综合| 成人欧美一区二区三区黑人一| 日韩欧美色电影| 天堂√中文最新版在线| 亚洲综合首页| 不卡在线观看av| 中文字幕欧美色图| 欧美日韩成人免费| 国产剧情一区| 婷婷中文字幕在线观看| 五月天欧美精品| 午夜在线免费观看视频| 国产一区二区三区av在线| 免费av网站大全久久| 久久综合久久鬼| 日韩中文在线中文网在线观看| theporn国产在线精品| 一区二区三区视频在线观看免费| 一卡二卡欧美日韩| www视频在线观看免费| av电影成人| 久久99精品久久久久久| 国产高潮久久久| 久久国产精品偷| 精品国产乱码久久久久久1区2匹|