确定任何给定多边形和金字塔的切割

发布于 2024-11-16 20:31:17 字数 188 浏览 2 评论 0原文

我正在尝试在 C++ 中实现一个函数,该函数确定任何给定多边形和金字塔的切割。

事实上,这比我最初想象的要简单得多。

首先对于金字塔的每条边,测试线平面相交(给定的多边形是一个平面,由3个点组成)。这将在切割平面处产生新的顶点。

其次,由于多边形不是无限平面,因此需要测试多边形边(三个)与每条边之间的线与线相交。

I am trying to implement in C++ a function that determines the cut of any given polygon and pyramid.

This has actually turned out to be far simpler than I had first imagined.

Firstly for each edge of the pyramid, test line-plane intersection (the given polygon is a plane, made up of 3 points). This will result in the new vertices at the cutting plane.

Secondly, since the polygon is not an infinite plane one needs to test for line-line intersection between the polygon edges (three) and each of the edges.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凌乱心跳 2024-11-23 20:31:17

确实,这不是一个简单的问题。为简单起见,我们假设不存在平行线段。

首先确定凸多边形所在的平面。然后确定该平面与金字塔的交点。这导致第二个凸多边形。

现在您应该找到两个凸多边形的交点。如何做到这一点,您可以在此处找到。

Indeed, this is not a simple problem. For simplicity, let's assume that there are no parallel line segments.

First determine the plane where your convex polygon is in. Then detemerine the intersection of that plane with the pyramid. This results in a second convex polygon.

Now you should find the intersection of the two convex polygons. How this can be done, you can find here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文