> 数学 >
三维点最短路径寻路算法求助
在一个三维空间中有若干个点,需要计算从点A(X1,Y1,Z1)出发以每次步长不超过L经过若干个中途点,前进到目的地B(X2,Y2,Z2)点的最短路径.最好用VB,我只有50分,全给了.
人气:176 ℃ 时间:2020-06-28 22:47:40
解答
题目描述得不够清楚啊,若干个点就是能作为中途点的那些点么?
如果所有的点都能作为中途点,当然走直径,直接走A到B的直线.
否则,如果只有几个,只能用启发式或者广度搜索吧,因为还有可能根本就没有解.
如果中途点不多的话,可以直接从A出发,计算不超过L距离的那些中途点,然后以那些中途点为出发点,继续计算不超过L距离的点(走过的点就不计入),直到遇到B为止.这种方法就是广度搜索,在同一层距离最短的则为最短路径.
如果中途点过多,无法这样计算的话,限定范围.
推荐
猜你喜欢
© 2025 79432.Com All Rights Reserved.
电脑版|手机版