large 3D array plot [message #49816] |
Thu, 17 August 2006 15:45  |
adisn123
Messages: 44 Registered: July 2006
|
Member |
|
|
Hi,
My 3D vecotr(x, y, z)array is about (3, 210,000)size. Yeb. it's huge.
So, when I plot in 3D using xplot3D, it takes a quite of time (more
10sec.), and it
lags everytime I try to rotate.
Is there anyone who knows better 3D plotting tool to display such a
huge array in more efficient way?
THanks.,
|
|
|
Re: large 3D array plot [message #49868 is a reply to message #49816] |
Mon, 21 August 2006 09:09  |
adisn123
Messages: 44 Registered: July 2006
|
Member |
|
|
I see.
It gave me a great deal of help.
I reallly appreciate your detail response of my question.
Thanks...
Rick Towler wrote:
> adisn123 wrote:
>>> Another thing to consider would be to write your own viewer which HIDEs
>>> almost all of your data when you rotate the objects. You could do this
>>> by plotting the data in 2 IDLgrPolyline objects. One with some data,
>>> the other with lots. When a mousedown event is processed you hide the
>>> 'lots of data' polyline. At mouseup you unhide it. This probably would
>>> be an easy hack on XPLOT3D.
>>
>> I'm not familiar with IDLgrPolyine objects. but, it seems like it draws
>> a line between points, which I don't want to do.
>
> XPLOT3D is using IDLgrPolyline to plot your data (If you look at the
> docs regarding IDLgrPolyline, you'll see that it has the same
> LINESTYLEs). So you can choose "no line" and only draw the symbols,
> just like you are currently doing.
>
>
>> What do you mean by "HIDEs almost all of your data when you rotate the
>> objects."?
>
> Check out the IDLgrPolyline keyword HIDE in the docs.
>
>> How come you want to hide part of your date whilte rotating in 3D, then
>> what's the point of viewing in 3D?
>
> Tools like XPLOT3D and XOBJVIEW only draw your 3d object when you change
> the view in some way. When you are rotating and zooming an object,
> you're changing the view repeatedly and when drawing takes a long time
> (like it does with your data) these tasks become quite tedious.
>
> I was suggesting that you hide most (not all) of your data to make
> rotating and zooming easier since with fewer objects to draw the program
> will be much more responsive. Drawing just a subset of your data will
> still allow you to have some sort of reference when manipulating it.
> When you are done rotating/zooming etc. then *all* of the data is drawn
> so you see the entire data set.
>
> It is just a technique to improve the response of the program. If you
> just want to view your data from all sides then simply make a movie
> while rotating the data and forget about all of this. But if you want
> to interact with this data set, explore it so to speak, you'll want to
> improve the response of the program otherwise you'll go mad waiting for
> the thing to draw as you're dragging your data around.
>
> -Rick
|
|
|
Re: large 3D array plot [message #49878 is a reply to message #49816] |
Fri, 18 August 2006 16:39  |
Rick Towler
Messages: 821 Registered: August 1998
|
Senior Member |
|
|
adisn123 wrote:
>> Another thing to consider would be to write your own viewer which HIDEs
>> almost all of your data when you rotate the objects. You could do this
>> by plotting the data in 2 IDLgrPolyline objects. One with some data,
>> the other with lots. When a mousedown event is processed you hide the
>> 'lots of data' polyline. At mouseup you unhide it. This probably would
>> be an easy hack on XPLOT3D.
>
> I'm not familiar with IDLgrPolyine objects. but, it seems like it draws
> a line between points, which I don't want to do.
XPLOT3D is using IDLgrPolyline to plot your data (If you look at the
docs regarding IDLgrPolyline, you'll see that it has the same
LINESTYLEs). So you can choose "no line" and only draw the symbols,
just like you are currently doing.
> What do you mean by "HIDEs almost all of your data when you rotate the
> objects."?
Check out the IDLgrPolyline keyword HIDE in the docs.
> How come you want to hide part of your date whilte rotating in 3D, then
> what's the point of viewing in 3D?
Tools like XPLOT3D and XOBJVIEW only draw your 3d object when you change
the view in some way. When you are rotating and zooming an object,
you're changing the view repeatedly and when drawing takes a long time
(like it does with your data) these tasks become quite tedious.
I was suggesting that you hide most (not all) of your data to make
rotating and zooming easier since with fewer objects to draw the program
will be much more responsive. Drawing just a subset of your data will
still allow you to have some sort of reference when manipulating it.
When you are done rotating/zooming etc. then *all* of the data is drawn
so you see the entire data set.
It is just a technique to improve the response of the program. If you
just want to view your data from all sides then simply make a movie
while rotating the data and forget about all of this. But if you want
to interact with this data set, explore it so to speak, you'll want to
improve the response of the program otherwise you'll go mad waiting for
the thing to draw as you're dragging your data around.
-Rick
|
|
|