Depending on what you want to do with the object, I have another alternative. Select the circle as a unit circle in the xy plane with z = 0. with scaling, translation and rotation. If you plan on doing many matrix operations on your objects, this might be the way to go.
You can also save the position of the circle, radius, and normal plane as properties. and have a conversion method between two descriptive methods.
Circle() - Default Unit circle at (0,0,0), radius 1, xy plane at z=0
Circle(scale, translate, rotate) - my constructor
Circle(location, radius, normal) - the other proposed constructor
source
share