乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 149|回复: 4

如何分割一个选择集

[复制链接]

3

主题

13

帖子

1

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-27 21:56:00 | 显示全部楼层 |阅读模式
写了一个管道穿墙位置标记的程序
为了找到所有穿墙位置,就只能一个管道图元遍历所有墙体,判断是否相交。
如果有10000个管道图元和10000个墙体图元,那时间复杂度得10000*10000,一晚上都遍历不完。
所以为了降低时间复杂度,希望能将选择集自动切分
每个小选择集内只有比如管道和墙体图元各两个,这样时间复杂度就只有2*2×5000,大大降低了时间复杂度。
不知道有没有大佬能提供一下思路

1uzdfel2dlo.png

1uzdfel2dlo.png


i2xq50pdswv.jpg

i2xq50pdswv.jpg


回复

使用道具 举报

61

主题

718

帖子

13

银币

中流砥柱

Rank: 25

铜币
960
发表于 2022-7-27 22:23:00 | 显示全部楼层

不管怎么搞,遍历每个管道图元是必须的
个人意见,先只针对管道搞一个选择集,
对它的每个图元取出坐标进行ssget"F"对墙体进行选择,正常情况下可以直接得到管道穿越墙体的顺序及穿越位置
回复

使用道具 举报

3

主题

13

帖子

1

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-27 23:25:00 | 显示全部楼层

哦,对哦。用F关键字可以求相交选择集。是一个很好的思路。
遍历每个管道图元确实是必须的,但某个管道图元跟某个墙体图元隔得特别远就没有必要去判断相交了。所以希望切分成一小块一小块的选择集,这样管道和墙体都在一个较小区域内,相交可能性更高。可以减少不必要的计算。可能还是很难实现吧。
谢谢你提供的思路,也可以解决很大的问题
回复

使用道具 举报

33

主题

357

帖子

36

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
487
发表于 2022-7-28 15:21:00 | 显示全部楼层
一个根管道作一次ssget f,选择集里面就有交点坐标(管道首先碰到那个墙体的坐标)
回复

使用道具 举报

21

主题

356

帖子

1060

银币

管理员

Rank: 25

铜币
525
发表于 2022-8-2 17:22:25 | 显示全部楼层
你这不是扯淡呢,简单事情复杂化。直接用浩辰CAD-暖通。浩辰CAD-给排水。这些都是全自动的
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-4 01:52 , Processed in 0.355165 second(s), 65 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表