Advertisement
Guest User

Untitled

a guest
Jun 10th, 2012
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. function tocell(vec)
  2. return Vector3.new(math.ciel(vec.x/cellsize),math.ciel(vec.y/cellsize),math.ciel(vec.z/cellsize))
  3. end
  4.  
  5. function toworld(vec)
  6. return (vec-Vector3.new(.5,.5,.5))*cellsize
  7. end
  8.  
  9. function cellsinrange(pos,radius)
  10. local diameter=math.ciel((radius*2)/cellsize)
  11. local hdiameter=diameter*.5
  12. local cells={}
  13. for xcell=1,diameter do
  14. for ycell=1,diameter do
  15. for zcell=1,diameter do
  16. local cellpos=tocell(pos+toworld(Vector3.new(xcell-diameter,ycell-diameter,zcell-diameter)))
  17. if (toworld(cellpos)-pos).magnitude<=radius then
  18. table.insert(cells,Vector3.new(cellpos.x,cellpos.y,cellpos.z))
  19. end
  20. end
  21. end
  22. end
  23. return cells
  24. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement