Render.ru

Точность

#1
Приветы!

Я, да и многие другие в 11 версии столкнулись с "супер точностью", когда вбиваешь размер объекта, например 100х100 мм, в палитре размеров появляются значения типа 99,9918 и т.д., читал форум и понял, что Адоб ввел для точности 4 значения после запятой, но блин, неудобно, кто знает способ борьбы с этим...?
Спасибо
 
#2
эта шняга была и в 10 и 9. Иногда, вдруг, выставляемые размеры превращались в какие-то десятые и сотые .
Как бороться не знаю. Меня это тоже раздражает...
 
#3
если раздражает, то пора выключить в преференсах Use Preview Bounds.
 
#5
Плюгинс CADtools, меню CADtracker. Намного удобнее, количество знаков после запятой на выбор, не раздражает и умеет больше, чем TRANSFORM,
 
#6
Я даже подозреваю что ты знаешь как не платить 250 баксов за него =)
 
#8
>> …появляются значения типа 99,9918 и т.д.
IMHO, это не точность, а чего-то они еще с преобразованием из внутреннего представления в десятичный намудрили.
 
#9
Arkady wrote:
> IMHO, это не точность, а чего-то они еще с преобразованием из
> внутреннего представления в десятичный намудрили.
ничего они не намудрили. просто при переводе миллиметров во внутреннее представление (если не ошибаюсь - 1000-ая доля пункта) происходит округление, так как все размеры во внутреннем представлении - целые.
т.е. реально вместо 100 имеем к примеру 99.9998. раньше приокруглении до 3-х знаков получалось 100. теперь остается 99.9998.
вот и все.
 
#10
zg wrote:
раньше
> приокруглении до 3-х знаков получалось 100. теперь остается
> 99.9998.

то что в 11-м это так - верю на слово, да и проверить не могу. но когда то же самое говорится о 10-ке - сомнения обуревают. :))

> и что это дает?

только что проверил: включаю Use Preview Bounds - начинается бардак с размерами ("классический случай" - если у объекта есть обводка).
 
#11
и с отступами?

зы: вообще я начинаю НЕУВАЖАТЬ Quality Control Department у Adobe...

это РЕЛИЗ ?!
 
#12
О :))) нашел выход из положения, сменил ед. изм. с ММ на СМ, теперь все пучком :)))
 
#14
> включаю Use Preview Bounds - начинается бардак с размерами ("классический случай" - если у объекта есть обводка).

Конечно «классический». F1 тебе в подмогу.

C:\Program%20Files\Adobe\Adobe%20Illustrator%20CS\Support%20Files\Help\1_7_3_1.html

..\Help\1_7_3_3.html

Особенно вот это:

Note: To ensure that values entered in the Transform palette (and Info palette) include stroke weight and effects, choose Edit > Preferences > General (Windows) or Illustrator > Preferences > General (Mac OS), select Use Preview Bounds, and click OK.

вот здесь: ..\Help\1_8_2_0.html

и вот это:

The values for width and height are affected by the Use Preview Bounds option in the General preferences. When Use Preview Bounds is selected, Illustrator includes the stroke width (and other attributes such as drop shadows) in the object's dimensions.When Use Preview Bounds is deselected, Illustrator measures only the dimensions defined by the object's vector path.

здесь: ..\Help\1_5_4_8.html

P.S.
Уж от кого, а от тебя, arhip, не ожидал.

P.P.S.
Вот кабы Adobe аналогичную фишку прикрутили к Clipping Mask и её содержимому… А заоодно и к Opacity Mask…
 
#15
2 ZG:
>> реально вместо 100 имеем к примеру 99.9998. раньше приокруглении до 3-
х знаков получалось 100. теперь остается 99.9998

А что, разве отношение точки к миллиметру — конечная десятичная дробь? А потом, как объяснить появление размеров вида 600.0005 pt для размеров, заданных именно в pt?
Далее про округление. 100 при трехзнаковом округлении получится, если знать ЧЕТВЕРТУЮ цифру или хотя бы ее величину — больше четырех она или нет. Т.е четвертая цифра вычисляется — она будет равна именно восьми (на ней заканчивается вычисление дроби), но отбрасывается как недостоверная. Причем она больше четырех — поэтому размер и округляется до 100,000
При четырех значащих цифрах мы должны вычислять пятую, незначащую цифру. Т.к. вышеупомянутое отношение (см. предыд абзац) не является конечной десятичной дробью, естественно предположить, что реально мы должны получить 9.999(9) или, из-за «обрыва» вычислений 99.99998. И в этом случае при округлении до ЧЕТЫРЕХ ЗНАЧАЩИХ цифр должно опять таки получится 100,0000
Итак, налицо нарушение правил округления. Более того, убедиться, что последняя цифра НЕЗНАЧАЩАЯ (т.е. ни о каком увеличении точности в CS речи не идет), а просто «неотброшенная» можно на простом примере:
1. Нарисуй прямоугольник с одной из сторон 1000 pt
2. В Transform palette подели этот размер на 11
3. Согласно правилам округления должен получится результат 9.9091 (четыре значащих цитфры, реально получается периодическая десятичная дробь 9.09(09) ). А что получилось?
4. Посмотри в Info palette — там ТРИ значащих цифры и все по-старому, как в 10-ке
Для самостоятельной работы предлагаю еще один тест:
Создай прямоугольник с размером стороны, равной отношению 100 / 0.1125 (результат 888.8(8) ) и посмотри результат в Transform palette и в Info palette.
В данном случае в Transform palette видно, что число «округляется» ВОПРЕКИ правилам округления: вместо значащей девятки (как должно быть) или восьмерки — если округление отсуствует, появляется СЕМЕРКА (!). Т.е. вылезает та самая НЕЗНАЧАЩАЯ цифра, вычисляемая при «обрыве» деления.
 
#17
в предыдущем топике на эту тему (декабрь?) я говорил, что, вероятно, во внутренних вычислениях применяется вещественный тип single, т.е. 6-7 значащих цифр в мантиссе. Собственно, согласно некоей средней (есть ли другие?) реализации постскрипт-интерператора. Вероятно согласно и внутреннему представлению в АИ
 
#18
Shlyapa wrote:
>
> > включаю Use Preview Bounds - начинается бардак с размерами
>
> F1 тебе в подмогу.
<...skipped...>


Шляпа, все это мне известно, конечно. Видимо, из выражения "бардак с размерами" ты сделал вывод, что я не могу его объяснить. в данном случае это выражение было... эээ... скрытой цитатой, так сказать.

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

> P.S. Уж от кого, а от тебя, arhip, не ожидал.

благодарю за доверие


> P.P.S.
> Вот кабы Adobe аналогичную фишку прикрутили к Clipping Mask и
> её содержимому… А заоодно и к Opacity Mask…

пожалуй. хотя лично я как-то обхожусь. есть числовая система координат, привязки всевозможнные к узлам и центрам, smart guides, в конце концов scripts.
 
#19
Самое интересное, что ошибка происходит уже при преобразовании из внутреннего двоичного плавающего представления в десятичное — например, не искажается 64.125 pt (двоичное 0.10000000001 B 1000000), а «некруглое» 64.124 тотчас же «перекорежит». При этом в Info palette все будет хорошо.
Так что можно сказать, что «с P=95% ошибка локализована»
 
#20
> 64.125 pt

если двигать квадрат с такой стороной по полосе, то рано или поздно "и это пройдет", т.е. вдруг проскочит 64.1245 или подобное. Причем насколько рано или поздно -- зависит от выбранной reference point в палитре transform
 
Сверху