找到一个相切的平面到三维模型的一部分

4视图(30天)
你好!
我有一个3 d模型,我想找一个2 d平面切底部的我的3 d模型。底部是由三个sphere-like结构拼接在一起。我想知道如何找到这样一架飞机底部切线吗?应该有三个切线点。
下图连接我的3 d模型和原理图
3评论
婷婷
婷婷 2021年11月16日
让我详细解释。在我以前的工作中,我获得的3 d模型的主动脉根人体通过神经网络的自动分割。这个平面称为主动脉环平面。我的任务是寻找这个平面获得主动脉环(圈了三个切线点)直径。谢谢你的关注!

登录置评。

接受的答案

马特·J
马特·J 2021年11月16日
编辑:马特·J 2021年11月18日
获得所有网格顶点的stl文件 V 。然后,计算方面领域和法线的凸包,
k = convhull (V);
dVa = V (k (:, 2):) - V (k (: 1):);
dVb = V (k (:, 3):) - V (k (: 1):);
C =交叉(dVa dVb);
区域= vecnorm (C 2 2);%方面领域
法线=正常化(C 2“规范”);%面法线
从你的图,你的三个球体看起来是在大约10度的方向向量 d = (2 0 1) /√3) ,所以,
d = [2 0 1] /√(3);
子集=找到(acosd (abs(法线* d)) < 30);
[~,我]= max(区域(子集));
kp = k(子集(我):);
:Vp = V (kp);% 3环顶点
9日评论
马特·J
马特·J 2021年11月23日
编辑:马特·J 2021年11月23日
我只是scatter3使用。你可以使用 tetramesh () 或plot3()或任何你喜欢的东西。
负载meshvertices
XYZ = num2cell (V, 1)”;
scatter3 (XYZ {:}“填充”,“MarkerEdgeColor”,“没有”,“MarkerFaceAlpha”,0.1)

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!