Определение натуральной величины фигуры

Автор GrayBill, 26.01.16, 04:01:58

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

KiDim

А я думал усе в курсе косяка математики Компаса. Видимо нет.  :)))))

Сделайте простое действие. Нарисуйте например прямоугольник. Потом его скопируйте с поворотом на угол 47 градусов например. Померяйте площадь. У меня всегда одинаковая.

А теперь постройте кракозябру (ну как у меня во вложении). И тоже скопируйте с поворотом. И померяйте площадь. У меня разная. Причем этому косяку лет столько сколько и новому геометрическому ядру. Если у кого есть старый Компас ниже 14 по моему проверьте. Там такого не было (ну или я не сталкивался).
+ Благодарностей: 1

YNA


Косяк касается только, если построено кривыми, для фигур построенных из дуг и отрезков, всё считается точно.

VLaD-Sh

Внесу копеечку.
Сами условия эксперимента неточно написаны  :um:

Если рисовать кракозябру только отрезками и окружностями, то все нормально, но вот стоит внести Сплайн по точкам вот здесь и начинаются проявляться косяки  8-)
Компас V16 x64

GrayBill

#24
Цитата: KiDim от 27.01.16, 09:48:56
А я думал усе в курсе косяка математики Компаса. Видимо нет.  :)))))
...
А теперь постройте кракозябру
Спасибо, проверил в 6LT - на прямых в задачах типа натуральной величины треугольника всё ровно, но когда используется Безье или Эллипс, начинаются погрешности. А если Эллипс и Безье в одном флаконе и фигура имеет сильное сужение, то точность уже как на чугунолитейном.

YNA

Вот ещё пример снижения точности.
На первом рисунке замер площади эскиза, на втором - грани детали, выдавленной из этого эскиза.

KiDim

#26
Похоже в ТП запрос пора делать. После обеда забацаю. Результат оглашу.  :-)))

Запрос в ТП 771249. Ждем ответа.

Студент 2015

Цитата: KiDim от 27.01.16, 11:36:04
Похоже в ТП запрос пора делать. После обеда забацаю. Результат оглашу.  :-)))

Запрос в ТП 771249. Ждем ответа.
Рано я пошел дальше, Вставлял копию несколько раз под разными углами, №3 вообще без поворота просто вставил из буфера. Результат, идет уменьшение площади! Можно конечно вычислить через сколько вставок площадь на 0 выйдет, но пока нет времени.

KiDim

Ответ ТП.

Предложение принято на доработку ПО. Ждем-с.

Resfeder


GrayBill

У меня в 6-ке разная площадь фигуры, даже если это Безье из трёх точек просто перенесена плоскопараллельно без вращения  :%:

YNA

В общем то не всё так уж и мрачно. Ошибка появляется только на кривых линиях, которые на практике особо не используются. Ошибка зависит от расстояния от начала координат. Ошибка циклическая, т. е. на некотором расстоянии достигает максимума, а потом обратно сбрасывается. Даже в наихудшем положении не превышает 0,0000005.
Возможно это дань быстродействию программы. Если сейчас начнут исправлять, то может получится ещё хуже - может снизится быстродействие. Лучше ни чего не трогать.  :)

Николай

А, может, это результат принципа подсчёта площади- ведь программа считает сумму "столбиков" разной длины, заполняющих контур? При разных поворотах и разном расстояни от нулевой точки приходится округлять различное количество раз. Вот и небольшое, но расхождение.

GrayBill

Это не может быть данью быстродействию, т.к. в программировании подобных проектов, программисты тупо указывают тип данных. При этом, изменение на тип с большей разрядностью, практически, не приведёт к снижению производительности.

Думаю, ошибка идёт из незнания математики и не желании разбираться с алгоритмами. Там не всё так тривиально, и часто точность зависит от данных, а иногда, даже сходимость алгоритма может быть неприемлемой.