如果我有一个平面,让我们说xy平面和一个矩形棱镜,可以任意旋转/平移三维。有没有很酷的算法/方法可以用来确定两者之间的交集区域?计算平面和矩形棱镜之间的交点面积
2
A
回答
2
一种方法是明确找到棱镜和平面之间的交点R
的多边形区域,三角形R
并对三角形的面积求和以给出总交集区域。
可以通过在棱镜和平面的边缘之间执行一系列line-plane intersection tests找到相交多边形的顶点R
。
基于平面/棱镜的相对方向,相交多边形可以采取许多不同的配置(即,它不总是矩形!)。给定一个普通的棱镜,相交区域应该始终是凸的,允许triangulation to be obtained as a simple fan。
给定R
的三角剖分,总交集面积就是三角形区域的总和。
1
一旦你有了多边形区域的交集,你不需要对它进行三角化来计算它的面积。还有一个更简单的算法:
float area = 0.0f;
// Run through all segments
for (int i = 0; i < corners.Length; i++)
{
// Get end points of segments
Vector2 A = corners[i];
Vector2 B = corners[(i+1) % corners.Length];
// Add the signed(!) area of a quadrangle with two corners A, B
// and two corners with same y values on the y axis
//
// |---------A
// | + /
// |-------B
//
// |-------B
// | - \
// |---------A
//
area += 0.5f * (A.x + B.x) * (B.y - A.y);
}
相关问题
- 1. 计算矩形的周长和面积
- 2. 用于矩形棱镜体积计算的PL/SQL BIND VARIABLES
- 3. C - 计算两个矩形之间的面积
- 4. 计算相交矩形的周长和面积?
- 5. C Plus Plus:计算矩形和三角形的面积
- 6. 使用Java Graphics2D计算点和面积之间的距离
- 7. 计算在graphics.py中绘制的矩形的面积和周长
- 8. 计算给定面积和周长的矩形的宽度
- 9. 计算两个三角形的交点面积
- 10. 计算平面上封闭多边形的面积
- 11. 矩形棱镜碰撞
- 12. 计算多边形的最小面积矩形
- 13. 在3D空间中计算平面几何的边界矩形
- 14. 计算面积
- 15. 计算面积
- 16. 计算面积和周长
- 17. 计算二维形状的面积
- 18. 2D的计算面积形状
- 19. 计算多边形的面积
- 20. 计算三角形面积的错误?
- 21. Android计算多边形的面积
- 22. 计算多边形的面积
- 23. 计算三角形的面积
- 24. 如何计算凸多面体和另一个多面体之间的交点?
- 25. 计算点和矩形之间的带符号距离
- 26. 计算属性在棱镜
- 27. 三维空间中n面平面多边形的面积
- 28. 矩形棱镜的3D旋转
- 29. MKPolygon面积计算
- 30. 表面积计算