3D tietokonegrafiikkaa

3D tietokonegrafiikkaa on haara tietokonegrafiikan joka perustuu laatimista joukko kolmiulotteisia malleja käyttämällä algoritmeja suunniteltu tuottamaan valokuvaus- ja optisten tuntu lopullisessa kuvassa. Sitä käytetään luomiseen ja jälkituotanto teosten tai rakennuskohteiden osat elokuva- tai televisio, videopelit, arkkitehtuuri, suunnittelu, taide ja eri tieteenaloilla, joissa sisällön tuottaminen muilla keinoin ei ole mahdollista tai hankalaa.

Teoreettinen näkökohdat

Kaavamaisesti tuotantomenetelmän 3D tietokonegrafiikkaa koostuu kahdesta osasta: kuvaus siitä, mitä on tarkoitus osoittaa, koostuu matemaattisia esityksiä kolmiulotteisia objekteja, nimeltään "malleja", ja mekanismi tuottaa 2D-kuvan kohtaus nimeltään "tekee moottori", joka huolehtii kaikki tarvittavat laskelmat hänen luomuksensa, käyttämällä algoritmeja, jotka simuloivat valon käyttäytymistä ja optiset ja fysikaaliset ominaisuudet esineitä ja materiaaleja.

3D-malleja

Yksinkertainen kolmiulotteinen esineitä voidaan esittää yhtälöt toimivat kolmiulotteisen Cartesian viitejärjestelmä: esimerkiksi yhtälö x² + y² + z² = R on täydellinen pallo, jonka säde r. Vaikka niin yksinkertaisia ​​yhtälöitä voi vaikuttaa rajoittavalta, oliovalintoihin laajennetaan saavutettavissa tekniikkaa kutsutaan rakentava avaruusgeometria, jossa yhdistyvät kiinteät esineet muodostamaan monimutkaisempia esineitä Boolen toiminnot: putki voi esimerkiksi olla edustettuna ero kahden Sylintereistä eri halkaisijat.

Nämä yhtälöt eivät riitä tarkasti kuvaamaan monimutkaisia ​​muotoja, jotka muodostavat suurimman osan reaalimaailman, joille se ei ole yleisessä käytössä. Mallin mielivaltaisesti kaarevat pinnat voit käyttää laastaria tai laajentaminen splinin lähentämistoimenpiteisiin jatkuva käyrät, kolme ulottuvuutta. Merkit ovat yleisimmin käytettyjä käytännössä perustuu NURBS spline.

Käyttö matemaattisia yhtälöitä sekä nämä vaativat paljon laskentatehoa, ja siksi ole käytännöllistä reaaliaikaisiin sovelluksiin, kuten videopelejä ja simulaatioita. Tehokkaampaa tekniikkaa, ja edelleen yleisin ja joustava poly-mallinnus ja monikulmion mallintaminen. Tämä mahdollistaa tarkempien mutta kustannuksella enemmän tietoa tarvitaan tallentaa tuloksena esine, jota kutsutaan monikulmion malli.

Polygonaalinen malli ja "kasvot" kuin karkea veistos voi vielä tarkennettava algoritmeja edustaa kaarevia pintoja: tätä tekniikkaa kutsutaan "alaosasto pinnat". Malli on paranneltu prosessi iteratiivisten interpoloimalla tehden tiheämpää polygoneja, mikä approssimeranno paremmin ihanteellinen käyriä, johdettu matemaattisesti eri kärkipisteet mallin.

Luominen kohtaus

Voit säveltää kohtaus "primitiivinen" eli kolmiulotteisten mallien edustaa geometrinen perusalkioiden, eriteltynä yksittäisten kasvoja tai yhdistellä monimutkaisempia esineitä. Helpoin tapa järjestää on luoda joukko perusalkioiden, mutta tämä menetelmä ei salli tarkempi kuvaus kohtaus, yksinkertaisesti "selittää" ja renderöijä miten tehdä saman. Kehittyneempi tekniikka järjestää esineitä puu tietorakenne, jonka avulla voidaan loogisesti ryhmä esineitä.

Primitives kuvataan yleisesti oma paikallinen viitejärjestelmä, ja on sijoitettu paikalle asianmukaisilla muutoksia. Affiinimuunnokset käytetään enemmän kuin dilation, kierto ja kääntäminen, voidaan kuvata projective tilaa 4x4 matriisi: ne soveltavat kertomalla matriisi kantajan kanssa neljään edustavien jäsenten kunkin tarkistuspisteen käyrän. Neljäs ulottuvuus on nimeltään homogeeninen koordinoida.

Jokainen solmu kohtaus kuvaajan liittyy muutosta, joka myös koskee kaikkia solmuun aihe, uudestaan ​​fyysinen vuorovaikutus esineitä ryhmitelty. Jopa järjestelmien mallinnus ja renderöinti jotka eivät käytä kohtaus kuvaajan se on edelleen yleensä läsnä käsite muutosta sovelletaan "vertikaalisesti".

Renderöinti

