(u,v,w)=var("u v w")
basev = vector([0,0,0])
v1=vector([1,-1,0]); v1=v1/norm(v1); v2=vector([-1,0,1]); v2=v2/norm(v2)
normalv = v2.cross_product(v1); v2=v1.cross_product(normalv)
vplot = line([basev,2*(basev+normalv)],thickness=2,arrow_head=True,color='red')
for u in srange(0,2*pi,pi/4):
vplot += line([basev,(basev+cos(u)*v1+sin(u)*v2)],thickness=2,arrow_head=True)
for u in srange(0,2*pi,pi/4):
vplot += line([basev,(basev+2*cos(u+pi/8)*v1+2*sin(u+pi/8)*v2)],thickness=2,arrow_head=True)
vplot += parametric_plot3d(basev+v*v1+w*v2,(v,-2,2),(w,-2,2),color=(1,1,0),opacity=0.5)