Differences
This shows you the differences between two versions of the page.
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, | g = Vector(0, | ||
hmax = 40 # Hoehe fuer v=0 | hmax = 40 # Hoehe fuer v=0 | ||
+ | # Bahnpunkte: Ctrl-Links, Knoten, Ctrl-Rechts | ||
railspts=[[], | railspts=[[], | ||
while(ldone< | while(ldone< | ||
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, | k = mySplines[i].koordsyst(t, | ||
+ | # Bahnpunkte berechnen | ||
+ | # | ||
+ | # | ||
+ | # | ||
| | ||
+ | |||
+ | |||
+ | # Blender-Kurven aus den Bahnpunkten erzeugen | ||
+ | for j in range(3): | ||
+ | curvedata = bpy.data.curves.new(name=" | ||
+ | curvedata.dimensions = ' | ||
+ | objectdata = bpy.data.objects.new(" | ||
+ | objectdata.location = (0,0,0) | ||
+ | objectdata.data.bevel_depth = 0.01 | ||
+ | |||
+ | railsCol.objects.link(objectdata) | ||
+ | |||
+ | polyline = curvedata.splines.new(' | ||
+ | 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 = ' | ||
+ | point.handle_right_type = ' | ||
+ | |||
</ | </ |