[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: fltk backend fix & mouse wheel scroll factor
From: |
Shai Ayal |
Subject: |
Re: fltk backend fix & mouse wheel scroll factor |
Date: |
Mon, 28 Sep 2009 08:57:22 +0200 |
On Mon, Sep 28, 2009 at 1:05 AM, John Swensen <address@hidden> wrote:
>
> On Sep 27, 2009, at 4:16 AM, Søren Hauberg wrote:
>
>> søn, 27 09 2009 kl. 09:12 +0300, skrev Shai Ayal:
>>>
>>> The attached changset fixes a bug which did not show the zoom box.
>>> Also added a function to enable the user to control the zoom factor
>>> when using mouse wheel zoom.
>>>
>>> I think that with this changeset, the fltk_backend is quite usable as
>>> a viewer to the gl-renderer.
>>
>> I think this is really nice. With this changeset, the FLTK backend is
>> very nice to use for 2D plots (much better than both gnuplot and
>> matlab).
>>
>>> I am open to feature requests.
>>
>> Well, then I'm gonna file a request :-) It would be great to have better
>> support for navigating in 3D. Basically, I think dragging the mouse
>> should make 3D plots rotate around some point (center of mass?), while
>> scrolling should change the distance between the camera and said point.
>
> I have always been a big fan of how the 3D solid modeling programs (e.g.
> ProE and SolidWorks) do their 3D navigation. The way I see it working with
> Octave is as follows. There would be 4 different "views" available from the
> plotting window. Views 1-3 would be associated with looking at the plot
> along each of the cardinal axes. The four would be the "working view". The
> user has 2 options regarding how the object rotations (or the camera rotates
> about the object). The first is based on a center of mass idea as you
> indicated. This works great for solid modeling, since objects have a clear
> center of mass, but for plotting it is more difficult since it becomes not
> obvious how to weight things like lines. A cloud of points would be easiest
> to implement this behavior. The second way that solid modeling programs
> work is to allow you to set the center of rotation by switching to the 3
> orthogonal views to set the point of rotation. Then, you can return to the
> "working view" and rotate and pan as would be expected. This would be
> harder to implement, and I'm not exactly sure how this meshes with how the
> property tree manages camera position, but I think it would help keep from
> grumbling and muttering unspeakable things every time I try to rotate and
> pan in both Matlab and Octave.
These are both good suggestions.
1. for the center of mass rotation -- I am not sure but I think this
should be implemented in octave-core level, rather than in the
backend. This would also add some computational burden. I could
implement the degenerate case of rotating about the center of view
(i.e. the middle of the axes)
2. the solid model way - this is purely backend stuff, and actually
might be easier to implement. Do you have more details -- how exactly
do you select the point in the orthogonal views?
Shai
- fltk backend fix & mouse wheel scroll factor, Shai Ayal, 2009/09/27
- Re: fltk backend fix & mouse wheel scroll factor, Søren Hauberg, 2009/09/27
- Re: fltk backend fix & mouse wheel scroll factor, Søren Hauberg, 2009/09/27
- Re: fltk backend fix & mouse wheel scroll factor, Shai Ayal, 2009/09/27
- Re: fltk backend fix & mouse wheel scroll factor, Søren Hauberg, 2009/09/27
- Re: fltk backend fix & mouse wheel scroll factor, Shai Ayal, 2009/09/27
- Re: fltk backend fix & mouse wheel scroll factor, Shai Ayal, 2009/09/29
- Re: fltk backend fix & mouse wheel scroll factor, Søren Hauberg, 2009/09/29
- Re: fltk backend fix & mouse wheel scroll factor, Shai Ayal, 2009/09/29
- Re: fltk backend fix & mouse wheel scroll factor, Søren Hauberg, 2009/09/29
fltk backend fix & mouse wheel scroll factor, John W. Eaton, 2009/09/28