c# - 计算贝塞尔曲线的中点

标签 c# wpf point bezier

我有一个通过三个点绘制贝塞尔曲线的函数。我已经有 2 个点(开始和结束)- A 和 B。我如何计算这两点之间的中点,因为中点总是比这两个点的线性函数高一点或低一点。

示例:

enter image description here

任何公式,想法都会很棒!

最佳答案

我想这就是您要找的:

http://blog.sklambert.com/finding-the-control-points-of-a-bezier-curve/

它详细介绍了计算贝塞尔曲线上的各个点。

您可能还对这个更具体的应用示例感兴趣:

http://www.codeproject.com/Articles/223159/Midpoint-Algorithm-Divide-and-Conquer-Method-for-D

如果你真的想进入它,那么我建议这个入门:

http://pomax.github.io/bezierinfo/

贝塞尔曲线比简单的弧线要复杂一些。对于圆弧,你可以只使用这个公式:

R = H/2 + W^2/8H

...这绝对不适用于贝塞尔曲线。例如,在二次贝塞尔曲线上,要计算一个点,您必须使用:

enter image description here

来源:http://en.wikipedia.org/wiki/B%C3%A9zier_curve , Quadratic Bezier Curve: Calculate Point

关于c# - 计算贝塞尔曲线的中点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23596802/

相关文章:

c# - TSQL - 从具有多个连接路径的表中选择

c# - .net 中的线程

c# - 如何使用具有相同契约(Contract)和绑定(bind)的动态端点创建多个 wcf 服务实例而不保存在 app.config 中?

java - 将点转换为按钮

line - 一条直线上两点之间的postgis距离

c# - 为什么 ListView 的 OnDrawItem 事件不影响设计时环境?

c# - 如何使用 GetFiles() 搜索包含 doc 文件但排除 docx 文件?

c# - BitmapSource 和 Bitmap 之间有什么好的转换方法吗?

wpf - 具有多个子项的层次树

ios - [iOS][Objective-C] 预期类型