PoV-Ray - Tutorial 2 - Die drei Dimensionen

Untitled
Verfügbare Informationen zu "PoV-Ray - Tutorial 2 - Die drei Dimensionen"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: Jowra
  • Forenurl: Klick
  • Forenbeschreibung: >> Bilder-Galerie
  • aus dem Unterforum: Programme, Tutorials, Fragen und Antworten
  • Antworten: 3
  • Forum gestartet am: Freitag 17.12.2004
  • Sprache: deutsch
  • Link zum Originaltopic: PoV-Ray - Tutorial 2 - Die drei Dimensionen
  • Letzte Antwort: vor 19 Jahren, 3 Monaten, 12 Tagen, 8 Stunden, 2 Minuten
  • Alle Beiträge und Antworten zu "PoV-Ray - Tutorial 2 - Die drei Dimensionen"

    Re: PoV-Ray - Tutorial 2 - Die drei Dimensionen

    Jowra - 12.01.2005, 00:51

    PoV-Ray - Tutorial 2 - Die drei Dimensionen
    Die drei Dimensionen

    Das Koordinatensystem in PoV-Ray

    Also ich mache es mal Schritt für Schritt. Falls jemand noch später einsteigen will, dann ist es hoffentlich gut nachvollziehbar.

    (Für dieses Beispiel habe ich die Kamera mal noch etwas vom Mittelpunkt entfernt und -7 statt -4 für den Z-Wert verwendet.)

    Beginnen wir mal mit der X-Achse. Die X-Achse läuft im Koordinatensystem von PoV-Ray von rechts nach links (Der Einfachheit halber von rechts nach links auf unserem Bildschirm). In der Mitte beträgt der Wert für x = 0. Deshalb haben wir ja in unserem ersten Script bei der Kugel geschrieben:

    Code: sphere {
      <0, 0, 0>
      ...
    }

    (Zur Erinnerung: <x, y, z>). Jetzt wollen wir die Kugel mal auf der X-Achse verschieben. Ich hab sie mal gleich mehrfach verschoben und das ganze in Photoshop etwas anschaulich dargestellt:



    Die kräftige Kugel in der Mitte kennen wir schon. Die liegt im Punkt x=0. Die etwas blassere Kugel rechts davon liegt im positiven X-Bereich nämlich beim Punkt x = 1. Da wir y und z erst mal vernachlässigen, würde unsere Beschreibung der Kugel also so aussehen:

    Code: sphere {
      <1, 0, 0>
      ...
    }

    Für die Kugel ganz rechts im Bild gilt das Gleiche aber sie ist wieder noch etwas weiter rechts, nämlich bei x = 2. Für die beiden linken Kugeln gilt es entsprechend, nur bewegen wir uns dort ja im negativen Bereich. Für die ganz linke Kugel müßte es also heißen:

    Code: sphere {
      <-2, 0, 0>
      ...
    }

    Soweit klar? Es gibt dabei übrigens keine Einstufung, was diese Werte sind. D.h. wir reden hier nicht von Metern oder Euros oder sonst was ;) sondern es sind einfach Einheiten im Koordinatensystem. Die Werte müssen auch nicht ganzzahlig sein. Genau so gut kann man auch schreiben:

    Code: sphere {
      <-8.7773219, 0, 0>
      ...
    }

    oder

    Code: sphere {
      <23.567, 0, 0>
      ...
    }



    Re: PoV-Ray - Tutorial 2 - Die drei Dimensionen

    Jowra - 12.01.2005, 23:49


    Jetzt werden wir 2-Dimensional. ;)

    Die Y-Achse verläuft rechtwinklig zur X-Achse und zwar von unten nach oben (auch auf dem Bildschirm), alles andere gilt entsprechend wie für die X-Achse.



    In dieser Grafik habe ich jetzt die Y-Achse hinzugefügt und im Gegensatz zum langweiligen Bild gestern die Kugeln ein bißchen zufälliger im Raum angeordnet. Die Positionen und Werte der Kugeln im rechten oberen Bereich dürften klar sein. X und Y werden dabei jeweils um 1 erhöht <0, 0, 0>, <1, 1, 0>, <2, 2, 0>. Etwas ungewohnter sind da schon die beiden anderen. Die Kugel links im Bild, würde folgende Definition besitzen:

    Code: sphere {
    <-2, 0.5, 0>
    ...
    }

    D.h., sie befindet sich beim Punkt x = -2 wird also um zwei Einheiten nach links verschoben und y hat den Wert 0.5, die Kugel "wandert" also um eine halbe Einheit nach oben. Für die untere Kugel gilt somit:

    Code: sphere {
    <1, -1.5, 0>
    ...
    }

    Soweit erst mal zum 2D-Raum und wie die Körper in diesem platziert werden. Jetzt kommt dann noch die Richtung Z dazu ...



    Re: PoV-Ray - Tutorial 2 - Die drei Dimensionen

    Jowra - 13.01.2005, 22:09


    Jetzt wird es knifflig. ;) Wir begeben uns also in die dritte Dimension. Wir fügen der X- und der Y-Achse noch eine Z-Achse hinzu. Wenn wir uns die letzten Bilder vor Augen halten, sticht diese sozusagen von außen in den Bildschirm hinein.

    Ein Bild sagt mehr als tausend Worte, also schauen wir uns mal diese Grafik an:



    (Ist gar nicht so einfach, so ein Perspektivenbild zu basteln. Es sieht alles etwas verschoben und schief aus. Dies liegt aber in erster Linie daran, daß man drei Dimensionen nicht wirklich darstellen kann. Letzten Endes ist eben jedes Bild nur zweidimensional :) ).

    Wir schauen hier nicht in der üblichen Perspektive auf unsere Kugel(n), sondern leicht von der Seite. So sehen wir den Verlauf der Z-Achse besser. Die Z-Achse verläuft also entlang unserer Blickrichtung (Kamerablickrichtung) von hinten nach vorne wenn man so will. Um das Verständnis für die 3D-Tiefe zu erleichtern, habe ich die Kugeln diesmal wirklich "wild" im Raum platziert (alle Kugeln haben übrigens den gleichen Radius). Beispielsweise die blaue Kugel. Sie befindet sich am Punkt x = -2, y = -1 und z = -2. Das heißt vom Nullpunkt gesehen wurde die Kugel auf der Z-Achse um zwei Einheiten in Richtung Kamera (zu uns hin) bewegt.

    Dieses Bild sieht als normale Aufnahme so aus:



    (Der schwarze Fleck auf der violetten Kugel ist übrigens der Schattenwurf von der roten. Sieht im Moment eher störend aus, aber dazu später mehr).

    Wohlgemerkt, der Radius ist immer gleich, die unterschiedliche Größe resultiert aus den verschiedenen Entfernungen der einzelnen Kugeln zur Kamera und diese Entfernung zur Kamera bestimmt eben die Lage der Kugel auf der Z-Achse. Die rote Kugel in der Mitte liegt bei z = 0. Die pinkfarbene und die violette liegen aber bei z = 2 sind also praktisch nach hinten versetzt. Dadurch erscheinen sie kleiner, so wie in der Realität weiter entfernte Gegenstände auch kleiner erscheinen. Die blaue Kugel vorne links wirkt größer, weil sie bei z = -2 liegt, also näher an uns dran. Diese echte Wiedergabe der Perspektive gehört zu den wichtigen Merkmalen eines Raytracing-Bildes.

    So viel erst mal zum Koordinatensystem in PoV-Ray. Das war jetzt ziemlich trocken und es ist auch schwer zu erklären. Das beste ist immer noch: üben, üben, üben. Einfach mal ein paar Kugeln an andere Punkte im Raum versetzen und gucken ob auch das passiert, was ihr erwartet habt. ;)

    Hier noch das Script für das letzte Bild (Den Radius der Kugeln habe ich dafür auf 0.5 runtergesetzt, weil dann mehr ins Bild passen.).

    Code: #version 3.5;

    camera {
            location <0, 0, -7>
            look_at <0, 0, 0>
    }

    light_source {
            <-10, 10, -10>
            color rgb 1
    }

    light_source {
            <10, -30, 20>
            color rgb 1
    }

    sphere {
            <0, 0, 0>, .5
            pigment { color rgb <1, 0, .5> }
    }

    sphere {
            <2, 1, 2>, .5
            pigment { color rgb <1, 0, .75> }
    }

    sphere {
            <1, -1, 2>, .5
            pigment { color rgb <.75, 0, 1> }
    }

    sphere {
            <-2, -1, -2>, .5
            pigment { color rgb <.5, 0, 1> }
    }

    Als nächstes wollen wir mal die Oberfläche der Kugel und somit die Kugel insgesamt realistischer gestalten ...



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Untitled



    Ähnliche Beiträge wie "PoV-Ray - Tutorial 2 - Die drei Dimensionen"

    TUTORIAL: Veränderung von Augenfarben (von maggie) - maggie (Donnerstag 16.08.2007)
    Tutorial charawechsel - Shino Aburame (Mittwoch 22.08.2007)
    Tutorial Schneiderladen - bacocab (Mittwoch 05.01.2005)
    Tutorial Glitzerschrift - ricky1 (Freitag 05.01.2007)
    Ventile einstellen Tutorial - LazyJones (Freitag 27.04.2007)
    d'espairs Ray Konzert am 18.11.06 im Z7 Pratteln - Pinky (Freitag 08.09.2006)
    C++ Tutorial - E-th4X[CREW] (Sonntag 30.07.2006)
    Ray Bradbury - Anna (Donnerstag 06.12.2007)
    nata und ray - samty (Donnerstag 02.06.2005)
    [Videotutorial] Adboard Creating Tutorial by =>N4P4sT4< - Fastdog [ad] (Donnerstag 22.02.2007)