Toon posts:

[Java] Bal Kaatsing & driehoek

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo Allemaal,

Ik ben bezig om een spelletje te maken in Java. Nu heb ik een speelbal in het spelletje zitten die tegen diverse stilstaande objecten kan kaatsen. Het balletje kan tegen een rondje, vierkant of driehoek kaatsen. Nu is het mij al gelukt om het balletje tegen een rondje en vierkant te laten kaatsen. Alleen het driehoekje is een probleem. Ik weet niet wanneer het balletje terug moet kaatsen als hij een schuine zijde raakt. Weet iemand een logeritme om de bal terug te laten kaatsen?

Bekende variabele zijn: x Increment en y increment van de bal, positie van de bal en de 3 hoekpunten van het driehoek.

Ik hoop dat iemand een oplossing weet, anders kan ik vanavond niet slapen.

Alvast bedankt voor je reactie.

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
zoek gewoon op de intersectie van lijn en lijnstuk... zo kan je ALLE x-hoeken aan...

Verwijderd

Topicstarter
Sorry mijn wiskunde lessen zijn alweer een tijdje geleden. Kun je misschien iets meer info geven over intersectie etc. Thnx

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
ken je wel zoiets als google?

toch effe een pointer.
http://astronomy.swin.edu.au/~pbourke/geometry/lineline2d/

Verwijderd

Met de positie,de richtingscoëfficiënt en de straal van de bal kun je nagaan waar de bal een willekeurige andere lijn gaat raken. Als dat punt ergens tussen twee naburige punten van de veelhoek is, dan gaat de bal dus ook daadwerkelijk de driehoek raken. Denk wel even aan de bijzondere situaties waar de bal een hoekpunt raakt.

[ Voor 13% gewijzigd door Verwijderd op 03-07-2003 14:04 ]


Verwijderd

Topicstarter
Ik heb geprobeerd intersectie te begrijpen, maar ik snap niet helemaal hoe je de bal als een lijn kan zien. Als je namelijk de lijn doortrekt in de richting van de richtings-coefficient, dan kan de bal ook anderen objecten tegenkomen. Heeft iemand misschien een duidelijke tekening, want uit de onderstaande wordt ik niet echt veel wijzer.

Verwijderd

Topicstarter
Geweldig, dat ik daar niet eeder aan had gedacht. Om een gegeven moment zit je hoofd gewoon helemaal vol, dat je niet meer helder kan nadenken. 8)7 Thnx !!!!

Verwijderd

Topicstarter
Even nog de discussie voortzetten. Bovenstaande links geven alleen de collision detection aan met behulp van vectoren. Als je die dus niet hebt wordt het een probleem,om dat je geen dot product kan berekenen. Maar de gedachte is wel hetzelfde. Nl. de positie van de bal is punt D. De driekhoek is een ABC. BC is de schuine zijde. Nu moet je de loodlijn van driehoek BCD naar schuine zijde BC uitrekenen. That's it.

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Je hebt toch een xIncrement en een yIncrement? Die 2 waarden kan je toch gewoon als een vector beschouwen!

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Die 2 waarden kan je toch gewoon als een vector beschouwen!
Sterker nog, een willekeurige combinatie van een richting en een snelheid is een vector ;)

Professionele website nodig?


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
curry684 schreef op 04 July 2003 @ 10:13:
[...]

Sterker nog, een willekeurige combinatie van een richting en een snelheid is een vector ;)
Ja dat probeer ik duidelijk te maken :)

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
de oplossing is:

het probleem versimpellen tot een lijn - lijn intersectie. Dit doe je door de circle
te vereenvoudigen tot een punt (het punt dichts bij de lijn, je neemt de unity normaal vermenigvuldig die met de radius en je hebt je punt). vector blijft dezelfde...
Pagina: 1