Как я могу создать пути с точными радиусами границ

Так что я немного запутался с радиусами в Inkscape. Долгое время я думал, что это:

Путь с ручным радиусом

было то же самое:

Прямоугольник с радиусом

... Но оказывается, что наложение их друг на друга показывает, что они разные:

Сравнение

(где красный — прямоугольник, а синий — путь)

Дальнейший анализ показывает, что (после преобразования прямоугольника в путь) ручки находятся в странных местах:

Странный...

Итак, мой вопрос: можно ли создать точные радиусы границ без использования инструмента «Прямоугольник» (где радиус одинаков во всех углах)? Или я должен всегда полагаться на него, чтобы получить действительно точные результаты? А также есть ли у кого-нибудь объяснение, почему ручки находятся там, где они есть?

Я ожидал, что они будут на расстоянии 2 пикселей от своих якорей, а не ~ 2,2 пикселя.
Здесь: imgur.com/7GPwAaV ? В любом случае, кажется, что это намного сложнее, чем кажется - whizkidtech.redprince.net/bezier/circle/kappa
хорошо, вы можете подобрать коэффициент самостоятельно, но длина касательных может быть приблизительно равна 1/3 расстояния между точками в направлении касательной. Обратите внимание, что безье не может построить идеальный круг, поэтому это всегда приближение.

Ответы (1)

Ошибка округления при низкой частоте пикселей

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

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

Значения были тщательно скорректированы на панели инструментов, чтобы точно иметь радиус 4.000px). Тем не менее, мы видим, что прямоугольник со скругленными углами не идеален:

введите описание изображения здесь

Рисуйте с более высокой частотой пикселей для большей точности

Как только мы начнем работать с более высокой частотой пикселей (ниже красный круг имеет радиус 40 пикселей), закругленный угол прямоугольника будет намного лучше соответствовать точному радиусу 40 пикселей:

введите описание изображения здесь

Обходной путь для низкой частоты пикселей

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

  1. Преобразуйте круг в путь Безье ( Path > Object to Path ):

    введите описание изображения здесь

  2. Выберите все узлы, чтобы разорвать путь в выбранных узлах введите описание изображения здесь

  3. Выберите сегмент и переместите его в нужное место.

    введите описание изображения здесь

  4. Повторите для всех сегментов.

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

    введите описание изображения здесь

  6. Повторите для остальных открытых сегментов.

Это даст лучшие результаты при низком разрешении пикселей (см. красную линию в первом примере выше).

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