Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- # $a = [minx, miny, maxx, maxy]
- # $b =
- # @e = circles
- # @f = image: 0=outside, -1=drawn, -2=inside
- # $x,$y = center
- # $k,$l = current
- @e=map{[map{int($_*32)}split',']}(split' ',<>);
- for$g(@e){for(0..3){($a[$_]>($q=$$g[$_&1]+(($_>>1)*2-1)*$$g[2]))^($_>>1)&&($a[$_]=$q)}}
- #for(0..3){$a[$_]=int($a[$_]*32)}
- #print join(',',@a)."\n";
- for(2,3){$a[$_]-=$a[$_-2]-1}
- #print join(',',@a)."\n";
- for(@e){
- #print join(',',@$_)."\n";
- #($x,$y,$r)=map{int($_*32)}@$_;
- ($x,$y,$r)=@$_;
- $x-=$a[0];$y-=$a[1];
- #print"x=$x, y=$y, r=$r\n";
- for$k($x-$r..$x+$r){
- for$l($y-$r..$y+$r){
- $i=(int(sqrt(($x-$k)**2+($y-$l)**2)+0.5)<=>$r)-1;
- $f[$l][$k]=($j=$f[$l][$k])<-1||$i<-1?-2:$i||$j;
- }
- }
- }
- #print"@f\n";
- print"P1
- $a[2] $a[3]
- ".join("
- ",map{join' ',map{$_+1?0:1}@$_,('0')x($a[2]-@$_)}@f)."
- "
- # print"P1
- # $a[2] $a[3]
- # ";
- # for(@f){print join(' ',map{$_+1?0:1}@$_,('0')x($a[2]-@$_))."\n"}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement