我放弃了尝试理解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]
以上结果
所以,现在我在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]
结果如下:
你可以看到,我期望它到达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
]
结果如下:
编辑:好的,我决定忘记使用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
]
答案 0 :(得分:5)
我同意你的看法,AxesLabel
对于3D图形而言毫无价值。看看一个小的交互式视点变化对你的身材的影响:
恕我直言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]