tar -xvzf hbg.tgz
make
を実行した後
./ext_pro < 2v0.dat
./orthoc < 3v0.dat
等としてみて下さい。
2v*.dat の中には P点または P直線二個のデータ
3v*.dat の中には P点または P直線三個のデータ
が入っています。
ソースファイル ext_pro.cpp orthoc.cpp circumc.cppp
を見ればわかるようにデータ型は一つだけです。

Pl a, b;

と宣言した後、次のような演算子と関数が使えます。

a | b : a と b の擬内積
a * b : a と b の擬外積
a + b : a と b のベクトルとしての和
READ(&a) : 変数 a に値を読み込む。
WRITE(a) : a | a > 0ならば、P直線を a | a < 0 ならば、P 点を描く。
normalize(&a) : a | a が 1 または -1 となるように a を定数倍したものに置き換える
normalize2(a) : a | a が 1 または -1 となるように a を定数倍したものを返す。

./Monge1 <3pc0.dat | drawg -s400 -w820 -h820 &
./Monge2 <2pc0.dat | drawg -s400 -w820 -h820 &
