【发布时间】:2016-08-23 06:57:40
【问题描述】:
我在空间中的 3D 点集(或点云)中拟合曲线时遇到问题。当我查看曲线拟合工具时,它们大多在给定点集 [x,y,z] 时创建一个曲面。但这不是我想要的。我想拟合点集曲线而不是曲面。
所以请帮助我在空间(3D)中拟合曲线的最佳解决方案是什么。
特别是,我的数据看起来像 3d 中的多项式曲线。
等式是
z ~ ax^2 + bxy + cy^2 + d
并且没有任何预先估计的系数 [a,b,c,d]。
谢谢。
xyz <- read.table( text="x y z
518315,750 4328698,260 101,139
518315,429 4328699,830 101,120
518315,570 4328700,659 101,139
518315,350 4328702,050 101,180
518315,3894328702,849 101,190
518315,239 4328704,020 101,430", header=TRUE, dec=",")
【问题讨论】:
-
我认为您需要定义不是曲面的“#D 点集曲线”的含义。鉴于缺乏任何数据,实际上还没有什么可做的。
-
这是一种多元回归线,但我无法为我的函数实现 R 和 matlab 线性模型。
-
我不明白这个问题。您提供的方程式描述了一个表面。使用
lm(z ~ I(x^2) + x:y + I(y^2), data = yourdata)拟合参数很容易,但只要您不对x和y施加任何约束,它仍然是一个表面。 -
也许您的意思是将数据拟合到一维流形(有时称为“空间曲线”?通过正确的转换,可以在 3 空间中排列。
标签: r matlab 3d curve-fitting curve