kurse:povray23:hilfenfuerprojekte

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
kurse:povray23:hilfenfuerprojekte [2023/08/22 08:30]
Ivo Blöchliger created
kurse:povray23:hilfenfuerprojekte [2023/08/22 17:24] (current)
Ivo Blöchliger [Hohle Röhre]
Line 8: Line 8:
  
 ===== Eigene mathematische Funktionen ===== ===== Eigene mathematische Funktionen =====
 +Folgende Funktion gliedert sich in zwei Teile. Ich habe es nicht hingekriegt, eine bedingte Funktion direkt in POV-Ray zu realisieren. Darum eine eigene Funktion ''myif(bedingung, wennwahr, wennfalsch)'':
 +
 +
 <code povray> <code povray>
 +// Für bedingte Funktionen
 +#declare myif=function(bedingung, wennwahr, wennfalsch) {
 +        bedingung*wennwahr+(1-bedingung)*wennfalsch
 +}
 +
 // Folgende Funktion ist immer Null zwischen 0 und 0.7, danach steigt die Funktion linear durch den Punkt $(1,1)$. // Folgende Funktion ist immer Null zwischen 0 und 0.7, danach steigt die Funktion linear durch den Punkt $(1,1)$.
-#declare durchsichtig=function(zeit) { +#declare durchsichtig=function(zeit) {  
-   zeit<0.7 (zeit-0.7)/0.3;+        myif(zeit<0.70(zeit-0.7)/0.3)
 } }
 +
 // Benutzung der Funktion // Benutzung der Funktion
 object { object {
    meinCoolesDing    meinCoolesDing
-   pigment { color rgbt <1,0,0,durchsichtig(myclock)> }+   pigment { color rgbt <1,0,0,durchsichtig(clock)> }
 } }
 </code> </code>
  
 ===== Test der Animation in einem einzigen Bild ===== ===== Test der Animation in einem einzigen Bild =====
-Anstatt 20 (oder mehr) Bilder zu rendern, kann mit einem Trick auch ein einziges Bild mit allen Schritten gerendert werden. Der eigene Animationscode muss aber in eine Schleife eingepackt werden.+Anstatt 20 (oder mehr) Bilder zu rendern, kann mit einem Trick auch ein einziges Bild mit allen Schritten gerendert werden. Der eigene Animationscode muss aber in eine Schleife eingepackt werden und es muss immer mit einer eigenen Zeitvariablen (z.B. myclock) gearbeitet werden.
 <code povray> <code povray>
 // Kamera // Kamera
 // Licht // Licht
-// Eigene Variablendefinitionen+// Eigene zeitunabhängige Variablendefinitionen
  
-#declare numFrames=20;  // Auf Null setzen für normale Animation+#declare myclock=clock;  // Default Wert, damit die Animation dann gerendert werden kann. 
 + 
 +#declare numFrames=20;  // Auf Eins setzen für normale Animation
 #declare frame=0; #declare frame=0;
 #while (frame<numFrames) // Hier < durch <= ersetzen, wenn das letzte Frame auch gerendert werden soll. #while (frame<numFrames) // Hier < durch <= ersetzen, wenn das letzte Frame auch gerendert werden soll.
-  #if (numFrame>0+  #if (numFrames>1
-    #declare clock=frame/numFrames;+    #declare myclock=frame/numFrames;
   #end // if   #end // if
      
   //   //
-  // Hier der Animationscode+  // Hier der Animationscode, alles mit myclock (und nicht direkt clock)
   //   //
        
Line 85: Line 96:
  
 ===== Hohle Röhre ===== ===== Hohle Röhre =====
 +<code povray>
 difference { difference {
    cylinder {0, z, 1 }  // Grundform    cylinder {0, z, 1 }  // Grundform
    cylinder {-0.1*z, 1.1*z,0.9 }   // Ausschnitt (sollte keine zusammenfallenden Flächen haben, darum von -0.1*z bis 1.1*z).    cylinder {-0.1*z, 1.1*z,0.9 }   // Ausschnitt (sollte keine zusammenfallenden Flächen haben, darum von -0.1*z bis 1.1*z).
 } }
 +</code>
  • kurse/povray23/hilfenfuerprojekte.1692685834.txt.gz
  • Last modified: 2023/08/22 08:30
  • by Ivo Blöchliger