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

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

按順時(shí)針順序排序點(diǎn)?

按順時(shí)針順序排序點(diǎn)?

按順時(shí)針順序排序點(diǎn)?給定一個(gè)x,y點(diǎn)數(shù)組,如何按順時(shí)針順序(圍繞它們的整體平均中心點(diǎn))對(duì)該數(shù)組的點(diǎn)進(jìn)行排序?我的目標(biāo)是將點(diǎn)傳遞給線創(chuàng)建函數(shù),以最終看起來相當(dāng)“堅(jiān)實(shí)”的東西,盡可能凸起,沒有相交的線。為了它的價(jià)值,我正在使用Lua,但任何偽代碼都會(huì)受到贊賞。非常感謝您的幫助!更新:作為參考,這是基于Ciamej優(yōu)秀答案的Lua代碼(忽略我的“app”前綴):function appSortPointsClockwise(points)    local centerPoint = appGetCenterPointOfPoints(points)    app.pointsCenterPoint = centerPoint    table.sort(points, appGetIsLess)    return pointsendfunction appGetIsLess(a, b)    local center = app.pointsCenterPoint    if a.x >= 0 and b.x < 0 then return true    elseif a.x == 0 and b.x == 0 then return a.y > b.y    end    local det = (a.x - center.x) * (b.y - center.y) - (b.x - center.x) * (a.y - center.y)    if det < 0 then return true    elseif det > 0 then return false    end    local d1 = (a.x - center.x) * (a.x - center.x) + (a.y - center.y) * (a.y - center.y)    local d2 = (b.x - center.x) * (b.x - center.x) + (b.y - center.y) * (b.y - center.y)    return d1 > d2endfunction appGetCenterPointOfPoints(points)    local pointsSum = {x = 0, y = 0}    for i = 1, #points do pointsSum.x = pointsSum.x + points[i].x; pointsSum.y = pointsSum.y + points[i].y end    return {x = pointsSum.x / #points, y = pointsSum.y / #points}end
查看完整描述

3 回答

?
鳳凰求蠱

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

您要求的是一個(gè)稱為極坐標(biāo)的系統(tǒng)。從笛卡爾坐標(biāo)到極坐標(biāo)的轉(zhuǎn)換很容易用任何語(yǔ)言完成。公式可以在本節(jié)中找到。


我不認(rèn)識(shí)Lua,但此頁(yè)面似乎提供了此轉(zhuǎn)換的代碼段。


轉(zhuǎn)換為極坐標(biāo)后,只需按角度θ進(jìn)行排序。


查看完整回答
反對(duì) 回復(fù) 2019-08-30
?
慕的地8271018

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

解決問題的一個(gè)有趣的替代方法是找到旅行商問題(TSP)的近似最小值,即。連接所有積分的最短路線。如果你的點(diǎn)形成凸形,它應(yīng)該是正確的解決方案,否則,它應(yīng)該仍然看起來很好(“實(shí)心”形狀可以定義為具有低周長(zhǎng)/面積比的形狀,這是我們?cè)谶@里優(yōu)化的) 。

您可以為TSP使用優(yōu)化器的任何實(shí)現(xiàn),我非常確定您可以用您選擇的語(yǔ)言找到它。


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

添加回答

舉報(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)