I just added some quick example geometry that shows three different methods for rounding an RCC, rounds.g in the db directory of a fresh build (r71159): Screen-Shot-2018-07-12-at-3.03.33-PM.png
How did you construct it?
"svn up" and check them out
Sure
all three utilize torus for rounding, that's perfect for rounding a cylinder with circular ends (i.e., RCCs)
the only question is how to apply the round, and there you'll find three methods. the first or third is typically the obvious solution, you union torus onto the end and fill the torus interior with a smaller cylinder. you can use just one cylinder that spans both ends (method1) or separate cylinders (method3) which is slightly more efficient for ray tracing.
with method2, it uses a slightly more advanced approach where we first carve out the corner (with a specifically positioned torus) and then just union our rounding torus. this preserves the original length of the cylinder being rounded, which is a useful property when the length matters.
you can preserve the length in method1 and method2, but we'd have to shorten down and move up our main cylinder by the rounding radius.
Wow! These are good. I was close to method1 in terms of what I was trying to do but could never have thought of method2.
Should I implement these in python?
Last updated: Jan 09 2025 at 00:46 UTC