Tout d'abord, nous nous occupons de le cas trivial où l'angle est égal à zéro ou à un multiple de pi/2. Puis le plus grand rectangle est le même que le rectangle d'origine.
En général, le rectangle intérieur dispose de 3 points sur les limites du rectangle extérieur. Si elle ne le fait pas, alors il peut être déplacé de façon que l'un des vertex sera sur le fond, et un sommet sera sur la gauche. Vous pouvez ensuite agrandir le rectangle intérieur jusqu'à ce que l'un des deux sommets restants atteint une limite.
Nous appelons les côtés du rectangle extérieur R1 et R2. Sans perte de généralité, nous pouvons supposer que R1 <= R2. Si nous appelons les côtés du rectangle intérieur H et W, alors nous avons que
H cos a + W sin a <= R1
H sin a + W cos a <= R2
Puisque nous avons au moins 3 points sur les frontières, au moins l'un de ces inégalités doivent être en fait une égalité. Nous allons utiliser la première. Il est facile de voir que:
W = (R1 - H cos a) / sin a
et si la région est
A = H W = H (R1 - H cos a) / sin a
Nous pouvons prendre les dérivés wrt. H et de demander à être égale à 0:
dA/dH = ((R1 - H cos a) - H cos a) / sin a
La résolution pour la H et en utilisant l'expression de W, ci-dessus, nous constatons que:
H = R1 / (2 cos a)
W = R1 / (2 sin a)
En substituant ceci dans la deuxième inégalité devient, après quelques manipulations,
R1 (tan a + 1/tan a) / 2 <= R2
Le facteur sur le côté gauche est toujours au moins 1. Si l'inégalité est satisfaite, alors nous avons la solution. Si elle n'est pas satisfaite, alors la solution est la seule qui satisfasse à la fois les inégalités que les égalités. En d'autres termes: c'est le rectangle qui touche tous les quatre côtés du rectangle extérieur. C'est un système linéaire avec 2 inconnues, qui est facilement résolu:
H = (R2 cos a - R1 sin a) / cos 2a
W = (R1 cos a - R2 sin a) / cos 2a
En termes de coordonnées d'origine, on obtient:
x1 = x4 = W sin a cos a
y1 = y2 = R2 sin a - W sin^2 a
x2 = x3 = x1 + H
y3 = y4 = y2 + W