Springen naar inhoud

Rekenen tussen coordinatenstelsels


  • Log in om te kunnen reageren

#1

nschagen

    nschagen


  • 0 - 25 berichten
  • 18 berichten
  • Gebruiker

Geplaatst op 06 juli 2006 - 14:00

Hallo wiskundige mensen :P

Ik zou graag willen weten hoe ik b.v een punt over kan zetten naar een ander coordinatenstelsel.
Dat coordinatenstelsel word als volgt beschreven:

>>De oorsprong (een vector vannaf de absolute oorsprong)
>>Een X, Y en Z as (ook allemaal vectoren die in princiepe alle kanten op kunnen wijzen, zolang ze maar niet parallel staan).

Het absolute coordinatenstelsel is dus als volgt:

Oorsprong (0,0,0)
X (1,0,0), Y (0,1,0) Z (0,0,1).

Is er een formule om een punt van het absolute coordinatenstelsel over te zetten naar een zelf gedefinieerd coordinatenstelsel en terug???

Veel dank :roll:

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

#2

sirius

    sirius


  • >250 berichten
  • 336 berichten
  • Ervaren gebruiker

Geplaatst op 06 juli 2006 - 14:05

ja, dat is er. Zet je vectoren netjes als kollomen in een matrix, Q, misschien wil je zo ook wel normeren(dat betekend meestal dat je ze lengte geeft).
Nu geld voor een x' in je nieuwe coordinaten stelsel dat dat overeenkomt met x=Q x' in je oude stelsel. En om het om te keren nemen we de inverse van Q, Q^-1. Dus om van een x in het oude stelsel naar een x'=Q^-1 x in het nieuwe stelsel te gaan.
Deze matrices zijn inderdaad inverteerbaar zolang de drie vectoren niet in hetzelfde vlak liggen.
Duct tape is like the force: it has a dark side, a light side and it holds the universe together.

#3

nschagen

    nschagen


  • 0 - 25 berichten
  • 18 berichten
  • Gebruiker

Geplaatst op 06 juli 2006 - 14:53

Ik ben eigenlijk niet zo bekend met matrices. Ik weet dat het een soort tabel met getallen is en dat je ze bij elkaar kan optellen, aftrekken, verminigvuldigen etc maar daar houd het wel een beetje op. :roll:

Wat is x'. (Scalar, vector, matrix.... wat stelt het voor)??
Zou je een voorbeeld kunnen geven??

#4

TD

    TD


  • >5k berichten
  • 24052 berichten
  • VIP

Geplaatst op 06 juli 2006 - 14:57

In dat voorbeeld stelt x' de vector x voor ten opzichte van de "nieuwe" basis, en x zelf ten opzichte van de oorspronkelijke basis.
Het verband wordt gegeven door een overgangsmatrix waar de beelden van de basisvectoren van de nieuwe basis tov de oude basis in de kolommen staan.

Zie bijvoorbeeld Change of coordinates, meer bepaald het stukje "Transformation matrix".
"Malgré moi, l'infini me tourmente." (Alfred de Musset)

#5

nschagen

    nschagen


  • 0 - 25 berichten
  • 18 berichten
  • Gebruiker

Geplaatst op 06 juli 2006 - 18:42

Oké dit is lastig... het is me nog niet helemaal duidelijk:

Dus...

De matrix heet een overgangsmatrix ofwel "transformation matrix". Deze bevat de gegevens die nodig zijn om het punt over te zetten naar het nieuwe coordinatenstelsel. Hoe deze gegevens gebruikt worden (dus optellen, aftrekken, vermenigvuldigen... ) is me nog een raadsel?? :roll:

Wat betekenen die i's en j's rechts onder de variabelenamen. Hebben deze i's en j's vaste waardes of niet??

Word er met scalars, vectors, en matrices door elkaar gewerkt. Hoe werkt dat???

#6

TD

    TD


  • >5k berichten
  • 24052 berichten
  • VIP

Geplaatst op 06 juli 2006 - 21:35

