zweig[t_,s_,a_,st_,p_,th_]:= Module[{myexample, myplot},
myexample =
Table[
seg[ {0,0,y}, {0,0,y} + (1-y^p)*a*RandomVariate[UniformDistribution[{.5,1.2}]]*{Cos[t] Sin[s y], Cos[t] Cos[s y], Sin[t]} ],
{y, 0, 1,1/ st}];

myplot= myexample /. seg[v1_, v2_] ->{ Green,Thickness[Log[1+th/10]], Line[{v1, v2}]};

grafik = {myplot,Thickness[.6th],Darker[Green],Line[{{0,0,0}, {0,0,1}}]}]

einzweig=zweig[.005,80,.8,50,1.35, .01];
gshear=GeometricTransformation[einzweig,ShearingTransform[ 3 Pi/8,{1,0,0},{0,0,1}]];
gscaleshear=GeometricTransformation[gshear,ScalingTransform[{.3,.3,.3}]];gscaleshearrot=GeometricTransformation[gscaleshear,RotationTransform[ Pi/4,{0,0,1}]];zweigKranz=ParallelTable[GeometricTransformation[gscaleshear,RotationTransform[a,{0,0,1}]],{a,Pi/5 Range[10]}];
zweigKranzscaletransl[a_]:=GeometricTransformation[GeometricTransformation[zweigKranz,ScalingTransform[{1-a,1-a,1-a}]],TranslationTransform[{0,0,a}]]
treeWithoutStem= ParallelTable[zweigKranzscaletransl[a],{a,0,1,.1}];

Graphics3D[Join[treeWithoutStem,{Darker[Green],Thickness[.01],Line[{{0,0,-.1}, {0,0,1}}]}], Boxed->False, ImageSize->{400,400}]