» »

Problem stikanja površin/ teles

Problem stikanja površin/ teles

Isotropic ::

v 2d omejen prostor random namecemo tocke (oz. kali), ki se sirijo enakomerno v vse smeri, dokler ne zadenejo sosednje tocke oz. oblaka nje. kako to narediti?
ce si prav predstavljam, je lahko sticna povrsina zelo kompleksna, tko da se kroznico razdeli na segmente in jih zasleduje s sirjenjem?
in ob vsakem koraku se pogleda, kje se stikata (prek koordinat segmentov mogoce)? pa tem bolj se stikata, tem bolj fino mrezo je treba narediti, zaradi natancnosti. alpa tut ne.

HairyFotr ::

Lahko narediš tudi tako: na zaletku izračunaš razdaljo od vsake točke do vseh drugih in si izračunane vrednosti shraniš v po razdalji naraščajoče urejen seznam.
Če kali vedno rastejo z enako hitrostjo in se ne premikajo, potem ob rasti gledaš prvi element v tem izračunanem seznamu in ko dosežeš tako rast, sprožiš ustrezen trk in začneš gledat naslednji element v seznamu in tako naprej.

Isotropic ::

krogi, ki rastejo niso "rigid", ampak se deformirajo, kakor se pac krogi stikajo (vsak krog bo imel ene 3-4 sosede). tko bomo potem dobili kar kompleksno sticno povrsino (vmes ne sme biti praznega prostora)
glih kaksnega pametnega podobnega primera se ne spomnim, vodni baloncki alpa kaj niso v redu pomoje, razen ce ima baloncek neskoncno trdnost.

Zgodovina sprememb…

HairyFotr ::

To je pa potem mal izven moje lige...
ideja s segmenti je verjetno kar prava, rabiš pa en dober opis teh krivulj... mogoče Bezierove al kj podobnega.

Isotropic ::

segmente naj bi imel glih za to, da ni treba komplicirat z krivuljami. in se zato, ker se bo potem vse to naredilo v 3d in bodo segmenti postali najprej štiri, potem pa trikotniki.

BlueRunner ::

Jaz bi razmišljal v smeri daljic, pravokotnih premic na njih in iskanja presečišč premic. Če je hitrost širjenja identična pri vseh točkah, potem ni potrebno "rasti" korak po korak, temveč je končen rezultat verjetno možno izračunati neposredno.

xordie ::

Nevem ce prav razumem, kaj zelis narediti. Na pamet mi pride Voronoi diagram.
x

BlueRunner ::

Zelo kmečka varianta, ki se jo bi verjetno dalo z nekaj razmisleka tudi optimirati (odpravljanje dvojnih preračunov).

Top level:
1. Privzameš, da si v koraku X (oziroma času X), kar pomeni, da imajo vse krožnice radij X.
2. Za vsako točko izračunaš odseke njene krožnice.

Izračun odsekov krožnice za dano točko:
1. Poišči vse točke, ki so bližje od X za dano točko.
2. Za vsako najdeno točko od krožnice "odštej" odsek, ki ga definira daljica, ki povezuje sečišči krožnic dane točke in najdene točke.
3. Na zaključku postopka imaš lik, ki se je oblikoval okoli točke.

Optimizacija je možna npr. pri računanju odsekov, saj potem ko imaš daljico med sečišči krožnic, jo lahko uporabiš za "odštevanje" odseka za obe krožnici, ne samo za eno.

...

Nekako v tej smeri bi razmišljal jaz.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Matematika - pomoč (strani: 1 2 3 )

Oddelek: Šola
10426897 (23472) daisy22
»

geometrijska konstrukcija

Oddelek: Šola
383972 (3175) euler
»

Geometrijska konstrukcija

Oddelek: Šola
454133 (4133) euler
»

paralelogram !! (strani: 1 2 )

Oddelek: Šola
556879 (6130) korenje_ver2
»

Vprašanje neskončnosti (strani: 1 2 )

Oddelek: Znanost in tehnologija
696694 (5421) Thomas

Več podobnih tem