Mallinnus on prosessi lopputuotteen kuvan matemaattinen malli aihe. On monia renderöinti algoritmeja, mutta kaikki liittyy projektio 3D-mallit 2D pinnalla.

Rendering algoritmit jaetaan kahteen luokkaan: juova renderointilaitokset ja ray merkkiaineet. Ensimmäinen toiminta-objektin objekti, piirtämällä suoraan näytölle kunkin monikulmion tai micropoligono; ne vaativat niin, että kaikki esineet on kasvot polygoneja. Sekuntia toimivat pikselivastaavuuden, jäljittämisestä kuvitteellinen näkösäteessään näkökulmasta katsottuna sisällä kohtaus, ja määritetään väri pikselin risteyksiä kanssa esineitä.

Yksi tärkeimmistä tehtävistä renderer on määritys piilossa pinnan. Säteenseuranta epäsuorasti suorittaa tämän toiminnon, määrittämällä värin pikselin perustuu risteyksessä ray ensimmäinen visuaalinen objekti, mutta muun tyyppinen algoritmeja käytetään enemmän kehittyneitä tekniikoita, mitkä monikulmio on niin lähellä näkökulmasta . Yksinkertaisin tapa on tehdä polygoneja näistä kauempana, jotta ne lähinnä korvata niitä; mutta tämä tekniikka, jota kutsutaan maalarin algoritmi, "maalarin algoritmi", on tehoton kanssa päällekkäisiä polygoneja. Tämän ongelman ratkaisemiseksi on kehitetty z-puskuroinnin, joka käyttää puskurin tallentaa z-koordinaatti suhteessa kunkin pikselin käsitellään: jos syvyys monikulmio, jota käsitellään pikseli on vähemmän kuin yksi muistissa, pikseli on kirjoitettu uudelleen ; muuten algoritmi siirtyy seuraavaan pikselin.

Kuva on terävä, ääretön syvyys kenttä ei ole lainkaan realistisia. Ihmissilmä on tottunut puutteellisuuksia kuten heijastumia, rajallinen terävyysalue ja liikkeessä hämärtää valokuvissa elokuvissa.

Valaistus ja varjostus

Varjostus on prosessi, jossa määritellään väri tietyn pikselin kuvan. Se sisältää yleensä valaistus prosessi, joka rekonstruoi vuorovaikutus esineiden ja valonlähteitä: tähän tarkoitukseen tarvitaan valaistus mallin ominaisuudet valon, ominaisuudet pohdintaa ja pinnan normaalin pisteessä joka yhtälö valaistuksen lasketaan.

Tuottaa visuaalisen esityksen kuvan tehokkaasti, sinun täytyy simuloida valon fysiikka. Enemmän abstrakti matemaattinen malli valon käyttäytymistä on renderöinti yhtälö, joka perustuu lain säästö. Se on olennainen yhtälö, joka laskee valoa tietyssä asennossa kuin lähetetyn valon kytketty kannan integraali heijastuvan valon kaikki objektit kohtaus, joka iskee tältä osin. Tämä loputon yhtälö ei voida ratkaista algoritmeja päättynyt, ja vaatii siksi lähentämistä.

Valaistus mallit yksinkertaisempi harkita vain valo, joka kulkee suoraan valolähteestä kohde: tätä kutsutaan "suora valaistus". Tapa, jolla valo heijastuu kohteen voidaan kuvata matemaattisen funktion, jota kutsutaan "kaksisuuntainen heijastus kertymäfunktio", jossa otetaan huomioon materiaalin valaistu. Suurin osa tekee järjestelmien edelleen yksinkertaistaa ja laskee suora valaistus summana kahdesta komponentista: hajanainen ja specular. Hajanainen komponentti, tai Lambertin vastaa valoa, joka hylkäsi esine kaikkiin suuntiin, yksi peili valo, joka heijastuu objektin pinnalle, kuten on peili. Heijastus kuvio Phong lisää kolmannen komponentin, ympäristön, joka tarjoaa perustiedot simulointi epäsuoran valaistuksen.

Esineet ovat todella pommitetaan monia välillisiä valonlähteitä: kevyt "terhakka" mistä objektista toiseen, kunnes se menettää energiaa. L '"globaali valaistus" tutkii tätä käyttäytymistä valon säteilyä. Kuten suora valaistus, se sisältää hajanainen komponentti ja peili. Heijastus keskinäinen usein pelätään valo osuu esine joka on jo lyödä toista. Koska tämä on imenyt tietyllä aallonpituudella spektrin valon lyödä häntä, valo, joka hylkii on erivärinen, josta se on valaistu. Keskinäinen heijastus peili on yleensä nähty syövyttävä.

Koska täydellinen algoritmit globaalin valaistuksen, kuten radiosity ja fotoni kartoitus, vaativat suurta laskentakapasiteettia, tekniikoita on kehitetty lähentää globaalin valaistuksen. Algoritmi ympäristön purennan, esimerkiksi, laskee, kuinka paljon ympäröivän valon voidaan saavuttaa jokainen piste mallin.

