Ini dimulai sebagai komentar pada komentar pada jawaban @ bummzack, tetapi tumbuh terlalu lama.
bagaimana saya bisa menentukan berapa banyak segmen yang harus saya miliki
Ada dua pendekatan. Yang pertama hanyalah algoritma standar untuk merender kurva Bézier: titik kontrol membentuk kotak pembatas kurva, jadi jika semua titik kontrol berada dalam epsilon segmen garis dari titik awal ke titik akhir Anda kira-kira sebagai garis; jika tidak, Anda membagi menggunakan algoritma de Casteljau. Epsilon dipilih sesuai dengan kesalahan yang Anda inginkan pada hasil akhir. (Untuk rendering biasanya 0,5 piksel).
Pendekatan lain adalah penyempurnaan yang menggunakan aritmatika interval. Ambil panjang garis dari awal hingga akhir sebagai batas bawah, dan jumlah panjang garis melalui titik kontrol sebagai batas atas. Sekali lagi, bagi lagi seperti yang dipersyaratkan oleh persyaratan kesalahan akhir Anda.
Satu biasanya dibagi lagi pada t = 0,5, tetapi algoritma de Casteljau memungkinkan pemisahan pada titik mana pun, jadi jika Anda memiliki Bézier kubik dengan titik kontrol C_0 hingga C_3 dan C_2 jauh lebih dekat dengan segmen garis antara titik akhir daripada C_1 Anda mungkin menemukan pemisahan itu pada satu dari 1/3 atau 2/3 memberikan batasan yang lebih ketat. Saya belum bekerja melalui aljabar untuk membenarkan mana yang lebih baik, tetapi Anda dapat melakukan percobaan dan melaporkan kembali jika Anda mau. Jika tidak ada yang lain, saya ingin menunjukkan bahwa opsi ada di sana.