kurse:efcomputergrafik:kw4

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Last revision Both sides next revision
kurse:efcomputergrafik:kw4 [2020/01/23 08:53]
Ivo Blöchliger [Blender]
kurse:efcomputergrafik:kw4 [2020/01/23 09:00]
Ivo Blöchliger [Blender]
Line 283: Line 283:
 g = Vector(0,0,-9.81) # Gravitationbeschleunigung g = Vector(0,0,-9.81) # Gravitationbeschleunigung
 hmax = 40  # Hoehe fuer v=0 hmax = 40  # Hoehe fuer v=0
 +# Bahnpunkte: Ctrl-Links, Knoten, Ctrl-Rechts
 railspts=[[],[],[]]  # Bahnpunkte, Schiene L, Schiene R, Träger  railspts=[[],[],[]]  # Bahnpunkte, Schiene L, Schiene R, Träger 
 while(ldone<totalLength): while(ldone<totalLength):
Line 300: Line 301:
     # Ek = 1/2 * m * v^2     # Ek = 1/2 * m * v^2
     v = (2*ekin)**0.5     v = (2*ekin)**0.5
 +    # Koordinatensystem (vorne, oben, rechts)
     k = mySplines[i].koordsyst(t,v,g)     k = mySplines[i].koordsyst(t,v,g)
 +    # Bahnpunkte berechnen
 +    #
 +    #
 +    #
          
 +
 +
 +# Blender-Kurven aus den Bahnpunkten erzeugen
 +for j in range(3):
 +    curvedata = bpy.data.curves.new(name="rail"+str(j), type='CURVE')
 +    curvedata.dimensions = '3D'
 +    objectdata = bpy.data.objects.new("rail"+str(j), curvedata)    
 +    objectdata.location = (0,0,0)
 +    objectdata.data.bevel_depth = 0.01
 +
 +    railsCol.objects.link(objectdata)
 + 
 +    polyline = curvedata.splines.new('BEZIER'   
 +    polyline.bezier_points.add(len(railspts[j])-1)    
 + 
 +    for idx, (h1, knot, h2) in enumerate(railspts[j]):
 +        point = polyline.bezier_points[idx]
 +        point.co = knot
 +        point.handle_left = h1
 +        point.handle_right = h2
 +        point.handle_left_type = 'ALIGNED'
 +        point.handle_right_type = 'ALIGNED'
 +
 </code> </code>
  • kurse/efcomputergrafik/kw4.txt
  • Last modified: 2020/02/12 21:06
  • by Ivo Blöchliger