读书人

100分求个算法。多谢

发布时间: 2012-02-12 17:16:33 作者: rapoo

100分求个算法。谢谢!
假设采用三维坐标系模拟地表,已知了很多地表点的(x,y,z)坐标值,求一个算法:
要求对于地表上的任意一点的二维坐标(x,y),求得其z值(即是水平高度),
要求算法精度不要太低。

[解决办法]
算法其实就是可以简化成用什么样的曲面来模拟地表,这样你就可以做参数拟合了

个人觉得你可以用z=f(x,y) = ax^2 +bxy+cy^2+dx+ey+f来进行参数拟合,对采样点周围的点利用最小二乘法进行参数估计,我能想到的就这么多了

地表是很复杂的,我估计没有少“高精度”的估计算法,所有的算法都应该是基于上面的思路,只是拟合的方程不一样而已


[解决办法]
先用二维平面操作
1、在已知点中找一个包含目标点 D 的最小三角形 △ABC
2、在 △ABC 上作一条与 AB 平行并且经过 D 的线,分别与 AC、BC 相交与 A'、B'
在三维空间中
用线段 AC 可求得线段上 A' 的 z 坐标,同样可用 BC 求 B',最后用 A'B' 求 D。
[解决办法]
找到最近的2个点,(x1,y1) (x2,y2) 距离分别是d1,d2
按照梯形求比例就可以

x1,y1
|\
| \x,y
| |\
| | \
| | |x2,y2
| | |
| | |
______

d1 d2
[解决办法]
数值计算方法,我没有学好,matlab 也是,
唉,后悔没有打好计算机应用数学基础

读书人网 >软件架构设计

热点推荐