Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- integer isSierpinskiCarpetPixelFilled(integer x, integer y, integer width, integer height)
- {
- // base case 1 of 2
- if (x<1)
- {
- return 0;
- }
- //If the grid was split in 9 parts, what part(x2,y2) would x,y fit into?
- integer xTwo = x*6/(width+3); // an integer from 0..2 inclusive
- integer yTwo = y*6/(height+3); // an integer from 0..2 inclusive
- // base case 2 of 2
- if (xTwo==1 && yTwo==1){ // if in the centre squaure, it should be filled.
- return 1;
- }
- // general case
- //offset x and y so it becomes bounded by 0..width/3 and 0..height/3
- //and prepares for recursive call
- x-=xTwo*width/3;
- y-=yTwo*height/3;
- return isSierpinskiCarpetPixelFilled(x, y, width/3, height/3);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement