Kennt einer Povray ? Hilfe, Danke !

Dieses Thema im Forum "Software" wurde erstellt von MacELCH, 20. März 2002.

  1. MacELCH

    MacELCH New Member

    Moin liebe Mac Gemeinde,

    auch wenn Ihr das Programm vielleicht nicht kennt könnt ihr mir eventuell helfen:

    Hier erst mal der Link zum Programm:

    http://www.povray.org

    Und nun meine Frage:
    (ja es geht um Wissenschaft jetzt, nur falls einer meinen sollte ich spiele gerade nur rum)

    Ich habe ein Objekt, das zentriert im Ursprung liegt, es wird von einer Seite beleuchtet (dort ist auch die virtuelle Camera Position) sprich ich habe eine erleuchtete Seite und dann entsprechend der Kontur auch Schatten.

    Nun will ich dieses Objekt um eine Achse drehen und gleichzeitig die Beleuchtungsrichtung beibehalten.

    Bisher ist es mir nicht gelungen, daß Objekt selber zu drehen, ich kann nur die Kameraposition drehen - das sieht dann zwar auch so aus, als ob sich das Objekt dreht, aber die Beleuchtung müßte nachgeführt werden, ansonsten schau ich irgendwann auf ein nicht beleuchtetes Objekt.

    Kennt einer eine Möglichkeit in Povray entweder das Objekt zu drehen oder die Lichtquelle mit der Rotation nachzuführen.

    Alternativ, kann mir einer, der mathematisch besser bewandert ist, eventuell eine Formel für ein planares karthesisches System mit einem Kreis des Radius r herleiten mit x und y Position in Abhängigkeit des Drehwinkels.

    Alles klar ?

    Der Mittelpunkt des Kreises soll im Ursprung liegen. Hier mal ein Beispiel:

    Startposition der Lichtquelle: X=10 Y=0, nach 90° haben wir dann X=0 und Y=10 etc. ich brauch das in einer Formel, in der ich schlichtweg den Winkel eingebe und die Koordinaten ausgespuckt bekomme.

    Vielen Dank

    MacELCH
     
  2. RaMa

    RaMa New Member

    hmm....povray kenn ich schon...

    allerdings wie du das drehen kannst, kann ich dir nicht beantworten....

    >>Alternativ, kann mir einer, der mathematisch besser bewandert ist, eventuell eine Formel für ein planares karthesisches System mit einem Kreis des Radius r herleiten mit x und y Position in Abhängigkeit des Drehwinkels.

    äh ja also das geht so...
    du rechnest den die zachse also
    2r(x+y)/P

    hähä

    oder so

    ra.ma.
    ps. nicht nachrechnen!!!! ;-)
     
  3. MacELCH

    MacELCH New Member

    Also eine Teillösung habe ich gefunden, falls es jemanden interessiert:

    man muß das oder die Objekte als ein Objekt definieren

    #declare mein_objekt

    und dann

    object {
    mein_objekt
    rotate <0,0,x>
    }

    Das Problem ist bei meinem Objekt nur, das durch die Rotation an den Kanten Falschfarben enstehen - und das ist nicht tolerierbar, also werde ich mich doch um meine Lichtquelle im Orbit des Objekts beschäftigen müssen.

    Falls einem hier noch was einfallen sollte, dann wäre ich Euch sehr dankbar.

    Gruß

    MacELCH
     
  4. RaMa

    RaMa New Member

    hmmm...nur ein gedankespiel...

    deklarier die lichtquelle auch als objekt??
    diese solltest du auch ansprechen können?

    ra.ma.
     
  5. Peter Mueller

    Peter Mueller Administrator Mitarbeiter

    x = r * cos (phi)
    y = r * sin (phi)
     
  6. MacELCH

    MacELCH New Member

    Danke Peter

    ich hatte vergessen zu erwähnen, daß ich dieses auch schon rausbekommen habe.

    Momentan scheint es zu funktionieren.

    Gruß

    MacELCH

    Nachtrag:

    habe gerade festgestellt, das ich doch nicht den cos(phi) sondern sin(phi-90) verwendet habe, hat einen lustigen Effekt, das sich das Objekt dann nicht nur dreht sondern sich auf einen zu und wieder weg bewegt.

    Hier ein kleines Script, falls es jemals einer brauchen sollte:

    // clock ist ein interner counter mit Werten von 0-1 als default
    // delta ist der Winkel um den meine Lichtquelle verschoben zur Kamera ist
    // macht das ganze ein bißchen plastischer
    // abstand entspricht dem Radius, in der sich die Kamera bzw. Lichtquelle befinden soll

    background {color rgb <0.000,0.000,0.000>}
    #declare abstand = 100;
    #declare delta = 0.2;
    #declare winkel = clock*360;
    camera {
    perspective
    location <sin(winkel)*abstand,0,cos(winkel)*abstand >
    up <0,1,0>
    right <1,0,0>
    look_at <0,0,0>
    }
    // erste Lichtquelle die um den Winkel delta vor der Kamera im Orbit kreist
    light_source {<sin(winkel+delta)*abstand,50,cos((winkel+delta))*abstand > color rgb <1,1,1>}
    // zweite Lichtquelle, um das Objekt von unten zu beleuchten
    light_source {<0,-300,0> color rgb <1,1,1>}

    // depth effect
    plane {z, 35.987 texture {pigment {color rgbft <0,0,0,1,1>}}
    hollow interior {fade_power 2 fade_distance 33.077}
    }

    // object .was_auch_immer
    bla bla
    }

    }
     
  7. grufti

    grufti New Member

    s geht. Und ich zermartere mir da mein Resthirn.
    Aber alle anderen hier können ja jetzt aus unseren beiden Varianten dazu lernen.
    ;-))
    Einer der's gut mit dir meint
     

Diese Seite empfehlen