Jw_cad 作者さんのホームページの掲示板にて、
垂心・重心・外心・オイラー線、の話がありましたので
当方の「Script!17」で作ってみました。
#VAR
 x1 = 10  ;*点1X座標
 y1 = 0  ;*点1Y座標
 x2 = 100 ;*点2X座標
 y2 = 0  ;*点2Y座標
 x3 = 20  ;*点3X座標
 y3 = 50  ;*点3Y座標
 ra1   ;*角度1[°]
 ra2   ;*角度2[°]
 // 作業用
 w1
 w2
 an1   // 点1〜点2の角度
 an2   // 点2〜点3の角度
 an3   // 点3〜点1の角度
 ln1   // 点1〜点2の長さ
 ln2   // 点2〜点3の長さ
 ln3   // 点3〜点1の長さ
 wx1
 wy1
 wx2
 wy2
 wx3
 wy3
 wx4
 wy4
 rr
 rx1
 ry1
 rx2
 ry2
 rx3
 ry3
 ran1
 ran2
 
#DRAW
 LAYER SetLineLay1  // 外形線
 PEN SetLineCol1,SetLineLtp1,SetLineWid1

 // 三角形を描く
 LINE x1,y1,x2,y2
 LINE x2,y2,x3,y3
 LINE x3,y3,x1,y1

 CAL w1 = x2-x1
 CAL w2 = y2-y1
 GETANGLE an1,w1,w2
 CAL w1 = x3-x2
 CAL w2 = y3-y2
 GETANGLE an2,w1,w2
 CAL w1 = x1-x3
 CAL w2 = y1-y3
 GETANGLE an3,w1,w2
 GETDIST ln1,x1,y1,x2,y2
 GETDIST ln2,x2,y2,x3,y3
 GETDIST ln3,x3,y3,x1,y1

 CAL rr = (ln1+ln2+ln3)/3/50

 LAYER SetLineLay7  // 補助線
 PEN 6,SetLineLtp7,SetLineWid7
 // 垂心
 CAL w1 = 200
 CAL wx1 = x1 + w1*Cos(an2-0.5*PI)
 CAL wy1 = y1 + w1*Sin(an2-0.5*PI)
 CAL wx2 = x1 + w1*Cos(an2+0.5*PI)
 CAL wy2 = y1 + w1*Sin(an2+0.5*PI)
 LINE wx1,wy1,wx2,wy2

 CAL wx3 = x2 + w1*Cos(an3-0.5*PI)
 CAL wy3 = y2 + w1*Sin(an3-0.5*PI)
 CAL wx4 = x2 + w1*Cos(an3+0.5*PI)
 CAL wy4 = y2 + w1*Sin(an3+0.5*PI)
 LINE wx3,wy3,wx4,wy4

 GETCRSLL w1,rx1,ry1,wx1,wy1,wx2,wy2, wx3,wy3,wx4,wy4
 CIRCLE rx1,ry1,rr

 // 重心
 PEN 4,SetLineLtp7,SetLineWid7
 CAL wx1 = x1
 CAL wy1 = y1
 CAL wx2 = (x2 + x3)/2
 CAL wy2 = (y2 + y3)/2
 LINE wx1,wy1,wx2,wy2

 CAL wx3 = x2
 CAL wy3 = y2
 CAL wx4 = (x1 + x3)/2
 CAL wy4 = (y1 + y3)/2
 LINE wx3,wy3,wx4,wy4

 GETCRSLL w1,rx2,ry2,wx1,wy1,wx2,wy2, wx3,wy3,wx4,wy4
 CIRCLE rx2,ry2,rr

 // 外心
 PEN 3,SetLineLtp7,SetLineWid7
 CAL w1 = 200
 CAL wx1 = (x1 + x2)/2
 CAL wy1 = (y1 + y2)/2
 CAL wx2 = wx1 + w1*Cos(an1+0.5*PI)
 CAL wy2 = wy1 + w1*Sin(an1+0.5*PI)
 LINE wx1,wy1,wx2,wy2

 CAL wx3 = (x2 + x3)/2
 CAL wy3 = (y2 + y3)/2
 CAL wx4 = wx3 + w1*Cos(an2+0.5*PI)
 CAL wy4 = wy3 + w1*Sin(an2+0.5*PI)
 LINE wx3,wy3,wx4,wy4

 GETCRSLL w1,rx3,ry3,wx1,wy1,wx2,wy2, wx3,wy3,wx4,wy4
 CIRCLE rx3,ry3,rr

 // オイラー線
 LAYER SetLineLay5  // 想像線
 PEN 8,SetLineLtp5,SetLineWid5
 LINE rx1,ry1, rx2,ry2
 LINE rx2,ry2, rx3,ry3

 CAL w1 = rx2-rx1
 CAL w2 = ry2-ry1
 GETANGLE ran1,w1,w2
 CAL w1 = rx3-rx2
 CAL w2 = ry3-ry2
 GETANGLE ran2,w1,w2
 CAL ra1 = ran1*180/PI
 CAL ra2 = ran2*180/PI
 // この2つの角度が同じであれば、オイラー線は1直線上にあると言える

点座標を取り込むことは出来ませんので、座標値を手入力する必要はあります。最初に、3点を結ぶ直線3つで三角形を描かせています。そして取りあえず、各点間の角度と距離を計算しています。
垂心は、点から垂直に降ろした線の交点だから、辺に垂直=辺の角度+90°で頂点を通る直線の交点ですね。重心は、頂点から辺の中点への線の交点との事で、2点間の中点は、(x1+x2)/2 , (y1+y2)/2 。で、交点を出してます。外心は、中点からの垂線の交点のようだから、その交点を出してます。
各点には、円を描かせてます。
垂心〜重心、重心〜外心を結ぶ線を描画しています。これがオイラー線ですね。双方の角度が同じであれば、一直線上に3点が並ぶ、という事ですね。
scr20080611