szerda, július 29th, 2009 | Author:

Úgy gondoltam, lenne értelme megtanulni a C# programozási nyelvet. A lenti, szigetes feladat egészen jó alanynak tűnt ahhoz, hogy elkezdjem, úgyhogy a következő szigetest már c#-ban írtam meg, és – Geot felvetése kapcsán – gravitációval. Kifejtés és képek alant:

A gravitációs számolás lényege: minden darabka vonzza a többit. A vonzás a távolság négyzetével arányos. Ha közel érünk egy másik kis szigethez, megállunk:

Végtelen távolság, egységsúlyokkal

Végtelen távolság, egységsúlyokkal

Hát ez még nem pont az, amit szeretnénk, de a csoportképzés máris sokkal jobb. Oké, lépjünk tovább, min tudnánk javítani..

Csináljuk meg úgy, hogy csak egy bizonyos távolságon belül keresünk:

Szabályozott távolság, egységsúlyokkal

Szabályozott távolság, egységsúlyokkal

Határozottan alakul. Nem középre tart mindenki, hanem csoportokat képzünk. Tegyük ezt kicsit félre, és nézzük meg, mi történik akkor, ha az elemeknek súlya is van, akár negatív is..

Súlyozott, végtelen távolság

Súlyozott, végtelen távolság

Ez sem rossz, megintcsak csoportok alakulnak ki, ami részben a taszító hatásnak köszönhető. A súlyeloszlás amúgy nem egyenletes, -2-től +3-ig véletlenszerűen alakul. Kombináljuk most az utolsó két módszert, és nézzük meg, mi történik, ha valamivel kisebb területen próbáljuk ki:

Szabályozott távolság, súlyozott

Szabályozott távolság, súlyozott

Mint látható, ebből a mintából minimális utómunkával már nagyszerű szigeteket lehet kialakítani. Tesztelgettem ezt a beállítást párszor, nagyon érdekes formák alakulnak ki..

Ezzel nagyjából el is jutottam oda, ahova akartam, szóval a következő lépésben valami újféle problémát fogok kitalálni, vagy ezt a térképet finomítom valamiképpen..

Tags: ,
Category: Hobbi
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

2 Responses

  1. 1
    geot 

    Ez nagyon látványos. Isten (vagy a természet) is valami hasonló algoritmussal alkothatta meg a nagy korallzátonyokat. :)

  2. 2
    Bari 

    Forráskód elérhető?

Leave a Reply » Regisztráció / Log in


You must be logged in to post a comment.