過去ログ

                                Page    1550
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼円図形に番号をふる外部変形を作ろうとしています  高槻 21/11/9(火) 12:15
   ┗Re:円図形に番号をふる外部変形を作ろうとしています  kojima 21/11/9(火) 15:03
      ┣Re:円図形に番号をふる外部変形を作ろうとしています  kojima 21/11/9(火) 15:45
      ┗Re:円図形に番号をふる外部変形を作ろうとしています  高槻 21/11/9(火) 16:22

 ───────────────────────────────────────
 ■題名 : 円図形に番号をふる外部変形を作ろうとしています
 ■名前 : 高槻
 ■日付 : 21/11/9(火) 12:15
 -------------------------------------------------------------------------
   円図形に番号をふる外部変形を作ろうとしています
単純にciの行をchに変え、番号を追加するだけのものですが
番号をふる順番がうまくいきません
2×3の円では
1.2.3.
4.5.6.
と左上から右下へと番号が振りたいですが、
たとえば円を1.→5.→3.→4.→2.→6.の順で作成して外部変形を実行すると
1.5.3.
4.2.6.
と作成順で番号が振られてしまいます

範囲選択して取得したデータのci行をみると、作成順で並んでるから、この結果になるのですが

データ取得時に左上から取得する方法
または、取得時にできなければ、取得後にデータをソートする方法
などがありましたら、教えていただけませんでしょうか

 ───────────────────────────────────────  ■題名 : Re:円図形に番号をふる外部変形を作ろうとしています  ■名前 : kojima  ■日付 : 21/11/9(火) 15:03  -------------------------------------------------------------------------
   ▼高槻さん:
>円図形に番号をふる外部変形を作ろうとしています
>単純にciの行をchに変え、番号を追加するだけのものですが
>番号をふる順番がうまくいきません
>2×3の円では
>1.2.3.
>4.5.6.
>と左上から右下へと番号が振りたいですが、
>たとえば円を1.→5.→3.→4.→2.→6.の順で作成して外部変形を実行すると
>1.5.3.
>4.2.6.
>と作成順で番号が振られてしまいます
>
>範囲選択して取得したデータのci行をみると、作成順で並んでるから、この結果になるのですが
>
>データ取得時に左上から取得する方法
>または、取得時にできなければ、取得後にデータをソートする方法
>などがありましたら、教えていただけませんでしょうか

使用言語が分かりませんが
Rubyなら以下のようになります。
(単純にciの行をchに変えたのでは、うまくいきません)

@REM 円内に通し番号を描く
@echo off
REM #jww
REM #cd
REM #h1
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt> jwc_temp.txt
pause
goto end
#!ruby -Ks
puts "cc4"
en_zahyo_a=[]#円のXY座標の配列
while ARGF.gets
xy=$_.split
if xy[0]=~/^ci/
en_zahyo_a<<[xy[1].to_f,xy[2].to_f]#円のXY座標を配列に格納
end
end
#円のXY座標の並べ替え
en_zahyo_a.sort!{|a,b|
if a[1]==b[1]
a[0]<=>b[0]
else
b[1]<=>a[1]
end
}
i=1
en_zahyo_a.each{|x,y|
printf("ch %.11f %.11f 1 0 \"%d\n",x,y,i)
i += 1
}
__END__
:end

 ───────────────────────────────────────  ■題名 : Re:円図形に番号をふる外部変形を作ろうとしています  ■名前 : kojima  ■日付 : 21/11/9(火) 15:45  -------------------------------------------------------------------------
   前回のものは、高さ順ですが
高さ判定に幅を持たせたい時は、以下のようになります。

@REM 円内に通し番号を描く(高低差の許容値有)
@echo off
REM #jww
REM #cd
REM #bz
REM #h1
REM #c高低差の許容値(図寸) 無指定:5/_/a
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt %1 > jwc_temp.txt
pause
goto end
#!ruby -Ks
puts "bz","cc4"
cl=5.0#高低差の許容値
while ARGV.size>1
case argument=ARGV.pop
when /\/a/
cl=argument[2..-1].to_f
end
end
en_zahyo_a=[]#円のXY座標の配列
while ARGF.gets
xy=$_.split
if xy[0]=~/^ci/
en_zahyo_a<<[xy[1].to_f,xy[2].to_f]#円のXY座標を配列に格納
end
end
#円のXY座標の並べ替え
en_zahyo_a.sort!{|a,b|
if (a[1]-b[1]).abs<cl
a[0]<=>b[0]
else
b[1]<=>a[1]
end
}
i=1
en_zahyo_a.each{|x,y|
printf("ch %.11f %.11f 1 0 \"%d\n",x,y,i)
i += 1
}
__END__
:end

 ───────────────────────────────────────  ■題名 : Re:円図形に番号をふる外部変形を作ろうとしています  ■名前 : 高槻  ■日付 : 21/11/9(火) 16:22  -------------------------------------------------------------------------
   ▼kojimaさん:
早々の返答ありがとうございます。
思ったとおりの挙動となっており、大変勉強になりました。
これをベースに整えていこうかと思います。
ありがとうございました。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 1550