BCIT apps hvor som helst

CAD: Lineær Algebra og syntetisk kamera

En åpenbar kravet, i datagrafikk, er å være i stand til å vise et objekt fra mange forskjellige synsvinkler. Dette oppnås ved å transformere objektet med hensyn til et feste koordinatsystem, ofte referert til som verdens-koordinatsystemet. En annen tilnærming er å definere et visnings koordinatsystem som er fri til å bevege seg rundt i rommet. Tenk på et kamera, feste i dette system og peker i retning langs n-aksen for visning koordinatsystem, som definerer den syntetiske kameraets synsretningen.

ads

BCIT apps hvor som helst

Bruke Syntetisk Kamera

Akkurat som fotograf strategisk plasserer seg kamera for annet syn, kan det syntetiske kameraet brukes til innramming en scene lik leter gjennom en kamerasøkeren. Den delen av kameraets synsfelt som brukes for å vise en scene kalles produksjon ramme. Produksjonen rammen er lik en reell kameraets søker. Produksjonen ramme ligger i den uv-planet. Den uvn-system er et bevegelig system av koordinater. Festet i uvn-systemet er basert på produksjon rammen sammen med kameraet plassert ved sentrum av fremspringet (COP). Øyet eller utsiktspunktet ligger ved politimann og definert i uvn-koordinater som vektoren

Opprinnelsen til uvn-system eller visning referansepunkt (VRP) ligger på

i verden koordinatsystemet. Visningen normalplan (VPN) angir n-aksen av uvn-system. VPN er alltid normal til visning plan, og er representert ved enhetsvektor

som angitt i norsk koordinater (xyz-systemet).

De "opp" vektor, også kalt vis opp vektor (VUP), er definert i verden koordinatsystemet. De "opp" vektor blir brukt til å justere den v-aksen i uvn-system. Retningen "opp" er vanligvis definert på samme måte som "gravitasjon". Dette gir et realistisk syn på et objekt, dvs. en seer vil ha en følelse av å fly opp ned i et fly, hvis en bygning er sett på som peker nedover.

Den uvn-systemet er en venstrehendte system. For de fleste anvendelser, er øyet plassert på den negative n-aksen. Den positive n-aksen er rettet vekk fra øyet mot objektet du vil "peke på ". Posisjonen av objektet er festet i verdens-koordinater.

BCIT apps hvor som helst

Et objekt er plassert i origo av verdens koordinatsystem. Gitt at øyet er plassert ved en posisjon på den negative "n-aksen", Retningen av n-aksen beregnes ved hjelp av:

Retningen av den v-aksen vil bli beregnet neste. Den v-aksen skal peke oppover, dvs. i retning av y-aksen. Forutsatt at "peke på" stilling ligger opprinnelsen av verden koordinatsystem, som er VRP bevege seg oppover, i y-retningen, "peke på" punkt vil bevege seg til posisjon over opprinnelse med mindre kamerasystemet tillates å vippe nedover så "r y " økes. For å gjøre dette den v-aksen skal kunne justeres. Den nye v-aksen bør ligge i planet for og vektorer og vinkelrett på vektoren.

Den følgende ligning vil generere den nødvendige vektoren:

Enheten vektorrepresentasjon for v-aksen er:

Det siste trinnet er å beregne den enhetsvektor som representerer den u-aksen. Hvis vi huske på at det uvn-systemet er en venstrehendte system og vektorer og er definert i form av en høyrehendt system, er vektoren beregnes ved hjelp av høyre kryss produkt:

Transformasjon fra World Koordinater til Vise koordinater

Kameraet eller øye stilling er fast i visnings koordinatsystemet. Opprinnelsen til uvn-koordinatsystemet ligger på utsikten referansepunkt (VRP), beskrevet av en vektor definert i verden Opplysninger:

BCIT apps hvor som helst

Representasjonen av et punkt i verdenskoordinatene er bestemt av produktet av to transformasjoner matriser.

Vurdere et punkt i uvn-koordinater; du må forvandle det punktet på tilsvar verden koordinere punkt med den forståelse at seer systemet er definert i verden koordinater.

For å forenkle diskusjonen blir beregningene begrenset til den uv-planet eller den 2-dimensjonale problemer. Tenk punkt definert i xyz-koordinater som (x. Y. 0) og med tilsvarende koordinere, (a. B, 0) i uvn-system. Stiller spørsmålet, "Hva transformasjon er nødvendig for å omdanne det punkt (a. B) på punktet (x, y)?". Det er mulig å uttrykke den totale transformasjon som et produkt av to matriser, og derfor må man være forsiktig for å sikre at transformasjoner utføres i riktig rekkefølge ettersom matrise representasjoner er kommutativ.

