3
$\begingroup$

Object x should be composed of thick lines, object su should have no or a thin border.

With BoundaryStyle, I am not able to differentiate between x and su. I haven't had much luck with PlotStyle -> {Thick, } or PlotStyle -> {EdgeForm[Thick], } either.

x1 := {u, 0, 0}
x2 := {u, 1, 1}
x3 := {0, w, w}
x4 := {1, w, w}
x := {x1, x2, x3, x4}
su := {u, (1 - u) w^2 + u w^2, (1 - u) w + u w}
ParametricPlot3D[{x, su}, {u, 0, 1}, {w, 0, 1}]

enter image description here

$\endgroup$
4
  • $\begingroup$ Since your x's are just lines, why not just render them as separate primitives (i.e. with Line[]) and then combine them with your surface using Show[]? $\endgroup$ Commented Apr 14, 2013 at 13:31
  • $\begingroup$ To be precise, did you want something like this? $\endgroup$ Commented Apr 14, 2013 at 13:37
  • $\begingroup$ @J.M. Yes, exactly like this. However, x1-x4 do not necessarily have to be straight lines, they can also be functions that meet in the corners. $\endgroup$
    – u17
    Commented Apr 14, 2013 at 13:39
  • 1
    $\begingroup$ In that case, you'll have to invoke ParametricPlot3D[] twice; once for your surface, and once for your curves, and then combine all that with Show[]. $\endgroup$ Commented Apr 14, 2013 at 13:41

1 Answer 1

5
$\begingroup$

The "lines" or edges of 3D plots are not controlled by PlotStyle (as one might think from 2D experience), but by BoundaryStyle. Since this is applied to all objects in the plot, I suggest plotting them one at a time and combining with Show:

ParametricPlot3D[#, {u, 0, 1}, {w, 0, 1}, BoundaryStyle -> #2, Mesh -> None] & @@@ 
    {{x, Directive[Red, Thick]}, {su, None}} // Show

enter image description here

$\endgroup$
2
  • 2
    $\begingroup$ It somehow seems perverse to me that BoundaryStyle affects curves, seeing that they don't really have a boundary... :) $\endgroup$ Commented Apr 14, 2013 at 13:57
  • $\begingroup$ @J.M. I agree, and this used to trip me up quite often in the past. $\endgroup$
    – rm -rf
    Commented Apr 14, 2013 at 14:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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