Nous déclarons trois variables, puis nous créons une figure avec notre triangle :

| figure centre point |

figure := DrGeoCanvas new pleinEcran.
figure polygone: {-2@0 . 2@0 . 1@3 }.

Le centre du cercle inscrit du triangle est à l'intersection des bissectrices du triangle. Nous demandons à Dr. Geo cette intersection :

centre := figure 
   intersectionDe: (figure bissectriceSommet: -2@0  cote1: 2@0 cote2:  1@3)
   et: (figure bissectriceSommet: 2@0 cote1: 1@3 cote2: -2@0).

Le cercle inscrit est tangent aux trois côtés du triangle, nous cherchons donc un point de contact entre le cercle et un des côtés du triangle. Ce point est tel que la distance entre le côté et le centre est la plus courte ; il nous faut donc construire la perpendiculaire à ce côté passant par le centre, l'intersection entre cette perpendiculaire et le côté sera notre point de contact entre le côté et le cercle[1] :

point := figure
   intersectionDe: (figure perpendicularA: (figure segmentDe: 2@0 a: -2@0) passantPar: centre)
   et: (figure segmentDe: 2@0 a: -2@0).

Dans le code ci-dessus, nous indiquons à Dr. Geo le segment par la commande : figure segmentDe: 2@0 a: -2@0. Nous répétons celle-ci autant de fois que nécessaire. Bien sûr nous aurions pu affecter le résultat de cette commande dans une variable pour réutilisation, par exemple :

cote := figure segmentDe: 2@0 a: -2@0.
point := figure
   intersectionDe: (figure perpendicularA: cote passantPar: centre)
   et: cote.

...mais nous avons préféré réduire le nombre de variable, et par ailleurs Dr. Geo sait détecter la répétition de commandes identiques et éviter les duplications inutiles d'objets géométriques.

Pour finir le cercle inscrit s'obtient directement par :

figure cercleCentre: centre passantPar: point 

Le script complet est donc :

| figure centre point|

figure := DrGeoCanvas new pleinEcran.
figure polygone: {-2@0 . 2@0 . 1@3 }.
centre := figure 
   intersectionDe:  (figure bissectriceSommet: -2@0  cote1: 2@0 cote2:  1@3)
   et: (figure bissectriceSommet: 2@0 cote1: 1@3 cote2: -2@0).
point := figure
   intersectionDe: (figure perpendicularA: (figure segmentDe: 2@0 a: -2@0) passantPar: centre)
   et: (figure segmentDe: 2@0 a: -2@0).
figure cercleCentre: centre passantPar: point 

Copier et coller ce script dans un espace de travail (workspace) Dr. Geo, puis le sélectionner et l'exécuter avec Ctrl-d, donnera la figure suivante :

cercleInscrit.png

Notes

[1] Une erreur s'est glissée dans l'API en français, il faudrait lire perpendiculaireA:passantPar, ce sera corrigé dans la prochaine version de Dr. Geo.