का उपयोग करके लंबाई खंडों में भी वक्र को दोहराएं सी ++ का उपयोग करके लंबाई खंडों में वक्र को फिर से बदलने का सबसे अच्छा तरीका क्या होगा? मेरे पास जो बिंदु है वह एक 2 डी वक्र का प्रतिनिधित्व करता है जो बिंदुओं का एक सेट है। नीचे दिए गए मेरे उदाहरण में मेरे पास एक्स और वाई घटकों के साथ एक बिंदु संरचना है और परीक्षण पदों वाले बिंदुओं का वेक्टर है। अंक की प्रत्येक जोड़ी वक्र पर एक सेगमेंट का प्रतिनिधित्व करती है। उदाहरण अनुकरण घटता नीचे दी गई छवियां हैं। रेड सर्किल मूल स्थिति हैं जो अनुकरण के बाद हरी मंडल लक्ष्य स्थितियां हैं।सी ++
struct Point
{
float x, y;
};
std::vector<Point> Points;
int numPoints = 5;
float positions[] = {
0.0350462, -0.0589667,
0.0688311, 0.240896,
0.067369, 0.557199,
-0.024258, 0.715255,
0.0533231, 0.948694,
};
// Add points
int offset = 2;
for (int i =0; i < numPoints; i++)
{
offset = i * 2;
Point pt;
pt.x = positions[offset];
pt.y = positions[offset+1];
Points.push_back(pt);
}
उस इंटरपोलेशन को करने का सबसे अच्छा तरीका आपके डेटा की प्रकृति पर निर्भर करता है और आपको कितना सटीक होना चाहिए। मैं googling रैखिक और spline interpolations द्वारा शुरू करने के लिए शुरू करना होगा यह देखने के लिए कि क्या वे आपको क्या करना होगा। – RyanP
इस विषय को जानने के लिए आप कंप्यूटर ग्राफिक्स पर कौन सी पुस्तक का उपयोग कर रहे हैं? –
यदि मैं किनारे से पुन: नमूना करता हूं तो वर्तमान बिंदु से अगले स्थान पर विस्थापित या लापरवाही करना काफी आसान है। जो मैं समझ नहीं पा रहा हूं वह पूरे वक्र के लिए कर रहा है। – sabotage3d