Jw_cad 相談室−その2 New

 Jw_cad についての相談の場としてお使いください
情報の交換には Jw_cad 情報交換室 をご利用ください
なお、情報交換室と相談室の両方に同じ内容を投稿するのはご遠慮ください

2009年9月以前の発言過去ログのページからご覧ください。

それ以降の過去ログは消失しています。
申し訳ありませんが、復活の予定はありません。


  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム  
13 / 423 ツリー    ←次へ | 前へ→

外部変形の円・円弧内 消去 snackpan 17/3/12(日) 16:06

外部変形の円・円弧内 消去 修正その2 kojima 17/3/15(水) 21:04
Re:外部変形の円・円弧内 消去 修正その2 R.N 17/3/16(木) 18:42

外部変形の円・円弧内 消去 修正その2
 kojima  - 17/3/15(水) 21:04 -
en=[];naigai=[]
while ARGF.gets
xy=$_.split
if xy[0]=~/^ci/
xy.collect!{|item|item.to_f}
en<<xy
end
end
puts "hd"
open("temp.txt","r"){|f|
while line=f.gets
xy=line.split
if xy[0]=~/^hq/
elsif xy[0]=~/^\d|^-/
xy.collect!{|item|item.to_f}
if xy[0]>xy[2]
xy[0],xy[2],xy[1],xy[3]=xy[2],xy[0],xy[3],xy[1]
elsif xy[0]==xy[2]
if xy[1]>xy[3]
xy[1],xy[3]=xy[3],xy[1]
end
end
xy2=xy.collect{|item|ika3(item)}
arg=atan2(xy2[3]-xy2[1],xy2[2]-xy2[0])
kouten=[];area1=0;area2=0
en.each{|item|
if sen_en_zahyo(xy2,item)!=nil
if sen_en_zahyo(xy2,item).size==2
kouten<<[sen_en_zahyo(xy2,item)[0][0],sen_en_zahyo(xy2,item)[0][1]]
kouten<<[sen_en_zahyo(xy2,item)[1][0],sen_en_zahyo(xy2,item)[1][1]]
elsif sen_en_zahyo(xy2,item).size==1
kouten<<[sen_en_zahyo(xy2,item)[0][0],sen_en_zahyo(xy2,item)[0][1]]
end
end
if area(item,[xy2[0],xy2[1]])==true
area1+=1
end
if area(item,[xy2[2],xy2[3]])==true
area2+=1
end
}
if xy[0]==xy[2]
kouten2=kouten.sort{|a,b|a[1]<=>b[1]}
else
kouten2=kouten.sort{|a,b|a[0]<=>b[0]}
end
if area1==0 && kouten2.size>0
printf("%.11f %.11f %.11f %.11f\n",xy[0],xy[1],kouten2[0][0],kouten2[0][1])
end
if area2==0 && kouten2.size>0
printf("%.11f %.11f %.11f %.11f\n",xy[2],xy[3],kouten2[-1][0],kouten2[-1][1])
end
if kouten2.size>=2
area1==0 ? n1=1 : n1=0
area2==0 ? n2=kouten2.size-3 : n2=kouten2.size-2
n1.step(n2,2){|i|printf("%.11f %.11f %.11f %.11f\n",kouten2[i][0],kouten2[i][1],kouten2[i+1][0],kouten2[i+1][1])}
end
if kouten.size==0 && area1==0 && area2==0
print line
end
naigai<<area2
elsif xy[0]=~/^pt/
area1=0
en.each{|item|
if area(item,[xy[1].to_f,xy[2].to_f])==true
area1+=1
end
}
print line if area1==0
else
print line
end
end
}
__END__
:end

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko@ai126146114147.53.access-internet.ne.jp>
・ツリー全体表示

Re:外部変形の円・円弧内 消去 修正その2
 R.N  - 17/3/16(木) 18:42 -
▼kojimaさん:

修正ありがとうございます。
消去できました。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0@p651066-ipngn4001fukuhanazo.fukushima.ocn.ne.jp>
・ツリー全体表示

13 / 423 ツリー    ←次へ | 前へ→
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム  
 355602
ページ:  ┃  記事番号:  

C-BOARD Moyuku v1.03b3
Jw_cad Copyright (C)1997-2016 Jiro Shimizu & Yoshifumi Tanaka