In [ ]:
import sys

sys.path.append('../')

import bicyclator as bc

In [2]:
bike = bc.Bicycle()
bike


Out[2]:
Nameless bicycle
================
front_cogs = []
rear_cogs = []
crank_length = None
head_tube_angle = None
fork_rake = None

front_wheel = Nameless wheel
----------------------------
bsd = None
center_to_flange = {'left': None, 'right': None}
diameter = None
erd = None
flange_diameter = {'left': None, 'right': None}
name = None
num_crosses = 3
num_spokes = None
offset = 0
spoke_hole_diameter = 2.6
tire_width = None

rear_wheel = Nameless wheel
----------------------------
bsd = None
center_to_flange = {'left': None, 'right': None}
diameter = None
erd = None
flange_diameter = {'left': None, 'right': None}
name = None
num_crosses = 3
num_spokes = None
offset = 0
spoke_hole_diameter = 2.6
tire_width = None

In [3]:
wheel = bc.Wheel(
  name='wheely',
  diameter=673,  
  )
lyonsport = bc.Bicycle(
  name='Lyonsport', 
  front_cogs=[42, 28], 
  rear_cogs=[12, 14, 16, 18, 21, 26, 32],
  crank_length=171,
  front_wheel=wheel,
  rear_wheel=wheel,
  )

bc.gain_ratios(lyonsport)
#lyonsport.cadence_to_speeds(60)


Out[3]:
{(28, 12): 4.591617933723197,
 (28, 14): 3.9356725146198834,
 (28, 16): 3.443713450292398,
 (28, 18): 3.0610786224821314,
 (28, 21): 2.6237816764132553,
 (28, 26): 2.119208277103014,
 (28, 32): 1.721856725146199,
 (42, 12): 6.887426900584796,
 (42, 14): 5.9035087719298245,
 (42, 16): 5.165570175438597,
 (42, 18): 4.591617933723197,
 (42, 21): 3.9356725146198834,
 (42, 26): 3.178812415654521,
 (42, 32): 2.5827850877192984}

In [16]:
rivendell = lyonsport.copy()
#rivendell.front_cogs = [24, 35, 43]
rivendell.front_cogs = [26, 40]
rivendell.crank_length = 165
bc.gain_ratios(rivendell)


Out[16]:
{(26, 12): 4.418686868686869,
 (26, 14): 3.787445887445888,
 (26, 16): 3.314015151515152,
 (26, 18): 2.9457912457912463,
 (26, 21): 2.524963924963925,
 (26, 26): 2.0393939393939395,
 (26, 32): 1.657007575757576,
 (40, 12): 6.7979797979797985,
 (40, 14): 5.826839826839827,
 (40, 16): 5.098484848484849,
 (40, 18): 4.531986531986532,
 (40, 21): 3.8845598845598848,
 (40, 26): 3.1375291375291376,
 (40, 32): 2.5492424242424243}

In [ ]:


In [ ]: