aperp := V -> unit(VP &x V);
VP := [1/2, 1/2, 1/2*2^(1/2)];
arrow1 :=  (R, V) -> plots[polygonplot3d]([evl(R+V),
         evl(R+V-.1*unit(V)+.05*aperp(V)),
         evl(R+V-.1*unit(V)-.05*aperp(V)),
         evl(R+V), evl(R)],
         style = LINE, args[3..nargs]);
arrow := (R,V) -> arrow1(evalf(R),evalf(V), args[3..nargs]);

