外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
ruby/tk は 外部変形で何ができるのか考えてみます。
円を描く
tk で円を描くのは面倒です。そこで 中心点と円周上点、中心点と半径で円を描くコマンド circle を用意しました。
円弧のコマンド arc で
canvas.arc(30,70,70,30,start:0,extent:359.99999,style:'arc',outline:'green')
canvas.create("arc",30,220,70,180,start:0,extent:359.99999,style:'arc',outline:'green')
あるいは 楕円のコマンド oval で
canvas.oval(30,70,70,30,outline:'green')
canvas.create("oval",30,220,70,180,outline:'green')
とすれば描けなくはないのですが外部変形らしくありません。
circle は 円弧を折れ線に置き換えています。