Polygonen, triangulataties, kapen
november 24, 2007
Gisteren hadden we op school de wiskunde B dag. De opdracht ging over veelhoeken, triangulaties, kapen, ….. De dag was op zich zeer interessant, maar de opdrachten waren wel zeer moeilijk, het resultaat van onze groep is dan ook wel zeer magertjes.
Voor diegenen die minder goed mee zijn in deze wiskunde even de volgende uitleg:
Een polygoon is gewoon een veelhoek, onze opdracht ging vooral over simpele polygonen (dat zijn veelhoeken die zichzelf niet doorsnijden – de meeste polyonen zijn dus zo). Een triangulatie is het opdelen van een veelhoek in driehoeken die elkaar niet overlappen, en volledig in de veelhoek liggen, en waarvan de hoekpunten, hoeken zijn van de veelhoek zelf. Een kaap is simpelweg een hoek waarvan de 2 buurpunten kunnen verbinden, en de verbindingslijn volledig in de veelhoek ligt.
Zo was er bijvoorbeeld een vraag: “Bereken het aantal mogelijke triangulaties voor een convexe (zonder inspringende hoeken) van een n-veelhoek”. Er stond ook de suggestie bij dat je daar een programma voor mocht schrijven, want ik natuurlijk meteen heb gedaan (weliswaar zonder resultaat want het werkte niet).
Vannacht heb ik ook bedacht hoe ik deze kennis nu kan gebruiken in Jogo. In vorige versies van jogo konden objecten met elkaar botsen, maar hadden deze objecten een rechthoekige vorm. Door middel van een object om te zetten naar een veelhoek zouden veel betere botsingsresultaten kunnen worden gevonden. Ik dacht eraan om het op deze manier te doen:
- Het object (of beter de tekening van het object) wordt omgezet naar een polygoon
- De polygoon wordt getrianguleerd.
Deze eerste 2 stappen zouden tijdens het “compileren” van het programma kunnen gebeuren en moeten dus niet supersnel zijn. - Tijdens het draaien van het spel wordt voor elk object telkens gecontroleerd of het één of meerdere punten gemeenschappelijk heeft met een ander object (= een botsing). Dit kan gebeuren door dit te doen voor elke 3hoek met elke andere 3hoek (dit is al veel simpeler dan een polygoon op zijn eigen controleren)
Dit is hoe ik het zag. Toen begon ik te denken over punt 2: het trianguleren. Aangezien dat ik gisteren heb geleerd dat je een veelhoek kunt trianguleren door telkens een kaap af te snijden leek mij dat de meest simpele oplossing – mogelijk niet de snelste, maar snelheid is in dat stadium niet superbelangrijk.
Toen dacht ik: hoe herken ik een kaap? Zeer simpel, je pakt een willekeurig punt, je zoekt de 2 buurpunten, je trekt er een lijn tussen, je controleert of die lijn een zijde snijdt, zo niet is het een kaap, anders ga je naar het volgende punt van de polygoon. Toen ging ik over naar punt 3: hoe kan ik controleren of 2 driehoeken “botsen”? Ik bedacht het volgende : je controleert van 3hoek A de 3 zijden die snijden met een van de zijden van 3hoek B.
Toen viel mijn frank (of euro), als ik nu gewoon de zijdes van polygoon van object 1 met de zijdes van object 2, dan moet ik veel minder zijdes controleren dan als ik met 3hoeken werk, dus dat zou sneller moeten zijn. En dan valt een deel van het probleem weg (het trianguleren).
9 Comments Add your own
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed
1.
Vincent | november 24, 2007 at 4:42 pm
Wij hadden ook die wiskunde B-dag, en bij mij is het precies andersom: ik vond het totaal niet interessant en niet zo heel moeilijk (terwijl ik meestal wel moeite heb met wiskunde).
2.
Vincent | maart 22, 2008 at 4:29 pm
Ik was laatst bij de finale van de wiskunde B-dag (ik had er ook niet aan gedacht dat het een wedstrijd was, maar wij waren blijkbaar door :S), en het is misschien leuk om te weten dat die logje eruit gelicht was onder de “leuke reacties”
(Wij waren 7e geworden overigens
)
3.
nathansamson | maart 22, 2008 at 4:36 pm
Leuk om dat te horen.
Wij (onze school en onze groep) zijn jammer genoeg niet naar de finale kunnen gaan, maar je kunt niet alles hebben.
4.
nathansamson | mei 21, 2008 at 7:07 pm
Ik denk dat ik niet duidelijk ben geweest.
Plagiaat is mijn ding niet. Je zou trouwens beter beginnen werken ipv mij lastig te vallen.
Voor diegene die niet kunnen volgen. Er is hier een sukkel die mijn verslag wilt hebben omdat hij dit moet maken. Het telt voor 50% mee.
Als hij er nu een week geleden aan was begonnen was het geen probleem geweest…
5.
inge | mei 22, 2008 at 2:31 pm
Hoi,
Zoals ik hier boven vernomen heb, zijn hier mensen aanwezig geweest die aan de wiskunde b dag van 2007 hebben gewerkt. Ik heb hier ook aan mee gedaan, en moet nu het werkstuk inleveren op school voor punt. Maar om even to the point te komen, kunnen jullie je nog de onderzoeksvragen 2a en b herinneren??
Ik kom hier geen uit, heeft iemand een idee?
Hoop snel wat te horen,
Groetjes inge
6.
nathansamson | mei 22, 2008 at 3:27 pm
@Inge
Ik ga niet heel het antwoord verklappen, maar ik kan wel wat hints geven.
Wat 2a betreft:
je moet eens naar de tekening bovenaan p 12 kijken. Daar wordt een 6 hoek verdeeld op 4 verschillende manieren.
Als je naar de eerste 6hoek kijkt zie je dat er een 3hoek is, en er nog een 5hoek overblijft.
In de 2de tekening blijven er 2 driehoeken over en een vierhoek. Inn de 3e hetzelfde, en in de laatste terug een 5hoek en een 3hoek.
Met wat kansrekenen kunnen we komen tot T(6) = 1*T(5) + 1*1*T(4) + T(4)*1*1 + T(5)*1 oftewel
T(6) = 2*((T5)+T(4))
T(5) en T(4) kunnen we op een soortgelijke wijze berekenen.
Op die manier kan je een programma schrijven (dit is wat ik heb gedaan) dat op die manier werkt.
Mijn programma geeft de volgende resultataten:
3 : 1
4 : 2
5 : 5
6 : 14
7 : 42
8 : 132
9 : 429
10 : 1430
11 : 4862
12 : 16796
13 : 58786
14 : 208012
15 : 742900
16 : 2674440
17 : 9694845
18 : 35357670
19 : 129644790
20 : 477638700
21 : 1767263190
22 : 6564120420
23 : 24466267020
24 : 91482563640
25 : 343059613650
26 : 1289904147324
27 : 4861946401452
28 : 18367353072152
29 : 69533550916004
30 : 263747951750360
Ik ga ervan uit dat het klopt aangezien dat het werkt voor veelhoeken van 3 tot 7. (gecontroleerd door de leerkracht)
Blijkbaar is er wel een algemene formule te vinden, en is er dus geen programma voor nodig zoals ik het heb gedaan, maar het werkt dus das toch al belangrijk.
7.
nathansamson | mei 22, 2008 at 3:29 pm
2b weet ik zelf niet.
Veel success!!
(BTW: ikzelf had maar een 18/30 voor het verslag waarin een 9/10 inzit voor inzet, dus eigenlijk maar 9/20)
8.
inge | mei 22, 2008 at 4:07 pm
Ey dank je voor de snelle reactie, maar ik snap niet echt wat je doet/bedoelt.
9.
nathansamson | mei 22, 2008 at 5:07 pm
Ik heb er een tekening bij gemaakt (die niet veel verschilt van die in het bundeltje)
de tekening
Eerst kijk ik eventjes naar de vierhoeken (onderaan de tekening)
Er zijn 2 manieren om die te trianguleren.
Vertrekkend vanuit de linkeronderzijde kunnen we 2 driehoeken maken. Elk van deze driehoeken verdeelt de figuur in 2. De driehoek zelf en een andere driehoek. Aangezien we een driehoek (uiteraard) niet kunnen trianguleren hebben we 1+1 mogelijkheid (voor elk van de grijze driehoeken ontstaat).
Nu kijk ik naar de 6 hoeken. We trekken hier vanuit de bovenzijde 4 verschillende 3 hoeken (de grijze stukken).
We krijgen verschillende andere vormen. In het eerste geval een 3hoek en een 5 hoek. deze kunnen we op 5 verschillende manieren trianguleren (dat kunnen we berekenen op een soortgelijke wijze, maar is nu gegeven). Dus voor de eerste 6hoek zijn er nog 5 mogelijkheden.
De twede 6hoek: er ontstaat een 3hoek (en de grijze driehoek), en nog een vierhoek. De 3hoek kunnen we neit verder trianguleren, dus er is 1 mogelijkheid, de 4hoek kunnen we wel verder trianguleren (nog 2maal zoals daarjuist uitgerekend) dus voor de 2de tekening zijn er in totaal nog 1*2 mogelijkheden (kansrekenen).
Voor de 3de en 4de 6hoek (die eigenlijk gelijk zijn aan de eerste twee) hebben we hetzelfde.
In totaal zijn er dus 5+2+2+5 = 14 mogelijkheden.
Voor een zevenhoek krijgen we 5 gevallen:
een zeshoek (14 mogelijkheden)
1 driehoek + 5hoek (1*5 mogelijkheden)
4hoeh + 4hoek (2*2)
5hoek + 3hoek (5*1)
zeshoek (14)
voor een tekening zie: hier
We maken de som en we komen op 2*14+2*5+4 = 28+10+4=42