Advertisement
ZornTaov

Untitled

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