社区
数据结构与算法
帖子详情
找到平面内离某点最近的一个点,有什么好的算法?
fightclub131
2009-11-01 09:15:19
鼠标在移动
然后要找到鼠标所坐在位置附近最近的一个点,并显示出来
现在很多程序中有用到这个功能吧 没什么经验 不知道怎么实现效率高点
我点倒是不多只有300多个 现在是穷搜的 然后鼠标移动是每隔100ms重新计算一次
...全文
959
13
打赏
收藏
找到平面内离某点最近的一个点,有什么好的算法?
鼠标在移动 然后要找到鼠标所坐在位置附近最近的一个点,并显示出来 现在很多程序中有用到这个功能吧 没什么经验 不知道怎么实现效率高点 我点倒是不多只有300多个 现在是穷搜的 然后鼠标移动是每隔100ms重新计算一次
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
donkey301
2009-11-03
打赏
举报
回复
查到了一点知识:
http://zh.wikipedia.org/wiki/%E6%9C%80%E9%82%BB%E8%BF%91%E6%90%9C%E7%B4%A2
11楼说的rtree就是空间分割的一种方法。
看了一下kd树,还是很简单的,这儿有它的介绍:
http://books.google.cn/books?id=flxb6SzrOlgC&pg=PA386&dq=The+Design+of+Dynamic+Data+Structures#PPA113,M1
不过我很想知道那些商用建模工具是如何来实现这个问题的,如果谁知道的话请告知一声。
zeroieme
2009-11-02
打赏
举报
回复
300个点预先分格子、按坐标建索引,这样就只对比鼠标所在附近3、4个点上。
donkey301
2009-11-02
打赏
举报
回复
[Quote=引用 8 楼 zeroieme 的回复:]
300个点预先分格子、按坐标建索引,这样就只对比鼠标所在附近3、4个点上。
[/Quote]
问一下,一些成熟的三维建模软件譬如AutoCAD,SolidWorks,Pro/E,是这么做的吗?
bigc2000
2009-11-02
打赏
举报
回复
四叉树就行,平不平衡,问题不大,
如果点分布实在不均匀,那就平衡下。。。
绿色夹克衫
2009-11-02
打赏
举报
回复
印象中rtree是干这个用的!
showjim
2009-11-02
打赏
举报
回复
建个2维索引,二分查找最接近的行中的最接近的点,不断缩小行的范围.
fightclub131
2009-11-01
打赏
举报
回复
[Quote=引用 1 楼 hnfeitianwugui 的回复:]
分治发求最近对~~~
[/Quote]
我想起来。。哪本书上看到过
不过如果当前鼠标位置 不在最近对里怎么办
fightclub131
2009-11-01
打赏
举报
回复
没有啦
我是想说 现在数据量小。。。。以后数据量会增加
而且 因为考虑到鼠标移动,所以会频繁计算 所以希望单次查找的时间能快点
arong1234
2009-11-01
打赏
举报
回复
lz的标题欺骗了我
[Quote=引用 4 楼 donkey301 的回复:]
引用 2 楼 arong1234 的回复:
楼主说的是300个点中找到最近的点
[/Quote]
donkey301
2009-11-01
打赏
举报
回复
[Quote=引用 2 楼 arong1234 的回复:]
平面方程为
ax + by +cz+d=0
给定点为(r,s,t)
那么过点垂直于平面的方程为
x = r + ak
y = s + bk
z = t + ck
带入平面方程,得到一个关于k的方程,解这个方程,就可以知道垂足位置了
[/Quote]
楼主说的是300个点中找到最近的点
donkey301
2009-11-01
打赏
举报
回复
[Quote=引用 1 楼 hnfeitianwugui 的回复:]
分治发求最近对~~~
[/Quote]
能具体点吗?我也想知道
arong1234
2009-11-01
打赏
举报
回复
平面方程为
ax + by +cz+d=0
给定点为(r,s,t)
那么过点垂直于平面的方程为
x = r + ak
y = s + bk
z = t + ck
带入平面方程,得到一个关于k的方程,解这个方程,就可以知道垂足位置了
hnfeitianwugui
2009-11-01
打赏
举报
回复
分治发求最近对~~~
算法
:
平面
上一些点,如何找某一点周围一圈
最近
的点?
平面
上一些点,如何找某一点周围一圈
最近
的点比如一些坐标点(1,2)(2,2)(3,1)(3,3)(4,2)(6,2)要找(4,2)周围的点,划出
平面
坐标后看,应该是点(2,2)(3,1)(3,3)(6,2)请问在
算法
上如何实现 syy64(太平洋) ( ) 信誉:145 Blog 2007-3-19 14:05:08 得分: 0 求所有点到
某点
的距离
平面
内有n个点,如何快速求出距离
最近
的点对?【分治法】【屈婉玲教材】
题目如标题,很容易想到劈成两半,每一半各求
最近
的,最后merge 难点在f(n)如何估计,假设两个子问题的点集分别是left和right,两部分的
最近
距离分别是d1和d2,所以有可能的最小距离δ=min(d1,d2)。如果left中的每
一个点
都要和right中的每
一个点
求距离,那么f(n)=n^2,分治
算法
是不会简化的。幸运的是如果left中的每
一个点
最多只需要和right中的最多6个点比较【使用下图中的鸽巢原理证明】 所以还有T(n)=O(nlog(n)),代码如下: import ran
分治法解决
平面
上N点
最近
2点距离———
算法
应该OK~~~
问题描述:给定
平面
上N个点的坐标,找出距离
最近
的两个点。 这是编程之美2.11的一道题目,从昨天到现在就一直在设法解决它;如果用常规的解法,只需要将N个点两两计算距离,然后找出最小距离的两个点就可以了;但是这种解法的
算法
复杂度为O(N^2); 为了降低
算法
的复杂度,我们需要有更好的方法。这里我们
找到
的解法是分治法。 设点集为S,|S|=N,S的横坐标集合为Sx,纵坐标集合为Sy;
算法
的步骤...
3D Hough变换点云
平面
检测
算法
本文的主要目标:1.介绍3D Hough Transform的应用场景,
算法
思路,
算法
步骤以及代码。2.对其应用场景进行更进一步分析,与相似用途的
算法
(RandSAC)进行比较,分析优缺点。 1.适用场景分析: 拟合问题也可以看成是在参数空间内进行的搜索。在我们遇到拟合问题时,我们需要解答的问题通常是以下几个方面中的一个: 已知点集合属于某一个
平面
(模型),这个模型的参数是多少? 点集中可能存在0到多个
平面
(模型),
找到
具体有多少模型实例?
找到
点集中的哪些点对应哪些
平面
(模型)? 针对每一个问题,考虑到噪
【格密码】
最近
平面
算法
解决CVP问题(1)
在1986年,L.Babai曾提出
最近
平面
算法
来解决CVP问题,利用n代表格的秩,该
算法
的输出近似值如下:CVP问题的六种变式,如下:当时,后三种问题就与前三种一样了。如果解决了计算问题,由于计算、优化和Gap问题三者困难性一样,那么剩下的优化和Gap问题也就可以解决了。
最近
平面
算法
可以解决计算CVP问题,且此时,为了简化分析的思路,后续仅仅讨论,通过修改
算法
相关的参数也可以达到想要的近似值。简单的取整
算法
就是把给定向量的系数全部直接取整(可以是上取整,也可以是下取整),概
算法
得到的格点与格基的选择有很大关
数据结构与算法
33,025
社区成员
35,335
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章