Render.ru

Точность

#21
я Вас, ребята - непонимаю... о чем Вы говорите?

о каких-то внутренних представлениях... поделить, умножить, округлить...
в продукте _такого_ уровня я полагаю не должно быть таких огрехов...
(это не лезет не в какие рамки)

с этим что-то надо делать...
 
#22
Я так думаю, что такое там было всегда, только было скрыто от глаз. Ведь можно было в десятом задать какое-нибудь значение с точность, большей, чем ОТОБРАЖАЕТСЯ ПОТОМ в этом же поле ввода.
 
#23
Shlyapa wrote:
>...только было скрыто от глаз...

а что мешало это сделать в cs?
ведь именно неточнось отображения значений раздражает...
 
#24
>> что такое там было всегда, только было скрыто от глаз
Такое есть в каждой программе, преобразующей входные двоично-десятичные данные в чисто двоичные, которые обсчитываются быстрее, т.к. вся математика происходит в native (для двоичной логики) представлении безо всяких условностей типа «если при сложении младшей тетрады получилось число, большее 9, то следует прибавить 6, а единичку добавить к старшей тетраде…» и т.п.
Только обычно вся эта математика в библиотеках скрыта от глаз пользователя и последний раз я с подобного рода глюками встречался аж 14 лет назад в ChiSoft PASCAL'е (авт. Антон ЧИЖОВ) для MSX. Но там это было документировано и мотивировалось экономией ОЗУ (вот ведь были времена — на чем приходилось копейки экономить). А здесь глюк сидит в печальной памяти Dialog manager'e (это только предположение), к созданию которого, стыдно сказать, приложил голову (или другое место?) наш соотечественник (проскальзывало где-то в этой ветке).

>> с точность, большей, чем ОТОБРАЖАЕТСЯ ПОТОМ
Скорее всего просто некто неправильно задал формат отображения числа в окошке, результатом чего явилось «выскакивание» незначащей 4-й цифры и чудесное превращение ее в значащую. С соотвествующими «прелестями».

>> именно неточнось отображения
Если бы только отображения — так и при вводе координаты в результате уплывают, т.к. в качестве величины начинает использоваться «исправленное» значение. Если точно известен иходный размер, то его можно набить ручками, хотя это и не очень удобно. А если неизвестен? Тогда приходится пользоваться тем, что есть или смотреть в info palette
Вся цифирь, не проходящая через горнило ADM, например cохранение в EPS или PDF переводит координаты в десятичную форму корректно.

>> с этим что-то надо делать...
Это вопрос к ZG
 
#25
>> 64.125 pt
>> если двигать квадрат с такой стороной по полосе, то рано или поздно "и это пройдет"

Надо же, и правда :-( Самое страшное — при достаточно долгом перемещении размер ПОСТЕПЕННО меняется. Немного, но все-таки…
 

steve 17909

Активный участник
Рейтинг
5
#26
Arkady wrote:
>
> >> 64.125 pt
> >> если двигать квадрат с такой стороной по полосе, то рано
> или поздно "и это пройдет"
>
> Надо же, и правда :-( Самое страшное — при достаточно долгом
> перемещении размер ПОСТЕПЕННО меняется. Немного, но все-таки…

неудивительно.. тут уже будут 2 погрешности округления для Х1, Х3 и плюс погрешность округления при вычислении ширины=Х3-Х1.

проверил под 8 илом (правил аишник):
150.00072 pt округляется до 150, а
150.00073 pt округляется до 150.001 и

150.00072479 округляется до 150, а
150.0007248 округляется до 150.001
 
#27
если выставить в единицах измерения см вместо мм. То все вроде бы правильно округляется (если убрать превью баундс)
 
#28
Illustrator работает на движке PDF, там все измеряется в пунктах, это внутренняя единица измерения и в PostScript и PDF. А так как пункт является иррациональной единицей, в миллиметры переводится с незначительной погрешностью, что не мешает нормальной работе.
 
#32
ђ­ ѓЊ
•{ Ѓ[
•› ѓr
‹c ѓ“
’· ѓ^
Њ“ ѓЉ
Њo Ѓ|
ЌП ѓn
”­ ѓo
“W ѓЌ
‘О ѓt
ЉO ѓX
ЉЦ ѓN
ЊW ’n
‘е •ы
ђb
 
#33
>> если выставить в единицах измерения см вместо мм То все вроде бы правильно округляется

Разумеется правильно — ведь отбрасывается последняя НЕЗНАЧАЩАЯ цифра (происходит загрубление на порядок). Только вот работать это должно с мм, pt и проч.
 
#34
после нескольких перетаскиваний даже у сантиметров та же хрень...
я предлагаю все делать в метрах или километрах =)
 
#35
"Глюки" не тока в CS, но уже и в этой ветке (см. топик) :)))
На своей Iiyame 19" 1600х1200 (это типа поля много :)) в сантиметрах тягал разные кубики да кружочки, терпения хватило минут на 20, побывал в разных уголках рабочего поля, как ни странно, но при перетаскивании размеры не менялись... :( Ага, ща скажут, что типа у меня beta версия Ила :))

