给定数百万个点,找到位于线上或距离线0.2毫米范围内的点

 深耐猪老汉11_245 发布于 2023-02-11 08:59

给定一组具有(x,y)坐标的数百万个点,我必须选择线[(x1,y1) - (x2,y2)]上的点或者在0.2的范围(距离)内mm离线.

解决这个问题的一种方法1)将每个点放在线的方程中,如果满足那么点位于线2)计算点和线之间的垂直距离,如果距离小于0.2 mm则选择此点

但是对于数百万点来说它不是最好的解决方案,所以我正在寻找新的算法或技术,我们可以用它来解决上述问题.

任何帮助将非常感谢!谢谢.

感谢您的回复,我已经完成了您发布的所有建议.我想,我会给你一些问题的背景知识.

我是c ++编程的新手,我面临的问题描述如下

    程序的输入是一个逗号分隔的文本文件,其中包含数百万或数十亿的x&y坐标,每个点都有一些值,例如x1,y1,value1

    然后程序绘制数千行([x1,y1] - [x2,y2])

    对于每条线,我必须选择一组位于线上或在0到0.2毫米范围内的点

我试过以下方法:

    计算每个点距离线的距离,如果距离<= 0.2然后选择这样的点,并为数千行做了...但它不是有效的算法

    在第二种方法中,我计划对坐标进行排序,然后在给定线的两侧绘制平行线,距离为0.2 mm ....但不知道如何识别位于平行线之间的点.还建议这种方法是否合适

你们有些人建议使用r树,2变种方法,因为我是编程pl的新手,建议了解一些在线教程以及如何实现相同的

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有