gpt4 book ai didi

image - 锥体图像细化

转载 作者:行者123 更新时间:2023-12-04 00:42:46 25 4
gpt4 key购买 nike

试图制作一个与平面相交的圆锥体的漂亮 3D 图形,我选择了对 Mathematica 中现有方法(即 S.Mangano 和 S.Wagon 的书籍)的轻微重新排列。下面的代码假设显示了所谓的蒲公英结构:内外球体在内部与圆锥体以及与圆锥体相交的平面相切。同时球体与平面的切点是椭圆的焦点。

 Block[{r1, r2, m, h1, h2, C1, C2, M, MC1, MC2, T1, T2, cone, slope, plane},
{r1, r2} = {1.4, 3.4};
m = Tan[70.*Degree];
h1 := r1*Sqrt[1 + m^2];
h2 := r2*Sqrt[1 + m^2];
C1 := {0, 0, h1};
C2 := {0, 0, h2};
M = {0, MC1 + h1};
MC2 = MC1*(r2/r1);
MC1 = (r1*(h2 - h1))/(r1 + r2);
T1 = C1 + r1*{-Sqrt[1 - r1^2/MC1^2], 0, r1/MC1};
T2 = C2 + r2*{Sqrt[1 - r2^2/MC2^2], 0, -(r2/MC2)};

cone[m_, h_] := RevolutionPlot3D[{t, m*t}, {t, 0, h/m}, Mesh -> False][[1]];
slope = (T2[[3]] - T1[[3]])/(T2[[1]] - T1[[1]]);
plane = ParametricPlot3D[{t, u, slope*t + M[[2]]}, {t, -2*m, 12/m}, {u, -3, 3},
Boxed -> False, Axes -> False][[1]];
Graphics3D[{{Gray, Opacity[0.39], cone[m, 1.2*(h2 + r2)]},
{Opacity[0.5], Sphere[C1, r1], Sphere[C2, r2]},
{LightBlue, Opacity[0.6], plane},
PointSize[0.0175], Point[T1], Point[T2]},
Boxed -> False, Lighting -> "Neutral",
ViewPoint -> {-1.8, -2.5, 1.5}, ImageSize -> 950]]

这是图形:
Dandelin construction

问题在于切点附近两个球体周围的白点。把上面的代码放到 Manipulate[...GrayLevel[z]...{z,0,1} ]当 z 趋于 1 时,我们可以轻松“删除”这些 Blob 。
  • 任何人都可以看到去除白点的不同方法吗?我更喜欢 GrayLevel[z] z < 0.5。
  • 我对图形上下部球体和上部球体上的 Blob 图案略有不同很感兴趣。你有什么想法可以解释吗?
  • 最佳答案

    为什么没有人建议只使用内置 Cone[]原始?

    cone[m_, h_] := {EdgeForm[], Cone[{{0, 0, h}, {0, 0, 0}}, h/m]};

    这在这里工作正常(没有白点)。此外,这不是黑客攻击或解决方法。空的目的 EdgeForm[]是去除锥底的黑色轮廓。

    enter image description here

    我才意识到 Cone[]有一个坚实的基础,在包含的图像上也很明显。所以这和原来的 RevolutionPlot不完全一样版本。

    关于image - 锥体图像细化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8235778/

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