|
|
\require{AMSmath}
Re: Re: Oppervlakte willekeurige driehoek
Bedankt voor jullie antwoord!
Net nadat ik hier mijn bericht had gepost kreeg ik een link van een vriend van me.
Ik heb nu deze formule gebruikt:
oppervlakte = Math.abs((b.x * a.y - a.x * b.y)+(c.x * b.y - b.x * c.y)+(a.x * c.y-c.x * a.y))/2
En ben een beetje paranoia geworden over of er addertjes onder het gras kunnen zitten, mijn vraag is: is deze net zo safe als de methode van Heron?
Tobias
Iets anders - woensdag 4 juni 2003
Antwoord
Ja, deze methode is zeker zo safe. Ze berust erop dat je het uitwendig (engels: cross product) berekent van de vectoren (b.x-a.x,b.y-c.y,0) en (c.x-a.x,c.y-a.y,0) Dit zijn de kentallen van de vectoren AB en AC in het Oxy-vlak, die twee zijden van de driehoek bepalen.
Dit uitwendig product is een vector in de z-richting waarvan de lengte gelijk is aan de oppervlakte van het parallellogram met zijden AB en AC.
Het uitwendig product AC´AB van deze twee vectoren is gelijk aan (0,0,(c.x-a.x)(b.y-c.y)-(b.x-a.x)(c.y-a.y)) Om de lengte van deze vector te bepalen krijg je dus Ö(0+0+((c.x-a.x)(b.y-c.y)-(b.x-a.x)(c.y-a.y))2) en dat is |(c.x-a.x)(b.y-c.y)-(b.x-a.x)(c.y-a.y)|
Om aan de oppervlakte van de driehoek te komen moet je hier natuurlijk de helft van nemen. Als je dit uitwerkt krijg je jouw formule.
Jouw formule lijkt me nauwkeuriger in het geval dat een of meer van de zijden van de driehoek heel erg klein is. Hij lijkt me ook nauwkeuriger dan de formule van Heroon omdat je daar vaak wortels moet benaderen om aan de lengte van de zijden te komen.
|
Vragen naar aanleiding van dit antwoord? Klik rechts..!
donderdag 5 juni 2003
|
|
home |
vandaag |
bijzonder |
gastenboek |
statistieken |
wie is wie? |
verhalen |
colofon
©2001-2024 WisFaq - versie 3
|