How to project orthogonal grid onto surface

classic Classic list List threaded Threaded
6 messages Options
kb
Reply | Threaded
Open this post in threaded view
|

How to project orthogonal grid onto surface

kb
Hi all,
Having fun learning Mayavi2, and I am making reasonable progress with
controlling it though python scripts.  However, I have not been able to
do this seemingly simple task.
I have x,y,z data, with x,y forming an orthogonal grid and z being the elevation
data.  I have the surface, and can easily get contours on that surface,
but what I would like is the underlying x,y grid projected on one side of
the surface.
As a first step I figured out how to use Extract Edges to sort of do what
I want, but the grid is much too dense and I do not know how to tell it to
plot every fifth line, or something like that.
Alternatively, I can get the x,y grid using the Extract Grid filter, and
even reduce the number of lines and then plot it with GridPlane module,
but I do not know how to map this on the surface.
If anyone can point me to an example or give me a couple of starting ideas,
it would be very much appreciated.
Cheers

_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev
Reply | Threaded
Open this post in threaded view
|

Re: How to project orthogonal grid onto surface

zhixiu li
I also have this problem. If you figure out how to do it. Please let me
know. Thank you very much!


On Wed, Apr 25, 2012 at 5:06 PM, kb <[hidden email]> wrote:

> Hi all,
> Having fun learning Mayavi2, and I am making reasonable progress with
> controlling it though python scripts.  However, I have not been able to
> do this seemingly simple task.
> I have x,y,z data, with x,y forming an orthogonal grid and z being the
> elevation
> data.  I have the surface, and can easily get contours on that surface,
> but what I would like is the underlying x,y grid projected on one side of
> the surface.
> As a first step I figured out how to use Extract Edges to sort of do what
> I want, but the grid is much too dense and I do not know how to tell it to
> plot every fifth line, or something like that.
> Alternatively, I can get the x,y grid using the Extract Grid filter, and
> even reduce the number of lines and then plot it with GridPlane module,
> but I do not know how to map this on the surface.
> If anyone can point me to an example or give me a couple of starting ideas,
> it would be very much appreciated.
> Cheers
>
> _______________________________________________
> Enthought-Dev mailing list
> [hidden email]
> https://mail.enthought.com/mailman/listinfo/enthought-dev
>
_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev
Reply | Threaded
Open this post in threaded view
|

Re: How to project orthogonal grid onto surface

Gael Varoquaux
In reply to this post by kb
I am not sure that understand what you want to do. Could you show us an
image that looks like what you are trying to achieve?

Cheers,

Gaƫl

On Wed, Apr 25, 2012 at 09:06:03PM +0000, kb wrote:

> Hi all,
> Having fun learning Mayavi2, and I am making reasonable progress with
> controlling it though python scripts.  However, I have not been able to
> do this seemingly simple task.
> I have x,y,z data, with x,y forming an orthogonal grid and z being the elevation
> data.  I have the surface, and can easily get contours on that surface,
> but what I would like is the underlying x,y grid projected on one side of
> the surface.
> As a first step I figured out how to use Extract Edges to sort of do what
> I want, but the grid is much too dense and I do not know how to tell it to
> plot every fifth line, or something like that.
> Alternatively, I can get the x,y grid using the Extract Grid filter, and
> even reduce the number of lines and then plot it with GridPlane module,
> but I do not know how to map this on the surface.
> If anyone can point me to an example or give me a couple of starting ideas,
> it would be very much appreciated.
> Cheers

> _______________________________________________
> Enthought-Dev mailing list
> [hidden email]
> https://mail.enthought.com/mailman/listinfo/enthought-dev

--
    Gael Varoquaux
    Researcher, INRIA Parietal
    Laboratoire de Neuro-Imagerie Assistee par Ordinateur
    NeuroSpin/CEA Saclay , Bat 145, 91191 Gif-sur-Yvette France
    Phone:  ++ 33-1-69-08-79-68
    http://gael-varoquaux.info            http://twitter.com/GaelVaroquaux
_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev
kb
Reply | Threaded
Open this post in threaded view
|

Re: How to project orthogonal grid onto surface

kb
Gael Varoquaux <gael.varoquaux@...> writes:

> I am not sure that understand what you want to do. Could you show us an
> image that looks like what you are trying to achieve?

Thanks for the offer to think about this.
Here is an close example, though it is not quite want I want:
http://www.matrixlab-examples.com/3D-plot-part2.html

It shows the projection of the grid on the surface, which is what
I am trying to achieve as a way to accentuate the 3 dimensionality.  
But, I want the underlying surface to be the surface I have already
with smooth gradation of color (i.e. not patches of color in
each 'square'), and preferably the no mesh visible on the
under side of the surface (I have been able to get this effect with
contours by moving them out from the surface just a bit along the
normals).

The x,y grid data could be a start, but the spacing is very close,
and if I do use it then two things are important:  The mesh lines
will need to use all of that high resolution data if the mesh lines
are to faithfully follow the surface, but at the same time, because
of the very close spacing, I would want the mesh
to be composed of something like only every 10th line.

I could imagine creating a whole set of independent lines to do
this, but that seems like a difficult way to go, particularly as the
surface has a couple of dataclippers trimming off parts of it.

Does that make sense?

Cheers, Kersey


_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev
Reply | Threaded
Open this post in threaded view
|

Re: How to project orthogonal grid onto surface

Gael Varoquaux
On Thu, Apr 26, 2012 at 09:29:33PM +0000, kb wrote:
> Thanks for the offer to think about this.
> Here is an close example, though it is not quite want I want:
> http://www.matrixlab-examples.com/3D-plot-part2.html

You are talking of the last image on the page:
http://www.matrixlab-examples.com/image-files/surfc-3d-using-surf.jpg
?

The item that you are having difficulties to achieve is the lower part of
the plot, on the horizontal surface?

G
_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev
kb
Reply | Threaded
Open this post in threaded view
|

Re: How to project orthogonal grid onto surface

kb
Gael Varoquaux <gael.varoquaux@...> writes:

> You are talking of the last image on the page:
> http://www.matrixlab-examples.com/image-files/surfc-3d-using-surf.jpg
> ?

Yes, the one at the bottom

>
> The item that you are having difficulties to achieve is the lower part of
> the plot, on the horizontal surface?

No.  I am having a hard time getting the surface with a grid mapped on the
3D surface.  In this image that grid is black.

Thanks, K

_______________________________________________
Enthought-Dev mailing list
[hidden email]
https://mail.enthought.com/mailman/listinfo/enthought-dev