To many controlpoints

 From:  Michael Gibson
1844.12 In reply to 1844.11 
Hi Petr,

> I just like to have an accuracy under the reasonable amount of control.

The way the adaptive stuff works, is that there is actually no change at all for objects that have a bounding box diagonal between 1 and 50 units in size. Objects in that size range get a tolerance of 0.001 units, same as in moi v1.

As the object gets larger in size than that, a value will be used of 1e-5 (0.00001) times the diagonal length (but not smaller than 0.001).

This lets the tolerance grow if the object becomes larger in size.

But the tolerance will still be a small fraction of the size of the object.

If you need to create an object with fitting accuracy of smaller than 1/100000 the size of the object, you will probably need to use some kind of specialized software to do it, that would just be a rather unusual amount of accuracy needed.


> Does it mean that loft command doesn't mess with any kind
> of tolerances at all? In other words, when I loft a set of curves
> then scale those curves and loft it once again, both of those
> resulting surfaces should have the same number of control points?

Actually, I'm sorry - I forgot that there is a tolerance involved in Lofting with the "Exact" method as well. The way the Exact method works in MoI is after all the curves have all the knots for all the other curves added into them, there is a simplification process where excess knots are removed to reduce the control point count in the created surface, as long as each removed knot does not alter the curve's shape by more than the tolerance amount.

This helps quite a lot to reduce dense control point counts, like in the example that you sent to me in e-mail, Rhino produces a surface with 1900 control points in one direction, while MoI produces only 100 points in the same direction, the reason why is because of this knot removal process.


> That's a question whether it's caused by "failure" of fitting-based
> algorithm or if it is just necessary to have such a number of control
> points in order to desribe given shape accurately.

Certainly it would be possible for the fitting to use fewer points, but it is hard to use the totally optimum number of points without some kind of artifical intelligence.

But like I mentioned before, trying to hit an accuracy of 0.001 units on an object that is 10,000 units in size is the same thing as trying to hit an accuracy of 0.0000001 units on a regular sized object. It will not be at all unusual for it to require a significant amount of extra refinement to hit that kind of accuracy.

It easily leads to very overly dense results which create huge file sizes and consumes a very large amount of memory.


> How can I recognize it is causing problems? It will be "inaccurate". That's all.

Everything involving fitting will be inaccurate to a particular tolerance.

If you need perfect accuracy, you probably shouldn't be using a computer at all, the numbers on a computer are represented with a finite amount of memory, they don't generally hold perfectly "accurate" results for anything, even just dividing 2 numbers with each other.

It is all accurate to within an acceptable range of error though, this is the same kind of thing.

- Michael