\require{AMSmath}
WisFaq - de digitale vraagbaak voor wiskunde en wiskunde onderwijs


Printen

Re: Re: Oppervlakte willekeurige driehoek

 Dit is een reactie op vraag 12027 
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.


donderdag 5 juni 2003

©2001-2024 WisFaq