gpt4 book ai didi

wolfram-mathematica - 将 Mathematica 中的多个 3D 对象放在同一个 3D 框中

转载 作者:行者123 更新时间:2023-12-04 08:09:47 24 4
gpt4 key购买 nike

我有一个由 mathematica 中的 ListPlot3D 创建的 3D 表面。表面本身是相对平面的并且在任意平面 xy 中。我想将此表面放置在由 ChemicalData 函数生成或从 .pdb 或其他分子输入输入的分子的顶部。该分子也是平面的,并再次放置在 xy 平面中。我希望这两个 3D 对象相距一定的 z 距离。

最终的希望是,我将在这个平面分子上方放置一个势能面,该面仍可在 3D 中旋转。我一直在使用 Show 和 Graphics 3D 选项但没有成功。表面上的 x,y 点对应于 3D 分子上的 x,y 点,但是它们可以根据需要轻松缩放和移动。作为最后的选择,我想我可以输入原子的 x、y、z 坐标并使用 PointListPlot3D 命令和各种选项来模拟分子的外观,但这似乎比它需要的复杂得多。

另一种可能的方法是将两个 3D 对象都转换为 3D 框并简单地堆叠在彼此的顶部。但是我还没有在 mathematica 中找到这个功能。有没有人对如何做到这一点有任何想法?

PES = ListPlot3D[{{0., 0., -2.04900365`},..., {0., 0.3, -2.05743098`}}]
Show[Graphics3D[ChemicalData["Benzene","MoleculePlot"]],PES]

问题是分子的规模与能量表面的规模。

据我所知,单位是皮米。然而,它们的原子距离似乎降低了 3%。

作为对此的更新,获取分子的 xyz 坐标并手动生成对象变得更加简单。已经有一段时间了,但我相信如果您只声明:
ChemicalData["Benzene","MoleculePlot"]

Mathematica 将显示格式。如果你做了很多这些,就可以制作一个相当简单的 python 脚本。

最佳答案

Szabolcs 说了什么,我也没有从你的问题中得到为什么这样的事情不起作用?

    Show[Graphics3D[
Rotate[ChemicalData["Caffeine", "MoleculePlot"][[1]],
45 Degree, {1, .5, 0}]],
Plot3D[-200 + 50 Sin[x*y/10000], {x, -100 Sqrt[3*Pi],
100 Sqrt[3*Pi]}, {y, -100 Sqrt[3*Pi], 100 Sqrt[3*Pi]},
ColorFunction -> "TemperatureMap"], Axes -> True]

enter image description here

关于wolfram-mathematica - 将 Mathematica 中的多个 3D 对象放在同一个 3D 框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8898424/

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