Toon posts:

[VB6] 3-dimensionaal tekenen en met inhoud rekenen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste Tweakers,

Ik zal mijn best doen om dit duidelijk te omschrijven, maar ik ben op zoek naar een methode (voor mijn part API) om 3D te rekenen met inhoud.

Stel je de volgende situatie een voor;
Je hebt 2stuks 3-dimensionale kubusen, de ene staat stil (zeg maar vastgeplakt aan de ondergrond en de andere zit aan de cursor van de muis vast. Je wilt de ene kubus naast de andere plaatsen, maar ze mogen elkaar NIET overlappen. Je zal dus moeten berekenen dat de kubus aan de cursor niet overlapt geplaatst kan worden bij de ander. :/

Wie o wie weet hiervoor een manier? Ik dacht zelf eerst aan de inhoud te berekenen, maar het is zo dat er steeds meer kubussen bij gaan komen, en ook in andere vormen zoals een cylinder -vorm. Daardoor wordt de berekening te groot om nog snel te kunnen functioneren. 8)7

Ps dit is niet zozeer een script of code request, ik zoek echt een manier hiervoor om mdit snel te kunnen berekenen. Het is voor een soort CAD programma is Visual Basic 6. Aangezien dat er hier soms van die Wizz-kids rondzwermen. B)

[ Voor 4% gewijzigd door Verwijderd op 08-11-2004 19:59 . Reden: geen ]


Verwijderd

Lekker zelf bouwen !

Je ontkomt er niet aan de vorm onder de cursor met alle andere vormen te snijden snijden. Om rekentijd te besparen helpt het van te voren een snelle selectie te maken en vormen die niet kunnen botsen buiten beschouwing te laten.

Ik weet niet precies waarom je voor VB 6 kiest, maar ik zou het zeker Object Oriented bouwen: abstracte klasse "vorm" maken en daar afgeleide klasses van maken zoals kunus en cylinder. Met VB 6.0 zit je dan niet zo lekker omdat deze taal maar 1 niveau overerving kent (nou ja, copy/paste implement dan :(). Ik zou bouwen in bij voorbeeld VB.NET of Delphi, die fatsoenlijk polymorfisme ondersteunen.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 15:32

.oisyn

Moderator Devschuur®

Demotivational Speaker

Wat ik me afvraag is hoe je een overlap-test wil gaan doen met inhoudberekening. :?
Maar goed, zoals altijd roep ik maar weer: seperating axis theorem!

2 convexe objecten A en B snijden elkaar niet als je een vlak kunt vinden wat de 2 van elkaar scheidt. Mogelijke vlakken zijn evenwijdig aan: een vlak van A, een vlak van B, en een vlak geconstrueerd uit een edge van A en een edge van B. Je gaat simpelweg alle mogelijke vlakken af, projecteert de objecten op de normaal van het vlak, en vervolgens doe je een simpele 1D overlap test.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.