# No. 37, Uniform into variable rotary motion (Brown 1868).
#
# "Uniform into variable rotary motion. The bevel-wheel or pinion to the left has teeth cut through
#  the whole width of its face. Its teeth work with a spirally arranged series of studs on a
#  conical wheel."
#
# Laid out as in the plate (1 unit = 1 cm): the conical wheel turns on an upright shaft (z), apex up,
# its face sloping at 60 deg from the axis from radius 6 to 14. On the face stand 39 studs (tapering
# from r 0.24 to a point, 0.72 high, square to the face; the first two shorter) in one spiral turn: each step round is one pinion pitch (1.571) at
# that stud's radius, and the spiral climbs from radius 6.9 to 13.3 down the slope. The pinion
# (12 teeth, module 0.5, pitch radius 3) lies along the cone's slope with its teeth cut through its
# whole 8.8 width, so it meets a stud at whatever radius the spiral has reached.
# Generator: opencode-runs/batch7/gen037.py.
#
# Fully physical. Only the pinion is motor-driven (30 rpm, turned so the spiral runs outward under
# it). The wheel turns by stud contact alone, at r_p/r of the pinion's speed, r the radius of the stud under it: from 3/6.9 = 0.43 down to
# 3/13.7 = 0.22 over each turn; then the wheel coasts across the
# spiral's 0.36 rad gap until a tooth takes up the pointed inner-end stud, and the speed jumps back.
number: 37
slug: uniform-into-variable-rotary-motion
name: Uniform into variable rotary motion
brown: "Uniform into variable rotary motion. The bevel-wheel or pinion to the left has teeth cut through the whole width of its face. Its teeth work with a spirally arranged series of studs on a conical wheel."
units: cm
sim:
  timestep: 0.0002
  integrator: implicitfast
  iterations: 100
  solver: CG
  multiccd: true
  duration_s: 15
  floor: false
