C chen202 Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-28 #1 假设屏幕上随机产生100个点,每个点都会随机移动,我想判断各点之间的距离, 如果任两点的距离小于某一值时(例:10),则用红颜色标出这两个点,该如何判断 速度才最快?
K kaly Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-29 #2 随机移动很不好办,唯一考虑的是将这100个点是放进链表还是数组还是哈西表。然后隔多少时间检查一遍,我想是这样实现,不知道还有别的高见没有。
T t1122 Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-29 #3 非正规思路:判断100个圆,用该点做圆心,用10做半径,当画圆的时候判断圆边境原来的颜色,如果不是背景,那么这个圆的圆心就是红色,同时知道交点的所属圆心也为红色。
C coolqiang Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-29 #4 每隔一段时间(如100ms)检查一遍,在检查时,所有的点是静止的。 首先将所有点按X坐标排序,然后依次检查每个点之后10个单位内是否有其它点,有的话计算两点之间距离,如果小于10,满足条件,标记两点为红色。如此直到100个点检查完毕。
每隔一段时间(如100ms)检查一遍,在检查时,所有的点是静止的。 首先将所有点按X坐标排序,然后依次检查每个点之后10个单位内是否有其它点,有的话计算两点之间距离,如果小于10,满足条件,标记两点为红色。如此直到100个点检查完毕。
C chen202 Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-29 #5 coolqiang的办法挺有新意的, 还有别的办法吗?主要是想提高效率
Y yinxianglong Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-31 #7 江屏幕分成 Sqrt(2)/2 * 最小距离 的方格 点映射到每个方格中 同一个方格中的一个是红的 只对不为红色的点和相邻方格中的点做比较