(* ::Package:: *)

(* ::Subsection:: *)
(*Defs*)


(* ::Subsection:: *)
(*BeginPackage*)


BeginPackage["Lissajous3D`"];


plotRange={{-1.1,1.1},{-1.1,1.1},{-1.1,1.1}};


(* ::Input:: *)
(*\[Epsilon]=10^-5;*)


makeTooltip[{cf_,fString_}]:=
Tooltip[
ParametricPlot3D[{Sin[ 2t], Sin[3 t+1], Sin[5 t]},{t,0,2Pi  LCM[1/2,1/3,1/6]},
Axes-> None,
ColorFunction->cf,
Background->Black,
PlotStyle-> Thickness[0.01],
Boxed->False,
PlotRange->plotRange,
ImageSize->35
],fString
]


cfParam2Hue=(Hue[#4]&);
cfXYZ2RGB=(RGBColor[#1,#2,#3]&);
functions={cfParam2Hue,cfXYZ2RGB,"TemperatureMap"};
functionStrings={"t \[Rule] HUE","xyz \[Rule] RGB","z \[Rule] TemperatureMap"};
functionTooltips=makeTooltip/@Transpose[{functions,functionStrings}];
functionsWithTooltips=Table[functions[[i]]->functionTooltips[[i]],{i,Length[functions]}];


(* ::Subsection::Closed:: *)
(*End Package*)


EndPackage[ ]
