社区
图形处理/算法
帖子详情
如何根据若干点绘制平滑的曲线
youfeng888
2013-12-13 02:46:13
描述:已知10个点,根据10个点采用一定的算法拟合了一条曲线。
然后再取x值若干个,得到对应的点(x0, y0), (x1,y1),....(xn, yn)
x是逐渐增大的,y逐渐增大或逐渐减小的。
如何由这些点绘制平滑的曲线呢?
我绘制的曲线不平滑,x轴采用了对数坐标,没段的比例不一致,分别为10倍关系。
我采用了贝塞尔曲线来绘制结果效果不理想,尤其是在x轴每段的分界的地方有突变,原因是后面一段x取值必然比前一段大导致。
大家可有更好的办法,绘制相对平滑的曲线!!!
...全文
1112
13
打赏
收藏
如何根据若干点绘制平滑的曲线
描述:已知10个点,根据10个点采用一定的算法拟合了一条曲线。 然后再取x值若干个,得到对应的点(x0, y0), (x1,y1),....(xn, yn) x是逐渐增大的,y逐渐增大或逐渐减小的。 如何由这些点绘制平滑的曲线呢? 我绘制的曲线不平滑,x轴采用了对数坐标,没段的比例不一致,分别为10倍关系。 我采用了贝塞尔曲线来绘制结果效果不理想,尤其是在x轴每段的分界的地方有突变,原因是后面一段x取值必然比前一段大导致。 大家可有更好的办法,绘制相对平滑的曲线!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
youfeng888
2013-12-21
打赏
举报
回复
解决了:问题时对数坐标造成的,后来取自变量时,需要将自变量转化为相对于坐标原点的垂直距离。 例如:刻度【f0, fn】, 在这之间取fi, 我们可以求出xi, 方法如下: xi = (xn-x0)* log(fi/f0)/log(fn/f0) + x0; 其中: x0为f0对应的x坐标, xn为fn对应的x坐标 前天:x 轴采用的是对数坐标,例如:第一个刻度为1,则第二个刻度为10, 第三个刻度为100,依此规律即可。
sichuanwww
2013-12-19
打赏
举报
回复
excel里居然绘制得很平滑。
相信大公司的集体力量。
xiaohuh421
2013-12-19
打赏
举报
回复
要平滑需要作中间处理的, 阴影,虚化这些.
challengerhawk
2013-12-19
打赏
举报
回复
自己估计曲线模型,设参数求解曲线方程,然后画出来,灰常准确的呢
zhoujk
2013-12-19
打赏
举报
回复
1-10之间的跨度为1,10-100之间的跨度为10,你应该这么做,每一级都是对数递增
youfeng888
2013-12-19
打赏
举报
回复
还是对数坐标出的问题。摸索中。谢谢大家关注啦。
baita96
2013-12-18
打赏
举报
回复
如果用GDI+的DrawCurve,直接就平滑了。GDI的PolyLine不行。
youfeng888
2013-12-16
打赏
举报
回复
是的,是的。但是excel里居然绘制得很平滑。
zhoujk
2013-12-15
打赏
举报
回复
可能是对数坐标导致这个问题,你放到普通坐标里试一下先
youfeng888
2013-12-13
打赏
举报
回复
主要是因为x轴采用对数坐标,每段之间交接的地方存在问题。
lj8001
2013-12-13
打赏
举报
回复
图形学有求导算法的 PolyBezier不能通过点
worldy
2013-12-13
打赏
举报
回复
使用PolyBezier函数
youfeng888
2013-12-13
打赏
举报
回复
如果X轴只有一段,那显然符合规律,曲线绘制挺好的。
Android过
若干点
绘制
平滑
曲线
.zip
通过贝塞尔
曲线
,过
若干点
绘制
平滑
曲线
最小二乘法
曲线
拟合(源码)
网上搜集的最小二乘法
曲线
拟合演示程序,和对任意
若干点
进行
曲线
拟合,可选择拟合多项式次数 网上搜集的最小二乘法
曲线
拟合演示程序,和对任意
若干点
进行
曲线
拟合,可选择拟合多项式次数
【高级UI】【010】使用贝塞尔
曲线
,
绘制
经过若干固定点的
平滑
曲线
前言 前篇我们已经见过贝塞尔
曲线
的功能,原理,公式,和推导过程 这节课我们来讲实际应用:如何通过贝塞尔
曲线
,
绘制
经过若干固定点的
平滑
曲线
在上节课中,我们已经可以根据起点,终点,控制点,
绘制
出贝塞尔
曲线
但在实际应用中,我们知道的往往不是控制点,而是
曲线
经过的点 所以现在最重要的问题就是,如何根据贝塞尔
曲线
上的
若干点
,找到相应的控制点 只要能找到控制点,我们根据上节中的公式去
绘制
就可以了 确定贝塞尔
曲线
的控制点 ...
通过多点
平滑
曲线
的实现
通过多点
平滑
曲线
的实现通过多点
平滑
曲线
的实现1 在连续两点之间使用三次贝塞尔
曲线
来
绘制
.2 为了保证两段贝塞尔之间的圆滑,连接点对应的两个控制点与
曲线
相切. 通过多点
平滑
曲线
的实现 大家都知道使用贝塞尔
曲线
算法来画
曲线
,但是如果想经过特定的一系列点来画
曲线
,只使用普通的贝塞尔算法就不够用了. 通过参考网上文章:https://www.jianshu.com/p/64305821087a 确定了实现方法要点: 1 在连续两点之间使用三次贝塞尔
曲线
来
绘制
. 2 为
使用Canvas
绘制
贝塞尔
曲线
在HTML5中,我们可以使用Canvas元素和JavaScript来
绘制
贝塞尔
曲线
。方法
绘制
三次贝塞尔
曲线
,该方法接受五个参数:前两个参数是第一个控制点的坐标,中间两个参数是第二个控制点的坐标,最后两个参数是
曲线
的终点坐标。方法
绘制
二次贝塞尔
曲线
,该方法接受三个参数:第一个参数是控制点的x坐标,第二个参数是控制点的y坐标,第三个参数是
曲线
的终点坐标。通过使用Canvas和JavaScript,我们可以轻松地
绘制
贝塞尔
曲线
。首先,我们需要在HTML文档中创建一个Canvas元素,以便我们可以在其中
绘制
图形。
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章