- De indices i en j duiden de componenten aan, in 3D zijn er dat bijvoorbeeld 3.
- De coördinaten van punten worden vastgelegd in een vector.
- x = Mx' betekent dat je de vector met coördinaten in het oude assenstelsel (x) verkrijgt door de vector met coördinaten in het nieuwe ssenstelsel (x') links te vermenigvuldigen met de overgangsmatrix (M).
- Omgekeerd kan je overgaan via x' = M-1x waarbij M-1 de inverse van M is.
"Malgré moi, l'infini me tourmente." (Alfred de Musset)

#7

kubbazoob

    kubbazoob


  • >25 berichten
  • 51 berichten
  • Ervaren gebruiker

Geplaatst op 07 juli 2006 - 07:14

Je moet even lezen hoe je matrices met vectoren kan vermenigvuldigen maar als je een bepaalde vector uit wilt drukken in een ander coordinatenstelsel, waarbij het andere coordinatenstelsel enkel gedraaid is tenopzichte van het origineel, kan je het volgende doen.

Ik geef het voorbeeld even in 3D, ik neem aan dat jij het daarvoor gebruikt. In het originele coordinatenstelsel heb je 3 assen: x, y en z. Nu is het handig om eenheidsvectoren te gebruiken (vectoren met de lengte 1) en deze in de richting van deze assen te laten wijzen. Nu heb je 3 eenheidsvectoren, eentje in de richting van de x as (x = 1, y = 0, z = 0) = ( 1 0 0 ). Eentje in de richting van de y-as (x = 0, y = 1, z = 0) = ( 0 1 0 ) en z-as ( 0 0 1 ). Dit noem je de standaardbasis voor LaTeX ( <- hoe doe ik die blackboard bold R? ik krijg het niet voor mekaar met mathbb).

Maar goed, nu komt het hele verhaal. Als je nu een transformatie wil uitschrijven van de ene basis (jouw standaardbasis) naar een andere basis ( komt zo), dan kunnen we dat doen m.b.v. een basistransformatiematrix. Een voorbeeld: we draaien 180 graden om de z-as. Het enige wat we hoeven te doen is onze standaardbasis om te schrijven zodat deze 180 graden geroteerd is om de z-as. Wat krijgen we nu? De x-as eenheidsvector (1 0 0 ) komt nu te liggen op ( -1 0 0 ) en de y-as eenheidsvector nu op ( 0 -1 0 ). De z-as, daar gebeurt niets mee, want daar draaien we immers omheen ( 0 0 1 ). We hebben nu dus 3 nieuwe vectoren die onze eenheidsvectoren beschrijven nadat de gewenste rotatie is uitgevoerd. We noemen dit nu onze nieuwe basis. Het enige wat we nu nog hoeven te doen is deze in te vullen in een matrix. We doen niets meer dan de nieuwe basisvectoren als kolommen van deze transformatiematrix T te schrijven:

LaTeX

We hebben nu de transformatiematrix T die we nu met een willekeurige vector v kunnen vermenigvuldigen om deze vector te transformeren van de standaardbasis naar de nieuwe basis (die 180 graden geroteerd is om de z-as), dit wordt v'.

LaTeX

Hoe je matrices met vectoren vermenigvuldigt kan je wel op wikipedia vinden, dat is nu niet meer zo spannend.

Terug draaien van je geroteerde stelsel naar het origineel wil je natuurlijk ook kunnen. Dit doe je door de inverse van T te vermenigvuldigen met een willekeurige vector v'. De inverse van een matrix bepalen is iets lastiger, maar van rotatiematrices zoals T is het makkelijker. Als je namelijk een simpele rotatie hebt zoals degene die ik net beschreven heb, hoef je alleen maar T te transponeren, d.w.z., de rijen van de matrix als kolommen te schrijven en de kolommen als rijen.

LaTeX

Zoals je ziet gebeurt er niets spannends met de inverse! Maar dit is ook logisch, want als je 180 graden draait, en je wilt weer terug, kan je wederom 180 graden draaien, en dit is nu precies wat je ziet.

