Инструмент привязки ошибается на 0.001

Автор
Сообщение
На сайте c 09.07.2021
Сообщений: 71

Добрый день.

Инструмент привязки ошибается на 0.001 в большинстве случаев, и это никак не понять, почему это случается.

Я понимаю это различие глазом невозможно заметить, но во время моделирование бесит когда выделяешь Vertex на плоской поверхности, а там условно, значение у половины точек "50.152", а у другой половины "50.153"

Как это справить? Перепробовал все что пришло в голову, ничего не помогло.

На сайте c 21.01.2019
Сообщений: 4960

Макса по другой нет, но на просторах пишут:

нужно найти в меню Customize ->  Preferences.. -> закладку General -> И в области Spinners (счётчики) выставить значение Precision (точность) 2. Тогда Макс перестает показывать третью цифру после запятой.

На сайте c 09.07.2021
Сообщений: 71

Denis_21, Спасибо большое за попытку помочь, только это как самообман получается)))

Если не решится, придется сделать так)

Все же, может кто то знает как решить, неужели это не настроить? Очень помогли бы подсказкой.

На сайте c 27.12.2016
Сообщений: 97
Україна, Київ
Цитата 43block:

Denis_21, Спасибо большое за попытку помочь, только это как самообман получается)))

Если не решится, придется сделать так)

Все же, может кто то знает как решить, неужели это не настроить? Очень помогли бы подсказкой.

ну во первых параметр отвечает за точность, если добавить значение точности - будет точнее, второе - 3ds max не инженерный инструмент, если вам нужна супер точность используйте инженерные 3д пакеты

На сайте c 09.07.2021
Сообщений: 71
Цитата MikhailMekhanik:
если добавить значение точности - будет точнее

Не совсем понял о чем вы

На сайте c 09.07.2021
Сообщений: 71
Цитата AllanSchezar:
я для удовлетворения своих компульсий юзаю скрипт для округления координат до определнного разряда.

что за скрипт?

На сайте c 27.12.2016
Сообщений: 97
Україна, Київ
Цитата 43block:
Цитата MikhailMekhanik:
если добавить значение точности - будет точнее

Не совсем понял о чем вы

https://help.autodesk.com/view/3DSMAX/2024/ENU/?guid=GUID-4BF4DFC9-76E9-4FA8-862B-E17B3F7A5E57  

На сайте c 09.07.2021
Сообщений: 71
Цитата AllanSchezar:
Цитата 43block:
что за скрипт?

самопальный тип такого:

gridsize = 100
for vert in $.selectedVerts do
(
vert.pos.x = floor(vert.pos.x/gridsize+0.5)*gridsize
vert.pos.y = floor(vert.pos.y/gridsize+0.5)*gridsize
vert.pos.z = floor(vert.pos.z/gridsize+0.5)*gridsize
)

выделяем вершины, Ctrl+E в максскрипт-едиторе. работает вроде ток с EditablePoly.

Капец, я ничего не понимаю. Я далек от кодов.

Если на человеческий перевести, это может мне помочь?

На сайте c 21.01.2019
Сообщений: 4960
Цитата 43block:
Denis_21, Спасибо большое за попытку помочь, только это как самообман получается)))

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

На сайте c 29.08.2017
Сообщений: 4
У вас по оси Y все в порядке. причем тут ось Z?
На сайте c 17.07.2021
Сообщений: 73

Все так и должно быть.

Это из-за проблем с точностью чисел с плавающей точкой. Тот кто изучал программирование тот понимает почему так происходит.

Если интересно, то можете почитать здесь: https://habr.com/ru/articles/337260/  , а если не хочется читать, то просто поверьте, все так и должно работать, это не глюк 3Ds Max.

На сайте c 09.07.2021
Сообщений: 71

Цитата AllanSchezar:
Цитата 43block:
Если на человеческий

копипастим текст в maxScriptEditor, выделяем весь текст.
далее лезем в редактирование вершин геометрии, выбираем нужные.
возвращаемся в maxScriptEditor давим Ctrl+E.

выбранные вершины выровняются по сетке с шагом gridsize = 100.
хотим иной порог округления, меняем значение gridsize.

стоит оно того? не знаааю. ))

Надо попробовать, завтра за компом когда буду, посмотрю. Спасибо большое за помощь!

Цитата Denis_21:
Цитата 43block:
Denis_21, Спасибо большое за попытку помочь, только это как самообман получается)))

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

Кстати, да) Я как написал, потом об этом подумал.

Был бы макс менее глючным, цены бы не было.

Вылетал бы по меньше, не появлялись бы артефакты из-за 5 лучей при наклоне сетки, и привязка работала бы четко :))

Цитата kexer79:

Все так и должно быть.

Это из-за проблем с точностью чисел с плавающей точкой. Тот кто изучал программирование тот понимает почему так происходит.

