第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

查找點(diǎn)是否位于矩形內(nèi)

查找點(diǎn)是否位于矩形內(nèi)

我想查找一個(gè)點(diǎn)是否位于矩形內(nèi)。矩形可以以任何方式定向,并且不需要軸對(duì)齊。我想到的一種方法是旋轉(zhuǎn)矩形和點(diǎn)的坐標(biāo)以使矩形軸對(duì)齊,然后通過(guò)簡(jiǎn)單地測(cè)試點(diǎn)的坐標(biāo)是否位于矩形的坐標(biāo)內(nèi)來(lái)進(jìn)行測(cè)試。上述方法需要旋轉(zhuǎn),因此需要浮點(diǎn)運(yùn)算。還有其他有效的方法嗎?
查看完整描述

3 回答

?
qq_遁去的一_1

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊

矩形如何顯示?三分?四分?點(diǎn),邊和角度?一分兩分?還有嗎 不知不覺(jué)中,任何回答您的問(wèn)題的嘗試都將僅具有學(xué)術(shù)價(jià)值。


在任何情況下,對(duì)于任何凸多邊形(包括矩形)的測(cè)試是非常簡(jiǎn)單的:檢查多邊形的每個(gè)邊緣,假設(shè)每個(gè)邊緣在反時(shí)針?lè)较虮蝗∠?,并測(cè)試點(diǎn)是否位于向左的邊緣的(在左-手半平面)。如果所有邊緣均通過(guò)測(cè)試,則該點(diǎn)在內(nèi)部。如果至少有一個(gè)失敗-該點(diǎn)在外面。


為了測(cè)試該點(diǎn)是否(xp, yp)位于邊緣的左側(cè)(x1, y1) - (x2, y2),您只需要計(jì)算


D = (x2 - x1) * (yp - y1) - (xp - x1) * (y2 - y1)

如果為D > 0,則該點(diǎn)在左側(cè)。如果為D < 0,則該點(diǎn)在右側(cè)。如果為D = 0,則該點(diǎn)在線上。


該答案的先前版本描述了左側(cè)測(cè)試的看似不同的版本(請(qǐng)參見(jiàn)下文)。但是可以很容易地證明它計(jì)算出相同的值。


...為了測(cè)試點(diǎn)是否(xp, yp)位于邊緣的左側(cè)(x1, y1) - (x2, y2),您需要為包含邊緣的線構(gòu)建線方程。公式如下


A * x + B * y + C = 0

哪里


A = -(y2 - y1)

B = x2 - x1

C = -(A * x1 + B * y1)

現(xiàn)在您要做的就是計(jì)算


D = A * xp + B * yp + C

如果為D > 0,則該點(diǎn)在左側(cè)。如果為D < 0,則該點(diǎn)在右側(cè)。如果為D = 0,則該點(diǎn)在線上。


但是,該測(cè)試同樣適用于任何凸多邊形,這意味著它對(duì)于矩形可能太通用了。矩形可能允許更簡(jiǎn)單的測(cè)試...例如,在矩形(或任何其他平行四邊形)中,的值A(chǔ)和值B具有相同的大小,但相對(duì)(即平行)邊緣的符號(hào)不同,可以利用該值簡(jiǎn)化測(cè)試。


查看完整回答
反對(duì) 回復(fù) 2019-10-24
  • 3 回答
  • 0 關(guān)注
  • 935 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)