#2646: create plot_vector_field3d function
---------------------------+------------------------------------------------
   Reporter:  jason        |       Owner:  was       
       Type:  enhancement  |      Status:  new       
   Priority:  major        |   Milestone:  sage-4.2.1
  Component:  graphics     |    Keywords:            
Work_issues:               |      Author:            
   Reviewer:               |      Merged:            
---------------------------+------------------------------------------------

Comment(by jason):

 Okay, now with coloring based on the norm, using matplotlib colormaps:

 {{{
 def plot_vector_field3d(vec, xrange, yrange, zrange, plot_points=[5,5,5],
 cmap='jet', center_arrows=False,**kwds):
     from matplotlib.cm import get_cmap
     from sage.plot.misc import setup_for_eval_on_grid
     (ff,gg,hh), ranges = setup_for_eval_on_grid(vec, [xrange, yrange,
 zrange], plot_points)
     xpoints, ypoints, zpoints = [srange(*r, include_endpoint=True) for r
 in ranges]
     points = [vector((i,j,k)) for i in xpoints for j in ypoints for k in
 zpoints]
     vectors = [vector((ff(*point), gg(*point), hh(*point))) for point in
 points]

     cm=get_cmap(cmap)

     max_len = max(v.norm() for v in vectors)
     scaled_vectors = [v/max_len for v in vectors]

     if center_arrows:
         return sum([plot(v,color=cm(v.norm()),**kwds).translate(p-v/2) for
 v,p in zip(scaled_vectors, points)])
     else:
         return sum([plot(v,color=cm(v.norm()),**kwds).translate(p) for v,p
 in zip(scaled_vectors, points)])
 }}}

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/2646#comment:6>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to