ПредишенСледващото

  • Как да се изгради една плавна крива, като набор от точки
  • Как да се изгради една плавна крива, като набор от точки
Как да се изгради една плавна крива, като набор от точки
  • IOS
  • алгоритми
  • игра за развитие

Задачата е следната: потребителят извършва с пръст по екрана и след пръст върху екрана, за да се покаже красива гладка крива. Като пример, можете да видите как работи програмата за IPAD предпоследната. Получава се много красива линия.

Sach строя сегменти на кривата представляващи кубически криви Безие. Опитах различни опции. Досега най-добър резултат е дадено два начина:

1) Segmety конструирана между всяка двойка точки, получени от потребителя (между първия и втория, след това между втория и третия, и т.н.). Липсващите точките около разчитат математически.

Точки мислят така:

Pi '= (Pi + 1 - Pi-1) / а (за I = 2..N-1)

където Pi - точка получени от потребителя, и B1i и B2i - желаната точка.


В крайна сметка: кривата е определено има, но не и изглаждане. Или аз не очаквам вярно точка или метод не е най-добрият.


2) Всички четири точки за набор от получи сегмент получава от потребителя. За избягване на остри ръбове между съседните сегменти е изместен втората точка на текущата сегмент на базата на позицията на трета точка на предишния (така че 3-ти и 4-ти точката на предишния сегмент, както и втория ток лежеше на точка права линия).


Резултатът: няма по-добър, отколкото в първия случай.


Как да направите тази крива е по-гладко, както е в предпоследната?

I предложи използването на хибрид. Заключение: уравнението на кривата, редът на гладкост, че са удобни и изход уравнение на линията. Приблизително допирни точки с помощта на първия тип крива, вторият далечината. Ние се регулира този процес с помощта на функцията за претегляне, който зависи от разстоянието до най-близката точка:
(1-p®) * f1 (х) + p® * f2 (х). При отстраняване на R - големи, в резултат на f2 (х). Когато имате желание да се точка, f1 резултат. Между, ние обобщим функция. Функцията тегло от 0 до 1.
Остава да изберете функция за претегляне, който е идеален за съчетаване на гладкостта и праволинейност в близост до точката между точките. Този подход работи добре за някои от картата задачи.

Вашият отговор на въпрос

Влезте, за да отговорите в темата

  • Толиати
  • Пълен работен ден
  • от 60 000 до 90 000 рубли.
  • Москва
  • Пълен работен ден
  • от 40 000 рубли.
  • Москва
  • Пълен работен ден
  • от 150 000 до 180 000 рубли.
  • Москва
  • Пълен работен ден
  • от 150 000 до 180 000 рубли.

50 000 търкайте. / Проект Per

50 000 търкайте. / Проект Per

Влезте в профила си

За да зададете въпрос и да получите експертен отговор.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!