September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
|
|
@ -1,36 +0,0 @@
|
|||
use MONKEY_TYPING;
|
||||
augment class Pixel { method Str { "$.R $.G $.B" } }
|
||||
augment class Bitmap {
|
||||
method P3 {
|
||||
join "\n", «P3 "$.width $.height" 255»,
|
||||
do for ^$.height { join ' ', @.data[]»[$_] }
|
||||
}
|
||||
method raster-circle ( $x0, $y0, $r, Pixel $value ) {
|
||||
my $f = 1 - $r;
|
||||
my $ddF_x = 0;
|
||||
my $ddF_y = -2 * $r;
|
||||
my ($x, $y) = 0, $r;
|
||||
self.set-pixel($x0, $y0 + $r, $value);
|
||||
self.set-pixel($x0, $y0 - $r, $value);
|
||||
self.set-pixel($x0 + $r, $y0, $value);
|
||||
self.set-pixel($x0 - $r, $y0, $value);
|
||||
while $x < $y {
|
||||
if $f >= 0 {
|
||||
$y--;
|
||||
$ddF_y += 2;
|
||||
$f += $ddF_y;
|
||||
}
|
||||
$x++;
|
||||
$ddF_x += 2;
|
||||
$f += $ddF_x + 1;
|
||||
self.set-pixel($x0 + $x, $y0 + $y, $value);
|
||||
self.set-pixel($x0 - $x, $y0 + $y, $value);
|
||||
self.set-pixel($x0 + $x, $y0 - $y, $value);
|
||||
self.set-pixel($x0 - $x, $y0 - $y, $value);
|
||||
self.set-pixel($x0 + $y, $y0 + $x, $value);
|
||||
self.set-pixel($x0 - $y, $y0 + $x, $value);
|
||||
self.set-pixel($x0 + $y, $y0 - $x, $value);
|
||||
self.set-pixel($x0 - $y, $y0 - $x, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
let raster_circle ~img ~color ~c:(x0, y0) ~r =
|
||||
let plot = put_pixel img color in
|
||||
let x = 0
|
||||
and y = r
|
||||
and m = 5 - 4 * r
|
||||
in
|
||||
let rec loop x y m =
|
||||
plot (x0 + x) (y0 + y);
|
||||
plot (x0 + y) (y0 + x);
|
||||
plot (x0 - x) (y0 + y);
|
||||
plot (x0 - y) (y0 + x);
|
||||
plot (x0 + x) (y0 - y);
|
||||
plot (x0 + y) (y0 - x);
|
||||
plot (x0 - x) (y0 - y);
|
||||
plot (x0 - y) (y0 - x);
|
||||
let y, m =
|
||||
if m > 0
|
||||
then (y - 1), (m - 8 * y)
|
||||
else y, m
|
||||
in
|
||||
if x <= y then
|
||||
let x = x + 1 in
|
||||
let m = m + 8 * x + 4 in
|
||||
loop x y m
|
||||
in
|
||||
loop x y m
|
||||
;;
|
||||
Loading…
Add table
Add a link
Reference in a new issue