如何把投影图中间的被投影图3D图删去,只保留周围的投影平面图
mathematica吧
全部回复
仅看楼主
level 1
HXZ2D😷 楼主
如图,我将一个3维切片图给投影了,但是中间的被投影切片图还在。我想把它去掉,只保留周围的3个投影图,如何操作呀
w = 0.95
\[Theta]0 = Pi/2
m = 1
EOx[r_, \[Theta]_,
t_] = (Cos[m*\[Theta] + \[Theta]0]) (1 + I)*(r*Cos[\[Theta]] + t)*
Exp[-((r^2 + t^2)/w^2)]
EOy[r_, \[Theta]_,
t_] = (Sin[m*\[Theta] + \[Theta]0]) (1 + I)*(r*Cos[\[Theta]] + t)*
Exp[-((r^2 + t^2)/w^2)]
CEOx[r_, \[Theta]_, t_] = Conjugate[EOx[r, \[Theta], t]]
CEOy[r_, \[Theta]_, t_] = Conjugate[EOy[r, \[Theta], t]]
r = Sqrt[x^2 + y^2]
\[Theta] = ArcTan[x, y]
INx[x_, y_, t_] = EOx[r, \[Theta], t]*CEOx[r, \[Theta], t]
INy[x_, y_, t_] = EOy[r, \[Theta], t]*CEOy[r, \[Theta], t]
MX = Table[
INx[x, y, t], {y, -1.5, 1.5, 0.09}, {t, -1.5, 1.5, 0.09}, {x, -1.5,
1.5, 0.09}]
PP = ListSliceDensityPlot3D[MX, Axes -> False, Boxed -> False,
ColorFunction -> "LightTemperatureMap", PlotPoints -> 100]
PP /. Graphics3D[gr_, opts___] :>
Graphics3D[{gr,
Scale[gr, #, {1, 34, 1}] & /@ (1 + 10^-3 - IdentityMatrix[3])},
PlotRange -> All, opts]
2023年12月01日 05点12分 1
level 10
在最后一行中删掉一个"gr"即可,就是这样
PP /. Graphics3D[gr_, opts___] :>
Graphics3D[{Scale[gr, #, {1, 34, 1}] & /@ (1 + 10^-3 -
IdentityMatrix[3])}, PlotRange -> All, opts]
2023年12月01日 08点12分 2
非常感谢!看来我还要加强对基础语法的学习
2023年12月01日 09点12分
吧务
level 15
……以防万一我说一句,如果只是想在坐标面上切片,正确的做法是设"BackPlanes"。
2023年12月02日 03点12分 3
嘿嘿,我需要的就是中心切片[酷]
2023年12月02日 05点12分
1