Если интересно, то можете почитать здесь: https://habr.com/ru/articles/337260/   , а если не хочется читать, то просто поверьте, все так и должно работать, это не глюк 3Ds Max.

То есть, например, в место "154.172", можно оставить "154.171", и моя сетка, в местах где различия на 0.001, будет считаться ровной?

Цитата PolygonXYZ:
У вас по оси Y все в порядке. причем тут ось Z?

Я двигал ось Z

На сайте c 21.01.2019
Сообщений: 4960
Цитата 43block:
Кстати, да) Я как написал, потом об этом подумал. Был бы макс менее глючным, цены бы не было.

Всё-таки это не совсем глюк ) Полагаю, что коллеги, которые говорят, что абсолютная точность в данном случае невозможна, правы. А самое главное, что это не влияет приблизительно ни на что ) Во всяком случае я за без малого 5 лет работы в максе, не припоминаю случая,  чтобы мне чем-то помешала стандартная точность (ну или не точность) привязки 

На сайте c 08.02.2018
Сообщений: 1545
:адуктО
Цитата MikhailMekhanik:
3ds max не инженерный инструмент

а должен был быть. 

Цитата kexer79:

все так и должно работать, это не глюк 3Ds Max.

это загоны разрабов. Да, я читал про плавающую точку. Но она применяется для неопределённо огромных разностей вычислений. А извините(*** без мата не могу тут) - какая неопределенность вычислений?? Разрабы пытались сделать нечно глобальное и впихнуть невпихуемое. Никто тут не работает на МАКРО или МИКРО уровне. Никто не строит что-то ГАЛАКТИЧЕСКИХ масштабов или МИКРОНЫ! Есть довольно  четкие масштабы - от десятков миллиметров до километров (десятков) и не более того. То что они назакладывали в математику применялось бы для намного БОЛЬШЕГО разброса значений параметров. 

И вообще в Максе куча дури - начиная с дебильной системы - ИНЧИ миллиметры Футы и тд, условные единицы, и заканчивая постоянными переконвертациями одно в другое. Ни в одной программе - ни архитектурной ни визуальной - нет такого в мире! 

На сайте c 21.01.2009
Сообщений: 2502
Москва
Цитата 43block:
То есть, например, в место "154.172", можно оставить "154.171", и моя сетка, в местах где различия на 0.001, будет считаться ровной?

да

На сайте c 27.03.2015
Сообщений: 484
Вологда
+ к пограшеностям работы с float, у макса точность завязана на общем размере объекта, системных единицах и расстоянии от начала коородинат. Если системные единицы будут метры, а пытаться перемещать доли миллиметра, особенно далеко от 0, то могут ожидать сюрпризы )
На сайте c 17.07.2021
Сообщений: 73

Если вы работаете в километрах или метрах, а пытаетесь работать с точностью до сотых или тысячных миллиметра, то тогда и возникают проблемы.

При работе в километрах погрешность такая:

точность до —0,0119см,

а вот если вы выберете работу в миллиметрах:

то точность будет: 0,0000000119см

С такой точностью вы можете хоть эритроциты рисовать в реальном размере)

Надеюсь, что этого будет достаточно для реализации любых творческих идей. smiley-rolleyes.gif

На сайте c 27.12.2016
Сообщений: 97
Україна, Київ
Цитата kexer79:

Если вы работаете в километрах или метрах, а пытаетесь работать с точностью до сотых или тысячных миллиметра, то тогда и возникают проблемы.

При работе в километрах погрешность такая:

точность до —0,0119см,

а вот если вы выберете работу в миллиметрах:

то точность будет: 0,0000000119см

С такой точностью вы можете хоть эритроциты рисовать в реальном размере)

Надеюсь, что этого будет достаточно для реализации любых творческих идей. smiley-rolleyes.gif

совсем забыл про это, годны ответ, думаю что тему можно закрывать)) 

На сайте c 27.06.2019
Сообщений: 40
154.172 вместо 154.171 - это вообще фигня, можно просто забить. Но вот когда у тебя вместо 1050 1049,999 - вот это просто ппц как замедляет работу! Нормально не скопируешь ни в калькулятор, ни из калькулятора, ни в блокнот, запаришься выделять, глаз начинает "путаться" в цифрах...
На сайте c 17.07.2021
Сообщений: 73
Цитата tangatta:
154.172 вместо 154.171 - это вообще фигня, можно просто забить. Но вот когда у тебя вместо 1050 1049,999 - вот это просто ппц как замедляет работу! Нормально не скопируешь ни в калькулятор, ни из калькулятора, ни в блокнот, запаришься выделять, глаз начинает "путаться" в цифрах...

Зачем запариваться? Двойной щелчок по цифре и она выделена.

Читают эту тему: