- ベストアンサー
AutoCADの円弧の精度について
- AutoCAD2005にて作図の仕事をしております。円弧の精度についての質問です。
- 「ブロック定義」を使用して「基点」、「挿入基点を指定」にて円弧の端点を指定すると「0.000000000000001」レベルの誤差が出てきてしまいます。
- 業務にて直接支障はない精度ですが、作図作業上非常に気になります。原因を御存じの方いらっしゃいましたら御教授御願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
桁落ちや情報落ちなど http://ja.wikipedia.org/wiki/%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0 1/3*3=1 だが コンピュータ内では 1/3=0.333333...... 0.333333.....*3=0.9999999..... となり 1=0.99999.... となる ブロックの座標計算は高速化のためか、精度が下がっているらしい まあ、気にしないこと 下記の上記の問題が顕著に現れる ほかのCADで 1/3 の図面 を DXFで持ってて AUTOCADで 1:1に戻すときなど
その他の回答 (1)
AutoCAD2005 は使ったこと無いですが 0.000000000000001 レベルの誤差 → 15桁の精度 → 倍精度・浮動小数点の精度にピッタリ合致 なので、AutoCAD2005 が扱うデータ形式は、コンピュータの世界で最も一般的な倍精度浮動小数点を使っているはずで、VBAによるカスタマイズのお話でもそのように扱われてます。したがって致し方ない現象です。 浮動小数点とは字のとおり小数点の位が浮動する表現方式で、一定のビット数(倍精度の場合64bit)の2進数で +/-符号、 指数(小数点の位置)、仮数と分担して数値を表現したもので、有効桁数を少し犠牲にするが、大数から小数まで範囲を広くできる利点があります。 疑問を持たれたような、厳密に書ける数値をキッチリ表現しきれないこともあるが、いくら桁数があっても書ききれない数値(ex 1/3)も遍く存在しており、むしろこの扱いの方が自然なことと考えるべきでしょう。 因みに、円弧の接点に近い交点(眼でも判りにくい場合)の計算をさせると、より大きな誤差が出ることがあります。 <演算誤差の正体> http://pc.nikkeibp.co.jp/pc21/special/gosa/eg4.shtml
お礼
岩魚内さん、返答ありがとうございます。 何となくですが、原因が理解できました。 この現象は仕方ないものなのですね。あまり気にしないようにします。 ありがとうございました。
お礼
はははさん、解りやすい返答ありがとうございます。 確かにDXFで1/1に拡大縮小すると「何だこの図面」的な精度になることが多いです。 気にしないように致します。 ありがとうございました。