Question: How does one change the color/transparency of vectors in arrow with vector magnitude?

I have a nice procedure that is as follows, that explores the behaviour of a mapping in R^2.

InversePoincare := proc (v) options operator, arrow; v*Norm(v, 2)/(1-Norm(v, 2)^2) end proc

SphereVectorPlot := proc (T, radius, radiusIncrements, angleIncrements, lengthParam)
local listOfPairs;
listOfPairs := {seq(seq([[radius*r*cos(2*angle*Pi/angleIncrements)/radiusIncrements, radius*r*sin(2*angle*Pi/angleIncrements)/radiusIncrements], T(InversePoincare(`<,>`(radius*r*cos(2*angle*Pi/angleIncrements)/radiusIncrements, radius*r*sin(2*angle*Pi/angleIncrements)/radiusIncrements)))-InversePoincare(`<,>`(radius*r*cos(2*angle*Pi/angleIncrements)/radiusIncrements, radius*r*sin(2*angle*Pi/angleIncrements)/radiusIncrements))], r = 0 .. radiusIncrements), angle = 0 .. angleIncrements)};
if lengthParam = false then
 return arrow(listOfPairs, scaling = constrained, shape = arrow)
else
 return arrow(listOfPairs, length = lengthParam, scaling = constrained, shape = arrow)
end if
end proc

Essentially, we plot vectors v at location u. Since the vectors v in general vary wildly in magnitude, I would like to visualize the magnitude change by using color and/or transparency, preferably the latter. Is it possible to do so, and if so, how?

Please Wait...