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

Nas*_*ser 5 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]
Run Code Online (Sandbox Code Playgroud)

以上结果

在此输入图像描述

所以,现在我在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]
Run Code Online (Sandbox Code Playgroud)

结果是这样的:

在此输入图像描述

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

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

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

编辑:添加Ticks上的图像,回复西蒙,我不知道如何做评论框:

 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
   ]
Run Code Online (Sandbox Code Playgroud)

这是结果: 在此输入图像描述

编辑:好的,我决定忘记使用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
  ]
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Sjo*_*ies 5

我同意你的看法,AxesLabel3D图形几乎毫无价值.看看一个小的交互式视点变化对你的身材的影响:

[在此处输入图片说明]

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


Jos*_*ell 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]
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述