# Bound surface limits to a function

Consider the following plot of two surfaces

Plot3D[{Sin[x y], x^3 + y}, {x, -1, 1}, {y, -1, 1}, PlotRange -> {{x, -1, 1}, {y, -1, 1}, {z, -1, 1}}, Mesh -> None]


How can I produce a plot where I limit the the surface plot of $$\sin(x y)$$, to be shown only when its values are above $$x^3+y$$, or any other given function.

### ConditionalExpression

Plot3D[ConditionalExpression[Sin[x y], Sin[x y] > x^3 + y],
{x, -1,  1}, {y, -1, 1}, PlotRange -> {{-1, 1}, {-1, 1}, {-1, 1}}, Mesh -> None]


To show both functions

Plot3D[{ConditionalExpression[Sin[x y], Sin[x y] > x^3 + y], x^3 + y },
{x, -1,  1}, {y, -1, 1}, PlotRange -> {{-1, 1}, {-1, 1}, {-1, 1}},
Mesh -> None, BaseStyle -> Opacity[.7]]


 Plot3D[Sin[x y], {x, -1, 1}, {y, -1, 1},
PlotRange -> {{-1, 1}, {-1, 1}, {-1, 1}},
MeshFunctions -> {Sin[# #2] - #^3 - #2 &}, Mesh -> {{0}},
MeshShading -> {None, Automatic}, BoundaryStyle -> None]


### ImplicitRegion

ir = DiscretizeRegion @ ImplicitRegion[Sin[x y] > x^3 + y, {{x, -1, 1}, {y, -1, 1}}];

Plot3D[Sin[x y], {x, y} ∈ ir, PlotRange -> {{-1, 1}, {-1, 1}, {-1, 1}}, Mesh -> None]


You can utilize the option RegionFunction for that:

Plot3D[{Sin[x y], x^3 + y}, {x, -1, 1}, {y, -1, 1},
Mesh -> None,
RegionFunction -> ({x, y, z} \[Function] Sin[x y] > (x^3 + y))
]


• Equivalently: reg = BoundaryDiscretizeRegion[ImplicitRegion[Sin[x y] > (x^3 + y), {{x, -1, 1}, {y, -1, 1}}]]; Plot3D[Sin[x y], {x, y} ∈ reg] Oct 6, 2018 at 9:59