Kezdőoldal » Számítástechnika » Programozás » Tudnád magyarázni nekem, hogy...

Tudnád magyarázni nekem, hogy víz fizikát hogyan csinálhatnék?

Figyelt kérdés

Víz collidert szeretnék az unityhez.

Azt akarom,hogy ha a víz hullámzik akkor a hullámok mozgassák a hajót élethűen.


Ez elégé rendszerigényes funkció nem?

A gta5 ben eléggé élethű.


Tudnátok írni erről nekem,hogy legyen rá egy kis rálátásom.


2014. márc. 19. 12:01
 1/9 anonim ***** válasza:

Szinguláris részecske szimuláció. (Hajrá)


Vagy felületmorfológia, a normálisból tudod hogy áll a hajó, a szomszédos csúcspontokból pedig átlagolni tudod a várható magasságot, és már elég jól is néz ki. Persze kell egy hullám amplitúdó-frekvencia szűrő, hogy a magas frekvenciájú hullámok ne rángassák a hajódat.

2014. márc. 19. 13:10
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:
Ez nagyon bonyolult.
2014. márc. 19. 13:20
 3/9 anonim ***** válasza:
A második az egyszerűbb.
2014. márc. 19. 13:54
Hasznos számodra ez a válasz?
 4/9 anti paladin ***** válasza:
Nem bonyolult az, csak ülj le és gondold végig. Az elv maga egyszerű. Nem csináltam még ilyet de értem mit akar mondani a hozzászóló.
2014. márc. 19. 14:06
Hasznos számodra ez a válasz?
 5/9 A kérdező kommentje:

Olyan szavakat használ amiket soha nem halottam 22 év alatt.

Ennyire nem akarok matek ember lenni mert nem értek hozzá a matek tanulás sem megy még tanárral sem.Ha ehhez ilyen szintű matematika kell akkor inkább kihagyom.

2014. márc. 19. 15:58
 6/9 anti paladin ***** válasza:

Pedig ez középiskolai matek és fizika. :)


Megpróbálom egy kicsit elmagyarázni az elvet aztán majd jól kiigazítanak ha hülyeséget mondtam.


Az amplitúdó egy hullámgörbeként írható le, kb. mint egy sinus-görbe. A kolléga azért használta ezt a szót mert a hullámok sűrűsége/magassága jól ábrázolható a görbe "sűrítésével" vagy "ritkításával" azaz a görbe csúcsainak egymástól való távolságának csökkentésével vagy sűrítésével.


Az amplitúdó-frekvencia szűrő sem egy ördöngősség. Az amlitúdó frekvenciája pontosan azt jelenti amit az előbb írtam, azaz a az amplitúdó-görbe csúcspontjainak egymástól való távolságát. Minél kisebb ez a szám, annál nagyobb a frenkvencia és minél nagyobb a csúcstávolság, annál kisebb a frekvencia. Itt fordított arányosság van.

Egyszerűen megfogalmazva, minél nagyobb egy hullám amplitúdó-frekvenciája, annál magasabb a hullám (vagy annál gyorsabban jönnek egymás után a hullámok, ez attól függ, hogy a megvalósítás során milyen megközelítést használsz).

Ez a szűrő csak annyit csinál, hogy figyeli a hullámot és ha magas a frekvenciája, tehát túl sűrűn jön egymás után x db hullám akkor nem a szokásos módon hat a hajóra hanem egy általad meghatározott, más dolog történik. Pl. finoman csökkenti a hullámzást vagy pl. egyenesen figyelmen kívül hagyja ha olyan látvány.

Ez már abszolút tőled függ.


Sztem tégy egy próbát, rajzolj fel egy egyszerű sinusgörbét, aztán alág egy másikat ahol a görbe csúcstávolságai fele az elsőnek, aztán egy újabb görbét ahol a csúcstávolság kétszeres. Rögtön látni fogod mit jelent az előző magyarázat (ha érthetően fogalmazta).

