gpt4 book ai didi

wolfram-mathematica - 参数化 3D 几何形状以优化形状

转载 作者:行者123 更新时间:2023-12-04 08:05:02 25 4
gpt4 key购买 nike

我正在尝试对 3D 几何体进行参数化以优化形状。结构如下所示。另一个真实的例子是 here .

enter image description here

目前,我正在使用 BSplines 来创建下部,并使用对称性来创建箔片的整个下部。这是我得到的。 enter image description here enter image description here

现在,为了运行形状优化,我有许多控制点需要注意。我也不知道如何以合理的方式将上部与底部水翼部分连接起来。我不知道如何设计一个好的箔片中间部分(箔片的肥 Nose 部分)与上部相连。我还需要陪一个flap在几何中。

请为此类曲面的参数化提供一些建议,以便我们可以从 MMA 中操纵几何体。控制点越少,越有利于优化。可能是一些 3D 分析函数的组合。但我怀疑这是否可能。

BR

最佳答案

我认为您有两个选择:1) 创建几何体的第二部分,然后编写一个人脸相交算法来合并它们。 2) 创建几何的第二部分并编写两个函数,如果查询点在几何内部则返回 -1,如果查询点在外部则返回 +1(其他值也可以)。然后使用 RegionPlot3D[ f1[x,y,z]<0 || f2[x,y,z]<0,....] .这个想法是提取 GraphicsComplex并使用它。问题将是您可以用它来近似拐角的程度。这是我的意思的一个例子。

if1[x_, y_, z_] := If[x^2 + y^2 + z^2 <= 1, -1, 1]
if2[x_, y_, z_] := If[(x - 1)^2 + y^2 <= 1 && -1.5 <= z <= 1.5, -1, 1]

res = RegionPlot3D[
if1[x, y, z] < 0 || if2[x, y, z] < 0, {x, -2, 2}, {y, -2,
2}, {z, -2, 2}, PlotPoints -> 100, Boxed -> False, Axes -> False]

然后提取坐标和多边形。

coords = res[[1, 1]];
poly = Cases[res[[1]], _Polygon, Infinity];
Graphics3D[GraphicsComplex[coords, poly], Boxed -> False]

希望这对您有所帮助。

关于wolfram-mathematica - 参数化 3D 几何形状以优化形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8428280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com