Разница в ширине стены

Автор Тема: Разница в ширине стены  (Прочитано 5198 раз)

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

Оффлайн ivmaxАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 70
  • Карма: 3
Разница в ширине стены
« : 04-09-2016, 13:43:40 »
Добрый день!
Подскажите пожалуйста, в чем может быть причина различия ширины стены:
1. полученной через свойство Wall.Width;
2. полученной путем вычитания координат BoundingBoxXYZ.

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




Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Разница в ширине стены
« Ответ #1 : 04-09-2016, 15:08:49 »
Приветствую на форуме!
Плавающее число (double) имеет максимальную точность 16 значащих десятичных цифр. При математических операциях точность может только уменьшатся. То, что у тебя 14 совпадающих цифр - это очень даже хорошо. Не думаю, что для толщины стены разница в 15-ом знаке принципиальна. :)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ivmaxАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 70
  • Карма: 3
Re: Разница в ширине стены
« Ответ #2 : 04-09-2016, 16:42:08 »
Да, согласен разница не принципиальная. Просто хотелось бы причину выяснить, ведь у остальных параметров (длина и высота) сходятся все знаки :)

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Разница в ширине стены
« Ответ #3 : 04-09-2016, 17:07:05 »
Судя по тому что я вижу - толщина этой стены 20см, что приблизительно равно 0.656167979002624671916010498687664041994750656167979002624671916010498687664041994750656167979002624671916010498687664041994750656167979 футов.
Какие значения  для длины и высоты я не знаю. Возможно там какие-то более "красивые" числа, так как высоты и длины обычно значительно больше чем толщины стен. Соответственно при одинаковом количестве правильных значащих цифр их количество после запятой будет меньше.
Еще возможно это связано с алгоритмом вычисления BoundingBox.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 694
  • Карма: 111
  • Skype: chekalin-v
Re: Разница в ширине стены
« Ответ #4 : 05-09-2016, 13:49:22 »
ivmax, данная разница непременно связана с особенностями вычисления BoundingBox. Значение свойства Wall.Width - это параметрическое свойство стены, характеризующее ее толщину. Если необходимо получить ширину стены, то необходимо использовать именно это свойство.
BoundingBox, это параллелепипед, в который помещается геометрия объекта. Данное свойство является вычисляемым и имеет две важные особенности:
  • Этот параллелепипед не поворачивается. Т.е. грани BoundingBox всегда параллельны осям XYZ. Это значит, что если та же стена будет повернута относительное осей XY, то BoundingBox будет значительно больше, чем физические размеры объекта. См. вложение
  • BoundingBox включает в себя еще и невидимую геометрию, например, контрол для поворота объекта

И даже если все будет говорит о том, что ширина BoundingBox должна быть идентичной свойству Wall.Width, то разница все равно может быть из-за особенностей вычисления BoundingBox и погрешности измерений.
« Последнее редактирование: 05-09-2016, 14:32:27 от Виктор Чекалин »

Оффлайн ivmaxАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 70
  • Карма: 3
Re: Разница в ширине стены
« Ответ #5 : 05-09-2016, 14:05:41 »
Все уяснил))Большое спасибо за разъяснения!