Mathematica:帮助我理解Mathematica 3D坐标系统

时间:2011-05-31 03:44:27

标签: wolfram-mathematica

我放弃了尝试理解Mathematica 3D轴配置。

当我进行3D绘图,并标记3个轴以识别哪个轴,然后在这些轴上创建点时,这些点出现在不同的轴上,而不是我期望它们在使用Point命令时显示的{x,y,z}坐标。

这是一个例子

g=Graphics3D[
  {
   {PointSize[0],Point[{0,0,0}]}
  },
  AxesOrigin->{0,0,0}, PlotRange->{{-3,3},{-3,3},{-3,3}},
  Axes->True, AxesLabel->{"X","Y","Z"},
  LabelStyle->Directive[Bold,Red,16],
  PreserveImageOptions->False, Ticks->None,Boxed->False]

以上结果

enter image description here

所以,现在我在x轴的末端,y轴的末端和z轴的末端添加了一个点。我使每个点都有不同的颜色,以帮助在情节中识别它们。

 g=Graphics3D[
 {
  {Red,PointSize[.03],Point[{3,0,0}]},
  {Black,PointSize[.03],Point[{0,3,0}]},
  {Blue,PointSize[.03],Point[{0,0,3}]}
 },
  AxesOrigin->{0,0,0},PlotRange->{{-3,3},{-3,3},{-3,3}},
  Axes->True,AxesLabel->{"X","Y","Z"},
  LabelStyle->Directive[Bold,Red,16],PreserveImageOptions->False,
  Ticks->None,Boxed->False]

结果如下:

enter image description here

你可以看到,我期望它到达x轴末端的RED点出现在Z轴的末端。并且黑点不是显示在Y轴的末端,而是显示在X轴上,蓝点而不是显示在Z轴的末端,显示在Y-的末端。轴。

可能是标签错了?可能是我以错误的方式看图像?

我真的很困惑,因为我显然不理解某些事情。我看了一下文档,我找不到能帮助我看清楚我做错了什么。我刚刚开始学习Mathematica 3D图形。

编辑: 用Ticks添加图片,回复Simon,我不知道怎么做评论框:

 g=Graphics3D[
 {
   Cuboid[{-.1,-.1,-.1},{.1,.1,.1}],
   {Red,PointSize[.03],Point[{2,0,0}]},
   {Black,PointSize[.03],Point[{0,2,0}]},
   {Blue,PointSize[.03],Point[{0,0,2}]}
  },
   AxesOrigin->{0,0,0},
   PlotRange->{{-2,2},{-2,2},{-2,2}},
   Axes->True,
   AxesLabel->{"X","Y","Z"},
   LabelStyle->Directive[Bold,Red,16],
   PreserveImageOptions->False,
   Ticks->True, TicksStyle->Directive[Black,8],
   Boxed->False
   ]

结果如下: enter image description here

编辑:好的,我决定忘记使用AxesLabels,我自己把它们放了。现在更清楚了

m=3;
labels={Text[Style["X",16],{1.2 m,0,0}],Text[Style["Y",16],{0,1.2 m,0}],
       Text[Style["Z",16],{0,0,1.2 m}]};

 g=Graphics3D[
 {
   {Red,PointSize[.03],Point[{m,0,0}]},
   {Black,PointSize[.03],Point[{0,m,0}]},
   {Blue,PointSize[.03],Point[{0,0,m}]},
   labels
 },
  AxesOrigin->{0,0,0},
  PlotRange->{{-m,m},{-m,m},{-m,m}},
  Axes->True,
  AxesLabel->None,
  LabelStyle->Directive[Bold,Red,16],
  PreserveImageOptions->False,
  Ticks->True, TicksStyle->Directive[Black,8],
  Boxed->False
  ]

enter image description here

2 个答案:

答案 0 :(得分:5)

我同意你的看法,AxesLabel对于3D图形而言毫无价值。看看一个小的交互式视点变化对你的身材的影响:

[enter image description here]

恕我直言WRI应该真正改善此选项的操作,并且最好还提供更多的放置控制(轴的末端/中间等)。

答案 1 :(得分:3)

我认为标签被放置在不直观的位置。用不同长度的彩色线条替换你的圆点对我来说更清晰。我还删除了明确的情节范围,这有助于Mathematica将标签放在更清晰的地方。

 g=Graphics3D[
{
 {Red,Thick, Line[{{0, 0, 0}, {1, 0, 0}}]},
 {Black,Thick, Line[{{0, 0, 0}, {0, 2, 0}}]},
 {Blue,Thick, Line[{{0, 0, 0}, {0, 0, 3}}]}
},
 AxesOrigin->{0,0,0},
 Axes->True,AxesLabel->{"X","Y","Z"},
 LabelStyle->Directive[Bold,Red,16],PreserveImageOptions->False,
 Ticks->None,Boxed->False]

enter image description here