bepalen middelpunt cirkel gegeven drie 3d punten

Wiskunde is niet alleen een vak op school. Kom je ergens in de praktijk (bijvoorbeeld tijdens je werk) een wiskundig probleem tegen dan kun je hier om hulp vragen.
Plaats reactie
mechamania
Vast lid
Vast lid
Berichten: 25
Lid geworden op: 15 okt 2012, 23:15

bepalen middelpunt cirkel gegeven drie 3d punten

Bericht door mechamania » 15 okt 2012, 23:22

Hallo

Ik wil het middelpunt bepalen van een cirkel die door drie gegeven punten in 3d space gaan.
Ik heb op het internet gezocht naar een oplossing, maar ik kan de oplossing niet vinden.

Ik weet overigens ook de hoeken tussen de lijnen die van dit middenpunt lopen naar de drie
punten waar de cirkel doorheen moet gaan. Misschien maakt dit een simpeler oplossing mogelijk?

Ik hoop dat iemand me verder kan helpen.

mechamania
Vast lid
Vast lid
Berichten: 25
Lid geworden op: 15 okt 2012, 23:15

Re: bepalen middelpunt cirkel gegeven drie 3d punten

Bericht door mechamania » 16 okt 2012, 16:56

Is het volgende misschien een goed idee?

Ik denk twee lijnstukken tussen de punten. Dan bereken ik voor elk lijnstuk een vlak dat dit lijnstuk
als normaal vector heeft en dat door het midden van het lijnstuk gaat.
Dan bereken ik een derde vlak dat de drie punten bevat. De normaal kan ik berekenen met de twee normalen
van de andere vlakken, want dat derde vlak moet loodrecht op beide eerste vlakken staan.
Het snijpunt van deze drie vlakken is het gezochte punt.

Ik heb dan drie vlakken in de vorm van ax + by + cz = d.

Dus drie vergelijkingen met drie onbekenden. Nu kan ik echter op het internet alleen vinden hoe je dit
oplost als je getallen in vult. Door de matrix schoon te vegen zoals dat geloof ik heet.
Maar er moet toch ook een generieke methode zijn zodat je een formule krijg om dit voor willekeurige
punten op te lossen. Was dat niet iets met dot product en determinant en zo?

Kan iemand me daarmee verder opweg helpen?

Of is er een betere methode om het middelpunt te vinden?

pgbakker
Nieuw lid
Nieuw lid
Berichten: 24
Lid geworden op: 07 okt 2012, 23:35

Re: bepalen middelpunt cirkel gegeven drie 3d punten

Bericht door pgbakker » 20 okt 2012, 19:05

Het idee is goed.
Het kan eenvoudiger maar eerst nog een vraag.
In welke vorm zoek je het antwoord? Ik bedoel, zoek je bijv. een formule waar je de coordinaten van de drie gegeven punten kunt invullen en dan bereken je met deze formule de positie van het middelpunt ?
Of ben je tevreden met de principe oplossing ?
Is dat laatste bij jouw het geval dan de volgende hint:
Bedenk dat door drie punten in R3 en plat vlak is gedefinieerd..
De cirkel is een vlakke figuur en omdat hij door de drie punten gaat ligt de cirkel dus ook in dit vlak.
Eigenlijk heb je nu een probleem in R2 .
Kun je nu zelf verder?

mechamania
Vast lid
Vast lid
Berichten: 25
Lid geworden op: 15 okt 2012, 23:15

Re: bepalen middelpunt cirkel gegeven drie 3d punten

Bericht door mechamania » 20 okt 2012, 22:09

Ik heb een methode nodig om het met software telkens weer te kunnen berekenen.
Ik heb het nu gedaan met die drie vlakken en het oplossen van 3 vergelijking met 3 onbekenden.
Maar ik ben altijd benieuwd of het efficienter zou kunnen.

Gebruikersavatar
op=op
Vergevorderde
Vergevorderde
Berichten: 1087
Lid geworden op: 23 apr 2010, 18:11

Re: bepalen middelpunt cirkel gegeven drie 3d punten

Bericht door op=op » 21 okt 2012, 08:50

Noem de drie punten




Het midden van lijnstuk AB noem ik C' en het midden van BC noem ik A'.