Wat ik nu nog niet beschreven heb is de translatie (die nieuwe oorsprong van jou). Als je ook nog wilt transleren, hoef je alleen maar je nieuwe oorsprong tenopzichte van de standaardbasis op te tellen bij v'. Andersom moet je eerst de translatievector van je v' aftrekken en daarna vermenigvuldigen met de inverse. Dus: eerst roteren, daarna transleren, als je van je absolute coordinatenstelsel naar je nieuwe wilt, en andersom eerst transleren en daarna roteren.

#8

nschagen

    nschagen


  • 0 - 25 berichten
  • 18 berichten
  • Gebruiker

Geplaatst op 07 juli 2006 - 18:42

Ah bedankt... nu word het me duidelijk. :roll:

Ik heb dit gevonden op wikipedia:
Geplaatste afbeelding
Dus zo vermenigvuldig je vectoren met een matrix.

Wat ik nog niet begrijp is hoe je de inverse van een matrix uitrekend. Het transponeren van de matrix kan blijkbaar alleen als het om een makkelijke rotatie gaat.
Ik wil eigenlijk dat alle soorten rotaties mogelijk zijn, of zelfs dat de assen apart ingesteld kunnen worden en dus niet perse haaks op elkaar moeten staan. Kan iemand me uitleggen hoe je de inverse van een matrix berekend??

#9

TD

    TD


  • >5k berichten
  • 24052 berichten
  • VIP

Geplaatst op 07 juli 2006 - 19:00

Hoe je de inverse matrix berekent is te vinden op Inverse matrix, stel gerust vragen als het daar niet duidelijk is.
Het feit dat de inverse matrix overeenkomt met de getransponeerde matrix geldt voor elke orthogonale matrix, zoals die van een rotatie.
"Malgré moi, l'infini me tourmente." (Alfred de Musset)

#10

nschagen

    nschagen


  • 0 - 25 berichten
  • 18 berichten
  • Gebruiker

Geplaatst op 07 juli 2006 - 22:39

Betekend orthogonaal dat de assen van het assenstelsel allemaal haaks op elkaar staan?? Dat valt best mee dan. :P

Toch wil ik graag ook leren hoe je het doet als dit niet het geval is. Ik heb de pagina even bekeken maar ik stuit al snel tegen dingen die ik niet ken zoals de determinant en adjunct.
Het enige wat ik (volgens mij) wel snap is:

Geplaatste afbeelding[/i]

Dus dat de matrix A (nxn) vermenigvuldigd met de inverse van zichzelf een nxn eenheidsmatrix oplevert.

Dit betekend inderdaad dat de inverse matrix bedoelt is om de bewerking van het origineel ongedaan te maken.

Verder loop ik vast op de formules die hier en hier staan. Er staat tekens in waar ik de betekenis niet van weet zoals LaTeX en LaTeX

Ook deze snap ik niet helemaal:

Geplaatste afbeelding

>>wat leveren de functies DET en ADJ op?? (matrix???)
>>Hoe deel je 1 door de matrix. Gewoon telkens 1 door een component te delen?? dus:

{1/a, 1/b, 1/c}
{1/d, 1/e, 1/f }
{1/g, 1/h, 1/i }

Alvast bedankt :roll:

#11

TD

    TD


  • >5k berichten
  • 24052 berichten
  • VIP

Geplaatst op 07 juli 2006 - 23:27

Enkele puntjes voor het slapengaan:

- In een orthogonale matrix vormen de rijen/kolommen een orthonormale basis. In het bijzonder geldt er precies voor dat de inverse gelijk is aan de getransponeerde.
- Het zal niet eenvoudig zijn de formule die je geeft om de inverse te berekenen als je niet weet wat een determinant (en een adjunct) van een matrix is.
- Je kan niet delen door matrices, maar de determinant van een matrix is gewoon een getal zodat 1/det(A) gelukkig wel kan.

Ben je bekend met Gauss-eliminatie voor matrices? Indien niet vrees ik dat je toch eerst wat dieper in de theorie van de matrices moet duiken vooraleer je je waagt aan basistransformaties en inverse matrices.

PS: de twee symbolen die je niet kent zijn respectievelijk het symbool van een sommatie en van een product, uitleg waarschijnlijk ook op wikipedia te vinden.
"Malgré moi, l'infini me tourmente." (Alfred de Musset)





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures