Goneometrie XY coordinaten bepalen

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
d.prager
Nieuw lid
Nieuw lid
Berichten: 1
Lid geworden op: 12 dec 2014, 09:34

Goneometrie XY coordinaten bepalen

Bericht door d.prager » 12 dec 2014, 10:54

Beste,

Ik ben nu al een tijdje bezig met dit probleem en kom er niet uit. Vandaar mijn post op dit forum. Ik probeer een symbool te laten snappen naar een lijn. Deze lijnen bevinden zich in een raster met XY coördinaten. Op basis van de positie van de muis wil ik de XY coördinaten van het symbool op de dichtstbijzijnde lijn bepalen.

In principe zijn de XY coördinaten van elk element bekend namelijk.
- de twee XY coördinaten van iedere lijn van punt a  naar punt b
- de XY coördinaten van de muispositie

Dit wil ik doen door middel van onderstaand stappenplan:

Stap 1: Dichtstbijzijnde lijn berekenen door hoogtelijn te bepalen naar iedere lijn.

https://drive.google.com/file/d/0B-FM1e ... sp=sharing







Door van iedere lijn de hoogtelijn naar muispositie te bepalen kan ik de dichtstbijzijnde lijn selecteren waar een symbool op geplaatst moet worden.

Stap 2: De positie van symbool op de lijn bepalen
Dit is de stap waar ik niet uitkom. Eerst wil ik bijgaande tekening uitleggen.
- De rode driehoek zijn drie afzonderlijke lijnen met een bekende XY op punt A en een bekende XY op punt B
- De oranje lijn is de berekende hoogtelijn uit stap 1.
- De blauwe lijnen zijn hulplijnen op de hoogtelijn te bepalen zoals in Stap 1.
- De grijze cirkeltjes zijn de potentiele muisposities.

https://drive.google.com/file/d/0B-FM1e ... sp=sharing

De vraag is nu hoe bereken ik de XY coördinaten op het punt waar de hoogtelijn samenkomt op de rode lijn. Dit onafhankelijk van de muispositie (onder, boven, links of rechts van de rode lijn). Dus bij gebruik van tangens, co-sinus is de overstaande of schuine zijde niet altijd de bedoelde lijn.

https://drive.google.com/file/d/0B-FM1e ... sp=sharing

Helaas kreeg ik het niet voor elkaar om afbeeldingen te plaatsen of te uploaden. Deze zijn via de links beschikbaar op mijn google drive.

Alvast bedankt voor ieders hulp.

arie
Moderator
Moderator
Berichten: 3916
Lid geworden op: 09 mei 2008, 09:19

Re: Goneometrie XY coordinaten bepalen

Bericht door arie » 13 dec 2014, 12:18

Je projectie kan zonder goniometrische functies, dat heeft voordelen voor je computer programma.

Neem je eerste plaatje (de driehoek ABC).
Als daarin punt C niet punt C van je driehoek zou zijn, maar je muisklik M (dus C = M), dan zoek je de loodrechte projectie van M op de lijn door A en B.
Dat is het snijpunt van lijn h en lijn AB. Noem dat snijpunt P.
P is dus de projectie van M op AB, je zoekt P.

Punt P ligt op de lijn door A en B, als we deze 3 punten als vectoren zien, geldt dus:



waarbij (b - a) de richtingsvector van de lijn is en lambda een getal.
We zoeken nu de lambda zodanig dat MP loodrecht op AB staat.
In dat geval is het inproduct van vectoren (m - p) en (b - a) gelijk aan nul:



ofwel



Vul nu voor p de eerste vergelijking in:



en dit geeft:



ofwel



ofwel:



ofwel:



ofwel, als je de coordinaten van A, B en M gebruikt:



Hiermee weet je lambda, en kan je met de eerste vergelijking P bepalen:





De lengte van lijnstuk MP bepaal je vervolgens via de stelling van Pythagoras:




Voorbeeld:

Neem
A = (2, 0)
B = (8, 3)
M = (5, 4)

Dan is



waardoor





en




Kom je hiermee verder?


PS:
Als:
[1] lambda = 0 dan is P = A
[2] 0 < lambda < 1 dan ligt P tussen A en B
[3] lambda = 1 dan is P = B
Voor alle andere lambda ligt P op de lijn door A en B, maar niet op lijnstuk AB maar in het verlengde van AB.
Als je de projectie van een muisklik op een driehoek wilt, kan het gebeuren dat de muisklik voor alle 3 de lijnstukken projecties geeft buiten de driehoek. Je kan dan het dichtstbijzijnde hoekpunt bepalen.

Plaats reactie