import Ġprocessing . core . P App let Ċ import Ġprocessing . core . P Constants Ċ Ċ class ĠCircle Gradient Ġ: ĠP App let () Ġ{ ĊĊĠ Ġcompanion Ġobject ĠFactory Ġ{ ĊĠĠĠ Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠ Ġvar Ġart Ġ= ĠCircle Gradient () ĊĠĠĠĠĠ Ġart . setSize ( 5 0 0 , Ġ 5 0 0 ) ĊĠĠĠĠĠ Ġart . run Sketch () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġsetup () Ġ{ ĊĠĠĠ Ġstroke Cap ( P Constants . ROUND ) ĊĠĠĠ Ġcolor Mode ( P Constants . H SB , Ġ 3 6 0 f , Ġ 1 0 0 f , Ġ 1 0 0 f , Ġ 1 . 0 f ) ĊĠĠĠ Ġel lipse Mode ( P Constants . COR NER ) ĊĊĠĠĠ Ġfor Ġ( x Ġin Ġ 0 .. 5 0 0 Ġstep Ġ 5 ) Ġ{ ĊĠĠĠĠĠ Ġfor Ġ( y Ġin Ġ 0 .. 5 0 0 Ġstep Ġ 5 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhue Ġ= Ġre scale ( random ( x . toFloat () Ġ+ Ġy . toFloat (), Ġx Ġ+ Ġy Ġ+ Ġ 1 0 0 f ), Ġ 0 f , Ġ 5 0 0 f , Ġ 1 3 0 f , Ġ 2 2 0 f ) ĊĠĠĠĠĠĠĠ Ġfill ( hue , Ġ 9 0 f , Ġ 9 0 f ) ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġ 5 f ĊĠĠĠĠĠĠĠ Ġel lipse ( x . toFloat (), Ġy . toFloat (), Ġsize , Ġsize ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠ Ġ} ĊĊĠ Ġfun Ġre scale ( value : ĠFloat , Ġold Min : ĠFloat , Ġold Max : ĠFloat , Ġnew Min : ĠFloat , Ġnew Max : ĠFloat ): ĠFloat Ġ{ ĊĠĠĠ Ġval Ġold Spread Ġ= Ġold Max Ġ- Ġold Min ; ĊĠĠĠ Ġval Ġnew Spread Ġ= Ġnew Max Ġ- Ġnew Min ; ĊĠĠĠ Ġval Ġa Ġ= Ġvalue Ġ- Ġold Min ; ĊĠĠĠ Ġval Ġb Ġ= Ġnew Spread Ġ/ Ġold Spread ; ĊĠĠĠ Ġval Ġc Ġ= Ġa Ġ* Ġb ; ĊĠĠĠ Ġval Ġd Ġ= Ġc Ġ+ Ġnew Min ĊĠĠĠ Ġreturn Ġd ĊĠ Ġ} ĊĊĠ Ġfun Ġdraw Line ( h : ĠFloat ) Ġ{ ĊĠĠĠ Ġstroke ( 0 f , Ġ 2 5 5 f Ġ- Ġh ) ĊĠĠĠ Ġline ( 1 0 f , Ġh , Ġwidth Ġ- Ġ 2 0 f , Ġh ) ĊĠĠĠ Ġstroke ( 2 5 5 f , Ġh ) ĊĠĠĠ Ġline ( 1 0 f , Ġh Ġ+ Ġ 4 f , Ġwidth Ġ- Ġ 2 0 f , Ġh Ġ+ Ġ 4 ) ĊĠ Ġ} Ċ Ċ } Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠ ĠCircle Gradient . run () Ċ }