Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Sterographic display

1 view
Skip to first unread message

Steve Gray

unread,
Feb 19, 2008, 2:15:57 AM2/19/08
to
With the right size, spacing, and viewpoints, Graphics3D could
make very useful and dramatic stereo displays. The journal Science
often has printed stereo pair images of molecules, but I don't know
how they're made. Viewing them involves no mirrors, filters, or other
equipment but you have to learn how to adjust your eyes. It's not hard
for most people.
Naturally the two views of one object would be side-by-side,
which is no problem, but ideally they could be rotated in unison.
Stereo animations would also be possible, but I don't really need
that.
I have a research application where this would be extremely
helpful. Has anyone done this, and can the two viewpoints be adjusted
together? I will appreciate any information.

Steve Gray

Jens-Peer Kuska

unread,
Feb 19, 2008, 7:09:27 AM2/19/08
to
Hi,

MathGL3d has a stereo display for the usual Quadro cards
you need shutter eye glases, or with a mono display the usual
Red/Cyan eye glases

Regards
Jens

Pianiel

unread,
Feb 20, 2008, 9:04:18 AM2/20/08
to
Hi,

Yes the two viewpoints can be adjusted together.

Here is a code which can do the job in Mathematica 6.0:

Manipulate[
With[{v = RotationTransform[Angle, {0, 0, 1}][{3, 0, 3}],
w = RotationTransform[Angle + 0.1, {0, 0, 1}][{3, 0, 3}]}, Row[{
Graphics3D[{Sphere[], Cuboid[]}, ViewPoint -> v, SphericalRegion ->
True,
ImageSize -> 200],
Graphics3D[{Sphere[], Cuboid[]}, ViewPoint -> w, SphericalRegion ->
True,
ImageSize -> 200]}]], {Angle, 0, 2 Pi}]

Best regards,

Pianiel

Jakub Serych

unread,
Feb 20, 2008, 9:09:21 AM2/20/08
to
It is not perfect, but I think that something like the code below could be
the solution.

Jakub

Manipulate[
GraphicsRow[{
Plot3D[Sin[x] Cos[y]^2, {x, 0, 2 Pi}, {y, 0, 2 Pi},
PlotStyle -> Directive[Opacity[0.3], Red],
ViewPoint -> {
dist Sin[zen] Cos[azi + dazi],
dist Sin[zen] Sin[azi + dazi],
dist Cos[zen]
},
Background -> Black, MeshStyle -> Red, AxesStyle -> Red, Boxed -> False],
Plot3D[Sin[x] Cos[y]^2, {x, 0, 2 Pi}, {y, 0, 2 Pi},
PlotStyle -> Directive[Opacity[0.1], Cyan],
ViewPoint -> {
dist Sin[zen] Cos[azi],
dist Sin[zen] Sin[azi],
dist Cos[zen]},
Background -> None, MeshStyle -> Cyan, AxesStyle -> Cyan, Boxed -> False
]
}, spac],
{{azi, 1, "Azimuth"}, -Pi, Pi}, {{zen, 1, "Zenith" }, -Pi, Pi},
{{dist, 3.5, "Perspective"}, 0, 5},
{{dazi, 0.1, "Eye angle difference"}, -Pi/4, Pi/4},
{{spac, -350, "Image spacing"}, 0, -500}, SaveDefinitions -> True]

"Steve Gray" <ste...@roadrunner.com> píąe v diskusním příspěvku
news:fpdvnd$s1r$1...@smc.vnet.net...

David Bailey

unread,
Feb 20, 2008, 9:13:24 AM2/20/08
to
I think you are referring to Random Dot Stereograms - I don't think I
could bear to look at them for long, but anyway here is link that might
be useful:

http://www.mathematica-journal.com/issue/v1i3/

David Bailey
http://www.dbaileyconsultancy.co.uk

Szabolcs Horvát

unread,
Feb 21, 2008, 5:44:20 PM2/21/08
to
Pianiel wrote:
> Hi,
>
> Yes the two viewpoints can be adjusted together.
>
> Here is a code which can do the job in Mathematica 6.0:
>
> Manipulate[
> With[{v = RotationTransform[Angle, {0, 0, 1}][{3, 0, 3}],
> w = RotationTransform[Angle + 0.1, {0, 0, 1}][{3, 0, 3}]}, Row[{
> Graphics3D[{Sphere[], Cuboid[]}, ViewPoint -> v, SphericalRegion ->
> True,
> ImageSize -> 200],
> Graphics3D[{Sphere[], Cuboid[]}, ViewPoint -> w, SphericalRegion ->
> True,
> ImageSize -> 200]}]], {Angle, 0, 2 Pi}]
>

Here's another way to rotate two objects together (just start dragging
one of them):

Row[
{Graphics3D[Cuboid[], ViewPoint -> Dynamic[vp],
ViewVertical -> Dynamic[vv], SphericalRegion -> True],
Graphics3D[Cuboid[], ViewPoint -> Dynamic[vp],
ViewVertical -> Dynamic[vv], SphericalRegion -> True]}
]

This example just illustrates the concept, of course it needs a lot more
work to build something useful and usable.

0 new messages