相关疑难解决方法(0)

如何在C#中找到开始,结束和2个交叉点的BezierSegment的控制点 - AKA Cubic Bezier 4点插值

我一直在努力寻找一种可以理解的方法来做到这一点.我有四个点,一个StartPt,EndPoint和Intersection点来表示贝塞尔曲线中的峰值和谷值.

C#中的BezierSegment需要start,controlPoint 1,controlPoint 2,endpoint - 但是我没有任何控制点我只有这两个点位于贝塞尔曲线上(我称之为上面的交点)...我可以计算出两个控制点吗?

在此先感谢,这一直让我发疯.

这里有一些解释:http://www.tinaja.com/glib/nubz4pts1.pdf,但它是用postscript写的,而且这种语言对我来说毫无意义 - 这是我的头脑.

c# wpf bezier

16
推荐指数
1
解决办法
1万
查看次数

如何获得最接近给定点的三次贝塞尔曲线?

给出n分:

p0,p1,p2,...,pn;

如何得到点c1,c2以便定义的三次贝塞尔曲线

p0,c1,c2,pn

最接近给定点?

我试过最小二乘法.我在http://www.mathworks.com/matlabcentral/fileexchange/15542-cubic-bezier-least-square-fitting上阅读pdf文档后写了这篇文章.但我找不到一个好的t(i)功能.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;

namespace BezierFitting
{
    class CubicBezierFittingCalculator
    {
        private List<Point> data;

        public CubicBezierFittingCalculator(List<Point> data)
        {
            this.data = data;
        }

        private double t(int i)
        {
            return (double)(i - 1) / (data.Count - 1);
            // double s = 0.0, d = 0.0;
            // 
            // for (int j = 1; j < data.Count; j++)
            // {
            //     if (j < i)
            //     {
            //         s += (data[j] - data[j …
Run Code Online (Sandbox Code Playgroud)

c# algorithm math bezier curve-fitting

15
推荐指数
2
解决办法
8636
查看次数

标签 统计

bezier ×2

c# ×2

algorithm ×1

curve-fitting ×1

math ×1

wpf ×1