Advertisement
ZornTaov

Untitled

Sep 21st, 2010
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. integer isSierpinskiCarpetPixelFilled(integer x, integer y, integer width, integer height)
  2. {
  3. // base case 1 of 2
  4. if (x<1)
  5. {
  6. return 0;
  7. }
  8.  
  9. //If the grid was split in 9 parts, what part(x2,y2) would x,y fit into?
  10. integer xTwo = x*6/(width+3); // an integer from 0..2 inclusive
  11. integer yTwo = y*6/(height+3); // an integer from 0..2 inclusive
  12.  
  13. // base case 2 of 2
  14. if (xTwo==1 && yTwo==1){ // if in the centre squaure, it should be filled.
  15. return 1;
  16. }
  17. // general case
  18. //offset x and y so it becomes bounded by 0..width/3 and 0..height/3
  19. //and prepares for recursive call
  20. x-=xTwo*width/3;
  21. y-=yTwo*height/3;
  22.  
  23. return isSierpinskiCarpetPixelFilled(x, y, width/3, height/3);
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement