mdsk.net
当前位置:首页 >> 求mAtlAB编程..求三维坐标地形图两点间的最短路径.... >>

求mAtlAB编程..求三维坐标地形图两点间的最短路径....

直角线最短

给定两点结合原曲面确定最短路径函数表达式 y=f(x),利用积分求得距离.这个是数学卷子的解法.for连接两点求得中位点,做垂线求得与曲面交点,求得交点与原始两点距离.end这个是计算弧长最straight forward的方法,计算量略大,不过用MATLAB无所谓了.set delta=最小距离;两点间直线函数 y''=f(x'')for x1 追问: 谢谢!这个曲面是类地形图,无法拟合出具体函数,你的做法好像看不太懂呢,两点的路径是指的曲面上的路径. 评论0 0 0

function [L,Z]=dijkstra(W,S,T) %用 Dijkstra 算法求最短路径% 算法% 1. 对每个点I指定一个离点S的距离初始值L(I). 在始点S的值为零, 即L(S)=0,其它点的值为Inf. % 2. 所有的点标记为未走访的. 置始点S为当前点C. % 3. 对于当前点C, 考虑它的

图论问题.最短路径问题.基本方法有迪杰斯特拉算法和弗洛伊德算法.我更喜欢弗洛伊德算法.但是我希望你能自己查阅资料来写.我希望帮你改程序,而非写程序.如果实在不会再向我追问.给你个思路function fun(vi,vj)if vi==vjreturn 0;else取vi每一个临近点vt return min(fun(vt,vj)+vt和vj的权值end

据Drew所知最短路经算法现在重要的应用有计算机网络路由算法,机器人探路,交通路线导航,人工智能,游戏设计等等.美国火星探测器核心的寻路算法就是采用的D*(DStar)算法.最短路经计算分静态最短路计算和动态最短路计算.静态路

我靠,任意两点间的距离吧

迪杰斯特拉 像这样: for(int i=1;i<=n;i++) if (!in[i]&&d[minn]+dist[minn][i]<d[i]) { d[i]=d[minn]+dist[minn][i]; path[i]=minn; } minn是一开始算出来距离最近的点,d为到各点的距离,dist[i][j]指的是第i个到第j个点之间的距离.一开始初始path[i]=i; 最后调用函数 void printpath(int x) { if (x!=path[x]) printpath(path[x]) pritnf("%d ",x); } 有不懂还可以问

function preorder($root) configure:3438: $? = 0 configure:3427: gcc -v >&5 Using built-in specs.Target: i686-apple-darwin11 Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~182/src/configure --disable-checking --enable-werror --

大概理解你的意思~~举例说明如下:A = [ 1:3 ; 2:4 ]; %每个列向量为一个点,A有3个点,(1,2),(2,3),(3,4) B = [ -4:-1 ; 0:3 ]; %B有4个点 [mA,nA] = size(A); [mB,nB] = size(B); for i = 1:nA for j = 1:nB D(i,j) = sqrt( sum((A(:,i)-B(:,j)).^2) ); %计算A与

把三维图展开成二维图,俩点之间一连线,就是了.

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com