Beschreibungen und Beispiele zum Raytracer POV-Ray von Friedrich A. Lohmüller
    POV-Ray Beispiele - Die Erstellung von Objekten für POV-Ray
English English English
Italiano Italiano
Français français

Home
- POV-Ray Tutorial

  - POV-Ray Beispiele
    Inhaltsübersicht
  - Geometrie
  - Architektur
  - Technik
    - Leiter
    - Masten
    - Geländer
    - Brücke
    - Röhren
    - Rohrabzweigung
    - Rohr-Absperrhahn
    - Kette
    - Drahtspule
    - Torpedo
    - Cruise Missile
    - Rakete
    - Rad
    - Truck
    - Propeller
    - Flugzeug
    - Kanu
    - Gitarrenbody
    - 7-Segment Display
    - Flachbandkabel
    - Kabelbaum
                                       
 
Kabelbaum


Kabelbaum(engl.: harness)

Objekte: sphere, cylinder.
Methoden: #declare, #local, union, #while, #if #else, Spline_Trans macro.

Simulation eines Kabelbaumes:
Hier eine Lösung für einen verdrillten Kabelbaum
basierend auf einer Idee von Jim Dunlop.
Schritt 1: Eine Spline-Kurve
                  für den Kabelbaum.

Wir erstellen eine Kurve unter Verwendung von "spline" längs des Kabelbaumes. Zu Testzwecken lassen wir diese mit einer relativ geringen Anzahl von Kugeln zeichnen.
Wichtig:
Punkte annähernd äquidistant platzieren!
Senkrechte Stellen vermeiden!
Loopings + zu scharfe Knicke vermieden!.

#declare Wire_R = 0.4;// radius
// spline:
#declare Test_Spline =
spline { natural_spline
   -0.25, <-1.0, 0.0, 0>,
    0.00, <-0.0, 0.0, 0>, //start
    0.25, < 1.7, 0.05, 0.05>,
    0.35, < 2.0, 0.15, 0.25>,
    0.60, < 2.0, 0.65, 1.2>,
    0.80, < 0.5, 0.90, 2.0>,
    1.00, < 0.2, 1.50, 2>, // end
    1.25, < 0.2, 2.00, 2>
  } //-------------------------------

Schritt 2: Deklarierung des Querschnitts
                des Kabelbaumes.

Die Drahtlitzen werden um den zentralen Draht in der Silhouette des Kabelbaumes arrangiert wie im nebenstehenden Bild gezeigt.
Der trickreiche Algorithmus, den Jim hierzu enwickelte, funktioniert gut bis zu 61 Drahtlitzen. Er ist zu umfangreich um hier im Detail dargestellt zu werden. Für näheres siehe die entsprechenden Szenendateien.

Schritt 3: Verwendung des Spline_Trans-Makros
Makro vom Rune S. Johansen
(Dieses Makro wird normalerweise dazu benutzt um Flugzeuge auf ihrem Kurs zu lenken. Ein Beispiel kann man hier sehen: Animation mit Spline-Kurven.)

Anstelle einer einzelnen Kugel, wie in Schritt 1,
verwenden wir nun ein Objekt namens "object{ HarnessSilhouette ..}" und setzen es auf die Spline-Kurve mittels dem Makro Spline_Trans. Zudem vergrößern wir die Dichte der einzelnen Elemente um durchgehende Kabelstränge zu erhalten:
Mit dem ersten Macro kann man ein reine Kabelbaumsegment erzeugen, verdreht oder nicht, längs einer Splinekurve (oder Teilen davon):
object{ HarnessSegment(
        19,// # of wires in bundle, max.61
        0.020,// >0. Radius of wire
        800, // # of samples in spline
        0,   // # of 360 degress turns
        Test_Spline, // spline name,
        <0.7,0,0>,// base color
        0.25, // color variation,
        0, // Start point on spline
        1, // End point on spline
        ) //----------
      } //-----------------------------
Mit dem zweiten Makro kann man zusätzlichg am Anfang und Ende Objekte an den Kabelbaum anfügen:
object{ CableHarness(
        12,// # of wires in bundle, max.61
        0.020,// >0. Radius of wire
        800, // # of samples in spline
        3.5, // # of 360 degress turns
        Test_Spline, // spline name,
        <0.7,0,0>,// base color
        0.25, // color variation,
        0, // Start point on spline
        1, // End point on spline
        BeginObject,// to put on beginning
        EndObject,  // to put on end
        ) //----------
      } //-----------------------------
A spline for the harness
Eine Splinekurve für den Kabelbaum.
rot = Splinestützpunkte, violett = Steuerpunkte
Cable Harness
Das Bündeln der Kabel.
Cable Harness
Das Makro 'HarnessSegment()', nicht verdrillt.
Szenendatei für POV-Ray: "Cable_Harness_1.pov"
Cable Harness
Eine Variation des Makros 'CableHarness()'
Szenendatei für POV-Ray: "Cable_Harness_2.pov"
Cable Harness
Eine weitere Variation des Makros 'CableHarness()'
Szenendatei für POV-Ray: "Cable_Harness_3.pov"
top
© Friedrich A. Lohmüller, 2013
www.f-lohmueller.de