Het middelpunt van de driehoek is nu het snijpunt van
het vlak door A' loodrecht op BC met
het vlak door C' loodrecht op AB en
het vlak door A,B en C.

mechamania
Vast lid
Vast lid
Berichten: 25
Lid geworden op: 15 okt 2012, 23:15

Re: bepalen middelpunt cirkel gegeven drie 3d punten

Bericht door mechamania » 21 okt 2012, 18:08

Ja dat stelde ik zelf al voor. Maar nu nog een methode om dat zo efficient mogelijk te kunnen berekenen.

pgbakker
Nieuw lid
Nieuw lid
Berichten: 24
Lid geworden op: 07 okt 2012, 23:35

Re: bepalen middelpunt cirkel gegeven drie 3d punten

Bericht door pgbakker » 21 okt 2012, 23:10

De punten A, B en C spannen een plat vlak op. In dat vlak ligt de cirkel en ook dus het middelpunt. Noem dit punt M.
We gaan ons eerst beperken tot dat vlak en daar en formule voor vinden.
Het efficiëntst is een vector voorstelling.

X = A + l.(B-A) + m.(C-A)

X is de plaatsvector van een willekeurig punt in het vlak
A, B en C zijn de plaatsvectoren van resp. de punten A, B en C
B-A is de verschilvector van B en A en ligt dus in het gezochte vlak
Dus B-A= (x2-x1,y2-y1,z2-z1).
C-A is de verschilvector van C en A en ligt dus ook in het gezochte vlak.
Kun je zelf nu C-A berekenen?
l en m zijn vrij te kiezen en bepalen een punt in het gezochte vlak.

Hoe moet je l en m kiezen opdat X= B, en hoe opdat X=C?
Als dit lukt dan volgende keer verder.

Gr. pgb

pgbakker
Nieuw lid
Nieuw lid
Berichten: 24
Lid geworden op: 07 okt 2012, 23:35

Re: bepalen middelpunt cirkel gegeven drie 3d punten

Bericht door pgbakker » 22 okt 2012, 13:51

Laten we alvast verder gaan.
Het vlak door de punten A, B en C noemen we vlak V.
Nu moeten de waarden van l en m die horen bij het middelpunt M worden bepaald.
Maak zelf een tekening in het vlak V.
Teken de punten A, B en C. Teken de verbindingslijnen AB en AC. Noem de hoek tussen deze twee lijnen theta.
Het midden van AB is C', het midden van BC is B'.
De middelloodlijn op AB en die op BC snijden elkaar in het middelpunt M.
De lijn AB is ook de richting van de verschilvector B-A, evenzo de lijn AC heeft de richting van de verschilvector C-A
De afstand AB is de lengte van de verschilvector B-A, deze lengte noem ik p, dus p= |B-A|.
Evenzo q= |C-A|.
Het punt M volgt nu door vectorieel optellen. Dat wil zeggen we nemen l maal de verschilvector B-A en tellen daar vectorieel m maal C-A bij op.
Nu terug naar de tekening. Teken door M een lijn evenwijdig aan AB, deze lijn snijdt AC in het pint E.
De lengte van EM is nu l*p en de lengte van AE is nu m*q.
Met enige goniometrie kun je nu uit de tekening l en m berekenen.

l= (p-qcos(theta))/(2psin^2(theta)) en

m = (q-pcos(theta))/(2qsin^2(theta)).

Vul deze l en m in in de vergelijking: X = A + l.(B-A) + m.(C-A) en je krijgt X = M.

Voorbeeld :
A = (2,0,0)
B = (2,-1,2)
C = (2,1,2)

Dus B-A =(0,-1,2) en C-A = (0,1,2).
Dan p=|B-A| = 5^(1/2), evenzo q=5^(1/2)


Nu cos(theta) berekenen met

cos(theta) = (B-A).(C-A)/(pq) = 3/5. Let op, in de teller staat het 'in product' van de vectoren B-A en C-A.
Dan volgt l = 5/16 en ook m = 5/16.

X = M =(2,0,0) + 5/16*(0,-1,2) + 5/16*(0,1,2) = (2,0,5/4)

Verifieer zelf de oplossing.

pgb

pgbakker
Nieuw lid
Nieuw lid
Berichten: 24
Lid geworden op: 07 okt 2012, 23:35

