Sorry for the delayed replay, finally had an opportunity to review your suggestion.
I get what you’re saying here, and yes, I am currently just generating all tetrahedrons. However, the problem with this method arises with the eventual goal, which is to fit all of these together into a icosahedron, or a d20 for reference.
Secondly, I need every “Chunk” to be individually created, thus in this case 20 different tetrahedrons all fitted together.
And thirdly, to make these tetrahedrons fit nicely, they must be “Irregular” tetrahedrons, meaning while the base is equilateral, the others aren’t, so I had to use a custom shape with planes that determined which points would be generated, thus making the custom shape, because otherwise there’s no other way to generate an irregular tetrahedron without just putting in 4 points.
What all of this means is that while I would LOVE to round the values to nice places, it’s not really feasible with the precision I require to ensure the tetrahedrons not only remain individual, but also precise in dimension and scale. The ratio is like .95 to 1 for the short sides of the tetrahedrons in order to make the d20 fit actually work.
As such, adjusting the precision of the vertexes during generation isn’t really possible, because it’s completely determined by the “Size” fed into the scale. And with such a weird ratio, I’m not sure what vertexes would work as nice ones anyway.
So I’ve come up with another possible solution based on your last statement of “calculate resulting shape in same scale THEN scale and rotate result”. I have two ideas to try to implement this:
-
I will attempt to create a precise tetrahedron at the smallest scale possible, then scale that up to the desired Size entered, which hopefully makes precision easier.
-
I am thinking of how to generate the tetrahedrons in place already rotated to the position I want them to be in, but finding a way to do this during generation and being custom to how many tetrahedrons are being generated in the first place will be extremely difficult, so if you have any ideas on how to make that easier, I’d love to hear it, because I really don’t want to just hardcode everything for every scenario.
And for clarity, I have attempted the quaternion/radians degree rotation and it HAS improved the precision of the rotation dramatically…but it’s still not correct, as at a radius of around 100 units, it’s still off by at least .1 degrees, which just won’t work at the sizes I’m attempting. So rather then rotation, I do think this has to be handled in an alternative way.