Polygonal malleja reaaliajassa sovelluksissa ei välttämättä ole korkea tieto; Helpoin tapa valistaa heitä on laskea arvo kirkkauden kunkin monikulmio, joka perustuu normaalin. Tätä menetelmää kutsutaan tasainen varjostus, koska se paljastaa muoto "flat" kunkin monikulmio. Välttää tämän "puoli", vastaavat arvot pisteiden interpoloitavan. Gouraud varjostus laskee intensiteetti jokaista pistettä mallin perusteella vastaavassa normaalissa, ja suorittaa sitten interpoloi koko pinnalle monikulmion. Ilmeisin virhe tätä tekniikkaa on, että "menettää" specular heijastukset lähellä keskustaa monikulmion. Liuoksen annetaan Phongin varjostus interpoloimalla koko pinta monikulmion kärki normaalit, ja sen jälkeen valaistus laskelma pikseli kerrallaan.

Nämä yhtälöt sovelletaan esineitä, joilla on oma väri, mutta mallin jokainen yksityiskohta läsnä pinnalla esine olisi suunnattoman kallista. Tekstuuri kartoitus voi kuvata pinnan esineen hankaloittamatta kohtaus: kuva on "sotkee" pinnalla esineen, kuten maailman kartan pallo luoda maailmankartan; aikana varjostus, mallin väri on tunnistettu yksi rakenne, sen vastaavan pikselin.

Koska tekstuurit eivät välttämättä valaistuksen kohtaus, mutta vain mallin väri, jotta "häiritä" normaali polygoneja käyttäen kolahtaa kartoitus. Tämä käyttää kuvia, jotka sisältävät, sen sijaan, että väriä, arvo, jota käytetään muuttaa normaalia monikulmio vastaavassa kohdassa, ja näin ollen muuttaa muotoa pinnan. Tämä tekniikka lisää "karkea" pinnat suuria säästöjä monikulmio.

Normaali kartoitus on tekniikka, joka korvaa sijasta häiritse pinnan normaaliin: normaali kartta on kuvan 3 kanavaa, jossa jokainen pikseli edustaa 3D-vektori, eli normaali kohtaan itse.

Tavoitteena Kunkin varjostus algoritmi on määrittää saatu väri tietyn pisteen pinnalla esine. Ohjelmoitava varjostustoiminnoista tarjoavat runsaasti monipuolisuutta tässä vedoten erityisiä ohjelmointikieliä kutsutaan "varjostus kielillä". Nämä kielet on kehitetty erityisiä sovelluksia tietokonegrafiikan, ja sisältävät lineaarialgebraa ja ominaisuuksia kohdistettu kysymyksiä valaistus. Shaders voi sisältää teknisiä valaistus, teksturointi ja geometrinen manipulointia. "Menettelyyn shaders" määrittää väri johtaa täysin algoritmeihin: voi hyvinkin olla vakuuttava ilman suuria kuvioita.

Ne muodostavat omaa luokkaansa "Vertex shadereita" ja "pikselivarjostimia", nimetty nimenomaan työskennellä yhdessä ja juova algoritmeja toimimaan GPU. Kun aikaisemmin jokainen näytönohjaimen toteuttanut erityistä putki joka pakotti käyttäjä käyttämään yksinomaan valaistus, jota varten se oli ohjelmoitu laitteisto, jossa tähän ryhmään kunkin shader kun tekee se on valvonnassa kehittäjä.

Ohjelmat 3D-grafiikka

  • 3cad Evolution
  • 3D Coat
  • 3D Studio Max
  • AC3D
  • ArchiCAD
  • Art of Illusion
  • AutoCAD
  • Tehosekoitin
  • ClayTools
  • Daz Studio
  • FreeCAD, avoimen lähdekoodin ja monikanavajakelun
  • FreeForm Modeling
  • Houdini 3D
  • LightWave 3D
  • Luxology Modo
  • MakeHuman
  • Cinema 4D
  • Maya
  • MeshLab
  • Mudbox
  • Nevercenter Silo
  • Teeskentelijä
  • Realsoft 3D
  • Revit
  • Sarvikuono
  • Siilo
  • SketchUp
  • Softimage XSI
  • SolidThinking
  • Terragen
  • Vue Esprit
  • Xfrog
  • ZBrush

Renderöinti moottorit

  • AccuRender
  • Aqsis
  • Brasilia R / S
  • Finalrender
  • Flamingo
  • FPrime
  • Fryrender
  • Kray
  • Indigo Renderer
  • LuxRender
  • Maxwell Render
  • Mental ray
  • Tonttu
  • POV-Ray
  • RenderMan
  • Sunflow
  • Myrkyllistä Renderer
  • V-ray-
  • YafRay
  0   0
Edellinen artikkeli Archaeornithomimus
Seuraava artikkeli Robert Grosseteste

Kommentit - 0

Ei kommentteja

Lisääkommentti

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Merkkiä jäljellä: 3000
captcha