package Ġtop . little fog cat . phy 2 d Ċ Ċ import Ġtop . little fog cat . phy 2 d . shape . Polygon Ċ import Ġtop . little fog cat . phy 2 d . utils . enable Log Ċ Ċ fun Ġmain () Ġ{ ĊĊĠĠĠ Ġval Ġpolygon Ġ= ĠPolygon ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 , Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , Ġ 3 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 , Ġ 5 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġ 4 ĊĠĠĠ Ġ) Ċ // Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 0 . 5 f , Ġ 3 f ))) Ġ// Ġt Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 1 . 5 f , Ġ 3 f ))) Ġ// Ġf Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 0 f , Ġ 4 f ))) Ġ// Ġt Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 0 f , Ġ 2 f ))) Ġ// Ġt Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point (- 1 f , Ġ 2 f ))) Ġ// Ġf Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 1 , Ġ 3 ))) Ġ// Ġt Ċ // Ċ // ĠĠĠ Ġval Ġv Ġ= ĠFixed Vector ( 1 , Ġ 3 , Ġ 2 , Ġ 5 f ) Ċ // ĠĠĠ Ġprintln ( v . at Which Side ( 0 f , Ġ 4 f )) ĊĠĠĠ Ġval Ġpolygon 2 Ġ= ĠPolygon ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 , Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 , Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , Ġ 1 ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġpolygon 3 Ġ= ĠPolygon ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 , Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 , Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 . 6 , Ġ 1 ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġpolygon 4 Ġ= ĠPolygon ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 , Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 , Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 . 4 , Ġ 1 ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġpolygon 5 Ġ= ĠPolygon ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 , Ġ- 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 , Ġ- 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 , Ġ 6 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 , Ġ 6 ĊĠĠĠ Ġ) ĊĠĠĠ Ġenable Log ( 1 ) Ċ Ċ // ĠĠĠ Ġprintln ( check Collision ( polygon , Ġpolygon 2 )) Ġ// Ġfalse Ċ // ĠĠĠ Ġprintln ( check Collision ( polygon , Ġpolygon 3 )) Ġ// Ġfalse Ċ // ĠĠĠ Ġprintln ( check Collision ( polygon , Ġpolygon 4 )) Ġ// Ġtrue Ċ // ĠĠĠ Ġprintln ( check Collision ( polygon , Ġpolygon 5 )) Ġ// Ġtrue Ċ Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 0 , Ġ 0 ))) Ġ// Ġtrue Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 0 , Ġ 2 ))) Ġ// Ġtrue Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 0 , Ġ 4 ))) Ġ// Ġtrue Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 1 , Ġ 3 ))) Ġ// Ġtrue Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 0 . 5 , Ġ 2 ))) Ġ// Ġtrue Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 0 . 5 , Ġ 3 ))) Ġ// Ġtrue Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 0 . 4 , Ġ 1 ))) Ċ // ĠĠĠ Ġprintln (" ---- ") Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point (- 1 , Ġ- 1 ))) Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point (- 1 , Ġ 0 ))) Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point (- 1 , Ġ 2 ))) Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point (- 1 , Ġ 3 ))) Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 0 , Ġ 4 . 5 ))) Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 0 , Ġ 5 ))) Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 0 . 5 , Ġ 4 . 5 ))) Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 5 , Ġ 4 . 5 ))) Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 5 , Ġ 0 ))) Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 5 , Ġ 2 ))) Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 5 , Ġ 5 ))) Ċ // ĠĠĠ Ġprintln ( polygon . contains Point ( Point ( 5 , Ġ- 5 ))) Ċ Ċ // ĠĠĠ Ġprintln ( get Intersection ( Fixed Vector ( 0 . 1 , Ġ 1 , Ġ 1 0 0 , Ġ 1 ), ĠFixed Vector ( 0 , Ġ 0 , Ġ 1 , Ġ 2 ))) ĊĊĠĠĠ Ġval Ġshape Ġ= ĠPolygon ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġ 1 ĊĠĠĠ Ġ) ĊĠĠĠ Ġprintln (" 0 : Ġ" Ġ+ Ġshape . vertices ) ĊĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġ 9 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshape . rotate ( 1 f ) ĊĠĠĠĠĠĠĠ Ġprintln ("${ i Ġ+ Ġ 1 }: Ġ" Ġ+ Ġshape . vertices ) ĊĠĠĠ Ġ} Ċ Ċ }