[AI CC-CC2021] Дробные значения координат/размеров

Статус
Закрыто для дальнейших ответов.

Liquidos

Участник
Топикстартер
Сообщения
50
Реакции
2
Глюк тянется со времён... да всегда он был, и в инете удивительно мало информации о нем. То есть, натыкаюсь на такие же вопросы на тематических форумах/вопросниках, но к ним традиционно мало ответов и все сводятся к "поставь snap to pixel / align to pixel"

Фиг там! Не работает. Дизайню в пикселях (веб-дизайн), но к другим единицам измерения тоже применимо. Суть проста - вроде все значения координат/размеров целые, привязка к сетке включена, привязка к пиксельной сетке включена, а потом бац - объект либо смещен на 0,001 рх, либо размер "поехал" на ту же величину.

В СС2017 этот глюк дополнился еще и визуально - смотришь на скелет через CTRL+Y с включенной сеткой - какой-то объект нет-нет да и выскочит за линию сетки буквально на чуть-чуть, а посмотришь его размеры/координаты - вроде всё ок, но это тревожный звоночек - такой "чуть смещенный, но не смещенный" объект рано или поздно заимеет дробь в своих параметрах.

Ничего не помогает, только перерисовка объекта с нуля, но это тоже надолго не спасает.

Кто как борется с этим? Можно ли починить этот баг?
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 891
Реакции
3 458
Зачем с этим бороться?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Было бы неплохо взглянуть так сказать визуально на пример вашей проблемы. А то, прочитав такое
такой "чуть смещенный, но не смещенный" объект рано или поздно заимеет дробь в своих параметрах.
прямо в дрожь бросает, что объекты в файле, как только отвернешься от экрана, в пляс бросаются 'hmmm''8()'
 

Liquidos

Участник
Топикстартер
Сообщения
50
Реакции
2
@_MBK_
f991d616cf114138bdb74b3a7a068918.png


@~RA~

За тем, что программа не должна своевольничать и вносить отсебятину в точно рассчитанный и замеренный макет.
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 891
Реакции
3 458

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Ваш скриншот совершенно ничего не объясняет, скорее, наоборот 'hmmm'
upload_2017-1-31_16-0-39.png
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 891
Реакции
3 458
Мне кажется, это вопрос об особенностях хранения величин с плавающей точкой и операций с ними.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Для начала надо понять, что, собственно, топикстартеру не нравится?
Признаться, лично я совершенно не вкуриваю его хотелки
Он что, хочет, чтобы в любых координатах и единицах измерения все значения x и у целыми были? Дичь какая то
Основная базовая единица иллюстратора - поинт
Если явно объекту указывать координату в поинтах, то она всегда такой останется (если объект не трогать конечно)
Что еще надо? 'hmmm'
 

Liquidos

Участник
Топикстартер
Сообщения
50
Реакции
2
Мужики, ну вы че - серьезно?

На пальцах: делаю прямоугольник 40х20 в координатах х=100, у=200 (всё в пикселях). Объект получается 39,999х20 в х=100, у=199,989, например. Исправляю непонятно откуда взявшиеся дроби на целые числа - бестолку, дроби вновь потом появляются.
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 891
Реакции
3 458
На пальцах: делаю прямоугольник 40х20 в координатах х=100, у=200 (всё в пикселях). Объект получается 39,999х20 в х=100, у=199,989, например. Исправляю непонятно откуда взявшиеся дроби на целые числа - бестолку, дроби вновь потом появляются.
Так было и так будет. Читайте, что вам отвечают.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851

Liquidos

Участник
Топикстартер
Сообщения
50
Реакции
2
@_MBK_
@~RA~

Это не норма, а баг, т.к. создатели люстры заявляют поддержку pixel-perfect рисования.
cd6a16149db74109a2f333cfb4b0834b.png


Индизайн например умеет работать с пикселями (и любой другой единицей измерения) не меняя значения. Хотя по сути тоже является векторным редактором. В фотошопе рисовать не вариант. Нужно избавиться от этого глюка в люстре. Если не знаете как - так и скажите.
 
  • Спасибо
