package Ġcom . there al blue pand ab ear . pix ap encil . algorithms Ċ Ċ import Ġcom . there al blue pand ab ear . pix ap encil . models . Coordinates Ċ import Ġcom . there al blue pand ab ear . pix ap encil . models . Coordinates Double Ċ Ċ class ĠCircle Algorithm ( private Ġval Ġalgorithm Info : ĠAlgorithm Info Parameter , Ġprivate Ġval Ġfilled Mode : ĠBoolean Ġ= Ġfalse ) Ġ{ ĊĠĠĠ Ġfun Ġcompute ( p 1 : ĠCoordinates , Ġp 2 : ĠCoordinates ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġp 1 Double Ġ= Ġp 1 . convertTo Coordinates Double () ĊĠĠĠĠĠĠĠ Ġval Ġp 2 Double Ġ= Ġp 2 . convertTo Coordinates Double () ĊĊĠĠĠĠĠĠĠ Ġval Ġx 1 d Ġ= Ġp 1 Double . x ĊĠĠĠĠĠĠĠ Ġval Ġy 1 d Ġ= Ġp 1 Double . y ĊĊĠĠĠĠĠĠĠ Ġvar Ġx 2 d Ġ= Ġp 2 Double . x ĊĠĠĠĠĠĠĠ Ġvar Ġy 2 d Ġ= Ġp 2 Double . y ĊĊĠĠĠĠĠĠĠ Ġvar Ġmid point Ġ= ĠCoordinates Double ((( x 1 d Ġ+ Ġx 2 d ) Ġ/ Ġ 2 ), Ġ( y 1 d Ġ+ Ġy 2 d ) Ġ/ Ġ 2 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmx Ġ= Ġmid point . x ĊĠĠĠĠĠĠĠ Ġval Ġmy Ġ= Ġmid point . y ĊĊĠĠĠĠĠĠĠ Ġif Ġ( mx Ġ% Ġ 1 . 0 Ġ== Ġ 0 . 0 Ġ|| Ġmy Ġ% Ġ 1 . 0 Ġ== Ġ 0 . 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġradius Ġ= Ġ( p 2 . x Ġ- Ġmx . toInt ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmp Ġ= ĠMid point Circle Algorithm ( algorithm Info , Ġfilled Mode Ġ= Ġfilled Mode ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmp . compute ( Coordinates ( mx . toInt (), Ġmy . toInt ()), Ġradius ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx 2 d -- ĊĠĠĠĠĠĠĠĠĠĠĠ Ġy 2 d -- ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġmid point Ġ= ĠCoordinates Double ((( x 1 d Ġ+ Ġx 2 d ) Ġ/ Ġ 2 ), Ġ( y 1 d Ġ+ Ġy 2 d ) Ġ/ Ġ 2 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmx N Ġ= Ġmid point . x ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġradius Ġ= Ġ( p 2 . x Ġ- Ġmx N . toInt ()) Ġ- Ġ 1 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmp Ġ= ĠMid point Circle Algorithm ( algorithm Info , Ġtrue , Ġfilled Mode Ġ= Ġfilled Mode ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmp . compute ( Coordinates ( mx . toInt (), Ġmy . toInt ()), Ġradius ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }