Tag: bezier

二次贝塞尔曲线:给定X的Y坐标?

我有一个二次贝塞尔曲线,我需要给定X坐标的贝塞尔曲线上一个点的Y坐标。 我知道在纯数学中这可以很容易地完成,但我想知道在C#/ WPF中有一个简单/另一种方式吗? 是否有可能获得C#/ WPF用于绘制贝塞尔曲线的单点,然后可能只是循环它们并将每个点的X坐标与给定的X坐标进行比较? 顺便说一句,通过数学方法,知道贝塞尔曲线的参数t的哪一步被C#/ WPF选择了? 有机会找到这个吗? 可能t只是通过/步骤缩放为t是1 /(P0和P2的距离)? 非常感谢您的任何提示!

Cubic Bezier反向GetPoint方程:float for Vector Vector for float

鉴于结果值和四点,是否有可能获得浮动? 如果是这样,怎么样? public static Vector3 GetPoint (Vector3 p0, Vector3 p1, Vector3 p2, Vector3 p3, float t) { t = Mathf.Clamp01(t); float oneMinusT = 1f – t; return oneMinusT * oneMinusT * oneMinusT * p0 + 3f * oneMinusT * oneMinusT * t * p1 + 3f * oneMinusT * t * t * p2 + […]

如何通过几点绘制贝塞尔曲线?

我有几点,我尝试使用下面的代码绘制贝塞尔曲线 PathFigure pf = new PathFigure(points.From, ps, false); //ps – list of Bezier segments 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(244, 111, 011)); 我的Bezier部分看起来像这样 1,2,3分 – 第一节 3,4,5分 – 秒 5,6,7 .. .. 但我得到了这个奇怪的曲线(这里是3个大(节点)和7个小椭圆(是我的点)):

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

我一直在努力寻找一种可以理解的方法来做到这一点。 我有四个点,一个StartPt,EndPoint和Intersection点来表示贝塞尔曲线中的峰值和谷值。 C#中的BezierSegment需要start,controlPoint 1,controlPoint 2,endpoint – 但是我没有任何控制点我只有这两个点位于bezier曲线上(我称之为上面的交点)…我可以计算出两个控制点吗? 在此先感谢,这一直让我发疯。 这里有一些解释: http : //www.tinaja.com/glib/nubz4pts1.pdf,但它是用postscript写的,而且这种语言对我来说毫无意义 – 这是我的头脑。

平滑手绘曲线

我有一个允许用户绘制曲线的程序。 但是这些曲线看起来不太好 – 它们看起来摇摇晃晃,手绘。 所以我想要一种能够自动平滑它们的算法。 我知道平滑过程中存在固有的模糊性,因此每次都不会是完美的,但是这些算法确实存在于几个绘图包中并且它们工作得很好。 是否有类似这样的代码示例? C#会很完美,但我可以翻译其他语言。