How to visualize a 4-dimensional parametric surface?
Clash Royale CLAN TAG#URR8PPP
up vote
3
down vote
favorite
What are some good ways, using ParametricPlot3D
or otherwise, to visualize a surface (taking 2 real parameters) embedded in a 4-dimensional space?
Specifically, the question concerns the embedding of the Klein Bottle in $ mathbb R^4 $ given by
F[u_, v_] := x[u, v], y[u, v], z[u, v], w[u, v]
where
x[u_, v_] := r (Cos[u/2] Cos[v] - Sin[u/2] Sin[2 v])
y[u_, v_] := r (Sin[u/2] Cos[v] + Cos[u/2] Sin[2 v])
z[u_, v_] := p Cos[u] (1 + õ Sin[v])
w[u_, v_] := p Sin[u] (1 + õ Sin[v])
and the positive constants r
, p
, and õ
will take convenient values.
plotting graphics3d visualization parametric-functions
add a comment |Â
up vote
3
down vote
favorite
What are some good ways, using ParametricPlot3D
or otherwise, to visualize a surface (taking 2 real parameters) embedded in a 4-dimensional space?
Specifically, the question concerns the embedding of the Klein Bottle in $ mathbb R^4 $ given by
F[u_, v_] := x[u, v], y[u, v], z[u, v], w[u, v]
where
x[u_, v_] := r (Cos[u/2] Cos[v] - Sin[u/2] Sin[2 v])
y[u_, v_] := r (Sin[u/2] Cos[v] + Cos[u/2] Sin[2 v])
z[u_, v_] := p Cos[u] (1 + õ Sin[v])
w[u_, v_] := p Sin[u] (1 + õ Sin[v])
and the positive constants r
, p
, and õ
will take convenient values.
plotting graphics3d visualization parametric-functions
Klein Bottle: Eric Weisstein's notebook from MathWorld
– kglr
12 hours ago
The documentation ofParametricPlot3D
contains some information about "Klein bottle".
– Î‘λÎÂξανδÃÂο Ζεγγ
10 hours ago
add a comment |Â
up vote
3
down vote
favorite
up vote
3
down vote
favorite
What are some good ways, using ParametricPlot3D
or otherwise, to visualize a surface (taking 2 real parameters) embedded in a 4-dimensional space?
Specifically, the question concerns the embedding of the Klein Bottle in $ mathbb R^4 $ given by
F[u_, v_] := x[u, v], y[u, v], z[u, v], w[u, v]
where
x[u_, v_] := r (Cos[u/2] Cos[v] - Sin[u/2] Sin[2 v])
y[u_, v_] := r (Sin[u/2] Cos[v] + Cos[u/2] Sin[2 v])
z[u_, v_] := p Cos[u] (1 + õ Sin[v])
w[u_, v_] := p Sin[u] (1 + õ Sin[v])
and the positive constants r
, p
, and õ
will take convenient values.
plotting graphics3d visualization parametric-functions
What are some good ways, using ParametricPlot3D
or otherwise, to visualize a surface (taking 2 real parameters) embedded in a 4-dimensional space?
Specifically, the question concerns the embedding of the Klein Bottle in $ mathbb R^4 $ given by
F[u_, v_] := x[u, v], y[u, v], z[u, v], w[u, v]
where
x[u_, v_] := r (Cos[u/2] Cos[v] - Sin[u/2] Sin[2 v])
y[u_, v_] := r (Sin[u/2] Cos[v] + Cos[u/2] Sin[2 v])
z[u_, v_] := p Cos[u] (1 + õ Sin[v])
w[u_, v_] := p Sin[u] (1 + õ Sin[v])
and the positive constants r
, p
, and õ
will take convenient values.
plotting graphics3d visualization parametric-functions
plotting graphics3d visualization parametric-functions
edited 1 hour ago
J. M. is somewhat okay.♦
92.5k10286440
92.5k10286440
asked 13 hours ago
murray
5,8591634
5,8591634
Klein Bottle: Eric Weisstein's notebook from MathWorld
– kglr
12 hours ago
The documentation ofParametricPlot3D
contains some information about "Klein bottle".
– Î‘λÎÂξανδÃÂο Ζεγγ
10 hours ago
add a comment |Â
Klein Bottle: Eric Weisstein's notebook from MathWorld
– kglr
12 hours ago
The documentation ofParametricPlot3D
contains some information about "Klein bottle".
– Î‘λÎÂξανδÃÂο Ζεγγ
10 hours ago
Klein Bottle: Eric Weisstein's notebook from MathWorld
– kglr
12 hours ago
Klein Bottle: Eric Weisstein's notebook from MathWorld
– kglr
12 hours ago
The documentation of
ParametricPlot3D
contains some information about "Klein bottle".– Î‘λÎÂξανδÃÂο Ζεγγ
10 hours ago
The documentation of
ParametricPlot3D
contains some information about "Klein bottle".– Î‘λÎÂξανδÃÂο Ζεγγ
10 hours ago
add a comment |Â
2 Answers
2
active
oldest
votes
up vote
4
down vote
A simple minded possibility is to use a perspective projection (similar to what I did here). Applied to the 4D Klein bottle, we have
With[p = 1/3, r = 1/2, ε = -1/3, (* Klein bottle parameters *)
f = 3, d = 1, (* projection parameters *)
k = 3 (* perspective over k-th coordinate *),
ParametricPlot3D[Function[pt, f Delete[pt, k]/(d - Extract[pt, k])] @
r (Cos[u/2] Cos[v] - Sin[u/2] Sin[2 v]),
r (Sin[u/2] Cos[v] + Cos[u/2] Sin[2 v]),
p Cos[u] (1 + ε Sin[v]), p Sin[u] (1 + ε Sin[v]),
u, 0, 2 À, v, 0, 2 À,
Mesh -> False, PlotPoints -> 55]]
In addition to perspective projection, one might want to also apply a preliminary rotation (via e.g. RotationTransform
) to the parametric equations before projecting over one of the axes, adding another element of flexibility.
add a comment |Â
up vote
3
down vote
There are an infinite number of projections of multidimensional figures on 3D. I will show one variant that is suitable for this case
F[u_, v_] := x[u, v], y[u, v], z[u, v], t[u, v]
x[u_, v_, r_] := r (Cos[u/2] Cos[v] - Sin[u/2] Sin[2 v])
y[u_, v_, r_] := r (Sin[u/2] Cos[v] + Cos[u/2] Sin[2 v])
z[u_, v_, p_, [Epsilon]_] := p Cos[u] (1 + [Epsilon] Sin[v])
t[u_, v_, p_, [Epsilon]_] := p Sin[u] (1 + [Epsilon] Sin[v])
KleinBottle4D[p_, r_, [Epsilon]_, [Alpha]_] :=
ParametricPlot3D[x[u, v, r], y[u, v, r],
Cos[[Alpha]]*z[u, v, p, [Epsilon]] +
Sin[[Alpha]]*t[u, v, p, [Epsilon]], u, 0, 2*Pi, v, 0, 2*Pi,
ColorFunction -> Hue, PlotRange -> All, Mesh -> None]
KleinBottle4D[1/3, 1/2, -1/3, Pi/4]
add a comment |Â
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
4
down vote
A simple minded possibility is to use a perspective projection (similar to what I did here). Applied to the 4D Klein bottle, we have
With[p = 1/3, r = 1/2, ε = -1/3, (* Klein bottle parameters *)
f = 3, d = 1, (* projection parameters *)
k = 3 (* perspective over k-th coordinate *),
ParametricPlot3D[Function[pt, f Delete[pt, k]/(d - Extract[pt, k])] @
r (Cos[u/2] Cos[v] - Sin[u/2] Sin[2 v]),
r (Sin[u/2] Cos[v] + Cos[u/2] Sin[2 v]),
p Cos[u] (1 + ε Sin[v]), p Sin[u] (1 + ε Sin[v]),
u, 0, 2 À, v, 0, 2 À,
Mesh -> False, PlotPoints -> 55]]
In addition to perspective projection, one might want to also apply a preliminary rotation (via e.g. RotationTransform
) to the parametric equations before projecting over one of the axes, adding another element of flexibility.
add a comment |Â
up vote
4
down vote
A simple minded possibility is to use a perspective projection (similar to what I did here). Applied to the 4D Klein bottle, we have
With[p = 1/3, r = 1/2, ε = -1/3, (* Klein bottle parameters *)
f = 3, d = 1, (* projection parameters *)
k = 3 (* perspective over k-th coordinate *),
ParametricPlot3D[Function[pt, f Delete[pt, k]/(d - Extract[pt, k])] @
r (Cos[u/2] Cos[v] - Sin[u/2] Sin[2 v]),
r (Sin[u/2] Cos[v] + Cos[u/2] Sin[2 v]),
p Cos[u] (1 + ε Sin[v]), p Sin[u] (1 + ε Sin[v]),
u, 0, 2 À, v, 0, 2 À,
Mesh -> False, PlotPoints -> 55]]
In addition to perspective projection, one might want to also apply a preliminary rotation (via e.g. RotationTransform
) to the parametric equations before projecting over one of the axes, adding another element of flexibility.
add a comment |Â
up vote
4
down vote
up vote
4
down vote
A simple minded possibility is to use a perspective projection (similar to what I did here). Applied to the 4D Klein bottle, we have
With[p = 1/3, r = 1/2, ε = -1/3, (* Klein bottle parameters *)
f = 3, d = 1, (* projection parameters *)
k = 3 (* perspective over k-th coordinate *),
ParametricPlot3D[Function[pt, f Delete[pt, k]/(d - Extract[pt, k])] @
r (Cos[u/2] Cos[v] - Sin[u/2] Sin[2 v]),
r (Sin[u/2] Cos[v] + Cos[u/2] Sin[2 v]),
p Cos[u] (1 + ε Sin[v]), p Sin[u] (1 + ε Sin[v]),
u, 0, 2 À, v, 0, 2 À,
Mesh -> False, PlotPoints -> 55]]
In addition to perspective projection, one might want to also apply a preliminary rotation (via e.g. RotationTransform
) to the parametric equations before projecting over one of the axes, adding another element of flexibility.
A simple minded possibility is to use a perspective projection (similar to what I did here). Applied to the 4D Klein bottle, we have
With[p = 1/3, r = 1/2, ε = -1/3, (* Klein bottle parameters *)
f = 3, d = 1, (* projection parameters *)
k = 3 (* perspective over k-th coordinate *),
ParametricPlot3D[Function[pt, f Delete[pt, k]/(d - Extract[pt, k])] @
r (Cos[u/2] Cos[v] - Sin[u/2] Sin[2 v]),
r (Sin[u/2] Cos[v] + Cos[u/2] Sin[2 v]),
p Cos[u] (1 + ε Sin[v]), p Sin[u] (1 + ε Sin[v]),
u, 0, 2 À, v, 0, 2 À,
Mesh -> False, PlotPoints -> 55]]
In addition to perspective projection, one might want to also apply a preliminary rotation (via e.g. RotationTransform
) to the parametric equations before projecting over one of the axes, adding another element of flexibility.
edited 49 mins ago
answered 1 hour ago
J. M. is somewhat okay.♦
92.5k10286440
92.5k10286440
add a comment |Â
add a comment |Â
up vote
3
down vote
There are an infinite number of projections of multidimensional figures on 3D. I will show one variant that is suitable for this case
F[u_, v_] := x[u, v], y[u, v], z[u, v], t[u, v]
x[u_, v_, r_] := r (Cos[u/2] Cos[v] - Sin[u/2] Sin[2 v])
y[u_, v_, r_] := r (Sin[u/2] Cos[v] + Cos[u/2] Sin[2 v])
z[u_, v_, p_, [Epsilon]_] := p Cos[u] (1 + [Epsilon] Sin[v])
t[u_, v_, p_, [Epsilon]_] := p Sin[u] (1 + [Epsilon] Sin[v])
KleinBottle4D[p_, r_, [Epsilon]_, [Alpha]_] :=
ParametricPlot3D[x[u, v, r], y[u, v, r],
Cos[[Alpha]]*z[u, v, p, [Epsilon]] +
Sin[[Alpha]]*t[u, v, p, [Epsilon]], u, 0, 2*Pi, v, 0, 2*Pi,
ColorFunction -> Hue, PlotRange -> All, Mesh -> None]
KleinBottle4D[1/3, 1/2, -1/3, Pi/4]
add a comment |Â
up vote
3
down vote
There are an infinite number of projections of multidimensional figures on 3D. I will show one variant that is suitable for this case
F[u_, v_] := x[u, v], y[u, v], z[u, v], t[u, v]
x[u_, v_, r_] := r (Cos[u/2] Cos[v] - Sin[u/2] Sin[2 v])
y[u_, v_, r_] := r (Sin[u/2] Cos[v] + Cos[u/2] Sin[2 v])
z[u_, v_, p_, [Epsilon]_] := p Cos[u] (1 + [Epsilon] Sin[v])
t[u_, v_, p_, [Epsilon]_] := p Sin[u] (1 + [Epsilon] Sin[v])
KleinBottle4D[p_, r_, [Epsilon]_, [Alpha]_] :=
ParametricPlot3D[x[u, v, r], y[u, v, r],
Cos[[Alpha]]*z[u, v, p, [Epsilon]] +
Sin[[Alpha]]*t[u, v, p, [Epsilon]], u, 0, 2*Pi, v, 0, 2*Pi,
ColorFunction -> Hue, PlotRange -> All, Mesh -> None]
KleinBottle4D[1/3, 1/2, -1/3, Pi/4]
add a comment |Â
up vote
3
down vote
up vote
3
down vote
There are an infinite number of projections of multidimensional figures on 3D. I will show one variant that is suitable for this case
F[u_, v_] := x[u, v], y[u, v], z[u, v], t[u, v]
x[u_, v_, r_] := r (Cos[u/2] Cos[v] - Sin[u/2] Sin[2 v])
y[u_, v_, r_] := r (Sin[u/2] Cos[v] + Cos[u/2] Sin[2 v])
z[u_, v_, p_, [Epsilon]_] := p Cos[u] (1 + [Epsilon] Sin[v])
t[u_, v_, p_, [Epsilon]_] := p Sin[u] (1 + [Epsilon] Sin[v])
KleinBottle4D[p_, r_, [Epsilon]_, [Alpha]_] :=
ParametricPlot3D[x[u, v, r], y[u, v, r],
Cos[[Alpha]]*z[u, v, p, [Epsilon]] +
Sin[[Alpha]]*t[u, v, p, [Epsilon]], u, 0, 2*Pi, v, 0, 2*Pi,
ColorFunction -> Hue, PlotRange -> All, Mesh -> None]
KleinBottle4D[1/3, 1/2, -1/3, Pi/4]
There are an infinite number of projections of multidimensional figures on 3D. I will show one variant that is suitable for this case
F[u_, v_] := x[u, v], y[u, v], z[u, v], t[u, v]
x[u_, v_, r_] := r (Cos[u/2] Cos[v] - Sin[u/2] Sin[2 v])
y[u_, v_, r_] := r (Sin[u/2] Cos[v] + Cos[u/2] Sin[2 v])
z[u_, v_, p_, [Epsilon]_] := p Cos[u] (1 + [Epsilon] Sin[v])
t[u_, v_, p_, [Epsilon]_] := p Sin[u] (1 + [Epsilon] Sin[v])
KleinBottle4D[p_, r_, [Epsilon]_, [Alpha]_] :=
ParametricPlot3D[x[u, v, r], y[u, v, r],
Cos[[Alpha]]*z[u, v, p, [Epsilon]] +
Sin[[Alpha]]*t[u, v, p, [Epsilon]], u, 0, 2*Pi, v, 0, 2*Pi,
ColorFunction -> Hue, PlotRange -> All, Mesh -> None]
KleinBottle4D[1/3, 1/2, -1/3, Pi/4]
answered 8 hours ago


Alex Trounev
2,19729
2,19729
add a comment |Â
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f182436%2fhow-to-visualize-a-4-dimensional-parametric-surface%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Klein Bottle: Eric Weisstein's notebook from MathWorld
– kglr
12 hours ago
The documentation of
ParametricPlot3D
contains some information about "Klein bottle".– Î‘λÎÂξανδÃÂο Ζεγγ
10 hours ago