MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Graphics3D without perspective

  • To: mathgroup at smc.vnet.net
  • Subject: [mg112751] Re: Graphics3D without perspective
  • From: John Fultz <jfultz at wolfram.com>
  • Date: Wed, 29 Sep 2010 04:14:16 -0400 (EDT)

On Tue, 28 Sep 2010 06:02:53 -0400 (EDT), ADL wrote:
> On 27 Set, 11:48, ADL <alberto.dilu... at tiscali.it> wrote:
>> I would like to obtain a 3D plot, which can be rotated interactively,
>> but without any perspective effects (so that the front and back faces
>> of the picture generated by Graphics3D[] can superimpose perfectly).
>>
>> This can be achieved easily in Martin Kraus' Live3D Java applet, and
>> even the degree of perspective can be changed interactively, but I
>> could not find an option to do this in the Mathematica frontend.
>>
>> Any Idea?
>>
>> ADL
>>
> Now, I found a solution myself:
>
> Graphics3D[Cuboid[],
> ViewPoint -> {0, -10000, 0},
> ViewAngle -> 1.3 / 10000,
> ViewVertical -> {0, 0, 1}
> ]
>
> behaves as I wanted.
> The ViewPoint must be very far and the ViewAngle a little bit bigger
> than the angle of the object seen from that far.
>
> I still could not find a way to interactively change the perspective
> level.
>
> By the way, I am surprised by the fact that Manipulate does not seem
> to work on this:
>
> Manipulate[
> Graphics3D[Cuboid[],
> ViewPoint -> {0, -10^p, 0},
> ViewAngle -> 1.3/10^p,
> ViewVertical -> {0, 0, 1}
> ],
> {p, 0.3, 4, 0.1}
> ]
>
> does not change the perspective while p is changed.
> Who knows why?
>
> ADL

You're probably rotating the graphic in the Manipulate before it starts failing, 
right?  Rotating the graphic overwrites the values of the ViewPoint, ViewAngle, 
and ViewVertical options, and it does so in a rather persistent way.

This is typically a desirable thing to do.  If you're manipulating a 3D graphic, 
you want to be able to rotate it, then manipulate it further without having the 
rotation you did undone by a subsequent evaluation of the Manipulate's contents.

But it does have the unfortunate consequence that it becomes a task to create 
Manipulates which actually *should* reset or change these options.

Sincerely,

John Fultz
jfultz at wolfram.com
User Interface Group
Wolfram Research, Inc.


  • Prev by Date: Re: How do I test for existence of a list element?
  • Next by Date: Re: Determining a valid URL
  • Previous by thread: Re: Graphics3D without perspective
  • Next by thread: Mathematica calculates RSquared wrongly?