The var C is never used:

```
public static double[] nearestPoint( double a[], double b[], double c[] ) {
double ab[] = {a[0]-b[0],a[1]-b[1]};
double ac[] = {a[0]-c[0],a[1]-c[1]};
double A = dot(ab,ab);
double B = dot(ab,ac);
double C = dot(ac,ac)-1.0;
// find minimum of As^2 - 2Bs + C = 0
double s = B/A;
double d[] = {a[0]*(1.0-s) + b[0]*s, a[1]*(1.0-s) + b[1]*s};
return d;
}
```

]]>I have seen your code that is available on Github and I create an issue with a little doubt about the code:

Why the value of the local variable C is not used on nearestPoint method?

```
public static double [] radialPoint (double a [], double b [], double c []) {
double ab [] = {a [0] -b [0], a [1] -b [1]};
double ac [] = {a [0] -c [0], a [1] -c [1]};
double A = dot (ab, ab);
double B = dot (ab, ac);
double C = dot (ac, ac) -1.0;
// solve As ^ 2 - 2Bs + C = 0
double s = (B + Math.sqrt (B * B - A * C)) / A;
double d [] = {a [0] * (1.0-s) + b [0] * s, a [1] * (1.0-s) + b [1] * s};
return d;
}
```

Thank you.

]]>When the boundary of the shape was composed of straight lines and arcs it did look like some finite set might be sufficient. However, the new upper bound has a more complex curve as part of its boundary. It requires a one-parameter family of shapes to define it.

That’s not conclusive but it is persuasive evidence that a finite set won’t be sufficient.

]]>All work on *lower* bounds for the area involves a specific finite subset of diameter 1 shapes that is probably not actually sufficient. Gibbs’ new upper bounds involve the set of all ‘orbiforms’, which is sufficient but infinite.

It may still be hard to see but the three vertices trace out the hypotrochoid. The centre of the triangle moves in a circle. The edges of the triangle appear to touch the curve tangentially but actually they only do so at the midpoint.

The curve is defined in the complex plane parametrically up to scale as for real

If you rotate the triangle with unit side about its centre it fits inside a circle of area but it can also rotate inside a square of unit area which is smaller. In fact the corners of the square can be cut off by an elliptic arc to give probably the smallest convex solution. If this could be proven it would solve the translation-only version of the Lebesgue covering problem.

The area of this hypotrochoid is I think.

I don’t think this is the best possible non-convex solution. This problem is closely related to the sofa moving problem and the best solution might also be composed of a number of curve sections joined together so that the edges of the triangle touch the curve more.

]]>