Re: Create 3D Surface / Contour (with vpython?)

Discussion in 'Python' started by norseman, Jun 18, 2009.

  1. norseman

    norseman Guest

    Philip Gröger wrote:
    > Hi!
    > How can I create a 3D surface (or something like the picture on the FAQ
    > page http://www.vpython.org/contents/FAQ.html ) with python [or
    > vpython]. Didnt find anything in the Documentation under "graph"
    > Basically like a contourf diagram in 3D
    > (http://www.techsoft.de/german/documents/images/3D_contour2.jpg). I
    > think you know what I mean.
    >
    > Reason: I want to simulate waves in a square basin. Hope I dont need to
    > use hundrets of little spheres (in case of vpython) for the surface ;)
    >
    > Thanks alot
    >
    > - Philip
    >

    =========================
    First of all, those are not quite contours, at least not as the mapping
    industry uses the term. They are function generated cross sections,
    perhaps rotated or translated, closely spaced, that have been rendered.
    Rendered makes them pictures (rasters) and as such the base values are
    no longer vectors.

    If you are looking to create pictures you need to plot the points in 3D
    space, rotate (in 3D space) to a viewpoint of choice and either render
    the points if they are close enough or create a series of triangular
    planes from the interior of the points. Do a Google on Triangulated
    Irregular Networks (TIN). Also try http://wikipedia.org/

    The TIN was originally created to aid in computer generated surfaces for
    use in Aerial Mapping (Photogrammetry). The OG (original ground) could
    be generated and then the Engineer or Designer could use that to base
    his/her earth redistributions to a minimum in things like highways,
    subdivisions and such. Later when GIS came along it borrowed the
    equations and selected the raster format as it's base. Unfortunately
    rasters are equally spaced points of same size along the X or Y axis
    (can be same along both) thus forming a grid. TIN points are NOT on a
    grid. They occur where needed to dot outline the surface. Coupled with
    break lines (polylines, sometimes called line strings) to trace an edge
    (like edge of mountain road) the TIN can depict very accurately a
    surface. Mother Nature uses quite a number of math functions in just
    your front yard. The proper dotting of the area reduces the overall
    number of points required to 'shape' the surface.

    Contours, in mapping, are connected lines of equal elevation. Contours
    do not touch each other. Look up Topographic Maps, Lines of Equal
    Elevation, Contours, 2D representations of 3D objects, Photogrammetry,
    Land Surveying - subsection volumes.

    For a single function you can look at the choices you named. I think
    Rasterman has (had?) a good rendering program which could be used to
    render any formula output you may want to generate. Re-run your graphs
    with small increments and combine outputs and render. Should work.
    Waves are just cyclic output. (Crest and trough) Direction gets changed
    in small increments radiating out from point of creation and bounce (off
    wall) is part of path. Time determines total length. How complicated is
    that? The combined 360 degree outputs for a given time slice (time from
    creation) provides 'surface' at that point. Add 'vigor' factors to
    control frequency and strength (amplitude) of waves.

    I'm assuming you can do the math. That being the case, it should be a
    nice programming exercise.

    Good Luck;


    Steve
     
    norseman, Jun 18, 2009
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. flyaflya
    Replies:
    1
    Views:
    617
    Devan L
    Jul 27, 2005
  2. Grant Edwards

    how to use matplotlib contour()?

    Grant Edwards, May 24, 2006, in forum: Python
    Replies:
    2
    Views:
    1,446
    Grant Edwards
    May 25, 2006
  3. Grant Edwards

    How to control color of contour lines?

    Grant Edwards, May 27, 2006, in forum: Python
    Replies:
    2
    Views:
    429
    Grant Edwards
    May 27, 2006
  4. Speed

    Center of Contour

    Speed, Jul 20, 2006, in forum: C Programming
    Replies:
    4
    Views:
    352
    Soumyadip Rakshit
    Jul 21, 2006
  5. Isaac Won

    Plot a contour inside a contour

    Isaac Won, Nov 14, 2013, in forum: Python
    Replies:
    2
    Views:
    81
    Isaac Won
    Nov 14, 2013
Loading...

Share This Page