x[t_]:=Cos[t]+1/7Cos[7t+Pi/3]; 
y[t_]:=Sin[t]+1/7Sin[7t];
P1=ParametricPlot[{x[t], y[t]}, {t, 0, 2π}];
P2=ParametricPlot[{0.8Sin[t],0.8Cos[t]},{t,0,2Pi}];
P3=Graphics[{Blue,Opacity[0.1],
Rectangle[{-1.2,0},{1.2,1.1}]}];
Show[P1,P2,P3]

Dieses Verfahren basiert auf der Berechnung von Schnittpunkten mit einer Ursprungsgeraden durch den Zufallspunkt mit der parametrisierten Kurve. Anschließend wird der Radius vom 
Zufallspunkt zwischen die Schnittpunkte Einsortiert und entsprechend gewertet. Das Schnittpunkte berechnen dauert leider sehr lange, weshalb nicht mehr als 1000 Zufallspunkte verwendet werden sollten. Auß Symmetriegründen wird nur oberhalb der XAchse gerechnet.

NGood=0;
NGes=500;
For[ii=0,ii<NGes,ii++,
rx=RandomReal[{-1.2,1.2}];
ry=RandomReal[{0,1.1}];
r=rx^2+ry^2;
Which[r<0.64,NGood=NGood+1,r≥ 0.64,(*überprüfen, ob eine Schnittpunktberechnung wirklich nötig ist*)
So=Solve[{(Cos[t]+1/7Cos[7t+Pi/3])*ry/rx==Sin[t]+1/7Sin[7t],Im[t]==0},t, InverseFunctions->True];
tt=t/.So;
tttt={};
For[i=0,i<Length[tt]+1,i++,
If[tt[[i]]>0,AppendTo[tttt,y[tt[[i]]]^2+x[tt[[i]]]^2]]];
Vgl=Sort[tttt,Less];
Which[Length[Vgl]==1,If[r<Vgl[[1]],NGood=NGood+1],Length[Vgl]==2,If[r<Vgl[[2]],NGood=NGood+1],Length[Vgl]==3,If[r<Vgl[[1]]||x[Vgl[[2]]]<r<Vgl[[3]],NGood=NGood+1]]]];
2*NGood/NGes*2.4*1.1