NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 15869|回复: 6
打印 上一主题 下一主题

[VB & C#] 嘗試在GH 裡用使用C#找出最短的路徑

[复制链接]
跳转到指定楼层
1m
发表于 2013-2-19 22:54:43 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
流程步驟 :

1.散佈隨機點在範圍內,
   設index 0 為起始點,
   用index 0 去跟除了自己的點搜尋,找到最近距離,並抽取最近點的index
   把 "起始點(initial Point)" 與 "最近點(closest Point)"連線
注意: 比較距離時,當前點不用與自身相比較,因為與自身比較出來的數值一定是0,也是最小,沒意義。


2. 使用"最近點(closest Point)"搜尋最近點,並連線,找到"下個點(next Point)"
注意: 比較距離時,也不用與使用過的點作比較,因為目的是把最近點找出並當成下條連線的起點。例如: 如圖所示index 0 找到最近點 index 9 ,如果index 9 又與除了自身的其他點比較,將會找到 index0,沒意義。

3. 替換"下個點(next Point)" 當成 "最近點(closest Point)",目的是把"下個點(next Point)"
    做為下次連線的起點

4. 重複1-3步驟,完成最近距離連線

問題 :


在把使用過的index value 取出作檢查時,程式出現問題"索引超出範圍",希望哪位牛哥妙麗可以幫在下解決一下問題!!! 感激不盡。


檔案下載: the closest point problem.gh (4.15 KB, 下载次数: 46)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享
7m
发表于 2013-7-21 18:06:00 | 只看该作者
不懂c#,不过用过shortestwalk这个gh的插件,可以解决类似arcmap的最小路径生成问题。
6m
发表于 2013-7-5 19:31:28 | 只看该作者
5m
发表于 2013-2-22 17:34:24 | 只看该作者
有点意思。。。。。。。。。。。。。
4m
发表于 2013-2-20 20:56:48 | 只看该作者
是没看明白目的,0到8之间最短路径不是直接连直线么?
3m
发表于 2013-2-20 12:34:00 | 只看该作者
不知道楼主做这个的目的是什么,其实楼主现在随机布的点有很大的巧合性,如果在某些位置增加几个点,按照楼主的逻辑最后会形成自交叉的pl,我觉得自交叉是不是楼主不希望出现的情况?
2m
 楼主| 发表于 2013-2-19 22:55:20 | 只看该作者
抱歉了,剛上手,有些問題需要高手幫幫忙!

小黑屋|手机版|NCF参数化建筑论坛 ( 浙ICP备2020044100号-2 )    辽公网安备21021102000973号

GMT+8, 2024-11-26 16:21 , Processed in 0.096169 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表