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

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

生成具有連通性信息的六角格

生成具有連通性信息的六角格

慕后森 2023-06-20 15:41:23
我目前正在嘗試實(shí)現(xiàn)一個(gè)簡(jiǎn)單的晶格氣體模擬,其中涉及粒子在六角形網(wǎng)格中彈跳。首先,我需要生成網(wǎng)格,最終我想創(chuàng)建某種數(shù)據(jù)結(jié)構(gòu)(在 Matlab 或 Python 中),其中包含每個(gè)節(jié)點(diǎn)的坐標(biāo),以及它的六個(gè)鄰居中的每一個(gè)的標(biāo)識(shí)(假設(shè)它不是邊界節(jié)點(diǎn))。對(duì)我來(lái)說(shuō),主要問(wèn)題是弄清楚如何包含連接性。例如,假設(shè)我找到了一種方法來(lái)索引我所有節(jié)點(diǎn)的集合。給定一些節(jié)點(diǎn)i,我希望能夠找到節(jié)點(diǎn)的索引說(shuō)它是正確的。我可以開(kāi)發(fā)一些一致的方法來(lái)枚舉節(jié)點(diǎn),這樣我就可以計(jì)算它的鄰居的索引,但是如果我想生成不太簡(jiǎn)單的網(wǎng)格,這不會(huì)給我太多的靈活性。執(zhí)行此操作的最佳方法是什么?我知道這是一個(gè)非常簡(jiǎn)單的問(wèn)題,但自從我上一節(jié)計(jì)算機(jī)科學(xué)課以來(lái)已經(jīng)有一段時(shí)間了,所以此時(shí)我?guī)缀踔皇煜は蛄?列表。提前致謝!
查看完整描述

1 回答

?
一只斗牛犬

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

如果您熟悉 Python 中的 OOP 并想要自定義,我建議您自己從頭開(kāi)始編寫(xiě)節(jié)點(diǎn)對(duì)象,并實(shí)現(xiàn)它們類似于雙向鏈表,其中每個(gè)節(jié)點(diǎn)都持有對(duì)其所有鄰居的引用。

如果您堅(jiān)持將所有節(jié)點(diǎn)保存在某種類似數(shù)組的對(duì)象中,我會(huì)建議使用類似于具有六邊形網(wǎng)格的視頻游戲如何處理其坐標(biāo)的索引的二維數(shù)組對(duì)象。

n1 - n2 - n3
  \ / \  /  \
   n4 - n5 - n6
  / \  /  \  /
n7 - n8 -  n9

使用上圖,您可以創(chuàng)建類似ls = [[n1,n2,n3],[n4,n5,n6],[n7,n8,n9]]. 偶數(shù)行的右下節(jié)點(diǎn)的列索引將是它自己的列索引,而左下節(jié)點(diǎn)將是它的列索引-1(例如,n2在偶數(shù)行 0 中,引用n5它將是ls[1,1]sincen2的行列索引是 [0,1]。要引用n4它將是ls[1,0])。同時(shí)對(duì)于奇數(shù)行,它的右下節(jié)點(diǎn)列索引將是它自己的col索引+1,它的左下節(jié)點(diǎn)列索引是它自己的col索引。(示例:n5索引是 [1,1] 在奇數(shù)行 1,n9將是ls[2,2]并且n8將是ls[2,1])。

編輯:我索引的方式ls是通過(guò) numpy 的索引方法。如果您使用的是 python 內(nèi)置列表,則需要單獨(dú)的括號(hào)(例如,ls[2,1]在 numpy 中ls[2][1]用于 python 內(nèi)置列表)


查看完整回答
反對(duì) 回復(fù) 2023-06-20
  • 1 回答
  • 0 關(guān)注
  • 162 瀏覽
慕課專欄
更多

添加回答

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