Det første trinnet er å vurdere et trekk i verdenssystemet som tilsvarer flytte fra opprinnelsen av uv-system på det punktet (a, b). Denne operasjonen utføres ved å bevege "a enheter" i retning av u-aksen og "b enheter" i retning av V-aksen og er representert ved vektoren ligning:

hvor og er enhetsvektorer som definerer uv-systemet koordinater. I matriseform, er transformasjonen ligning:

Radvektorer og kan bli skrevet i komponentform og problemet utvidet til 3-plass for å gi den homogene 4-space transformasjonsmatrise.

Det er mulig, men ikke nødvendig, for å vise at matriksen, er en enkel rotasjon matrise om opprinnelsen av verden systemet. Geometrien for den 2-D problem er oppsummert nedenfor:

I den generelle, er opprinnelsen til uvn-system og opprinnelsen til xyz-systemet ikke er lokalisert i samme punkt. En oversettelse av "r x enheter" i retning av x-aksen, etterfulgt av en "r y enheter" oversettelse i den i retning av y-aksen er nødvendig.

Denne operasjon betyr effektivt opprinnelsen til uv-systemet til den stilling som vist.

Utvidelse av problemet til 3-plass, blir oversettelses matrisen i homogen 4-space skrives som:

Den totale transformasjonen for et punkt med koordinater visning, til et tilsvarende punkt i verden koordinater er gitt ved:

Den inverse transformasjonen, koordinerer verden til visning koordinere er:

Det er mulig å vise at den inverse av et matriseproduktet er lik de inversmatriser multiplisert i omvendt rekkefølge.

Likeledes er den inverse matrise for oversettelse matrise bare omvendt oversettelse og den inverse av rotasjonsmatrisen er transponere rotasjonsmatrise. Det er mulig å påvise denne egenskap uten forutsatt at grunnmassen er en rotasjonsmatrise ved hjelp av en prikk produkt. Hvorfor? Forvandlingen fra verdenskoordinater til visning koordinater er gitt ved:

Legg merke til at enhets vektorer som definerer aksene for visningssystem er kolonnene i transformasjonsmatrise.

Total Transformation

Den totale transformasjon for et punkt i verden koordinater til et punkt i visnings koordinater, forutsatt at øyet er plassert på, er:

Øyet eller COP plassering er definert i uvn-system. Matrisen tar hensyn til at øyet ikke behøver å ligge på den n-aksen, hvor:

Utledningen av denne matrisen er ikke blitt presentert. For det spesielle tilfellet, er COP sted på den n-aksen, dvs. reduserer matrisen til identitetsmatrisen.

Den perspektiv transformasjonsmatrise, er gitt ved:

Plasseringen av øyet på n-aksen er vanligvis negativ for en venstrehendt system. Perspektivet transformasjon flytter hver toppunktet i tre dimensjoner på 2-plass. Prosjektet punktet trekkes ved hjelp av:

n * representerer en "pseudodepth" og ikke har den samme betydning som de andre to koordinater. Prosjekt koordinater er u * og v * hvor n * er satt til null.

Skrevet av Ross Bradbeer, 24 september 1997

Relaterte innlegg

  • Tilgang Lab programvare fra hvor som helst, når som helst Har du noen gang slitt med å finne en datalab med programvaren du trenger? Forhåpentligvis som vil være en ting fra fortiden som IT-tjenester introduserer en ...

  • Hvordan plassere ikoner hvor som helst på startskjermen i iOS 7 (Video) En av de merkelige begrensninger av iOS er begrensningen på hvor du kan sette din app ikoner på startskjermen. Så snart du ...

  • Øl kan være kur for hva som feiler SCSU hockey Rundt disse delene, er den økonomiske motoren ofte sprit. På St. Cloud State University, må den atletiske avdelingen et skudd i armen, slik at ...

  • Mobile App verktøy i så lite som seks måneder, kan du trene gjennom Mobile App Tools førsteamanuensis sertifikat for å starte en ny karriere i digital design og publisering. Dette programmet er laget ...

  • Beskrivelse Já está disponível para nedlasting uma versão totalmente reformulada gjøre aplicativo UOL Cotações. Com muito mais Recursos e områder possíveis de serem personalizadas, agora ficou mais ...