arpruss / raspberryjammod

Raspberry Jam Mod - a Mod Forge Minecraft mod implementing most of Raspberry Juice/Pi API
http://www.instructables.com/id/Python-coding-for-Minecraft/
Other
355 stars 95 forks source link

spiral.py (actually it's a helix) major_radius,minor_radius do not behave as expected #9

Closed JDJoe closed 8 years ago

JDJoe commented 8 years ago

Setting major_radius,minor_radius to 8 and 6 respectively generates a helix with outer radius 10 and every "step" 5 blocks wide.

Cant figure out, how to adjust the "step" width to what I need: 2.

BTW, same question : https://redd.it/4jb224

JDJoe commented 8 years ago

Looks like the naming of those variables is not really good.

If I draw a cylinder in minecraft (lets use worldedit) r = 8 then counting form the centre, 8th block is the wall (excluding the one I am standing on aka centre)

When your script is used, major_radius is not what it sounds like - a radius for the "outer" edge of this helix.

using 8 and 3 for major_radius,minor_radius, helix generated has actually 9 blocks in (outer) radius with "steps" 3 blocs wide at he exactly N, S, E, W.

arpruss commented 8 years ago

Did you fix the bug in the script where radius should be radius**2 in the circle function? I just committed a fix.

One way to make this work better would be to replace the circle with a ball of the same radius. The ends of the spiral will then be rounded off. (And, yes, this spiral is a helix. But a helix IS a kind of spiral.) But it will slow down the drawing, unless you avoid redrawing blocks like I do in some of the other scripts.

arpruss commented 8 years ago

Fix script.