Re: bepalen middelpunt cirkel gegeven drie 3d punten

Bericht door pgbakker » 22 okt 2012, 14:01

Twee correcties op het voorlaatste bericht.

In regel 6 staat "........het midden van BC is B", dit moet zijn " ..........het midden van AC is B' "
Ook in regel 7 BC vangen door AC.

Sorry voor het ongemak.

pgb

mechamania
Vast lid
Vast lid
Berichten: 25
Lid geworden op: 15 okt 2012, 23:15

Re: bepalen middelpunt cirkel gegeven drie 3d punten

Bericht door mechamania » 22 okt 2012, 14:39

Hallo pgbakker

Dat ziet er veel simpeler uit dan de 3 vlakken die ik wilde snijden, oftewel 3 vergelijkingen met drie onbekenden. Met Cramers rule kan ik daar M wel uit berekenen, maar is vrij complex. De methode van jouw ziet er veel simpeler uit!

Ik moet nog bestuderen hoe je aan de twee formules voor m en I kom. Bedoel je met sin^2(theta) de waarde
sin(theta)*sin(theta)?
En als je de waarde van cos(theta) hebt, gebruik je dan de inverse cos om theta te bepalen en die bij de sin(theta) in te vullen? Of is er hier een of ander goniometrisch trukje gebruikt?

Voor zover in iedergeval heel erg bedankt voor deze 'simpele' methode.

pgbakker
Nieuw lid
Nieuw lid
Berichten: 24
Lid geworden op: 07 okt 2012, 23:35

Re: bepalen middelpunt cirkel gegeven drie 3d punten

Bericht door pgbakker » 22 okt 2012, 15:11

Dag,

Met sin^2(theta) wordt inderdaad sin(theta)*sin(theta) bedoeld.

Aangezien sin^2 ()+ cos^2 ()= 1 volgt simpel sin^2(theta) = 1 - cos^2(theta)

Overigens, wat is het praktijkprobleem waar je deze methode voor nodig hebt?

Gr. pgb

mechamania
Vast lid
Vast lid
Berichten: 25
Lid geworden op: 15 okt 2012, 23:15

Re: bepalen middelpunt cirkel gegeven drie 3d punten

Bericht door mechamania » 22 okt 2012, 15:44

Het is voor een nieuw type motion platform waarbij het platform op drie punten vastgehouden wordt. De drie punten kunnen langs een cirkel bewegen. Ik moet gegeven die drie punten de stand en plaats van het motion platform kunnen bepalen voor de terug koppeling van de motoren.

Kun je aangeven hoe je aan de formules voor I en m kwam?

pgbakker
Nieuw lid
Nieuw lid
Berichten: 24
Lid geworden op: 07 okt 2012, 23:35

Re: bepalen middelpunt cirkel gegeven drie 3d punten

Bericht door pgbakker » 22 okt 2012, 16:49

Berekening van l
Terug naar de figuur.
Trek vanuit B' de loodlijn op AB, deze snijdt AB in D.

Het gaat nu om de bepaling van de lengte van ME, deze lengte noem ik l*p.
De lengte van AB' is q/2. Dus lengte van AD is q/2*cos(theta) .
De lengte van AC' is p/2. Dus lengte van DC' is p/2 - q/2*cos(theta).
Dan is lengte van B'M : (p/2-q/2*cos(theta))/sin(theta).
Beschouw nu de driehoek B'ME. De lengte van ME is dan lengte B'M/sin(theta).

Conclusie: lengte ME is l*p = (p/2 -q/2*cos(theta))/sin^2(theta), of

l = (p - qcos(theta))/(2psin^2(theta)).

Evenzo vind je m

Gr. pgb

mechamania
Vast lid
Vast lid
Berichten: 25
Lid geworden op: 15 okt 2012, 23:15

Re: bepalen middelpunt cirkel gegeven drie 3d punten

Bericht door mechamania » 29 okt 2012, 23:30

Hallo pgbakker,

Het duurde even voor ik weer tijd had hieraan verder te werken. Ik heb het bestudeerd en snap het helemaal. Ik heb het inmiddels toegepast en het werkt perfect. Veel sneller dan wat ik had.

Hartelijk dank voor de formules en de uitleg!

Plaats reactie