यह @ bmmzack के उत्तर पर टिप्पणी पर एक टिप्पणी के रूप में शुरू हुआ, लेकिन बहुत लंबा हो गया।
मैं यह निर्धारित कर सकता हूं कि मेरे पास कितने सेगमेंट होने चाहिए
दो दृष्टिकोण हैं। बैजियर वक्र प्रदान करने के लिए पहला मानक एल्गोरिथ्म है: नियंत्रण बिंदु वक्र का एक बाउंडिंग बॉक्स बनाते हैं, इसलिए यदि नियंत्रण बिंदु के सभी प्रारंभ बिंदु से लाइन सेगमेंट के एप्सिलॉन के भीतर हैं, तो आप बिंदु को एक रेखा के रूप में अनुमानित करते हैं; अन्यथा आप de Casteljau के एल्गोरिथ्म का उपयोग करके उपविभाजित करते हैं। एप्सिलॉन को उस त्रुटि के अनुसार चुना जाता है जिसे आप अंतिम परिणाम में चाहते हैं। (प्रतिपादन के लिए यह आमतौर पर 0.5 पिक्सेल है)।
अन्य दृष्टिकोण है कि अंतराल अंकगणित का उपयोग कर के एक शोधन। निचली सीमा के रूप में शुरू से अंत तक लाइन की लंबाई लें, और ऊपरी बिंदु के रूप में नियंत्रण बिंदुओं के माध्यम से लाइनों की लंबाई का योग। फिर, अपनी अंतिम त्रुटि आवश्यकताओं के अनुसार आवश्यकतानुसार उपविभाजित करें।
एक सामान्य रूप से t = 0.5 पर उपविभाजित होता है, लेकिन de Casteljau का एल्गोरिथ्म किसी भी बिंदु पर विभाजन की अनुमति देता है, इसलिए यदि आपके पास नियंत्रण बिंदु C_3 से C_3 तक घन Bzzier है और C_2 की तुलना में समापन बिंदुओं के बीच लाइन खंड बहुत निकट है तो आप पा सकते हैं कि विभाजन 1/3 या 2/3 में से एक तंग सीमा देता है। मैंने बीजगणित के माध्यम से यह साबित करने के लिए काम नहीं किया है कि कौन सा बेहतर होगा, लेकिन आप प्रयोग कर सकते हैं और यदि चाहें तो वापस रिपोर्ट कर सकते हैं। अगर और कुछ नहीं, मैं यह बताना चाहता था कि विकल्प है।