Не думаю, что есть хороший ответ на этот вопрос, но я бы хотел выяснить, есть ли лучший способ сделать это.
Мне нужно построить математическую функцию, которая почти плоская на одном конце экрана и почти вертикальная на другом конце. Нижний левый квадрант круга будет хорошей моделью. Я могу автоматически генерировать столько очков, сколько требуется.
Проблема в том, что я не могу сделать это без всевозможных артефактов.
Я не пробовал примерку Безье; Я не думаю, что это будет даже близко. Насколько я понимаю, Безье предназначен для одноразовой красивой графики, а не для реальной подгонки кривой.
Это оставляет полилинии. Есть только 2 вещи, которые я могу сделать с полилиниями - я могу выбрать длину линии (другими словами, количество точек, которые я автоматически генерирую), и я могу отключить сглаживание (setAttributeNS (null, "shape-render", "хрустящие края").
Если я наберу много очков, то повсюду получу неровности, и результат будет бесполезен. Он также может выглядеть очень сильно, как колеблющийся, из-за чего кажется, что я неправильно рассчитал функцию. Сглаживание не имеет значения, поскольку оно не работает через границы точек.
Единственное решение, которое у меня есть, - это нарисовать меньше точек, чтобы было очевидно, что я рисую сегменты. Это больше не гладко, но по крайней мере нет никаких зазубрин или колебаний. Я рисую это с помощью сглаживания по умолчанию.
Есть идеи?
Edit:
Кажется, что единственный ответ на этот - это на самом деле подгонка кривой Безье. Вы должны предварительно обработать, чтобы найти параметры требуемых сегментов, а затем отобразить результаты. Google предлагает несколько подходов к кривой кривой с Безье.