Indexへ
(14441)//【14438】→(14439)
------------------------
【タイトル】面積
【記事番号】 14438 (*)
【 日時 】08/12/16 15:22
【 発言者 】さぶ miyuki-ogi.b42-12@docomo.ne.jp
波のような形をした面積を測るにはどうしたらいいのでしょか?
Indexへ
(14438)←【14439】→(14440)
------------------------
【タイトル】Re(1):面積
【記事番号】 14439 (14438)
【 日時 】08/12/16 17:14
【 発言者 】hogehoge hogehoge@hotmail.com
▼さぶさん:
>波のような形をした面積を測るにはどうしたらいいのでしょか?
Indexへ
(14439)←【14440】→(14449)
------------------------
【タイトル】Re(1):面積
【記事番号】 14440 (14438)
【 日時 】08/12/16 17:16
【 発言者 】hogehoge hogehoge@hotmail.com
▼さぶさん:
”波のような形”が、どのような線属性を持っている図形なのか解りませんので、下記の外変を紹介いたします。
http://www.vector.co.jp/soft/dos/business/se145970.html
曲線の属性をはずして、線分に加工してから三角形を作成して、ヘロンの公式で、面積を計測する方法もあります(外変使用)が、目的も状況も解りませんので、とりあえず上記の方法をお試し下さい。
>波のような形をした面積を測るにはどうしたらいいのでしょか?
*間違えて送信しました。無視してください。
Indexへ
(14440)←【14449】→(14454)
------------------------
【タイトル】Re(1):面積
【記事番号】 14449 (14438)
【 日時 】08/12/17 14:56
【 発言者 】ponpoco cxm01436@nifty.com
▼さぶさん:
>波のような形をした面積を測るにはどうしたらいいのでしょか?
こんにちは
外部変形を使うならソリッドで塗りつぶしておいて色別に面積集計してくれる
Solid_SUM http://www8.atwiki.jp/tarl/pages/7.html
便利に使わせてもらってます タールさん感謝です。
JWW本体の裏技?で測定コマンドから Shift + Ctrl lキーを押しながらコントロ−ルバ−の ”距離測定” をクリックすると 範囲選択内の線の長さ合計が測定できます
ハッチ線の合計長さにハッチの間隔を掛けてやれば大体の面積となります
下記は自作のAWKスクリプトですがJWCの頃自由形状の面積測定に使ってました ピッチを細かくすると結構正確に測れます。宜しかったら試してみてください。
#########ハッチ求積.bat######### キリトリ ##############
@REM ハッチ領域面積 測定
@ECHO OFF
REM #jw
REM #cd
REM #hc ハッチ領域の求積
REM #h1
REM #1 面積表示位置の指定
REM #k |(L)ハッチ線を消去 | (R)残す|/_/H
REM #zz
REM #hr
REM #e
copy jwc_temp.txt temp.txt > nul
jgawk -f ハッチ求積.AWK temp.txt %1 > jwc_temp.txt
#########ハッチ求積.awk ######### キリトリ ##############
BEGIN {
ly_flag=0
z_flag=0
i_cnt=0
lgh=0
t_flag=0;
y_flag=0;
in_flag=0;
rn=3 # 小数点以下指定(無指定3桁)
hatti=1; #1:ハッチ線消去 2:残す
if(ARGC > 2){
for(i=3;i<=ARGC;i++){
if(ARGV[i-1]~/\/H[1-2]/)
hatti = substr(ARGV[i-1],3)
ARGV[i-1]="";
}
}
}
/^hq/ {$0="hd"}
/^hs/ {
split($0,asc) ;
sc=asc[lg_h+2];
}
/^ly/ {
ly =substr($0,3)
if(ly_flag == 0) first_ly=ly;
ly_flag++
}
/^hp1/{xp=$2; yp=$3}
/^z1/{z_flag=1}
/^ *[-0-9]/ && NF==4{
if (z_flag==1){
i_cnt=i_cnt+1
if (i_cnt==1){x1=$1; y1=$2; x2=$3; y2=$4}
if (i_cnt==2){x3=$1; y3=$2; x4=$3; y4=$4}
lgh=lgh+sqrt(($3-$1)^2+($4-$2)^2)
z_flag=0
if (hatti==1){next}
}
}
/^h[kscnp]/{next}
/^z1/ {
if (hatti==1){next}
}
{print}
END{
if (lgh==0){
print "he ハッチ線を選択してください。"
exit;
}
dy=(y2-y1)
dx=(x2-x1)
k=atan2(dy,dx)
dx2=(x3-x1)
ya=y3-tan(k)*dx2
pa=(y1-ya)
pt=abs(pa*cos(k))
ss=keta(lgh*pt*10^-6) " m^u2"
print "ly"first_ly
printf "ch %e %e %e %e \"%s\n", xp, yp, 1, 0, ss
}
function abs(number){
return (number + 0 < 0) ? -number : number
}
function keta(v){ # 小数点以下表示(四捨五入)
v=v*10^rn; v=int(v+0.5);
return(v*10^-rn);
}
function tan(rad){
return (sin(rad) / cos(rad))
}
function pi(){
return atan2(0,-1)
}
#####以上#####
コピぺして全角スペースを半角に変換して下さい。
Indexへ
(14449)←【14454】//(14442)
------------------------
【タイトル】Re(2):面積
【記事番号】 14454 (14449)
【 日時 】08/12/18 18:32
【 発言者 】mirror
▼ponpocoさん:
>>測定コマンドから Shift + Ctrl lキーを・・・
恥ずかしながら、あまり使う場面が無いので初めて知りました。
行き詰まりのネタになりそうです、いい情報で参考になりました。