java 曲线插值_插值R中的路径/曲线

在R中,我想插入一个内插点之间距离恒定的任意路径 .

测试数据看起来像这样:

require("rgdal", quietly = TRUE)

require("ggplot2", quietly = TRUE)

r

coords

names(coords)

print(coords)

x y

-0.44409 0.551159

-1.06217 0.563326

-1.09867 0.310255

-1.09623 -0.273754

-0.67283 -0.392990

-0.03772 -0.273754

0.63633 -0.015817

0.86506 0.473291

1.31037 0.998899

1.43934 0.933198

1.46854 0.461124

1.39311 0.006083

1.40284 -0.278621

1.54397 -0.271321

p.orig

geom_point(colour = "yellow")

print(p.orig)

b2ed83bdb0351504fb0bb066e868abf4.png

我尝试了不同的方法,但没有一个真正令人满意:

aspline (akima-package)

approx

bezierCurve

与 tourr -package我无法入手

aspline

来自akima-package的 aspline 在处理任意路径时会做一些奇怪的事情:

plotInt

data = coords) + geom_point(aes(x = x, y = y), data = coords))

N

require("akima", quietly = TRUE)

xy.int.ak

plotInt(xy.int.ak)

c09683c1b11c8d61fd32ee1f86ce7f6b.png

xy.int.ax

y = approx(y, n = N)$y)))

plotInt(xy.int.ax)

282c7f2f3a47f91c41fc0d6ac7a73e6f.png

乍一看, approx 看起来很漂亮;然而,用真实数据测试它会让我对插值点之间的距离产生问题 . 平滑的三次插值也是一件好事 .

bezier

另一种方法是使用 bezier-curves ;我使用了以下implementation

source("bez.R")

xy.int.bz

plotInt(xy.int.bz)

bb628ac92697e629a06b43b33e7a824d.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值