Це почалося як коментар до коментаря до відповіді @ bummzack, але росло занадто довго.
як я можу визначити, скільки сегментів я повинен мати
Є два підходи. Перший - це лише стандартний алгоритм відображення кривої Безьє: контрольні точки утворюють обмежувальне поле кривої, тож якщо всі контрольні точки знаходяться в межах епсилона відрізка лінії від початкової точки до кінцевої точки, ви наближаєтесь до лінії; в іншому випадку ви підрозділяєте, використовуючи алгоритм де Кастелау. Епсілон вибирається відповідно до помилки, яку ви бажаєте в кінцевому результаті. (Для візуалізації зазвичай це 0,5 пікселя).
Інший підхід - уточнення цього з використанням інтервальної арифметики. Візьміть довжину лінії від початку до кінця як нижню межу, а суму довжин ліній через контрольні точки як верхню межу. Знову підрозділіть, як того вимагають ваші остаточні вимоги щодо помилок.
Один звичайно підрозділяє на t = 0,5, але алгоритм де Кастелау дозволяє розділити в будь-якій точці, тому якщо у вас кубічний Безьє з контрольними точками C_0 до C_3 і C_2 набагато ближче до відрізка лінії між кінцевими точками, ніж C_1, ви можете виявити, що розщеплення на один з 1/3 або 2/3 дає більш жорсткі межі. Я не працював над алгеброю, щоб виправдати, що було б краще, але ви можете експериментувати і звітувати, якщо хочете. Якщо нічого іншого, я хотів зазначити, що варіант є.