2014. márc. 19. 16:59
Hasznos számodra ez a válasz?
 7/9 anti paladin ***** válasza:

Lemaradt:

Magas frekvencia esetén gyorsan jönnek egymás után a hullámok, alacsony esetén nyugis hullámzás van.

2014. márc. 19. 17:00
Hasznos számodra ez a válasz?
 8/9 A kérdező kommentje:

Értem a sinus görbét de ez olyan sok és túl bonyolult összetett.

Egyébként köszönöm a kimerítő magyarázatot.

Tudom,hogy hülye vagyok én mindig csak irigykedve nézek ratok meg azokra akik a természet tudomány kategóriába írkálják a képleteket.


Lehet,hogy túl sokat akarok.

Én erre nem vagyok képes.

Még mindog nem látom átt azt,hogy miként kéne nekifogni.


Az unityben van beépített víz de nincs hozzá fizika. :-(

2014. márc. 19. 17:46
 9/9 anonim ***** válasza:

1# vagyok


A #6-os hozzászóló szépen leírta.


Minden felület (így a víz, vagy egy fénykép) leírható egy adott periodikus függvény sorával. Ilyen a Fourier-sor is például, de az egyszerűség kedvéért vegyünk egy szinusz függvényt. Legyen a frekvencia együttható 0, így egy egyen-komponenst, azaz egy egyenest kapunk állítjuk be így a víz magasságát, a továbbiakban iteráljuk a frekvenciát egyesével és határozzuk meg az ezekhez a frekvenciaértékekhez egy amiltudót. Az így kapott n-számú sorral bármilyen n-re diszkretizált felület (szám sor) leírható.

Így működik a JPEG is, csak az diszkrét koszinusz transzformációval van megoldva.


Nézzük meg a hajó hosszát (a hossz itt a hajó azon oldala(i) ahonnan a hullámzást éri) vessük össze 1/f -el, ahol f a frekvencia. Határozzunk meg egy arányszámot ami meghatározza hogyan viselkedik a hajó erre a frekvenciára, azaz (empirikus módon vizsgálva) jó eredményt ad. nyilván egy magas frekvenciás hullán hiába csapkodja a tankerünk oldalát, de egy tutajt felkap egy kis frekvenciás szökőár. Ez az arányszám legyen [0-1] tartományon belül, a negatív hatást és az öngerjesztést egy mérnöki tollvonással nem vesszük figyelembe. Több komponenst esetén az arányszámok sora legyenek normalizálva, azaz összegük = 1, de persze ez lehet akár 0.9 is és a tehetetlenség is le van rendezve egy mérnöki tollvonással.


Adott 't' időpillanatban és 'p' fázisban számoljuk ki a hajó közepén lévő hullám meredekségét (szinusz első számú deriváltja) és képezzünk belőle egy normálvektort, és egy magasság értéket. Ismételjük meg ezt a sor minden tényezőére és szorozzuk meg a megfelelő arányszámmal. Adjuk át azt


A végeredmény egy hihetően mozgó hajó lesz, ami függ a hullámtól és attól honnan kapja azt (feltéve ha az arány sorunkat frissítjük a hajó hullámirányra vett effektív hosszától).


A hullámot kirajzolhatjuk egy vertex buffer streamelésével is, de változékonysága miatt bőven elfér egy vertex shaderben is, így megspóroljuk a memory overhead-et. A hajó dőlése, magassága pedig képkockánként determinisztikus.


Nyilván a helyzet egyszerű, hiszen a víz egy f(x,y) függvény, azaz 2D felület, a módszer alkalmazható térben is, pl. térerősség számítására.


De ha olyan válaszokat ír a kedves kérdező, hogy :

"a matek tanulás sem megy még tanárral sem.Ha ehhez ilyen szintű matematika kell akkor inkább kihagyom."

Akkor nem biztos, hogy valóban érdemes Unity-vel foglalkoznod, vagy legalábbis nem ezzel a részével.

2014. márc. 20. 14:36
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!