MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   给定一个曲面,找到被曲面切成两半的零件 (https://www.labfans.com/bbs/showthread.php?t=22917)

poster 2019-12-10 16:49

给定一个曲面,找到被曲面切成两半的零件
 
假设我有一个Surface( S1 ),而我有另一个贯穿它的表面( S2 )。如何找到由两者的交点形成的多面体,如图所示?

在上面的示例中,应该返回两个多面体,一个在S2之上,另一个在S1之下。

但是S1和S2由3D坐标定义。假设S1的坐标为( P1,P2, P3, P4 ),S2的坐标为P5,P6, P7, P8 ,并且相交点为P9和P10 。我想要一个可以返回两个多面体的程序:

P1,P2,P9,P10,P5,P6 和

P3,P4,P10,P9,P7,P8 [B]我知道可以得到两个曲面的交点并形成多面体,但是如果我有一个内置的matlab函数,那会很好[/B]


回答:
找到两个曲面的交点(假设它们是平面,这是一个平行度测试,叉积,并求解线性方程式以检查它们实际在何处相交)。这样便拥有了构造两个多面体所需的所有要点。您可能需要检查是否要嫁接“正确的”末端,并且法线有意义,但是在上述情况下,每个多面体都有6个点,而这些点中的2个在平面相交处是常见的。



[url=https://stackoverflow.com/questions/1754360]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 10:33

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.