KeTCindyの陰線処理と曲線の色の保持
KeTCindyには、対象となる図形に応じた陰線処理の関数があります。 ここでは、代表的な3つの関数の役割を整理し、スケルトン処理を行った曲線に 色を指定して出力する方法を紹介します。
1. 陰線処理に使う3つの関数
-
Skeletonparadata:曲線どうしの陰線処理(スケルトン処理)
Skeletonparadata(name, PDリスト, PDリスト, option)
描画されている線や座標軸を対象に、線どうしの重なりを処理します。 -
Nohiddenbyfaces:面に隠れる曲線部分の処理
Nohiddenbyfaces(name, PD1, PD2, option1, option2)
PD2で指定した面に隠れる、PD1の曲線部分を処理します。 -
Crvsfparadata:曲面による曲線の陰線処理
Crvsfparadata(name, PD1, PD2, 式)
曲線PD1について、曲面PD2による陰線処理を行います。
2. スケルトン処理後も曲線ごとの色を指定する
1回のSkeletonparadataで複数の曲線をまとめて処理すると、出力される曲線が同じ属性になり、元の曲線ごとの色の違いを出せません。
色を分けたいときは、処理対象を曲線ごとに分けて関数を呼び出し、
それぞれに色を指定する方法があります。
例えば、曲線・直線・座標軸を赤・緑・青で出力する例です。
if(skeleflg==1,
tmp1=["ax3d","sc3d1","sl3d1"];
Skeletonparadata("1",["sc3d1"],tmp1,[1.5,"File=y","Color=red"]);
Skeletonparadata("2",["sl3d1"],tmp1,[1.5,"File=y","Color=green"]);
Skeletonparadata("3",["ax3d"],tmp1,[1.5,"File=y","Color=blue"]);
);
この例では、sc3d1、sl3d1、ax3dをそれぞれ別に処理し、
Color=red、Color=green、Color=blueで出力色を指定しています。
一方、tmp1には、各処理で陰線処理の比較対象とする3つの要素をまとめています。
ポイント:
曲線ごとに色を分けたい場合は、処理対象を分けて
Skeletonparadataを呼び出し、
Color=...でそれぞれの出力色を指定します。
3. 関連ファイル
サンプルのCinderellaファイル(.cdy)は、リンクをクリックすると案内メッセージが表示されます。
ダウンロードするにはリンクを右クリックし、「リンク先のファイルを別名で保存」などを選んでください。
HTMLファイルはリンクをクリックすると開きます。ブラウザで開いたHTMLの
[Skele]ボタンを押して、動作を確認してみてください。