请教 如何画出三维图的投影
mathematica吧
全部回复
仅看楼主
level 2
我是学材料的 要画一个杨氏模量的三维图 需要投影 发现老书上shadow函数没了,有个帖子也不是很清楚,希望能帮我看下这段代码
P = SphericalPlot3D[
1/(0.0031918*Cos[\[Phi]]^4*Sin[\[Theta]]^4 +
0.0040601*Sin[\[Theta]]^4*Sin[\[Phi]]^4 +
0.0035264*Cos[\[Theta]]^4
+ 0.0101456*Cos[\[Theta]]^2 *Cos[\[Phi]]^2*Sin[\[Theta]]^2 +
0.0290355*Cos[\[Theta]]^2*Sin[\[Theta]]^2*Sin[\[Phi]]^2 +
0.0065072*Cos[\[Phi]]^2*Sin[\[Theta]]^4*
Sin[\[Phi]]^2), {\[Theta], 0, Pi}, {\[Phi], 0, 2*Pi}]
画出来的和希望的效果大
概是这样的
2017年12月13日 08点12分 1
吧务
level 12
按照那个帖子里的解决方法就行
P /. Graphics3D[gr_, opts___] :>
Graphics3D[{gr,
Scale[gr, #, {-600, 500, -500}] & /@ (1 + 10^-3 - IdentityMatrix[3])}, PlotRange -> All, opts]
其中{-600, 500, -500}分别是三个投影的xyz坐标
2017年12月14日 04点12分 3
谢谢 最后请问一下@后面的内容是什么意思
2017年12月14日 12点12分
@红蓝色的奇迹 这个矩阵应该算是这个方法的比较核心的了。投影一般要涉及投影矩阵,但这个矩阵不是投影阵,这个矩阵具体跟Scale怎么作用的搞不懂。
2017年12月16日 01点12分
@奥斯马登 见楼下。
2017年12月17日 04点12分
level 1
看一下这部分最后等于什么就知道了:{{1/1000,1001/1000,1001/1000},{1001/1000,1/1000,1001/1000},{1001/1000,1001/1000,1/1000}}。这是三个挤压参数作为一个List,分别在x,y,z方向挤压到原先的1/1000。然后Scale分别用这三个参数画出三个挤压图。要搞清楚还需仔细研究一下scale的用法。
2017年12月17日 04点12分 6
另外这里不要当成矩阵来看更容易理解。
2017年12月17日 04点12分
例如:第一个参数 {1/1000, 1001/1000, 1001/1000} 是在x轴方向上挤压到原来的1/1000。
2017年12月17日 04点12分
另外两个数,1001/1000,是当作1来用的,就是保持原比例不动。
2017年12月17日 04点12分
@Wonderlands09 谢谢您的回复。您的“挤压”两字用得很到位!刚刚我试试了一下,感觉Scale的“投影”的过程是:先进行各自主方向上进行挤压,然后将挤压后的图像在另外两个方向上进行伸缩变化。这样一来这组挤压参数还不唯一!挤压参数的特征可以是一个主元素远小于1的对称阵。
2017年12月17日 06点12分
level 1
你好,请问那个老帖子在哪里
2019年07月02日 07点07分 7
专门说这事的那帖被隐藏了。17年以前的帖子全被百度隐藏了,大部分目前还没恢复……我今天是第几次说这个话了?百度“灭霸式删帖”的事情有这么多人不知道?
2019年07月06日 05点07分
level 4
请问0.0031918这是表示的什么啊?
2020年01月05日 04点01分 8
1