Якщо під клотоїди розуміється спіраль Корню,
і має дотримуватися умова рівність першої похідної в точках з'єднання
якщо під цим розуміється просто гладкість отриманої складеної кривої, то рішень, на перший погляд, нескінченно багато.
Якщо дуга клотоїди виходить з точи під кутом і має нахил в кінцевій точці, то область кутів, при яких рішення немає, невелика. Наприклад, немає рішення при (або коло треба вважати окремим випадком клотоїди). При цьому . Але і для цих кутів її оично можна побудувати, якщо допустити закручування навколо однієї з кінцевих точок (чого Ви хотіли б напевно уникнути, але не згадали про це).
Так що, довільно привласнюючи нахили дотичних в проміжних точках, можна, пограти, знайти купу рішень.
Концептуально нескладна, втомлива для реалізації (і навіть для обговорення) завдання. Якщо дипломно-курсова --- то зійде, а якщо по життю, то треба підхід міняти. Так якщо Вам клотоїди потрібні для монотонності кривизни, то дотримати її в точках сполучення буде непросто.
Додано через 46 хвилин 50 секунд:
(Картинка робилася з іншого приводу)
Як бачите, з одними і тими ж граничними дотичними можуть бути побудовані різні дуги, що відрізняються характером закручування. Вас, мабуть, цікавить тільки перший варіант.
Природа завдання - просто побудувати криву, максимально наближену до наявних точок,
Я мав на увазі 2 основних (на мій погляд) варіанти:
(1) Ваша крива є графік деякою функції. типу час або напруга або що завгодно, типу гроші, відстані, ток, або що завгодно. Побудова має бути інварантно щодо зміни масштабів будь / обох осей. Про жодні поворотах не йдеться. Довжина хорди, кривизна --- (майже) безглузді величини. Залучення клотоїд, окружностних сплайнів --- безглуздо.
(2) Ваша крива є "саме крива" (пардон за калобур), з геометричною підґрунтям. і --- відстані (наприклад, оцифровані приладом, списані з карти місцевості, обчислені з необхідного закону руху кулачка, ЕТЦ). Побудова має бути інварантно щодо гомотетии і поворотів. Накопичена довжина хорди --- найбільш природний параметр. При якихось умовах може бути виправдане і залучення клотоідальних, окружностних і інших нестандартних сплайнів.
Судячи з Вашим уточнення, мова йде про другий варіант, і "природа завдання" не сильно прояснилася (відправлено недопісаним).
Додано через 1 хвилину 21 секунду:
Клотоїд повинна строго проходити через точки без відхилення
просто побудувати криву, максимально наближену до наявних точок,
Так строго або максимально наближено?
Додано через 9 хвилин 43 секунди:
плавна зміна кривизни
Плавне --- це як? Безперервне? Монотонне?
відсутність зміни знака кривизни
А якщо розташування заданих точок імперативно потребують змінити знак кривизни?
Все виглядає дещо недодуманої ..
неправий я. точно - значення похідних в крайніх точках задані.
Все ж --- задані як. Як від кутів перейшли до похідних? Грамотно?
але у нас мова про клотоїди. як їх знайти?
(1) Я можу уявити завдання, в якій би куб. сплайн не працював. Але недолік інформації про криву компенсують якось не так, не клотоідізаціей (вау!).
(2) По-моєму, для початку слід, відірвавшись від клотоїд, замінити їх квадратичними параболами. Тим самим можна продумати до кінця дуже близьку завдання: адже парабола на хорді, як і клотоїда на хорді, однозначно визначається двома граничними кутами. А обчислювальні проблеми на порядок простіше.
(3) "Продумати" означає підібрати методику і критерії вибору проміжних кутів, сгондобіть програму, варіюють все це. Виділити ту частину коду, яка потім, при переході до клотоїди, зміниться (типу). Але частина коду залишиться колишньою.
(3а) У случе параболи (крива Безьє 2-го порядку) треба буде підбирати для кожної хорди ОДНУ контрольну точку. Тобто побудувати ламану з вузлами в придуманих контрольних точках, таку, що задані точки лежать на ланках ламаної. (Лише дві крайні точки відбору відразу не зовсім вільні --- лежать на заданих прямих-дотичних).
(3б) У плані майбутнього переходу до клотоїди можна заборонити параболи з вершинами (для цього контрольна точка повинна лежати всередині або на кордоні вісімки, що складається з двох кіл, побудованих на полухордах як на діаметрах).
(4) продумати і до кінця зробивши спрощену задачу, озирнутися: а може, вистачить? І так все ОК? Чого додасть клотоїда крім диких інтегралів? Тим більше, що у мене все локально опукло і кривизна знакопостоянна?
(6) Здається, все сказав, що знав і що задумав. Підозрюю, інших порадників (а тут ходило багато сплайнологов, я ж зі сплайнами мало мав справи) Ви відлякали, замахнувшись на клотоїди. Може, правда, не треба.