我在计算机图形学课程。在3D中,我有一个点和一个多边形,我想确定这个点位于我的多边形的上方或下方。感谢您的回复,提前。如何确定一个点是在多边形之上还是之下,而不是在多边形之内?
1
A
回答
0
如果在多边形所在的平面上方或下方将会执行该操作,则可以将该点的点积与平面法线上的点积和平面上任意点的点积进行比较。或者,如果您愿意,可以查看法线与矢量之间点积的符号,从平面上的某点到点。
要检查它是直接位于上方还是下方(即,不是位于某处),实际上是在“上方”还是“下方”,然后通过沿着多边形投影整个事物到2D正常,然后沿正常测试的距离。
0
这取决于你的定义上面和下面,让我先说说容易出现的情况:
- 如果您在全局方向(通常为y轴或Z的角度来考虑的/低于上述轴),只需比较该轴上的值即可。
好吧,现在更困难的解释:在多边形的哪一侧是重点。
除非它是平面的,否则不能一次决定多边形。所以如果它是非平面的,你必须把它分成三角形并决定它们中的每一个。
对于一个三角形,你可以决定一个点是高于还是低于它(在3D中),首先计算构成三角形边的2个向量的叉积;这将定义方向(=“上面”和“下面”的定义),这取决于您使用这两个向量的顺序,所以要小心。然后计算新矢量(称为该三角形的垂直)的点积和测试点与三角形基的差矢量。
相关问题
- 1. 确定点是否在多边形内?
- 2. 确定点是否在多边形内
- 3. 确定一个点的多边形是
- 4. 确定多边形法线,多边形内部还是外部的点
- 5. 确定是否点在多边形
- 6. 如何确定一个多边形是否在另一个内?
- 7. 确定哪些多边形的点是从一个大组多边形
- 8. 确定一个点是否在多边形的顶点
- 9. 如何确定一系列点(或多边形)是否在矩形区域内?
- 10. 是多边形
- 11. SQLite点检查一个点是否在一个多边形内
- 12. 如何确定数组是从GeoJson中读取的多边形还是多层多边形?
- 13. 如何确定一个点是否是一个四边形
- 14. 检查点是一个多边形
- 15. 如何检查是否一个点是一个多边形
- 16. 确定一个圆是否在由顶点定义的“多边形”内
- 17. 这一点是否在一个多边形内?
- 18. 是否存在有效的算法来确定两个可能非凸多边形的边之间的交点?
- 19. openstreetmap:检查latlong是否在多边形之外(区域)
- 20. 如何判断一个点是多边形内部纹理
- 21. 我如何找到从一个点到该多边形的多边形上的最短点(不是距离)
- 22. GoogleMaps写意多边形创作之前工作过,而不是现在
- 23. 检查点是否在多边形中
- 24. 点在多边形内吗?
- 25. 什么是多边形内部多边形
- 26. 如何检查一个点是否在KML多边形(GIS Shapefile)
- 27. xlib编程 - 如何查找线是否在给定的多边形之外
- 28. 如何绘制一个mysql多边形圈,而不是一个正方形?
- 29. 决定点是否在一个多边形python
- 30. 多边形边上的点
它不清楚你是否要求2D或3D算法。 – ideasman42 2013-12-26 07:58:47