bodies:
  - id: cone
    shape: part
    pos: [0, 0, 0]
    density: 7800
    friction: 0.03
    color: "#e8dec6"
    pieces:
      - {kind: rod, from: [0, 0, -0.8], to: [0, 0, 1.0], radius: 1.2, collide: 0}   # the hub
      - {kind: rod, from: [0, 0, 0.1], to: [4.172, 4.172, 0.1], radius: 0.35, collide: 0}   # a spoke
      - {kind: rod, from: [0, 0, 0.1], to: [-4.172, 4.172, 0.1], radius: 0.35, collide: 0}   # a spoke
      - {kind: rod, from: [0, 0, 0.1], to: [-4.172, -4.172, 0.1], radius: 0.35, collide: 0}   # a spoke
      - {kind: rod, from: [0, 0, 0.1], to: [4.172, -4.172, 0.1], radius: 0.35, collide: 0}   # a spoke
      - {kind: loft, a: [[5.6536, 0.0, 0.2], [14.3464, 0.0, -4.8188], [14.1464, 0.0, -5.1652], [5.4536, 0.0, -0.1464]], b: [[5.6052, 0.7379, 0.2], [14.2237, 1.8726, -4.8188], [14.0254, 1.8465, -5.1652], [5.4069, 0.7118, -0.1464]], collide: 0}
      - {kind: loft, a: [[5.6052, 0.7379, 0.2], [14.2237, 1.8726, -4.8188], [14.0254, 1.8465, -5.1652], [5.4069, 0.7118, -0.1464]], b: [[5.4609, 1.4633, 0.2], [13.8576, 3.7131, -4.8188], [13.6644, 3.6614, -5.1652], [5.2678, 1.4115, -0.1464]], collide: 0}
      - {kind: loft, a: [[5.4609, 1.4633, 0.2], [13.8576, 3.7131, -4.8188], [13.6644, 3.6614, -5.1652], [5.2678, 1.4115, -0.1464]], b: [[5.2232, 2.1635, 0.2], [13.2544, 5.4901, -4.8188], [13.0696, 5.4136, -5.1652], [5.0385, 2.087, -0.1464]], collide: 0}
      - {kind: loft, a: [[5.2232, 2.1635, 0.2], [13.2544, 5.4901, -4.8188], [13.0696, 5.4136, -5.1652], [5.0385, 2.087, -0.1464]], b: [[4.8962, 2.8268, 0.2], [12.4244, 7.1732, -4.8188], [12.2512, 7.0732, -5.1652], [4.7229, 2.7268, -0.1464]], collide: 0}
      - {kind: loft, a: [[4.8962, 2.8268, 0.2], [12.4244, 7.1732, -4.8188], [12.2512, 7.0732, -5.1652], [4.7229, 2.7268, -0.1464]], b: [[4.4853, 3.4417, 0.2], [11.3818, 8.7335, -4.8188], [11.2231, 8.6118, -5.1652], [4.3266, 3.3199, -0.1464]], collide: 0}
      - {kind: loft, a: [[4.4853, 3.4417, 0.2], [11.3818, 8.7335, -4.8188], [11.2231, 8.6118, -5.1652], [4.3266, 3.3199, -0.1464]], b: [[3.9977, 3.9977, 0.2], [10.1444, 10.1444, -4.8188], [10.003, 10.003, -5.1652], [3.8563, 3.8563, -0.1464]], collide: 0}
      - {kind: loft, a: [[3.9977, 3.9977, 0.2], [10.1444, 10.1444, -4.8188], [10.003, 10.003, -5.1652], [3.8563, 3.8563, -0.1464]], b: [[3.4417, 4.4853, 0.2], [8.7335, 11.3818, -4.8188], [8.6118, 11.2231, -5.1652], [3.3199, 4.3266, -0.1464]], collide: 0}
      - {kind: loft, a: [[3.4417, 4.4853, 0.2], [8.7335, 11.3818, -4.8188], [8.6118, 11.2231, -5.1652], [3.3199, 4.3266, -0.1464]], b: [[2.8268, 4.8962, 0.2], [7.1732, 12.4244, -4.8188], [7.0732, 12.2512, -5.1652], [2.7268, 4.7229, -0.1464]], collide: 0}
      - {kind: loft, a: [[2.8268, 4.8962, 0.2], [7.1732, 12.4244, -4.8188], [7.0732, 12.2512, -5.1652], [2.7268, 4.7229, -0.1464]], b: [[2.1635, 5.2232, 0.2], [5.4901, 13.2544, -4.8188], [5.4136, 13.0696, -5.1652], [2.087, 5.0385, -0.1464]], collide: 0}
      - {kind: loft, a: [[2.1635, 5.2232, 0.2], [5.4901, 13.2544, -4.8188], [5.4136, 13.0696, -5.1652], [2.087, 5.0385, -0.1464]], b: [[1.4633, 5.4609, 0.2], [3.7131, 13.8576, -4.8188], [3.6614, 13.6644, -5.1652], [1.4115, 5.2678, -0.1464]], collide: 0}
      - {kind: loft, a: [[1.4633, 5.4609, 0.2], [3.7131, 13.8576, -4.8188], [3.6614, 13.6644, -5.1652], [1.4115, 5.2678, -0.1464]], b: [[0.7379, 5.6052, 0.2], [1.8726, 14.2237, -4.8188], [1.8465, 14.0254, -5.1652], [0.7118, 5.4069, -0.1464]], collide: 0}
      - {kind: loft, a: [[0.7379, 5.6052, 0.2], [1.8726, 14.2237, -4.8188], [1.8465, 14.0254, -5.1652], [0.7118, 5.4069, -0.1464]], b: [[0.0, 5.6536, 0.2], [0.0, 14.3464, -4.8188], [0.0, 14.1464, -5.1652], [0.0, 5.4536, -0.1464]], collide: 0}
      - {kind: loft, a: [[0.0, 5.6536, 0.2], [0.0, 14.3464, -4.8188], [0.0, 14.1464, -5.1652], [0.0, 5.4536, -0.1464]], b: [[-0.7379, 5.6052, 0.2], [-1.8726, 14.2237, -4.8188], [-1.8465, 14.0254, -5.1652], [-0.7118, 5.4069, -0.1464]], collide: 0}
      - {kind: loft, a: [[-0.7379, 5.6052, 0.2], [-1.8726, 14.2237, -4.8188], [-1.8465, 14.0254, -5.1652], [-0.7118, 5.4069, -0.1464]], b: [[-1.4633, 5.4609, 0.2], [-3.7131, 13.8576, -4.8188], [-3.6614, 13.6644, -5.1652], [-1.4115, 5.2678, -0.1464]], collide: 0}
      - {kind: loft, a: [[-1.4633, 5.4609, 0.2], [-3.7131, 13.8576, -4.8188], [-3.6614, 13.6644, -5.1652], [-1.4115, 5.2678, -0.1464]], b: [[-2.1635, 5.2232, 0.2], [-5.4901, 13.2544, -4.8188], [-5.4136, 13.0696, -5.1652], [-2.087, 5.0385, -0.1464]], collide: 0}
      - {kind: loft, a: [[-2.1635, 5.2232, 0.2], [-5.4901, 13.2544, -4.8188], [-5.4136, 13.0696, -5.1652], [-2.087, 5.0385, -0.1464]], b: [[-2.8268, 4.8962, 0.2], [-7.1732, 12.4244, -4.8188], [-7.0732, 12.2512, -5.1652], [-2.7268, 4.7229, -0.1464]], collide: 0}
      - {kind: loft, a: [[-2.8268, 4.8962, 0.2], [-7.1732, 12.4244, -4.8188], [-7.0732, 12.2512, -5.1652], [-2.7268, 4.7229, -0.1464]], b: [[-3.4417, 4.4853, 0.2], [-8.7335, 11.3818, -4.8188], [-8.6118, 11.2231, -5.1652], [-3.3199, 4.3266, -0.1464]], collide: 0}
      - {kind: loft, a: [[-3.4417, 4.4853, 0.2], [-8.7335, 11.3818, -4.8188], [-8.6118, 11.2231, -5.1652], [-3.3199, 4.3266, -0.1464]], b: [[-3.9977, 3.9977, 0.2], [-10.1444, 10.1444, -4.8188], [-10.003, 10.003, -5.1652], [-3.8563, 3.8563, -0.1464]], collide: 0}
      - {kind: loft, a: [[-3.9977, 3.9977, 0.2], [-10.1444, 10.1444, -4.8188], [-10.003, 10.003, -5.1652], [-3.8563, 3.8563, -0.1464]], b: [[-4.4853, 3.4417, 0.2], [-11.3818, 8.7335, -4.8188], [-11.2231, 8.6118, -5.1652], [-4.3266, 3.3199, -0.1464]], collide: 0}
      - {kind: loft, a: [[-4.4853, 3.4417, 0.2], [-11.3818, 8.7335, -4.8188], [-11.2231, 8.6118, -5.1652], [-4.3266, 3.3199, -0.1464]], b: [[-4.8962, 2.8268, 0.2], [-12.4244, 7.1732, -4.8188], [-12.2512, 7.0732, -5.1652], [-4.7229, 2.7268, -0.1464]], collide: 0}
      - {kind: loft, a: [[-4.8962, 2.8268, 0.2], [-12.4244, 7.1732, -4.8188], [-12.2512, 7.0732, -5.1652], [-4.7229, 2.7268, -0.1464]], b: [[-5.2232, 2.1635, 0.2], [-13.2544, 5.4901, -4.8188], [-13.0696, 5.4136, -5.1652], [-5.0385, 2.087, -0.1464]], collide: 0}
      - {kind: loft, a: [[-5.2232, 2.1635, 0.2], [-13.2544, 5.4901, -4.8188], [-13.0696, 5.4136, -5.1652], [-5.0385, 2.087, -0.1464]], b: [[-5.4609, 1.4633, 0.2], [-13.8576, 3.7131, -4.8188], [-13.6644, 3.6614, -5.1652], [-5.2678, 1.4115, -0.1464]], collide: 0}
      - {kind: loft, a: [[-5.4609, 1.4633, 0.2], [-13.8576, 3.7131, -4.8188], [-13.6644, 3.6614, -5.1652], [-5.2678, 1.4115, -0.1464]], b: [[-5.6052, 0.7379, 0.2], [-14.2237, 1.8726, -4.8188], [-14.0254, 1.8465, -5.1652], [-5.4069, 0.7118, -0.1464]], collide: 0}
      - {kind: loft, a: [[-5.6052, 0.7379, 0.2], [-14.2237, 1.8726, -4.8188], [-14.0254, 1.8465, -5.1652], [-5.4069, 0.7118, -0.1464]], b: [[-5.6536, 0.0, 0.2], [-14.3464, 0.0, -4.8188], [-14.1464, 0.0, -5.1652], [-5.4536, 0.0, -0.1464]], collide: 0}
      - {kind: loft, a: [[-5.6536, 0.0, 0.2], [-14.3464, 0.0, -4.8188], [-14.1464, 0.0, -5.1652], [-5.4536, 0.0, -0.1464]], b: [[-5.6052, -0.7379, 0.2], [-14.2237, -1.8726, -4.8188], [-14.0254, -1.8465, -5.1652], [-5.4069, -0.7118, -0.1464]], collide: 0}
      - {kind: loft, a: [[-5.6052, -0.7379, 0.2], [-14.2237, -1.8726, -4.8188], [-14.0254, -1.8465, -5.1652], [-5.4069, -0.7118, -0.1464]], b: [[-5.4609, -1.4633, 0.2], [-13.8576, -3.7131, -4.8188], [-13.6644, -3.6614, -5.1652], [-5.2678, -1.4115, -0.1464]], collide: 0}
      - {kind: loft, a: [[-5.4609, -1.4633, 0.2], [-13.8576, -3.7131, -4.8188], [-13.6644, -3.6614, -5.1652], [-5.2678, -1.4115, -0.1464]], b: [[-5.2232, -2.1635, 0.2], [-13.2544, -5.4901, -4.8188], [-13.0696, -5.4136, -5.1652], [-5.0385, -2.087, -0.1464]], collide: 0}
      - {kind: loft, a: [[-5.2232, -2.1635, 0.2], [-13.2544, -5.4901, -4.8188], [-13.0696, -5.4136, -5.1652], [-5.0385, -2.087, -0.1464]], b: [[-4.8962, -2.8268, 0.2], [-12.4244, -7.1732, -4.8188], [-12.2512, -7.0732, -5.1652], [-4.7229, -2.7268, -0.1464]], collide: 0}
      - {kind: loft, a: [[-4.8962, -2.8268, 0.2], [-12.4244, -7.1732, -4.8188], [-12.2512, -7.0732, -5.1652], [-4.7229, -2.7268, -0.1464]], b: [[-4.4853, -3.4417, 0.2], [-11.3818, -8.7335, -4.8188], [-11.2231, -8.6118, -5.1652], [-4.3266, -3.3199, -0.1464]], collide: 0}
      - {kind: loft, a: [[-4.4853, -3.4417, 0.2], [-11.3818, -8.7335, -4.8188], [-11.2231, -8.6118, -5.1652], [-4.3266, -3.3199, -0.1464]], b: [[-3.9977, -3.9977, 0.2], [-10.1444, -10.1444, -4.8188], [-10.003, -10.003, -5.1652], [-3.8563, -3.8563, -0.1464]], collide: 0}
      - {kind: loft, a: [[-3.9977, -3.9977, 0.2], [-10.1444, -10.1444, -4.8188], [-10.003, -10.003, -5.1652], [-3.8563, -3.8563, -0.1464]], b: [[-3.4417, -4.4853, 0.2], [-8.7335, -11.3818, -4.8188], [-8.6118, -11.2231, -5.1652], [-3.3199, -4.3266, -0.1464]], collide: 0}
      - {kind: loft, a: [[-3.4417, -4.4853, 0.2], [-8.7335, -11.3818, -4.8188], [-8.6118, -11.2231, -5.1652], [-3.3199, -4.3266, -0.1464]], b: [[-2.8268, -4.8962, 0.2], [-7.1732, -12.4244, -4.8188], [-7.0732, -12.2512, -5.1652], [-2.7268, -4.7229, -0.1464]], collide: 0}
      - {kind: loft, a: [[-2.8268, -4.8962, 0.2], [-7.1732, -12.4244, -4.8188], [-7.0732, -12.2512, -5.1652], [-2.7268, -4.7229, -0.1464]], b: [[-2.1635, -5.2232, 0.2], [-5.4901, -13.2544, -4.8188], [-5.4136, -13.0696, -5.1652], [-2.087, -5.0385, -0.1464]], collide: 0}
      - {kind: loft, a: [[-2.1635, -5.2232, 0.2], [-5.4901, -13.2544, -4.8188], [-5.4136, -13.0696, -5.1652], [-2.087, -5.0385, -0.1464]], b: [[-1.4633, -5.4609, 0.2], [-3.7131, -13.8576, -4.8188], [-3.6614, -13.6644, -5.1652], [-1.4115, -5.2678, -0.1464]], collide: 0}
      - {kind: loft, a: [[-1.4633, -5.4609, 0.2], [-3.7131, -13.8576, -4.8188], [-3.6614, -13.6644, -5.1652], [-1.4115, -5.2678, -0.1464]], b: [[-0.7379, -5.6052, 0.2], [-1.8726, -14.2237, -4.8188], [-1.8465, -14.0254, -5.1652], [-0.7118, -5.4069, -0.1464]], collide: 0}
      - {kind: loft, a: [[-0.7379, -5.6052, 0.2], [-1.8726, -14.2237, -4.8188], [-1.8465, -14.0254, -5.1652], [-0.7118, -5.4069, -0.1464]], b: [[-0.0, -5.6536, 0.2], [-0.0, -14.3464, -4.8188], [-0.0, -14.1464, -5.1652], [-0.0, -5.4536, -0.1464]], collide: 0}
      - {kind: loft, a: [[-0.0, -5.6536, 0.2], [-0.0, -14.3464, -4.8188], [-0.0, -14.1464, -5.1652], [-0.0, -5.4536, -0.1464]], b: [[0.7379, -5.6052, 0.2], [1.8726, -14.2237, -4.8188], [1.8465, -14.0254, -5.1652], [0.7118, -5.4069, -0.1464]], collide: 0}
      - {kind: loft, a: [[0.7379, -5.6052, 0.2], [1.8726, -14.2237, -4.8188], [1.8465, -14.0254, -5.1652], [0.7118, -5.4069, -0.1464]], b: [[1.4633, -5.4609, 0.2], [3.7131, -13.8576, -4.8188], [3.6614, -13.6644, -5.1652], [1.4115, -5.2678, -0.1464]], collide: 0}
      - {kind: loft, a: [[1.4633, -5.4609, 0.2], [3.7131, -13.8576, -4.8188], [3.6614, -13.6644, -5.1652], [1.4115, -5.2678, -0.1464]], b: [[2.1635, -5.2232, 0.2], [5.4901, -13.2544, -4.8188], [5.4136, -13.0696, -5.1652], [2.087, -5.0385, -0.1464]], collide: 0}
      - {kind: loft, a: [[2.1635, -5.2232, 0.2], [5.4901, -13.2544, -4.8188], [5.4136, -13.0696, -5.1652], [2.087, -5.0385, -0.1464]], b: [[2.8268, -4.8962, 0.2], [7.1732, -12.4244, -4.8188], [7.0732, -12.2512, -5.1652], [2.7268, -4.7229, -0.1464]], collide: 0}
      - {kind: loft, a: [[2.8268, -4.8962, 0.2], [7.1732, -12.4244, -4.8188], [7.0732, -12.2512, -5.1652], [2.7268, -4.7229, -0.1464]], b: [[3.4417, -4.4853, 0.2], [8.7335, -11.3818, -4.8188], [8.6118, -11.2231, -5.1652], [3.3199, -4.3266, -0.1464]], collide: 0}
      - {kind: loft, a: [[3.4417, -4.4853, 0.2], [8.7335, -11.3818, -4.8188], [8.6118, -11.2231, -5.1652], [3.3199, -4.3266, -0.1464]], b: [[3.9977, -3.9977, 0.2], [10.1444, -10.1444, -4.8188], [10.003, -10.003, -5.1652], [3.8563, -3.8563, -0.1464]], collide: 0}
      - {kind: loft, a: [[3.9977, -3.9977, 0.2], [10.1444, -10.1444, -4.8188], [10.003, -10.003, -5.1652], [3.8563, -3.8563, -0.1464]], b: [[4.4853, -3.4417, 0.2], [11.3818, -8.7335, -4.8188], [11.2231, -8.6118, -5.1652], [4.3266, -3.3199, -0.1464]], collide: 0}
      - {kind: loft, a: [[4.4853, -3.4417, 0.2], [11.3818, -8.7335, -4.8188], [11.2231, -8.6118, -5.1652], [4.3266, -3.3199, -0.1464]], b: [[4.8962, -2.8268, 0.2], [12.4244, -7.1732, -4.8188], [12.2512, -7.0732, -5.1652], [4.7229, -2.7268, -0.1464]], collide: 0}
      - {kind: loft, a: [[4.8962, -2.8268, 0.2], [12.4244, -7.1732, -4.8188], [12.2512, -7.0732, -5.1652], [4.7229, -2.7268, -0.1464]], b: [[5.2232, -2.1635, 0.2], [13.2544, -5.4901, -4.8188], [13.0696, -5.4136, -5.1652], [5.0385, -2.087, -0.1464]], collide: 0}
      - {kind: loft, a: [[5.2232, -2.1635, 0.2], [13.2544, -5.4901, -4.8188], [13.0696, -5.4136, -5.1652], [5.0385, -2.087, -0.1464]], b: [[5.4609, -1.4633, 0.2], [13.8576, -3.7131, -4.8188], [13.6644, -3.6614, -5.1652], [5.2678, -1.4115, -0.1464]], collide: 0}
      - {kind: loft, a: [[5.4609, -1.4633, 0.2], [13.8576, -3.7131, -4.8188], [13.6644, -3.6614, -5.1652], [5.2678, -1.4115, -0.1464]], b: [[5.6052, -0.7379, 0.2], [14.2237, -1.8726, -4.8188], [14.0254, -1.8465, -5.1652], [5.4069, -0.7118, -0.1464]], collide: 0}
      - {kind: loft, a: [[5.6052, -0.7379, 0.2], [14.2237, -1.8726, -4.8188], [14.0254, -1.8465, -5.1652], [5.4069, -0.7118, -0.1464]], b: [[5.6536, -0.0, 0.2], [14.3464, -0.0, -4.8188], [14.1464, -0.0, -5.1652], [5.4536, -0.0, -0.1464]], collide: 0}
      - {kind: loft, a: [[-6.6011, 1.3567, -0.5999], [-6.5756, 1.1782, -0.5648], [-6.4458, 1.0798, -0.4799], [-6.2877, 1.1191, -0.3951], [-6.1939, 1.273, -0.3599], [-6.2194, 1.4515, -0.3951], [-6.3492, 1.55, -0.4799], [-6.5073, 1.5107, -0.5648]], b: [[-6.6558, 1.368, -0.0432], [-6.6547, 1.3605, -0.0418], [-6.6493, 1.3564, -0.0382], [-6.6427, 1.358, -0.0347], [-6.6388, 1.3645, -0.0332], [-6.6399, 1.3719, -0.0347], [-6.6453, 1.376, -0.0382], [-6.6518, 1.3744, -0.0418]], collide: 1}
      - {kind: loft, a: [[-6.9984, -0.179, -0.7509], [-6.9332, -0.3471, -0.7158], [-6.7844, -0.4136, -0.6309], [-6.6393, -0.3395, -0.5461], [-6.5828, -0.1683, -0.5109], [-6.648, -0.0002, -0.5461], [-6.7967, 0.0663, -0.6309], [-6.9418, -0.0078, -0.7158]], b: [[-7.1441, -0.1827, -0.0384], [-7.1414, -0.1897, -0.0369], [-7.1352, -0.1925, -0.0334], [-7.1292, -0.1894, -0.0298], [-7.1268, -0.1822, -0.0284], [-7.1295, -0.1752, -0.0298], [-7.1357, -0.1725, -0.0334], [-7.1418, -0.1756, -0.0369]], collide: 1}
      - {kind: loft, a: [[-7.0352, -1.7626, -0.8964], [-6.9349, -1.9124, -0.8613], [-6.7753, -1.9448, -0.7764], [-6.6498, -1.8409, -0.6916], [-6.632, -1.6615, -0.6564], [-6.7323, -1.5117, -0.6916], [-6.8919, -1.4792, -0.7764], [-7.0174, -1.5831, -0.8613]], b: [[-7.264, -1.8199, -0.028], [-7.2598, -1.8261, -0.0265], [-7.2531, -1.8275, -0.023], [-7.2479, -1.8231, -0.0194], [-7.2472, -1.8157, -0.018], [-7.2513, -1.8094, -0.0194], [-7.258, -1.8081, -0.023], [-7.2632, -1.8124, -0.0265]], collide: 1}
      - {kind: loft, a: [[-6.7239, -3.3137, -1.037], [-6.5942, -3.4391, -1.0018], [-6.4313, -3.4371, -0.917], [-6.3306, -3.3091, -0.8321], [-6.351, -3.13, -0.797], [-6.4806, -3.0047, -0.8321], [-6.6435, -3.0066, -0.917], [-6.7443, -3.1346, -1.0018]], b: [[-6.9354, -3.418, -0.1685], [-6.93, -3.4232, -0.1671], [-6.9232, -3.4231, -0.1635], [-6.919, -3.4178, -0.16], [-6.9198, -3.4103, -0.1585], [-6.9252, -3.4051, -0.16], [-6.932, -3.4052, -0.1635], [-6.9362, -3.4105, -0.1671]], collide: 1}
      - {kind: loft, a: [[-6.0912, -4.7621, -1.173], [-5.9387, -4.8583, -1.1379], [-5.7796, -4.8232, -1.053], [-5.7071, -4.6773, -0.9682], [-5.7637, -4.5061, -0.933], [-5.9161, -4.4099, -0.9682], [-6.0752, -4.445, -1.053], [-6.1477, -4.5909, -1.1379]], b: [[-6.2769, -4.9073, -0.3046], [-6.2706, -4.9113, -0.3031], [-6.2639, -4.9099, -0.2996], [-6.2609, -4.9038, -0.296], [-6.2633, -4.8967, -0.2946], [-6.2696, -4.8927, -0.296], [-6.2763, -4.8941, -0.2996], [-6.2793, -4.9002, -0.3031]], collide: 1}
      - {kind: loft, a: [[-5.1752, -6.0485, -1.305], [-5.0067, -6.1125, -1.2699], [-4.8578, -6.0466, -1.185], [-4.8156, -5.8892, -1.1002], [-4.905, -5.7326, -1.065], [-5.0735, -5.6685, -1.1002], [-5.2225, -5.7345, -1.185], [-5.2646, -5.8919, -1.2699]], b: [[-5.3286, -6.2276, -0.4366], [-5.3215, -6.2303, -0.4351], [-5.3153, -6.2276, -0.4316], [-5.3136, -6.221, -0.428], [-5.3173, -6.2145, -0.4266], [-5.3243, -6.2118, -0.428], [-5.3305, -6.2146, -0.4316], [-5.3323, -6.2211, -0.4351]], collide: 1}
      - {kind: loft, a: [[-4.0222, -7.1256, -1.4333], [-3.8445, -7.1561, -1.3981], [-3.7111, -7.0626, -1.3133], [-3.7, -6.9001, -1.2284], [-3.8179, -6.7636, -1.1933], [-3.9956, -6.7332, -1.2284], [-4.1291, -6.8267, -1.3133], [-4.1401, -6.9892, -1.3981]], b: [[-4.1382, -7.331, -0.5648], [-4.1308, -7.3323, -0.5634], [-4.1252, -7.3284, -0.5598], [-4.1247, -7.3216, -0.5563], [-4.1296, -7.3159, -0.5548], [-4.1371, -7.3146, -0.5563], [-4.1426, -7.3185, -0.5598], [-4.1431, -7.3253, -0.5634]], collide: 1}
      - {kind: loft, a: [[-2.6833, -7.9585, -1.5581], [-2.5031, -7.9551, -1.523], [-2.3895, -7.8383, -1.4381], [-2.4092, -7.6765, -1.3533], [-2.5505, -7.5646, -1.3181], [-2.7308, -7.5681, -1.3533], [-2.8444, -7.6849, -1.4381], [-2.8247, -7.8466, -1.523]], b: [[-2.7587, -8.182, -0.6897], [-2.7512, -8.1818, -0.6882], [-2.7464, -8.177, -0.6847], [-2.7473, -8.1702, -0.6811], [-2.7532, -8.1656, -0.6797], [-2.7607, -8.1657, -0.6811], [-2.7654, -8.1706, -0.6847], [-2.7646, -8.1773, -0.6882]], collide: 1}
      - {kind: loft, a: [[-1.2123, -8.5237, -1.6798], [-1.0357, -8.4873, -1.6446], [-0.9454, -8.3517, -1.5598], [-0.9943, -8.1963, -1.4749], [-1.1538, -8.1121, -1.4398], [-1.3304, -8.1485, -1.4749], [-1.4207, -8.2841, -1.5598], [-1.3718, -8.4395, -1.6446]], b: [[-1.2455, -8.7572, -0.8113], [-1.2382, -8.7556, -0.8099], [-1.2344, -8.75, -0.8063], [-1.2364, -8.7435, -0.8028], [-1.2431, -8.74, -0.8013], [-1.2504, -8.7415, -0.8028], [-1.2542, -8.7472, -0.8063], [-1.2522, -8.7537, -0.8099]], collide: 1}
      - {kind: loft, a: [[0.3367, -8.8087, -1.7985], [0.504, -8.7414, -1.7634], [0.5686, -8.5919, -1.6785], [0.4927, -8.4477, -1.5937], [0.3208, -8.3933, -1.5585], [0.1536, -8.4606, -1.5937], [0.0889, -8.6102, -1.6785], [0.1648, -8.7544, -1.7634]], b: [[0.3457, -9.0444, -0.9301], [0.3527, -9.0416, -0.9286], [0.3554, -9.0353, -0.9251], [0.3522, -9.0293, -0.9216], [0.345, -9.0271, -0.9201], [0.3381, -9.0299, -0.9216], [0.3354, -9.0361, -0.9251], [0.3385, -9.0421, -0.9286]], collide: 1}
      - {kind: loft, a: [[1.911, -8.8113, -1.9146], [2.0639, -8.7158, -1.8794], [2.1015, -8.5573, -1.7946], [2.0016, -8.4285, -1.7097], [1.8229, -8.405, -1.6746], [1.6699, -8.5005, -1.7097], [1.6324, -8.659, -1.7946], [1.7322, -8.7877, -1.8794]], b: [[1.9609, -9.0417, -1.0461], [1.9673, -9.0378, -1.0447], [1.9689, -9.0311, -1.0411], [1.9647, -9.0258, -1.0376], [1.9573, -9.0248, -1.0361], [1.9509, -9.0288, -1.0376], [1.9493, -9.0354, -1.0411], [1.9535, -9.0407, -1.0447]], collide: 1}
      - {kind: loft, a: [[3.4606, -8.538, -2.028], [3.595, -8.4178, -1.9929], [3.605, -8.2552, -1.908], [3.4846, -8.1454, -1.8232], [3.3045, -8.1527, -1.788], [3.1701, -8.2729, -1.8232], [3.1601, -8.4355, -1.908], [3.2805, -8.5453, -1.9929]], b: [[3.5492, -8.7565, -1.1596], [3.5548, -8.7515, -1.1581], [3.5552, -8.7447, -1.1546], [3.5502, -8.7402, -1.1511], [3.5427, -8.7405, -1.1496], [3.5371, -8.7455, -1.1511], [3.5367, -8.7523, -1.1546], [3.5417, -8.7568, -1.1581]], collide: 1}
      - {kind: loft, a: [[4.9399, -8.0033, -2.1391], [5.0524, -7.8623, -2.104], [5.035, -7.7003, -2.0191], [4.898, -7.6122, -1.9343], [4.7216, -7.6495, -1.8991], [4.6092, -7.7905, -1.9343], [4.6265, -7.9525, -2.0191], [4.7636, -8.0406, -2.104]], b: [[5.0638, -8.2039, -1.2707], [5.0685, -8.1981, -1.2692], [5.0678, -8.1913, -1.2657], [5.0621, -8.1876, -1.2621], [5.0547, -8.1892, -1.2607], [5.05, -8.1951, -1.2621], [5.0507, -8.2018, -1.2657], [5.0565, -8.2055, -1.2692]], collide: 1}
      - {kind: loft, a: [[6.308, -7.2281, -2.248], [6.3959, -7.0707, -2.2128], [6.3522, -6.9137, -2.128], [6.2026, -6.8492, -2.0431], [6.0347, -6.9149, -2.008], [5.9469, -7.0724, -2.0431], [5.9906, -7.2294, -2.128], [6.1402, -7.2939, -2.2128]], b: [[6.4631, -7.4058, -1.3795], [6.4668, -7.3993, -1.3781], [6.4649, -7.3927, -1.3745], [6.4587, -7.39, -1.371], [6.4517, -7.3928, -1.3695], [6.448, -7.3993, -1.371], [6.4499, -7.4059, -1.3745], [6.4561, -7.4086, -1.3781]], collide: 1}
      - {kind: loft, a: [[7.5296, -6.2389, -2.3547], [7.591, -6.0694, -2.3196], [7.5227, -5.9215, -2.2347], [7.3647, -5.8818, -2.1499], [7.2095, -5.9737, -2.1147], [7.1481, -6.1432, -2.1499], [7.2165, -6.2911, -2.2347], [7.3745, -6.3307, -2.3196]], b: [[7.7112, -6.3893, -1.4863], [7.7138, -6.3823, -1.4848], [7.7109, -6.3761, -1.4813], [7.7043, -6.3745, -1.4777], [7.6979, -6.3783, -1.4763], [7.6953, -6.3854, -1.4777], [7.6982, -6.3915, -1.4813], [7.7048, -6.3932, -1.4848]], collide: 1}
      - {kind: loft, a: [[8.5754, -5.0659, -2.4595], [8.6093, -4.8888, -2.4243], [8.5185, -4.7535, -2.3395], [8.3562, -4.7393, -2.2546], [8.2175, -4.8545, -2.2195], [8.1836, -5.0315, -2.2546], [8.2744, -5.1668, -2.3395], [8.4367, -5.181, -2.4243]], b: [[8.7784, -5.1858, -1.591], [8.7798, -5.1785, -1.5896], [8.776, -5.1728, -1.586], [8.7693, -5.1722, -1.5825], [8.7635, -5.177, -1.581], [8.7621, -5.1844, -1.5825], [8.7659, -5.19, -1.586], [8.7726, -5.1906, -1.5896]], collide: 1}
      - {kind: loft, a: [[9.4221, -3.7425, -2.5624], [9.4281, -3.5623, -2.5272], [9.3175, -3.4427, -2.4424], [9.155, -3.4538, -2.3575], [9.0357, -3.5891, -2.3224], [9.0297, -3.7693, -2.3575], [9.1403, -3.8888, -2.4424], [9.3028, -3.8778, -2.5272]], b: [[9.6412, -3.8296, -1.6939], [9.6415, -3.8221, -1.6924], [9.6369, -3.8171, -1.6889], [9.6301, -3.8175, -1.6854], [9.6251, -3.8232, -1.6839], [9.6249, -3.8307, -1.6854], [9.6295, -3.8357, -1.6889], [9.6363, -3.8352, -1.6924]], collide: 1}
      - {kind: loft, a: [[10.0526, -2.304, -2.6634], [10.0312, -2.1249, -2.6283], [9.9036, -2.0236, -2.5434], [9.7446, -2.0593, -2.4586], [9.6474, -2.2111, -2.4234], [9.6688, -2.3901, -2.4586], [9.7964, -2.4915, -2.5434], [9.9553, -2.4558, -2.6283]], b: [[10.2824, -2.3566, -1.795], [10.2815, -2.3492, -1.7935], [10.2762, -2.345, -1.79], [10.2696, -2.3464, -1.7865], [10.2656, -2.3528, -1.785], [10.2664, -2.3602, -1.7865], [10.2718, -2.3645, -1.79], [10.2784, -2.363, -1.7935]], collide: 1}
      - {kind: loft, a: [[10.4559, -0.7863, -2.7628], [10.4079, -0.6125, -2.7277], [10.2666, -0.5314, -2.6428], [10.1148, -0.5905, -2.558], [10.0413, -0.7551, -2.5228], [10.0893, -0.9289, -2.558], [10.2306, -1.01, -2.6428], [10.3824, -0.951, -2.7277]], b: [[10.691, -0.804, -1.8944], [10.689, -0.7968, -1.8929], [10.6831, -0.7934, -1.8894], [10.6768, -0.7958, -1.8859], [10.6737, -0.8027, -1.8844], [10.6757, -0.8099, -1.8859], [10.6816, -0.8133, -1.8894], [10.688, -0.8109, -1.8929]], collide: 1}
      - {kind: loft, a: [[10.6266, 0.7744, -2.8606], [10.5535, 0.9392, -2.8255], [10.4018, 0.9986, -2.7406], [10.2604, 0.9178, -2.6558], [10.212, 0.7442, -2.6206], [10.285, 0.5793, -2.6558], [10.4367, 0.5199, -2.7406], [10.5782, 0.6007, -2.8255]], b: [[10.8618, 0.7915, -1.9922], [10.8587, 0.7984, -1.9907], [10.8524, 0.8009, -1.9872], [10.8465, 0.7975, -1.9837], [10.8445, 0.7903, -1.9822], [10.8475, 0.7834, -1.9837], [10.8539, 0.7809, -1.9872], [10.8598, 0.7843, -1.9907]], collide: 1}
      - {kind: loft, a: [[10.5648, 2.3429, -2.9569], [10.4686, 2.4954, -2.9217], [10.3099, 2.5322, -2.8369], [10.1817, 2.4317, -2.752], [10.159, 2.2529, -2.7169], [10.2552, 2.1004, -2.752], [10.4139, 2.0635, -2.8369], [10.5421, 2.164, -2.9217]], b: [[10.795, 2.3939, -2.0884], [10.791, 2.4003, -2.087], [10.7844, 2.4018, -2.0834], [10.7791, 2.3976, -2.0799], [10.7781, 2.3902, -2.0784], [10.7821, 2.3838, -2.0799], [10.7887, 2.3823, -2.0834], [10.7941, 2.3865, -2.087]], collide: 1}
      - {kind: loft, a: [[10.2756, 3.8854, -3.0517], [10.1587, 4.0226, -3.0165], [9.9963, 4.0364, -2.9317], [9.8837, 3.9186, -2.8468], [9.8868, 3.7384, -2.8117], [10.0038, 3.6012, -2.8468], [10.1661, 3.5874, -2.9317], [10.2787, 3.7051, -3.0165]], b: [[10.4962, 3.9688, -2.1832], [10.4913, 3.9745, -2.1818], [10.4846, 3.9751, -2.1782], [10.4799, 3.9702, -2.1747], [10.48, 3.9627, -2.1732], [10.4849, 3.957, -2.1747], [10.4916, 3.9564, -2.1782], [10.4963, 3.9613, -2.1818]], collide: 1}
      - {kind: loft, a: [[9.7685, 5.3704, -3.1451], [9.6334, 5.4898, -3.1099], [9.4708, 5.4806, -3.0251], [9.3758, 5.3482, -2.9402], [9.4042, 5.1701, -2.9051], [9.5394, 5.0507, -2.9402], [9.702, 5.0599, -3.0251], [9.7969, 5.1923, -3.1099]], b: [[9.9752, 5.484, -2.2766], [9.9695, 5.489, -2.2752], [9.9628, 5.4886, -2.2716], [9.9588, 5.4831, -2.2681], [9.96, 5.4756, -2.2666], [9.9656, 5.4707, -2.2681], [9.9724, 5.471, -2.2716], [9.9763, 5.4766, -2.2752]], collide: 1}
      - {kind: loft, a: [[9.057, 6.7687, -3.2371], [8.9067, 6.8682, -3.202], [8.7469, 6.8365, -3.1171], [8.6712, 6.6922, -3.0323], [8.724, 6.5199, -2.9971], [8.8744, 6.4204, -3.0323], [9.0342, 6.452, -3.1171], [9.1099, 6.5963, -3.202]], b: [[9.2459, 6.9099, -2.3687], [9.2397, 6.914, -2.3672], [9.233, 6.9127, -2.3637], [9.2298, 6.9067, -2.3601], [9.232, 6.8995, -2.3587], [9.2383, 6.8954, -2.3601], [9.245, 6.8967, -2.3637], [9.2481, 6.9027, -2.3672]], collide: 1}
      - {kind: loft, a: [[8.158, 8.0543, -3.3279], [7.9955, 8.1323, -3.2927], [7.8415, 8.079, -3.2079], [7.7863, 7.9258, -3.123], [7.8622, 7.7622, -3.0879], [8.0248, 7.6842, -3.123], [8.1788, 7.7375, -3.2079], [8.234, 7.8907, -3.2927]], b: [[8.3259, 8.22, -2.4595], [8.3191, 8.2232, -2.458], [8.3127, 8.221, -2.4545], [8.3104, 8.2146, -2.4509], [8.3135, 8.2078, -2.4495], [8.3203, 8.2045, -2.4509], [8.3267, 8.2068, -2.4545], [8.329, 8.2131, -2.458]], collide: 1}
      - {kind: loft, a: [[7.0914, 9.2042, -3.4174], [6.9198, 9.2596, -3.3823], [6.7744, 9.1861, -3.2974], [6.7404, 9.0267, -3.2126], [6.8376, 8.8749, -3.1774], [7.0092, 8.8196, -3.2126], [7.1546, 8.8931, -3.2974], [7.1886, 9.0524, -3.3823]], b: [[7.2353, 9.391, -2.549], [7.2281, 9.3933, -2.5475], [7.2221, 9.3903, -2.544], [7.2206, 9.3836, -2.5405], [7.2247, 9.3773, -2.539], [7.2319, 9.375, -2.5405], [7.2379, 9.3781, -2.544], [7.2393, 9.3847, -2.5475]], collide: 1}
      - {kind: loft, a: [[5.879, 10.1991, -3.5058], [5.7016, 10.2311, -3.4706], [5.5673, 10.1389, -3.3858], [5.5548, 9.9765, -3.3009], [5.6714, 9.839, -3.2658], [5.8488, 9.807, -3.3009], [5.9831, 9.8992, -3.3858], [5.9956, 10.0616, -3.4706]], b: [[5.9968, 10.4034, -2.6374], [5.9894, 10.4048, -2.6359], [5.9838, 10.4009, -2.6324], [5.9833, 10.3942, -2.6288], [5.9881, 10.3884, -2.6274], [5.9955, 10.3871, -2.6288], [6.0011, 10.3909, -2.6324], [6.0016, 10.3977, -2.6359]], collide: 1}
      - {kind: loft, a: [[4.5448, 11.0231, -3.593], [4.3647, 11.0316, -3.5579], [4.2437, 10.9225, -3.473], [4.2527, 10.7598, -3.3882], [4.3864, 10.6388, -3.353], [4.5665, 10.6304, -3.3882], [4.6875, 10.7395, -3.473], [4.6785, 10.9022, -3.5579]], b: [[4.6347, 11.2412, -2.7246], [4.6272, 11.2415, -2.7231], [4.6221, 11.237, -2.7196], [4.6225, 11.2302, -2.716], [4.6281, 11.2251, -2.7146], [4.6356, 11.2248, -2.716], [4.6406, 11.2293, -2.7196], [4.6403, 11.2361, -2.7231]], collide: 1}
      - {kind: loft, a: [[3.1138, 11.664, -3.6792], [2.9341, 11.649, -3.644], [2.8283, 11.5251, -3.5592], [2.8583, 11.365, -3.4743], [3.0066, 11.2624, -3.4392], [3.1862, 11.2774, -3.4743], [3.292, 11.4013, -3.5592], [3.262, 11.5614, -3.644]], b: [[3.1746, 11.8919, -2.8107], [3.1671, 11.8912, -2.8092], [3.1627, 11.8861, -2.8057], [3.1639, 11.8794, -2.8022], [3.1701, 11.8751, -2.8007], [3.1776, 11.8757, -2.8022], [3.182, 11.8809, -2.8057], [3.1808, 11.8876, -2.8092]], collide: 1}
      - {kind: loft, a: [[1.6116, 12.1131, -3.7642], [1.4354, 12.0751, -3.7291], [1.3463, 11.9387, -3.6442], [1.3966, 11.7838, -3.5594], [1.5568, 11.701, -3.5242], [1.7331, 11.739, -3.5594], [1.8221, 11.8754, -3.6442], [1.7718, 12.0304, -3.7291]], b: [[1.6427, 12.3469, -2.8958], [1.6354, 12.3453, -2.8943], [1.6317, 12.3396, -2.8908], [1.6338, 12.3331, -2.8873], [1.6405, 12.3297, -2.8858], [1.6478, 12.3313, -2.8873], [1.6515, 12.337, -2.8908], [1.6494, 12.3434, -2.8943]], collide: 1}
      - {kind: loft, a: [[0.0644, 12.3653, -3.8483], [-0.1056, 12.3053, -3.8132], [-0.1767, 12.1587, -3.7283], [-0.1072, 12.0114, -3.6435], [0.0622, 11.9496, -3.6083], [0.2322, 12.0096, -3.6435], [0.3033, 12.1562, -3.7283], [0.2338, 12.3035, -3.8132]], b: [[0.0656, 12.6011, -2.9799], [0.0585, 12.5986, -2.9784], [0.0556, 12.5925, -2.9749], [0.0585, 12.5864, -2.9713], [0.0655, 12.5838, -2.9699], [0.0726, 12.5863, -2.9713], [0.0756, 12.5924, -2.9749], [0.0727, 12.5985, -2.9784]], collide: 1}
      - {kind: loft, a: [[-1.5023, 12.4188, -3.9314], [-1.6634, 12.338, -3.8962], [-1.7156, 12.1837, -3.8114], [-1.6281, 12.0462, -3.7265], [-1.4523, 12.0062, -3.6914], [-1.2912, 12.087, -3.7265], [-1.239, 12.2413, -3.8114], [-1.3265, 12.3788, -3.8962]], b: [[-1.5306, 12.653, -3.063], [-1.5373, 12.6496, -3.0615], [-1.5395, 12.6432, -3.058], [-1.5358, 12.6374, -3.0544], [-1.5285, 12.6358, -3.053], [-1.5218, 12.6391, -3.0544], [-1.5196, 12.6456, -3.058], [-1.5233, 12.6513, -3.0615]], collide: 1}
      - {kind: loft, a: [[-3.0631, 12.2753, -4.0135], [-3.213, 12.1751, -3.9784], [-3.2456, 12.0155, -3.8935], [-3.1418, 11.8899, -3.8087], [-2.9624, 11.8719, -3.7735], [-2.8125, 11.9721, -3.8087], [-2.7799, 12.1317, -3.8935], [-2.8837, 12.2573, -3.9784]], b: [[-3.1202, 12.504, -3.1451], [-3.1264, 12.4999, -3.1436], [-3.1278, 12.4932, -3.1401], [-3.1235, 12.488, -3.1366], [-3.116, 12.4872, -3.1351], [-3.1097, 12.4914, -3.1366], [-3.1084, 12.4981, -3.1401], [-3.1127, 12.5033, -3.1436]], collide: 1}
      - {kind: loft, a: [[-4.5939, 11.939, -4.0948], [-4.7304, 11.8213, -4.0596], [-4.7433, 11.6589, -3.9748], [-4.6249, 11.5469, -3.8899], [-4.4446, 11.5511, -3.8548], [-4.3081, 11.6688, -3.8899], [-4.2953, 11.8312, -3.9748], [-4.4137, 11.9431, -4.0596]], b: [[-4.6786, 12.1591, -3.2263], [-4.6843, 12.1542, -3.2249], [-4.6848, 12.1474, -3.2213], [-4.6799, 12.1428, -3.2178], [-4.6724, 12.1429, -3.2163], [-4.6667, 12.1478, -3.2178], [-4.6661, 12.1546, -3.2213], [-4.6711, 12.1593, -3.2249]], collide: 1}
      - {kind: loft, a: [[-6.0718, 11.4174, -4.1751], [-6.193, 11.284, -4.14], [-6.1861, 11.1212, -4.0551], [-6.055, 11.0245, -3.9703], [-5.8766, 11.0504, -3.9351], [-5.7553, 11.1838, -3.9703], [-5.7623, 11.3466, -4.0551], [-5.8933, 11.4434, -4.14]], b: [[-6.1825, 11.6256, -3.3067], [-6.1875, 11.6201, -3.3052], [-6.1872, 11.6133, -3.3017], [-6.1818, 11.6093, -3.2981], [-6.1743, 11.6103, -3.2967], [-6.1693, 11.6159, -3.2981], [-6.1696, 11.6227, -3.3017], [-6.175, 11.6267, -3.3052]], collide: 1}
      - {kind: loft, a: [[-7.4752, 10.7203, -4.2546], [-7.5796, 10.5733, -4.2195], [-7.5532, 10.4125, -4.1346], [-7.4115, 10.3322, -4.0498], [-7.2375, 10.3793, -4.0146], [-7.1331, 10.5263, -4.0498], [-7.1595, 10.6871, -4.1346], [-7.3012, 10.7674, -4.2195]], b: [[-7.6101, 10.9137, -3.3862], [-7.6145, 10.9076, -3.3847], [-7.6134, 10.9009, -3.3812], [-7.6075, 10.8976, -3.3776], [-7.6002, 10.8995, -3.3762], [-7.5959, 10.9056, -3.3776], [-7.597, 10.9123, -3.3812], [-7.6029, 10.9157, -3.3847]], collide: 1}
      - {kind: loft, a: [[-8.7847, 9.8596, -4.3333], [-8.8709, 9.7013, -4.2981], [-8.8256, 9.5448, -4.2133], [-8.6754, 9.4818, -4.1284], [-8.5082, 9.5493, -4.0933], [-8.422, 9.7076, -4.1284], [-8.4673, 9.8641, -4.2133], [-8.6175, 9.9271, -4.2981]], b: [[-8.9416, 10.0357, -3.4648], [-8.9452, 10.0291, -3.4634], [-8.9433, 10.0226, -3.4598], [-8.937, 10.02, -3.4563], [-8.9301, 10.0228, -3.4548], [-8.9265, 10.0294, -3.4563], [-8.9284, 10.0359, -3.4598], [-8.9346, 10.0385, -3.4634]], collide: 1}
      - {kind: loft, a: [[-9.9825, 8.8495, -4.4111], [-10.0495, 8.6821, -4.376], [-9.9862, 8.532, -4.2911], [-9.8296, 8.4871, -4.2063], [-9.6714, 8.5737, -4.1711], [-9.6044, 8.7411, -4.2063], [-9.6678, 8.8912, -4.2911], [-9.8244, 8.9361, -4.376]], b: [[-10.159, 9.0059, -3.5427], [-10.1618, 8.9989, -3.5412], [-10.1591, 8.9927, -3.5377], [-10.1526, 8.9908, -3.5342], [-10.146, 8.9944, -3.5327], [-10.1432, 9.0014, -3.5342], [-10.1459, 9.0076, -3.5377], [-10.1524, 9.0095, -3.5412]], collide: 1}
      - {kind: loft, a: [[-11.053, 7.7054, -4.4882], [-11.1002, 7.5314, -4.4531], [-11.0198, 7.3897, -4.3682], [-10.859, 7.3633, -4.2834], [-10.712, 7.4677, -4.2482], [-10.6649, 7.6417, -4.2834], [-10.7453, 7.7834, -4.3682], [-10.9061, 7.8098, -4.4531]], b: [[-11.2465, 7.8403, -3.6198], [-11.2485, 7.833, -3.6183], [-11.2451, 7.8271, -3.6148], [-11.2384, 7.826, -3.6112], [-11.2323, 7.8304, -3.6098], [-11.2303, 7.8376, -3.6112], [-11.2337, 7.8435, -3.6148], [-11.2404, 7.8446, -3.6183]], collide: 1}
  - {id: pinion, shape: assembly, pos: [11.775, 0, 0.765], quat: [0.7071068, -0.3535534, 0, -0.6123724], color: "#e4d9bf"}
  - id: frame
    shape: frame
    color: "#8f8a80"
    rods:
      - {from: [0, 0, -9.5], to: [0, 0, 4.0], radius: 0.7}                        # the wheel's upright shaft
      - {from: [7.575, 0, 3.19], to: [15.975, 0, -1.66], radius: 0.45}           # the pinion's shaft along the slope
