xy 座標のシーケンスを通過するベジエのようなスプライン曲線を計算しようとしています。例はcscvn
、Matlab の関数からの次の出力のようになります ( example link )。
(もうメンテナンスされていない)grid
パッケージがこれを行うために使用されていたと思います ( grid.xspline
function?) が、アーカイブされたバージョンのパッケージをインストールできず、私が望むものと正確に一致する例が見つかりません.
パッケージも有望に見えますが、bezier
非常に遅く、完全に理解できません。
library(bezier)
set.seed(1)
n <- 10
x <- runif(n)
y <- runif(n)
p <- cbind(x,y)
xlim <- c(min(x) - 0.1*diff(range(x)), c(max(x) + 0.1*diff(range(x))))
ylim <- c(min(y) - 0.1*diff(range(y)), c(max(y) + 0.1*diff(range(y))))
plot(p, xlim=xlim, ylim=ylim)
text(p, labels=seq(n), pos=3)
bp <- pointsOnBezier(cbind(x,y), n=100)
lines(bp$points)
arrows(bp$points[nrow(bp$points)-1,1], bp$points[nrow(bp$points)-1,2],
bp$points[nrow(bp$points),1], bp$points[nrow(bp$points),2]
)
ご覧のとおり、終了値以外のポイントを通過していません。
ここでいくつかのガイダンスをいただければ幸いです。