Mir fllt leider keine Fertige lösung ein,
aber Folgendes könnte helfen:
die "Abschnittlänge" die jeweils ausgegebn wird ist 2xCOS.
SIN kriegst du über die Zeilenanzahl.
Als maßeinhet müsstest du aber "em" verwenden..
kommst also auf
bei einem kreis mit höhe zB 10em:
erste zeile hätte Länge 2*COS(sin^-1(10-1)) em.
dann kannst du den gerundeten(!) Wert in eine "stringteilende" Funktion eingeben.