Springen naar inhoud

Hoogtelijn van driehoek berekenen


  • Log in om te kunnen reageren

#1

nschagen

    nschagen


  • 0 - 25 berichten
  • 18 berichten
  • Gebruiker

Geplaatst op 14 juni 2006 - 18:48

Hoi iedereen 8)

Ik ben nieuw hier op dit forum... Zelf ben ik bezig met een 3d game-engine. Daarvoor is een heleboel wiskundige kennis vereist die ik nog niet heb, dus af en toe zal ik jullie help goed kunnen gebruiken. :P

Mijn huidige probleem:

Ik heb een driehoek bestaande uit 3 willekeurige punten in een 3 dimentionale ruimte (punt A, B en C). Ik wil punt D berekenen die ontstaat als ik een loodlijn neerlaat op lijn AC vannuit punt B.

Ik dacht zelf om eerst de lijnen AB, BC, en CA te berekenen door middel van (2x) phytagoras. Vervolgens d.m.v deze gegevens hoek CAB (alpha) te berekenen.
Als je nu de rechthoekige driehoek ABD in gedachten neemt kun je met hoek CAB (alpha) en de lengte van AB d.m.v de Cosinus de aanliggende zijde (lijn AD) berekenen.
Als je de lengte van AD hebt hoef je alleen lijn AC door te trekken en je hebt de coordinaten van punt D.

probleem is dat ik niet weet hoe ik hoek CAB moet berekenen :P

ik bedoel zoiets (alleen dan in een 3d ruimte).
Geplaatste afbeelding
Is er iemand die mij hiermee kan helpen?? :razz:

Alvast bedankt :roll:

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 14 juni 2006 - 19:00

waarom niet als volgt? (lijkt me wel te eenvoudig) bij de coordinaat A, C optellen en dan de projectie berekenen van lijn C B op lijn A D

als je eerst een basis overgang doet naar A dan kan je dergerlijke onmiddelijk uit coordinaten afleiden.

Of toch niet? Groeten.

#3

nschagen

    nschagen


  • 0 - 25 berichten
  • 18 berichten
  • Gebruiker

Geplaatst op 14 juni 2006 - 19:12

projectie berekenen, basis overgang :roll:

Hoe doe je zoiets?? kun je een voorbeeld geven??

#4

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 14 juni 2006 - 20:47

kun je met vectoren rekenen?

Kijk vroeger leerde je rekenen met getallen (lager onderwijs 6 jaar) wel nu kan men zeggen dat zo n getal te weinig is bv bij het positioneren van iets.

Dus onderscheid men scalaire waarden en vectorieele.

Voorbeeld scalaire temp loon enz... (maar n betekenis cijfer nodig)

Dan voor beeld vectorieele grootte positie (zowel de x-afstand als de y-afstand)
een kracht enz...

Maar je kan het ook ruimer zien dan een pijltje je kan er allerlei soorten info in steken.

dus LaTeX in het algemeen (dus niet altijd) heeft de waarden op plaats van LaTeX niks te make met de waarde LaTeX enz...

nu een voorbeeldje wat meer bij jouw van toepassing is:
Geplaatste afbeelding

hierbij beschrijf je, je punten A B en D ook met vectoren omwille van het feit dat je elk punt kunt benaderen met een x en een y waarden dus LaTeX
nu mag je die vectoren optellen components gewijs dus gevraagd is bereken C dat wordt dus de lijn A B dus van A Naar B plus de projectie van B en D op B C

dus reen of uit door coordinaten te gebruiken dan wordt hetLaTeX

Dus LaTeX

Je zoud dus moeten leren rekenen met vectoren maar als je goed kijkt zie je eigenlijk de oplossing al staan voor je begint.
Begrijp je dat? dan zal ik je morgen de basis overgang uitleggen. Groeten.

#5

nschagen

    nschagen


  • 0 - 25 berichten
  • 18 berichten
  • Gebruiker

Geplaatst op 14 juni 2006 - 22:09

we hebben vectoren wel behandeld op school (twee jaar terug schat ik)... termen als projectie hebben we niet gehad, maar wel translaties, rotaties, spiegelen, schalen etc etc.... :P

Ik begrijp hieruit dat projectie hetzelfde is als het neerlaten van een loodlijn vannuit een punt op een lijn.
(correct me if am wrong :P )

Dit is natuurlijk een makkelijk voorbeeld, ten eerste is het 2 dimentionaal en ten tweede ligt AB parallel aan de X as en dan is het inderdaad erg eenvoudig om projectie toe te passen omdat je alleen het x coordinaat (D.x-B.x) op hoeft te schuiven (als ik je goed begrijp). :P

Als je bv A = (1,2) B = (8,5) D = (11,15) neemt word het al een stuk moeilijker, en dan zijn we nog niet eens bezig met de derde dimentie.

Het zou goed zijn als we hiervoor een formule konden opstellen.

Erg bedankt :roll:

#6

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 15 juni 2006 - 08:31

Het zou goed zijn als we hiervoor een formule konden opstellen.  


dat kunnen we voor een algemeen geval maar eerst moest je dit begrijpen.

Maar het komt er op neer dat je voor het verkrijgen van nieuw coordinaten eerst een transformatie toepast van je oud coordinatiesyteem naar punt A omdat de lijn A B nu niet evenwijdig is met de x as ga je dat nieuw nu draaien tot dat de x as van het nieuwe op de lijn A B ligt eenmaal dat kan je in dat nieuwe opnieuw zo spelen als in dat oude je hier deed met een triviaal voorbeeld.
Als je dan de oplossing in het nieuwe gevonden hebt dan maak je terug een overgang naar het oude coordinaten systeem en voila.

Dus de transformatie naar A wordt gegeven door LaTeX

