我有一条光线,需要找到它撞到的最近线段。如果我先对线段进行排序,我认为可以在O(log n)时间内完成,但我不记得如何对它们进行排序...我认为某种树结构可能效果最好,但如何按起点和终点排序?如果可能的话,我也希望能够快速插入这个数据结构。
有很多关于一条光线与一条线段的代码,但我需要处理一条光线与多条线段...我不知道要搜索什么词汇。
提供适当文章的链接是好的,C++代码更好。谢谢! :)
PS:线段实际上是非自相交多边形的边缘,按顺时针顺序排序...但我认为以不同的方式对它们进行排序可能会有一些优势?
所有内容都是2D的。
想了想,我不完全确定这是可能的。某种空间分割可能会有所帮助,但否则,我想不出任何方法来对线段进行排序,以便与任意光线进行比较。
有很多关于一条光线与一条线段的代码,但我需要处理一条光线与多条线段...我不知道要搜索什么词汇。
提供适当文章的链接是好的,C++代码更好。谢谢! :)
PS:线段实际上是非自相交多边形的边缘,按顺时针顺序排序...但我认为以不同的方式对它们进行排序可能会有一些优势?
所有内容都是2D的。
想了想,我不完全确定这是可能的。某种空间分割可能会有所帮助,但否则,我想不出任何方法来对线段进行排序,以便与任意光线进行比较。