joints:
  - {id: j_cone, type: hinge, body: cone, axis: [0, 0, 1], damping: 0.02}
  - {id: j_pinion, type: hinge, body: pinion, axis: [0, 1, 0], damping: 0.001}
spurs:
  - {id: pt, body: pinion, pos: [0, 0, 0], teeth: 12, module: 0.5, width: 8.8, backlash: 0.02, phase: 0.02, meets_parts: true}
contact: {solref: [0.002, 1.0], solimp: [0.95, 0.99, 0.0005], margin: 0}
driver: {joint: j_pinion, kind: velocity, rpm: -30, kv: 4, max_torque: 6}
checks:
  # slices over two turns of the wheel: the speed falls from r_p/6.95 = 0.43 to r_p/13.85 = 0.22 as the
  # spiral runs outward, then jumps back (overshooting to ~0.6 in the jolt) as the inner end is taken up
  - {type: ratio_range, out: j_cone, in: j_pinion, min: 0.17, max: 0.7, min_swing: 0.17, settle_s: 1, window_s: 14, slices: 56}
  - {type: penetration, max: 0.001, settle_s: 0.5}
camera: {target: [2, 0, -2], position: [6, -62, 14], fov: 34}
display:
  output: j_cone
  labels: {j_pinion: "Pinion (driver, uniform)", j_cone: "Conical wheel (varying)"}
  proof: {label: "Studs out of contact", sub: "the pinion turns alone: the conical wheel stands still"}
