Posted July 23, 201411 yr Hi, I'm using this code to draw a filled circle at the given coordinates with the block that's given: public static void fillCircle(World world, int x, int y, int z, int radius, Block block) { while(radius != 0) { for(int i = 0; i < 360; i++){ world.setBlock((int) (x + radius * Math.cos(i)), y, (int) (z + radius * Math.sin(i)), block); } radius--; } } The above code isn't the most efficient (I think) and sometimes produces this: at some radius sizes. Is there any other efficient way of doing this? Kain
July 23, 201411 yr I don't think you need to worry much about efficiency if it is something that is only done occasionally. In terms of it looking more even, that is a matter of adjusting the round-off in mapping to the block positions. I think maybe adding 0.5 to the x, y, and z might make it more even. In otherwords imaging drawing a perfect circle on some graph paper. You need the center of that perfect circle to be in the center of the center block. If it is at one edge then the outer edges will have aliasing irregularities versus the opposite side. Check out my tutorials here: http://jabelarminecraft.blogspot.com/
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.