Реакции: NNN5 и dumbm1

dumbm1

10 лет на форуме
Сообщения
421
Реакции
196
Основная базовая единица иллюстратора - поинт
Заранее прошу прощения за тупой вопрос, но разве в Иллюстраторе 1 пиксель не равен 1 поинту?
Пошлите, если что, в нужном направлении ;)
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
в индизайне по-моему пиксель просто всегда равен пункту
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Это не норма, а баг, т.к. создатели люстры заявляют поддержку pixel-perfect рисования.
Вполне себе норма
Векторный редактор при растеризации всегда будет погрешность допускать, странно, что вы этого не понимаете. Пресловутое выравнивание на пикселы векторнх объектов при здравом размышнеии вообще представляет собой некоего оторванного от реальной жизни сферического коня в вакууме, невозможного в принципе.
разве в Иллюстраторе 1 пиксель не равен 1 поинту?
Не всегда. Только при экранном разрешении.
Иллюстратор же, всегда пересчитывает значения, отличные от его родных поинтов в текущие пикселы, даже если это 1:1
И, соответственно, при любом вычислении с плавающей точкой возникает погрешность на пределе точности вычислений.
Проведем эксперимент: создадим новый документ, в котором единицы измерения будут пикселы, нарисуем прямоугольник 100 на 100. Попробуем сдвинуть его по какой нибудь координате - получим уже 99.999 на 100, что в принципе то же самое, но режет глаз топикстартера.
Попробуем же создать документ с единицами - поинты. Тот же квадрат, при тех же размерах при любых манипуляциях будет сохранять свои 100 на 100
Отсюда ввод: не нравятся странные дроби - пользуйтесь нативными единицами измерения иллюстратора - поинтами и ваши волосы...
 
  • Спасибо
Реакции: dumbm1

Liquidos

Участник
Топикстартер
Сообщения
50
Реакции
2
@_MBK_
Пресловутое выравнивание на пикселы векторнх объектов при здравом размышнеии вообще представляет собой некоего оторванного от реальной жизни сферического коня в вакууме, невозможного в принципе.
Невозможного в принципе? А разработчики других графических пакетов об этом знают? В подразделении индизайна наверное маги-колдуны сидят, а не лохи-программисты, как в подразделении иллюстратора в офисах эдоуби. Тут наверное действительно требуется некое шаманство, чтобы выполнить такую архисложную задачу: не давать целому числу сдвигаться от своего значения на мизерную дробь. Иначе и не объяснишь успех индиза в этом плане (который _по сути_ тоже является векторным редактором).

Короче решения вы не знаете, чего тут рассуждать, я верстальщикам макета не буду объяснять что в 21 веке точные целочисленные координаты невозможны в принципе, когда уже лет 10 веб успешно векторизуется благодаря html5, css3 и svg - и никто не задает маразматичные координаты и размеры типа 99.999
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Иначе и не объяснишь успех индиза в этом плане (который _по сути_ тоже является векторным редактором).
"Успех" индизайна вам объяснили
в индизайне по-моему пиксель просто всегда равен пункту
В фотошопе тоже основная единица измерения - пиксель
Короче решения вы не знаете
Решение очевидно, просто сложно объяснить ;)
 
Последнее редактирование модератором:

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 198
Никто не мешает вам использовать для работы с вектором для веба какой-нибудь другой редактор, с позиционированием объектов так как вам нужно. html5, css3 и svg - это не полиграфия. Всю эту лабуду, вообще можно в блокноте кодить, просто долго и нудно.
я верстальщикам макета не буду объяснять что в 21 веке точные целочисленные координаты невозможны в принципе
Нормальный верстальщик, должен отдуплять такие вещи сам и ничего ему объяснять не нужно.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Если человека в школе не научили, что, как это не странно звучит, но таки 1==0.999(9)
То что ему можно сказать?
Сразу вспоминается недавняя тема про образование 'fp'
 
Статус
Закрыто для дальнейших ответов.