लाइन आप हो रही है तीन अलग बेज़ियर घटता का मिलन है: यहां 3 बड़ा (नोड्स) और 7 छोटे अंडाकार (है मेरी अंक)) है। (प्रत्येक "बेजियर सेगमेंट" के लिए एक?)
यदि आप एक चिकनी वक्र चाहते हैं, तो आपको अंक (एकल "बेजियर सेगमेंट") के एक संग्रह के रूप में अपने 9 (या अधिक) अंक पारित करने की आवश्यकता है, जैसा कि नहीं तीन बिंदुओं के समूह।
संपादित करें: स्पष्ट रूप से BezierSegment
केवल तीन अंक का समर्थन करता है, इसलिए कोई आश्चर्य नहीं कि यह काम नहीं करता है। यहां तक कि 'PolyBezierSegment' सिर्फ एक चिकनी बेजियर की बजाय बेजियर सेगमेंट का संग्रह देता है ...
इसलिए डब्ल्यूपीएफ आपको कुछ भी उपयोगी नहीं देता है, इसलिए मैंने गणित here का उपयोग करके कुछ मिलकर खटखटाया। यह एक संख्यात्मक समाधान है, लेकिन यह बहुत पर्याप्त अंक अच्छे लग रहे हैं और सम करने के लिए भी साथ performant हो रहा है:
PolyLineSegment GetBezierApproximation(Point[] controlPoints, int outputSegmentCount)
{
Point[] points = new Point[outputSegmentCount + 1];
for (int i = 0; i <= outputSegmentCount; i++)
{
double t = (double)i/outputSegmentCount;
points[i] = GetBezierPoint(t, controlPoints, 0, controlPoints.Length);
}
return new PolyLineSegment(points, true);
}
Point GetBezierPoint(double t, Point[] controlPoints, int index, int count)
{
if (count == 1)
return controlPoints[index];
var P0 = GetBezierPoint(t, controlPoints, index, count - 1);
var P1 = GetBezierPoint(t, controlPoints, index + 1, count - 1);
return new Point((1 - t) * P0.X + t * P1.X, (1 - t) * P0.Y + t * P1.Y);
}
इस का उपयोग करना,
private void Grid_Loaded(object sender, RoutedEventArgs e)
{
Point[] points = new[] {
new Point(0, 200),
new Point(0, 0),
new Point(300, 0),
new Point(350, 200),
new Point(400, 0)
};
var b = GetBezierApproximation(points, 256);
PathFigure pf = new PathFigure(b.Points[0], new[] { b }, false);
PathFigureCollection pfc = new PathFigureCollection();
pfc.Add(pf);
var pge = new PathGeometry();
pge.Figures = pfc;
Path p = new Path();
p.Data = pge;
p.Stroke = new SolidColorBrush(Color.FromRgb(255, 0, 0));
((Grid)sender).Children.Add(p);
}

मुझे लगता है कि यह आंकड़ा रखना स्वाभाविक है, क्या आप वांछित वक्र के साथ एक लिंक पोस्ट कर सकते हैं? –
या, शायद, आप 7 नियंत्रण बिंदुओं वाला एक सेगमेंट बनाना चाहते हैं? –