Последние пару дней я ломал голову над рендерингом пути без какого-либо реального решения.
Под рендерингом пути я подразумеваю заданный набор точек данных x, y (на разном расстоянии), чтобы нарисовать пунктирную линию (или в моем случае повернутый квадрат) фиксированной длины через регулярные интервалы между заданными точками набора данных для создания гладкий путь.
Если у вас есть управление полетом для iPhone, я пытаюсь создать эффект, похожий на рендеринг пути в этой игре.
Вот моя проблема. Если ширина графика + зазор не является точной в отношении расстояния между двумя точками набора данных, то мне остается перекрытие или перекрытие. Мое единственное решение это либо
1) Возьмите точку перекрытия / перекрытия за конечную точку следующей заданной точки данных, а затем проведите оттуда к следующей точке.
2) Всегда рисуйте под конечной конечной точкой и начинайте заново со следующей точки данных.
Ни одно из этих решений не является идеальным, и оба имеют проблемы.
У кого-нибудь есть лучшее решение?
Любая помощь будет высоко ценится.
Следующий экран иллюстрирует то, что я пытаюсь создать: http://www.firemint.com/flightcontrol/screenshots-peaceful.html
Толстая пунктирная линия.
Обновление:
Привет. Я попытался выполнить рендеринг с помощью кривых. Я рассчитал кубическую кривую (с помощью 4 контрольных точек). Однако проблема заключается в интерполяции. Учитывая 0 и 1, я могу пройти любые 2 пункта. Однако я хочу пройти весь путь (несколько контрольных точек). Проблема в том, что некоторые контрольные точки будут находиться на разном расстоянии друг от друга, и, таким образом, шаг с постоянным шагом (скажем, 0,2) будет давать неправильные результаты. Я понимаю, что для правильного прохождения всего пути мне нужно рассчитать длину всей кривой ... вопрос в том, как мне это сделать? ... или есть другой способ?
Приветствие
Рич