I have a somewhat complicated picture (actually two) to plot that I've been struggling with in Mathematica... the first one almost worked:
p1 = Plot3D[{x + y, x - y, -x + 2 y}, {x, -10, 10}, {y, -10, 10},
PlotStyle -> {{Green, Opacity[0.5]}, {Yellow, Opacity[0.35]}, {Blue,
Opacity[0.2]}}, Mesh -> None, Boxed -> False, Axes -> True,
BoxRatios -> {1, 1, 1}, AxesOrigin -> {0, 0, 0},
AxesStyle -> Opacity[0]]
p2 = Graphics3D[{{Blue, Arrow[{{0, 0, 0}, {-10, 20, -10}}]}, {Red,
Arrow[{{0, 0, 0}, {10, 10, -10}}]}, {Blue,
Arrow[{{0, 0, 0}, {10, -10, -10}}]}}, BoxRatios -> {1, 1, 1},
Axes -> False, AxesLabel -> {"x", "y", "z"},
AxesStyle -> RGBColor[0, 0, 0], BaseStyle -> 12]
Show[p1, p2]
It is supposed to show three planes and their normal vectors at the origin, but they don't look perpendicular to the planes... is there a way to fix this?
The other picture is similar, but with the paraboloid y=|x|^2 instead of planes. I would like to plot three normal vectors at different points, but is there a way to do that without having to compute the vectors manually from the equation of the surface? Any inputs are welcome... :)
Edit: If one uses this code for the paraboloid (based on the answer given below), only one of the pieces shows up. Is there a fix for this?
w1 = Plot3D[x^2 + y^2, {x, -5, 5}, {y, -5, 5},
PlotStyle -> {Green, Opacity[0.5]}, Mesh -> None, Boxed -> False,
Axes -> True, AxesOrigin -> {0, 0, 0}, AxesStyle -> Opacity[0],
BoxRatios -> Automatic];
w2 = Plot3D[x^2 + y^2, {x, 10, 15}, {y, 10, 15},
PlotStyle -> {Green, Opacity[0.5]}, Mesh -> None, Boxed -> False,
Axes -> True, AxesOrigin -> {0, 0, 0}, AxesStyle -> Opacity[0],
BoxRatios -> Automatic];
Show[w1, w2]
BoxRatios -> Automatic
$\endgroup$Show[w1, w2, PlotRange -> All]
for the new question. $\endgroup$