my @ang=(0,90,45,0,225); my @dist=(0,10,6,4,8); my $rot = $_[2]*0.0174; my $points=[]; my @prev=($_[0],$_[1]); glBegin(GL_POLYGON); for ($posi =1,$posi<5,$posi++){ @prev=($prev[0]+(cos($rot+$ang[$posi])*$dist[$posi]),$prev[1]+(sin($rot+$ang[$posi])*$dist[$posi])); $points[$posi]=($prev[0],$prev[1]); glVertex2f($prev[0],$prev[1]); }