0
$\begingroup$

I do this:

reg = ImplicitRegion[
       u^2 + v^2 + .5 u v + .23 u^3 (v + 1) < .85 && -1.3 <= u <= 1.0, {u,
         v}];
    r[u_, v_] = {u, v + u, u v};
    surface = ParametricPlot3D[r[u, v], {u, v} \[Element] reg];
    endpoints = {{0.3, -0.671, -0.266}, {0.35, -0.615, -0.310}};
    Show[
     Graphics3D[{Arrowheads[.08], Arrow[endpoints]}, 
      AxesLabel -> {"x", "y", "z"}],
     surface,
     AxesLabel -> {"x", "y", "z"}
     ]

and get this:

enter image description here

So, the command Show[] truncates the arrows, even when they are placed first in the list of objects to display -- whereas, by the Mathematica manual,

Show[Subscript[g, 1],Subscript[g, 2],[Ellipsis]] or Show[{Subscript[g, 1],Subscript[g, 2],[Ellipsis]}] concatenates the graphics primitives in the Subscript[g, i], effectively overlaying the graphics.

What is wrong in my understanding here?

Also, why doesn't Show[] show axes labels, even when explicitly asked to show them -- whereas, again by the Mathematica manual,

Options explicitly specified in Show override those included in the graphics expression

?

It looks to me like Show[] is not working as described. Any help will be appreciated.

$\endgroup$
5
  • 2
    $\begingroup$ Please post a representative self contained code in your question. $\endgroup$ – Feyre Jan 3 '17 at 19:59
  • $\begingroup$ @Feyre : Done. Sorry, I should have done it right away. $\endgroup$ – Iosif Pinelis Jan 3 '17 at 20:47
  • 2
    $\begingroup$ you need to add Axes -> True to see the labels. (or put the plot first). I'm not sure what you think is wrong with the arrow, its effectively just an arrow head since the line part is very very short. $\endgroup$ – george2079 Jan 3 '17 at 20:56
  • $\begingroup$ You might try adding PlotStyle -> Opacity[.4] (to the plot) then you will see the arrow even if partly covered by the surface. $\endgroup$ – george2079 Jan 3 '17 at 21:03
  • $\begingroup$ @george2079 : Thank you for your comments. Axes->True does work to show the axes. The arrow is short by design: it is intended as an approximation to an arrow tangent to the bounding curve (not shown above). Decreasing the opacity does partly show the truncated part of the arrow. $\endgroup$ – Iosif Pinelis Jan 3 '17 at 21:53
1
$\begingroup$

I have received a response from Wolfram Support, stating, in part, the following:

You need to use Tube to get 3D arrows to correct the problem you were having and you need to specifically call for axes to have them labeled.

Harry Calkins Support Engineer Wolfram Technology Group support@wolfram.com

This provides an answer to my questions.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.