dan de rotatie LaTeX

even een beetje duidelijkhied brengen in mijn schrijfwijze LaTeX betekent x nieuw en y nieuw deze bekom je door je oude coordinaten de afstand van LaTeX bij te tellen dus in eerste instantie gewoon de afstan van LaTeX later kan je hier weer je LaTeX uithalen dan ga je, je nieuwe systeem roteren en bekom je LaTeX x volledig nieuw en y volledig nieuw hier in mag je weer ga nadenken zoals in ons eerder voorbeeldje.

Snap je? hoe dat je in 3 D wilt oplossen weet ik nog niet maar in 3D spreek je toch van andere zaken? Niet?

Groeten.

#7

Safe

    Safe


  • >5k berichten
  • 9907 berichten
  • Pluimdrager

Geplaatst op 15 juni 2006 - 11:57

Hoi iedereen 8)

Ik ben nieuw hier op dit forum... Zelf ben ik bezig met een 3d game-engine. Daarvoor is een heleboel wiskundige kennis vereist die ik nog niet heb, dus af en toe zal ik jullie help goed kunnen gebruiken. :roll:

Mijn huidige probleem:

Ik heb een driehoek bestaande uit 3 willekeurige punten in een 3 dimentionale ruimte (punt A, B en C). Ik wil punt D berekenen die ontstaat als ik een loodlijn neerlaat op lijn AC vannuit punt B.

Geplaatste afbeelding
Is er iemand die mij hiermee kan helpen?? :razz:

Alvast bedankt :P


Bepaal lijn AC:
LaTeX
Dit stelt een variabel punt X op de lijn AC voor.
Bepaal;
LaTeX
en eis:
LaTeX

Vb: A(1,1,1), B(3,4,6) en C(2,3,4)
lijn AC:
LaTeX
LaTeX
eis:
LaTeX
LaTeX
Punt D is derhalve D(1+23/14,1+46/14,1+69/14)

#8

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 15 juni 2006 - 12:19

idd zo kan het heel eenvoudig in 3 D gaat dit ook lukken maar moet je er dan geen ander interpretatie aan geven?

#9

nschagen

    nschagen


  • 0 - 25 berichten
  • 18 berichten
  • Gebruiker

Geplaatst op 15 juni 2006 - 15:26

@Bert F: jou uitleg begrijp ik aardig, maar het word nog een stuk lastiger om dit in 3d te gebruiken.

@Safe: bedankt voor je reactie: voordat ik jou uitleg kan begrijpen moet ik eerst weten wat LaTeX betekend. Ik vermoed dat het wat met de x,y,z verhouding te maken heeft, die de richting van de lijn beschrijft. Zou iemand dit wat verder willen toelichten. :roll:

#10

TD

    TD


  • >5k berichten
  • 24049 berichten
  • VIP

Geplaatst op 15 juni 2006 - 15:31

De vector die na de lambda komt is inderdaad de richtingsvector, lambda zelf is een (lopende) parameter.
"Malgré moi, l'infini me tourmente." (Alfred de Musset)

#11

Safe

    Safe


  • >5k berichten
  • 9907 berichten
  • Pluimdrager

Geplaatst op 15 juni 2006 - 20:05

Ik had erbij moeten/kunnen vermelden dat lambda een reel getal is.
Voor elke waarde van lambda krijg je een punt van de gegeven lijn door de punten A en C,
LaTeX
LaTeX is een plaatsvector,
LaTeX is een richtingsvector van de lijn.
lambda=0 geeft punt A
lambda=1 geeft punt C
lambda=1/2 geeft het midden van het lijnstuk AC
LaTeX geeft het lijnstuk AC.
lambda=23/14 geeft dus een punt op het verlengde van AC aan de kant van C.

Opm: Uit de posten meende ik te kunnen opmaken dat je hiervan op de hoogte bent. Goed dat je het gevraagd hebt!

#12

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 15 juni 2006 - 21:21

omdat je sprak over een 3d engine had ik in mijn achter hoofd een probleem wat ik een aantal weken teurg aan het programmeren was namelijk het roteren van een lijn om een gegeven punt toen had ik dat zo opgelost daarom dat dit nu het eerste idee was dat in mij opkwam.
Maar het klopt als je zegt dat ik een bloempje aan het uit doen was met een buldozer.

Maar mss heb je er toch nog iets aan groeten.

#13

nschagen

    nschagen


  • 0 - 25 berichten
  • 18 berichten
  • Gebruiker

Geplaatst op 16 juni 2006 - 15:06

aha... ik denk dat ik het snap. :razz:

Punt D word dus beschreven door een vector waarvan de componenten het product zijn van lambda en de richtingsvector, en waarbij de plaatsvector opgeteld is.

De enige onbekende in dit geheel is dus lambda.


Ik kan dit wel uitrekenen maar ik snap het nog niet helemaal.

LaTeX

Hoe ben je hierop gekomen???

Zijn er ergens nog goede websites/tutorials die verschillende berekeningen met vectoren uitleggen??

#14

Safe

    Safe


  • >5k berichten
  • 9907 berichten
  • Pluimdrager

Geplaatst op 17 juni 2006 - 11:20

De eis BX.AC=0 houdt in dat beide vectoren onderling loodrecht staan.
Dit is met eenvoudige vb (in 2D) na te gaan! Probeer dat zelf.
In 3D geldt dit echter ook.

Wat je tweede vraag betreft: heb je al met Google gezocht?

#15

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 17 juni 2006 - 11:46

dit lijkt me iets http://nl.wikipedia....ctor_(wiskunde)

nu dat we toch over vectoren praten ze zijn eigenlijk onderdeel van de lineaire algebra maar wat hebben ze te maken met tensor? of gewoon niets?

Groeten.





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures