## Combined use of For, Line and Poly

*// Under a shell type: box cycloid.box -l g**
**// ---**
**// This example shows how to define a function and use it to draw**
**// generic curves and polygons.**
*
**include** "g"
*// In Box all functions are associated to objects, therefore we must create**
**// a new object for each new function.**
***Cycloid** = **Point**
*// Real@Cycloid will be called when a Real number appears inside**
**// a Cycloid box, such as in Cycloid[1.234]**
***Real****@****Cycloid****[**
t = $ *// $ is the Real argument (1.234 in the above example)**
* pi = **Atan****[**1**]***4
big_r = 10.0, big_v = 2.0*pi
small_r = 4.0, small_v = 2.0*pi*5
$$ = big_r***Vec****[**big_v*t**]** + small_r***Vec****[**small_v*t**]** *// $$ is the Cycloid object**
***]**
*// Here we use the a For loop to draw a Poly object.**
**// For is a type derived from Int, which has a particular feature:**
**// it induces a jump to the begin of the current box, when it is equal to 1.**
*w = **Window****[][**
t = 0.0
**Poly****[****Cycloid****[**t**]**, **For****[**(t += 0.01) <= 1.0**]**
color.yellow, **Style****[****FillStyle****[**"eo"**]**, **Border****[**0.4, color.red**]]]**
**]**
w**.Save****[**"cycloid.png", **Window****[**"rgb24", **.Res****[****Dpi****[**200**]]]]**