Examples
Examples
Try the starting example
- Rectangular slope width (mm)
- 5400
- Slope length (mm)
- 4200
- Tile horizontal cover (mm)
- 300
- Tile vertical gauge (mm)
- 350
- Alternate-course horizontal offset (mm)
- 150
- Course edge cut widths (mm)
- [[1,0,0],[2,150,150],[3,0,0],[4,150,150],[5,0,0],[6,150,150],[7,0,0],[8,150,150],[9,0,0],[10,150,150],[11,0,0],[12,150,150]]
- Whole tile positions
- 210
- Course count
- 12
Try another scenario
- Rectangular slope width (mm)
- 5500
- Slope length (mm)
- 4200
- Tile horizontal cover (mm)
- 300
- Tile vertical gauge (mm)
- 350
- Alternate-course horizontal offset (mm)
- 150
- Course edge cut widths (mm)
- [[1,100,0],[2,250,150],[3,100,0],[4,250,150],[5,100,0],[6,250,150],[7,100,0],[8,250,150],[9,100,0],[10,250,150],[11,100,0],[12,250,150]]
- Whole tile positions
- 210
- Course count
- 12
Calculation method
Calculation method
Course edge cut widths (mm)
J([[j+1,(a-(e if j%2 else 0))%c,(e if j%2 else 0)] for j in range(ceil(b/d))])
Whole tile positions
sum(math.floor((a-(e if j%2 else 0))/c) for j in range(ceil(b/d)))
Course count
ceil(b/d)
Symbols and units
- a
- Rectangular slope width (mm)
- b
- Slope length (mm)
- c
- Tile horizontal cover (mm)
- d
- Tile vertical gauge (mm)
- e
- Alternate-course horizontal offset (mm)
Use the units shown. A list keeps the order in which you enter its values. The symbol ^ means “raised to the power of”.
Calculation steps and notation
sum(list) adds all entries in the list.
Assumptions & limits
Assumptions & limits
- Rectangular slope, alternating half-bond-like offset with 0≤offset<module and width>offset. Output left/right edge cuts and full modules; last course length trims reported only by course count. No arbitrary polygon clipping. Supported limits: All numeric inputs must be finite. Only the explicitly described mathematical scenario is supported.
Are these inputs private?
These calculations run in your browser. A shared link contains the values you choose to share. Only questions submitted to the separate AI finder are sent to OpenAI.