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]);