« Sectionツール | トップページ | データの圧縮 »

2007年10月21日 (日)

延長線の作図

R面取りされた角部に延長線を作図する外部変形です。

コーナーRをクリックすると延長線が作図されます。

071020

<ext.bat>
-------------------
@REM 延長線
@echo off
REM
REM #jww
REM #cd
REM #1ci コーナーRを指示してください
REM #hr
REM #e
REM
jgawk -f ext.awk jwc_temp.txt>temp.txt
copy temp.txt jwc_temp.txt
del temp.txt

2007.11.25 始点座標の計算で、不要なprint文を削除しました。

<ext.awk>
--------------------
#延長線の作図
#
BEGIN{pi=atan2(0,-1)}
#円弧データの取得
/^ci/{x0=$2;y0=$3;R=$4;th1=$5;th2=$6;
#始点座標の計算
th1=th1*pi/180;th2=th2*pi/180;
x1=x0+R*cos(th1);y1=y0+R*sin(th1);
x2=x0+R*cos(th2);y2=y0+R*sin(th2);
#傾き/定数の計算
a1=sin(th1+pi/2)/cos(th1+pi/2);a2=sin(th2+pi/2)/cos(th2+pi/2);
b1=y1-a1*x1;b2=y2-a2*x2;
#交点座標の計算
x3=(b2-b1)/(a1-a2);
y3=(a2*b1-a1*b2)/(a2-a1)}
#
END{print "lc1";
printf "%.15g %.15g %.15g %.15g\n",x1,y1,x3,y3;
printf "%.15g %.15g %.15g %.15g\n",x2,y2,x3,y3}

延長線の交点を作図する場合、ext.awkのEND文に2行追加します。

END{print "pn1";
printf "%s %.15g %.15g\n","pt",x3,y3;
print "lc1";
printf "%.15g %.15g %.15g %.15g\n",x1,y1,x3,y3;
printf "%.15g %.15g %.15g %.15g\n",x2,y2,x3,y3}

071021

|

« Sectionツール | トップページ | データの圧縮 »

コメント

外変ではありませんが、このような場合にも「包絡」を
使う手もあります。
ちょっと、意味合いが違いますが・・・?

投稿: 住職 | 2007年10月25日 (木) 11時57分

住職さん、お久しぶりです。

寸法補助線として使うので、
細線となる線色を指定して延長線を作図します。
使う機会は少ないんですけどね。

投稿: somem | 2007年10月25日 (木) 22時04分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/94529/16823277

この記事へのトラックバック一覧です: 延長線の作図:

« Sectionツール | トップページ | データの圧縮 »