(*   par Marcel Délèze   *)

BeginPackage["Objets3D`"]

vecteur3D::usage=
	"vecteur3D[r, v, t, e] représente le vecteur v avec\nle point d'application est r\nla longueur de tête t par rapport à la norme du vecteur (typiquement t=0.1)\nl'épaisseur de la flèche e (typiquement e=0.005."

Begin["`Private`"]

vecteur3D[r_List, v_List,t_,e_]:=Module[{n=16,i,j,s},
		i=Which[Abs[v[[1]]]≤Abs[v[[2]]]∧Abs[v[[1]]]≤Abs[v[[3]]],{0,-v[[3]],v[[2]]},
				Abs[v[[2]]]≤Abs[v[[1]]]∧Abs[v[[2]]]≤Abs[v[[3]]],	{-v[[3]],0,v[[1]]},
				True,{-v[[2]],v[[1]],0}];
		i=((t*(Sqrt[v.v]))/4)(i/(Sqrt[i.i]));
		j=v\[Cross]i; j=((t*(Sqrt[v.v]))/4)(j/(Sqrt[j.j]));
		s=r+v; m=r+(1-t) v;
		{{Thickness[e],Line[{r,m}]},
			Table[Line[{s, m+i Cos[((k 2 π)/n)]+j Sin[((k 2 π)/n)]}],{k,0,n-1}],
		Line[Table[ m+i Cos[((k 2 π)/n)]+j Sin[((k 2 π)/n)],{k,0,n}]]}]

End[]

EndPackage[]