Find area of the largest possible triangle inscribed in the cardioid $r=1-\cos\theta$.

areageometryoptimizationtriangles

The best I can do is the triangle with vertices (in rectangular coordinates) $(0,1)$, $(0,-1)$ and $(-2,0)$. Can you do better or prove this yields maximal area?

I can show this is maximal for all triangles with either one vertex at $(0,0)$ or with one side that contains the point $(0,0)$.

Best Answer

I will be using the equivalent cardioid $r=1+\cos\theta$ for reasons to be made clear below. Using the Weierstrass rational representation $t=\tan\frac\theta2$, any point on the cardioid but the cusp (which is $t=\infty$; if I had used $r=1-\cos\theta$ the infinity point would be in the middle of a smooth curve, which I don't want) may be represented as $$\frac2{1+t^2}\left(\frac{1-t^2}{1+t^2},\frac{2t}{1+t^2}\right)$$ Now take three parameters $t,u,v$ and define three points on the cardioid as above. The area of the triangle they define can be computed using the cross product and is the magnitude of $$\frac{4(t-u)(u-v)(v-t)(tuv(t+u+v)+t^2+u^2+v^2+tu+uv+vt+3)}{((t^2+1)(u^2+1)(v^2+1))^2}$$ To maximise this area we simply take the derivative of this expression with respect to the three variables and solve for zero derivative (see Singular code below). There is an essentially unique solution $$\{t,u,v\}=\{-x,0,x\}\qquad x=\sqrt{\frac{2\sqrt{13}-5}3};\ 3x^4+10x^2-9=0\tag1$$ which produces a triangle wholly in the cardioid whose area is larger than that of the triangle you found: $$\sqrt{\frac{945+351\sqrt{13}}{128}}=4.155708\ldots>4$$ Since I introduced no other constraints and you've handled the case where the triangle hits the cusp, the maximum area triangle in the cardioid is described by $(1)$ and depicted below.

How to find the solution

option(prot); LIB "elim.lib";
ring r=0,(t,u,v),dp;
poly up=4*(t-u)*(u-v)*(v-t)*(tuv*(t+u+v)+t2+u2+v2+tu+uv+vt+3);
poly down=((t2+1)*(u2+1)*(v2+1))^2;
poly p1=diff(up,t)*down-up*diff(down,t);
poly p2=diff(up,u)*down-up*diff(down,u);
poly p3=diff(up,v)*down-up*diff(down,v);
p1=p1/((u-v)*(t2+1)*(u2+1)^2*(v2+1)^2);
p2=p2/((v-t)*(t2+1)^2*(u2+1)*(v2+1)^2);
p3=p3/((t-u)*(t2+1)^2*(u2+1)^2*(v2+1));
poly q1=resultant(p1,p2,v)/((t-u)^3*(t2+1)^2*(u2+1)^2);
poly q2=resultant(p1,p3,v)/((t-u)*(t2+1)^4*(u2+1)^2);
poly p4=product(factorize(resultant(q1,q2,u),1))/((t2+1)*(t2+9));
ideal I=p1,p2,p3,p4;
ring rr=0,(t,u,v),lp;
ideal J=imap(r,I);
triangL(stdfglm(J));

The above Singular code first constructs denominator-removed expressions for the derivatives of the triangle area with respect to the three variables, then uses resultants to derive a polynomial for $t$; this fourth polynomial is required to make the ideal zero-dimensional. Finally the triangular systems combining to make this ideal are computed, yielding this result:

[1]:
   _[1]=v2-3
   _[2]=u2-3
   _[3]=t2-3
[2]:
   _[1]=v
   _[2]=3u5+10u3-9u
   _[3]=t+u
[3]:
   _[1]=3v4+10v2-9
   _[2]=u3-uv2
   _[3]=6t-3u2v3-10u2v-3u+6v
[4]:
   _[1]=640108624098375v36-5148337921041000v34+26978868204221536v32-90595830671241144v30+174477817769250492v28-88887184063433688v26-264130789939546320v24+211247992383077736v22+629579509772920194v20-489083285277323208v18-795841216135748160v16-175972388059888936v14+40854222661032492v12+7808458598580024v10-1155576993811920v8-75113448395400v6+15409537814223v4-613666496304v2+3673320192
   _[2]=u-v
   _[3]=t-v
[5]:
   _[1]=v4+2v2+1
   _[2]=u-v3-2v
   _[3]=1920325872295125t43-14804905139024625t41+50824030351786983t39-26740512038246771t37-758343361196236572t35+4169483103271335516t33-10132001875006352724t31+8547114445453364004t29+10001133359631435222t27-16207873377366831774t25-21726512020485356382t23+34749136509369035382t21+17779149006729660164t19-14560510102872759252t17-6340227433780124196t15+797153209164258228t13+255867000085372797t11-28257585807175929t9-2629637727966225t7+439994187660069t5-16712254887696t3+99179645184t

Solutions $1,4,5$ are rejected because they either involve complex numbers or degenerate the triangle. Solutions $2$ and $3$ are equivalent after allowing for variable permutations and removing more degeneracies; they correspond to $(1)$ above. All throughout the Singular code, extraneous factors are removed to keep the running time low.