Не думал, что данная тема может так развиться :)
 
#36
А по-моему, тема эта — буря в стакане.

(Сейчас скажете, что за углом буря еще больше, а стакан меньше.)
 
#37
Arkady wrote:
> А что, разве отношение точки к миллиметру — конечная
> десятичная дробь?
а причем тут это?
пример:
после ввода какого-то значения в чем угодно в тысячных долях пункта получилось: 283464.
пересчитываем в милиметры:
283464*25.4/(1000*72)=99.9998
это точный результат. пятого знака просто нет.

> А потом, как объяснить появление размеров
> вида 600.0005 pt для размеров, заданных именно в pt?
расскажите о методе получения. у меня ни вышло.

> При четырех значащих цифрах мы должны вычислять пятую,
> незначащую цифру.
хех - нет ее. размер в тысячных долях пункта нацело делицца на 72 и все.

> 1. Нарисуй прямоугольник с одной из сторон 1000 pt
> 2. В Transform palette подели этот размер на 11
> 3. Согласно правилам округления должен получится результат
> 9.9091 (четыре значащих цитфры, реально получается
> периодическая десятичная дробь 9.09(09) ). А что получилось?
у меня сначала 9.9091, через несколько миллисекунд - 9.9092.
 
#38
Arkady wrote:
> P.S. Время писАть третий path для AI CS :)
вы сначала посчитайте, каково должно быть разрешение выводного устройства для того чтобы заметить разницу в 0,0005 мм, помедитируйте над результатом, а потом и погойворим.
 
#39
>> вы сначала посчитайте, каково должно быть разрешение выводного устройства для того чтобы заметить разницу в 0,0005 мм, помедитируйте над результатом, а потом и погойворим.

Устройство здесь ни причем, так что предлагаю говорить прямо сейчас. Советую Вам прочитать любой учебник по мат. основам измерений и перед Вами откроется простая истина — чтобы получить достоверную N-ю цифру, необходимо вычислить недостоверную N+1 цифру. При этом в результат записываются N цифр.
Если же эту самую N+1 цифру выдавать за достоверную — будем иметь то же самое, что и происходит сейчас в transform palette. Или Вы считаете, что автоматическое преобразование 1000pt в 999.9998 pt — это нормально? А формат листа 297.0001 мм — тоже в порядке вещей?
 
#40
И в продолжении темы — неужели в Adobe совсем уже такие дураки сидят, что ни с того ни с сего сделали в «считающих» окнах AI четыре цифры (те же «0,0005 мм»), оставив в аналогичных местах PhSh и InD, да и в Info самого AI всего три цифры. Помимо весьма сомнительной целесообразности такой точности представления — в чем Вы и сами, как я вижу, не сомневаетесь, поведение этой цифры при вычислениях в окне дает веские основание предположить, что это и есть та самая «N+1» цифра, которая должна служить для правильного вычисления последней, третьей значащей цифры. Все бы ничего, но эта же «N+1» цифра используется при вводе данных из этого же окошка, т.е. получается накапливающаяся ошибка.
 
Сверху