#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
-~----------~----~----~----~------~----~------~--~---