# Restricting VectorPlot3D to a specific region

I'm trying to visualize the vector field on $\mathbb{R}^3$ given by the matrix $$\begin{pmatrix} 1 & 0 & 0\\ 0 & \cosh(t) & \sinh(t)\\ 0 & \sinh(t) & \cosh(t) \end{pmatrix},$$ where $t$ is a real number, when restricted to the upper sheet of the hyperboloid $x^2+y^2-z^2=-1$. Here are my two attempts:

VectorPlot3D[{x, y Cosh[t]+z Sinh[t], y Sinh[t]+z Cosh[t]},
{x, -5, 5}, {y, -5, 5}, {z, 0, 5},
RegionFunction -> Function[{a, b, c}, a^2 + b^2 - c^1 == -1]]


and

VectorPlot3D[{x, y Cosh[t]+z Sinh[t], y Sinh[t]+z Cosh[t]},
{x, -5, 5}, {y, -5, 5}, {z, 0, 5},
RegionFunction -> ((#1^2+#2^2-#3^2==-1) &)]


These are both based off of examples I saw in the VectorPlot3D documentation, but they both return empty graphs. What am I doing wrong? Thanks!

• Welcome to Mathematica.SE! I hope you will become a regular contributor. To get started, 1) take the introductory Tour now, 2) when you see good questions and answers, vote them up by clicking the gray triangles, because the credibility of the system is based on the reputation gained by users sharing their knowledge, 3) remember to accept the answer, if any, that solves your problem, by clicking the checkmark sign, and 4) give help too, by answering questions in your areas of expertise. Aug 18, 2015 at 19:32

You need a region of dimension 3:

t = 1;
VectorPlot3D[{x, y Cosh[t] + z Sinh[t],  y Sinh[t] + z Cosh[t]},
{x, -5, 5}, {y, -5, 5}, {z, 0, 5},
RegionFunction -> (( #1^2 + #2^2 - #3^2 < -1) &)]


Or you could try something more "manual" to capture the vectors on your region of interest only :

field[x_, y_, z_, t_] := {x, y Cosh[t] + z Sinh[t], y Sinh[t] + z Cosh[t]};
p = .2;
t = Table[Arrow[{{r Sin@tet, r Cos@tet, z},
{r Sin@tet, r Cos@tet, z} + p field[r Sin@tet, r Cos@tet, z, 1]}] /.
r -> Sqrt[1 + z^2], {z, 0, 5, 1}, {tet, 0, 2 Pi, 2 Pi/10}];

Show[ContourPlot3D[1 == x^2 + y^2 - z^2, {x, -5, 5}, {y, -5, 5}, {z, 0, 5},
Mesh -> False, ContourStyle -> {Orange, Opacity[.5],
Specularity[White, 3]}],

• You could also use something like RegionFunction -> (( -1 -.1#1^2 + #2^2 - #3^2 < -1 + .1) &)] Aug 18, 2015 at 19:23