Vairāk

Ceļojumu plānošana - daudzstūra vistālāko punktu atrašana

Ceļojumu plānošana - daudzstūra vistālāko punktu atrašana


Es vēlētos organizēt ekskursiju pa ezeru ar diviem mērķiem:

  • maksimāli palieliniet apskatāmo krastu garumu
  • samazināt ceļojuma attālumu

Lai to izdarītu, es varu:

  1. Izvēlieties 2 attālākos ezera punktus nobraukuma attāluma ziņā
  2. Definējiet ezera kreiso un labo krastu
  3. Brauciet vienādā attālumā starp krastiem no A līdz B.

Kāds ir labākais veids, kā atrast šos 2 punktus?

ATJAUNINĀT UZ ORIĢINĀLO Q:

Mana pieeja ir novietot vairākus izlases punktus un aprēķināt Eiklida minimālo aptverošo koku.

Atkārtojiet visus punktu/mezglu pārus, lai atrastu pāri ar visgarāko attālumu. Attēlā redzams attālums, kur galamērķis ir punkts ziemeļos. Tas darbojas, bet nedaudz apgrūtinoši, tāpēc es meklēju idejas. Derēs rastrs vai vektors.

Runa ir par nebeidzamu diskusiju par daudzstūra garumu.


Neizliekts daudzstūris

Jums vajadzētu uzzīmēt daudzstūra vidējās ass transformāciju (skeletu vai centra līniju). Iespējas, kā to izdarīt:

  1. Izveidojiet centra līnijas

  2. izmantojiet CGAL ar arkobjektiem

Pēc tam izmantojiet centra līnijas, lai aprēķinātu tīkla attālumu starp diviem punktiem un atrodiet vistālākos.

Izliekts daudzstūris

Vienkāršākais, kaut arī ne visefektīvākais veids ir aprēķināt (loka) attālumus starp katru poligona iezīmes (ezera) virsotni un iegūt lielāko. Sarežģītība būtu o (n^2) ar n virsotņu skaitu katram daudzstūrim.

Ja nevēlaties veikt kodēšanu (python), izveidojiet modeli ar:

  1. Feature To Point GP rīks
  2. DISTANCE STARP PUNKTU RĪKU (no Hawth analīzes rīka)

Līdzīgi jautājumi

Kā aprēķināt taisnos skeletus, izmantojot Python?

Daudzstūru vienkāršošana ar līniju

Vai atrast tuneļa “centra līniju”?


Skatīties video: Agrā rezervācija 2017. gada ceļojumiem