楕円弧の開始角度と終了角度について考える。
以下の図において青い線で書かれたものが、
開始角度45°、終了角度240°の楕円弧である。
楕円弧の半径1を半径として持つ円に投影したところの
角度を採用するものだ。
これは、DWGやSXFにおける考え方であり、
他のCADの中には、開始角度が26.5651°で
終了角度を220.8934°とするものもある。
なぜ、このように2通りの考え方があるのかはわからない。
数学的な理由がありそうだが、それはいつか解明するとして...。
あるCADで、上図の楕円弧を書いて、DWGに書き出すとする。
CADの内部では、開始角度は26.5651として認識されるが、
DWGの楕円弧として開始角度を26.5651で書き出してしまえば、
見た目上の開始角度が変化してしまう。
どうしたら、26.5651を45に変換すればよいだろうか。
某CADの開始角をAとする。
DWGの開始角をBとする。
楕円弧の半径1を r1、半径2を r2とすると、
以下の式で算出することができる。
B = atan( r1 / r2 * tan( A ) );
A = 26.5651、r1 = 2、r2 = 1で計算すると、
B = 45.0000610...となる。
また、DWGから某CADに変換する場合は、
式のr1とr2を逆にすればよい。
ふと思い立ち、久しぶりにCAD関連の話題に触れてみた。
CAD関連というよりは、高校数学的な話か。
頭の体操としてはよいネタだった。
体を使った体操は、めっきりご無沙汰だ。
かれこれ4ヶ月くらいティップネスに行っていない。
会費も無駄だが、やめてしまえば運動の機会が永遠に
失われてしまうし、かと言って行くのはめんどくさいし。
年々腹は出るし、人間ドックはいきゃなきゃならんし。
思いっきり汗をかいて、心も体も爽快になるのが夢だ。
楕円弧長(第2種不完全楕円積分)計算プログラムを作成中につき、
キーワード”楕円”でたどり着きました。
SXFは知りませんが、
DWG(AutoCADのオブジェクト情報[LIST]で確認)は、
『26.5651°、220.8934°』の方です。
投影角度『開始角度45°、終了角度240°』は、楕円積分で使用する角度。
実角度『26.5651°、220.8934°』は、CADでユーザーが入力時に投影角度に
変換する必要なく楽だから。
なので、2通りあると思います。
追加して、
実際の楕円積分では、
12時方向が基準(AutoCADは通常3時方向)なので、
その変換も必要です。
kamegaiさん、こんにちは。
なるほど、AutoCADのLISTやオブジェクトプロパティでは、
始点での角度として26.5651、終点での角度として220.8934が
表示されますね。
つまり、AutoCADのインターフェース上はわかりやすい方が
採用されているということでしょうか。
一方、データ上つまりDWGやDXFの表現上では、
開始角度45度、終了角度240度と書かれています。
DXFであれば、ELLIPSEのグループコード40と41がそうです。
(単位はラジアンなので、45と書かれているわけではありません。)
>投影角度『開始角度45°、終了角度240°』は、楕円積分で
>使用する角度。実角度『26.5651°、220.8934°』は、
>CADでユーザーが入力時に投影角度に変換する必要なく楽だから。
私の素朴な疑問にお答えいただきありがとうございました。
楕円積分というのが何かはわかりませんが、この単語を
よく覚えておくことにします。
たいへん勉強になりました。
SXF To Shape を修正
Excelアドイン digiwatt-addinsがVer.1.1.2.0にバージョンアップしました。 Ver.1.1.1.1以前のアドインに含まれているSXF To Shapeでは、楕円弧の始終端が若干ずれていたため、これを修正しています。 SXFファイルの楕円弧の始終端の角度は、Exceのオートシェイプのそれとは仕様が異なっているためです。 CAD日記 さんのブログの記事、 http://cadse.blog.so-net.ne.jp/2008-01-26 で、SXFファイルの楕円弧の始終端の仕様に気が付きました。 Excelで同じ楕円弧を描いてみると、Excelの楕円弧はCAD日記 さんのブログでいうところの「某CADのA」になります。