Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Wiskunde voor zwaartekracht in tube

Pagina: 1
Acties:

  • truegrit
  • Registratie: Augustus 2004
  • Laatst online: 19-11 23:52
Ik ben van plan een computerspel te programmeren waar je een soort van voertuig bestuurd die als het ware in een tube "hovert". Het idee erachter is dat er geen echte zwaartekracht is, maar dat de binnenkant van de tube de voertuigen aantrekt. Wat je dan krijgt is dat je 360 van de wand kan berijden en zo leuke dingen kan doen enzo.

Nou moet ik nog veel nadenken over het spel enzo, maar dat is niet wat ik hier wil vragen. Mijn grootste probleem op dit moment is het berekenen van het pad van het voertuig. Ik zou bij god niet weten hoe ik dit aan kan pakken waar het realistisch overkomt. Mijn kennis van 3d wiskunde is zowiezo niet al te goed, wat ook dit probleem verklaart.

Hoe zou ik dit kunnen doen? Volgens mij zijn er niet zo veel spellen die dit soort gameplay hebben, maar daarom wil ik het maken. Zijn er bepaalde formules voor? Is dit een makkelijk op te lossen probleem?

Wat ik zelf al had bedacht is om het voertuig te laten bewegen aan de hand van de snelheid, dan berekenen hoe de relatieve rotatie van de wand op de nieuwe positie is, om dan het voertuig te verplaatsen aan de hand van deze rotatie. Maar dit lijkt met vrij lastig.

Zoals ik het nu zie is een tube niet meer dan een opgerold vlak, zoals bijvoorbeeld een weg. Het verschil is dan dat de zijkanten van de weg aan elkaar zijn geplakt, en dat er 3 dimensies zijn die de aantrekkingskracht van de baan niet aanpassen zoals bij andere racespellen. Maar vooral dat gedoe met de aantrekkingskracht van de wand hebben mij tot wanhoop gebracht.

Weet iemand een goede oplossing, of tenminste een duw in de goede richting?

hallo


  • scorpie
  • Registratie: Augustus 2001
  • Laatst online: 13:51

scorpie

Supra Addict

Enige wat je moet doen is toch gewoon center of projection veranderen? Aangezien er geen zwaartekracht is (je "kleeft" als het ware aan de binnenkant van de tube als ik je goed begrijp).
Soort van Rollcage achtig spel dus? Daar zou je naar kunnen kijken.

wil een Toyota Supra mkIV!!!!! | wil een Yamaha YZF-R{1,6} | wil stiekem ook een Ducati
"Security is just a state of mind"
PSN: scorpie | Diablo 3: scorpie#2470


  • MadMarky
  • Registratie: Augustus 2001
  • Niet online

MadMarky

Begint eer ge bezint

Exact dezelfde situatie als in het spel Ballistics dus.

🖥️ | 🚗


  • Floort
  • Registratie: Mei 2004
  • Laatst online: 23-11 16:08
Zolang je je binnenin een bolschil of een tube bevind ondervind je geen netto zwaartekracht. Dit is vrij eenvoudig na te rekenen met een integraal die ik uit mijn hoofd zou moeten kennen.

Je zult dus een soort kracht moeten verzinnen die je tegen de binnenkant van de buis drukt. Een kracht die me wel de moeite waard lijkt om uit te proberen is: f(x) = c * (r/|r|), waarbij c een constant getal is, r de afstandsvector van het centrum van de tube naar je object en |r| de lengte van r. Let wel op het punt |r|=0 (delen door 0).

Maar als ik jou was zou ik toch eerst een flinke dosis lineaire algebra en vector algebra gaan doornemen. Ik verwacht dat je niet ver komt met dit spel als je dit soort eenvoudige wiskunde niet kan uitvogelen. Probeer bijvoorbeeld eens of je deze pagina kan volgen: http://en.wikipedia.org/wiki/3D_projection
Dit is de basis van de meeste 3d software.

Mag ik vragen wat je gaat gebruiken om dit spel te maken en hoe ver je al bent?
Ik zou me namelijk niet druk maken over dit soort vragen als ik nog geen redelijke basis had. Kan je al een eenvoudig level renderen en objecten laten bewegen in het level?

  • truegrit
  • Registratie: Augustus 2004
  • Laatst online: 19-11 23:52
jammer dat het bestaat :(

maar ik wil dit doen juist om de wiskunde te leren. Ik heb al eens een spel gemaakt in c# met een engine erachter, maar nu wil ik vanaf de basis met C++ mijn eigen spel maken, niet in opdracht van school. Het is dus grotendeels een stukje zelfontwikkeling. Daarnaast heb ik slechts 1 bestandje met code gemaakt op het moment, een vector. Met andere woorden, ik moet nog beginnen.

hallo


  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 17-10 16:43
Mag ik je stiekem wijzen op C# icm XNA versie 2.0beta komt bijna uit en dat heb je al veel sneller een mooie basis terwijl je toch volledige controle over de C# en HLSL code hebt.

Ook bezit je dan een mathhelper die wat standaard functies bevat.

Verder bestaat zo'n tube bijvoorbeeld uit 8 vlakken, bereken simpel welk vlak de hovercraft raakt op dat moment, en laat hem er de volgende update tegen aan kleven (negeer zwaartekracht en gooi via een collosion detection de hovercraft op 1 pixel van de dichtsbijzijnde tube zijkant.)

Als je dan meer naar links gaat bijvoorbeeld.. dan komt de zijkant van de hovercraft in aanraking met een 2e vlak van de tube, laat de hovercraft vanaf dat moment de 2e als orientatie nemen en ga zo door.

Nu is dit bij tubes van 8 vlakken een beetje schokkerig, maar als je een mooie tube met 24 of 32 vlakken hebt is dit smooth genoeg, ook hoef je de hovercraft natuurlijk niet meteen tegen het midden van het vlak te gooien.


Wat voor specifieke wiskunde je hier nu voor wilt gebruiken weet ik eigenlijk niet :/

~ Mijn prog blog!

Pagina: 1