title_parttitle_parttitle_part
静岡県浜松市であれこれソフトを開発している A.K.I Software のブログです。日々の開発日記やサーバー・セキュリティ関連の話題なども掲載。
<< 2024/04 >>123456789101112131415161718192021222324252627282930
《《《 ネットワーク機器の購入は Amazon で! 》》》
Powered by BLOM 回路図CAD開発 その4 円弧の左右反転でハマる
小さくも大きくも閉じたりもしません
12/09/20 06:02 / 電子工作

暇な時にポツポツと進めています。

てなことで、裏面配線を設定できるようにしました。

photo


裏面配線が出来るならば、裏面表示もできるようにしないと駄目なので反転もできるようにしたのですが、一つ悩む問題が。

全部ベクトルデータなので、左右の反転ならば 座標X を反転させれば良いのですが、問題は円です。

真円ならば反転しても同じなのですが、円を半分に割った時の左右反転が上手くいきませんでした。

なぜならば、このソフトの円の線画は中心点(x,y)から半径rというようなデータでは無く、中心点(x,y)から始点(x1,y1)から終点(x2,y2)を通る円と言うデータになっているからです。
(ついでに言えば、(x1,y1)と(x2,y2)は同心円上にあり、且つ、反時計回りで線画を行う。という物です)

例えばですが、中心点(x,y)、始点(x,y-2)、終点(x,y+2)というデータだと、左半円となる訳です。(反時計回りなので。始点を終点を逆にすると、右半円になります)

単純に、x 座標を反転しても左右反転してくれません(^-^;

取りあえず、始点と終点を逆にすれば良いので座標の反転では無く、始点と終点の入れ替えをやってみた所、問題ありません。

が、しかし、今度は中心点(x,y)、始点(x+2,y)、終点(x,y-2)というデータでやってみます。円の 1/4 を右上に残した円弧ですね。
これで始点と終点を入れ替えると、3/4 を左下に残した円弧になります。当然です。(^-^;

うーん、どうやるんだろう??と2日位悩んでいたのですが、取りあえず始点と終点を 2/4/6/8 の方向(テンキーを見て下さい)のみ設定出来るようにして、全部の12パターンを見て変換しようという力技に走ろうかと思ったのですが、それだけ余りにも安易すぎるので却下。

回転ならば、そのまま三角関数で回転すれば良いだけなのですが、左右反転と 180度回転は違うので更に悩む事2日。

ごちゃごちゃと計算式を書いて悩んでいたのですが、出来上がってみてばなんてことはない、引き算と代入だけで計算可能でした。(式を書こうと思いましたが、座標系がうちのCADの座標系でのみ有効な計算式かもしれないので)

自分で作った計算式なのに、なんでこれで左右反転するのは理解はしていないです。(笑)

こういうのは、きっと偉い人が考えた公式とかあるんでしょうね。
でも、数学とか苦手なのでそういうのわからないのですが(そもそも、ぐぐってもこんな特殊な状況?での計算の解法なんて出てこない)
計算上ではきちんと左右反転するのでオッケーです(笑)

っていうかですね、そもそも配線を円弧で作るってケースはほぼ無いと思いますし、ちょっと回路図CADを何個か見てみましたが、円弧の配線なんて機能がそのそもありません。

まぁ、パーツライブラリのシルク印刷用なので、そもそもこんなに頑張って考える必要は無いんですが(^-^;

[更新日付:2012/09/20 06:55:20]
トラックバックを見る(0)
Log Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+sl+02420ff34de098162338598aaa94c801ce39ca81]
TB Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+tb+02420ff34de098162338598aaa94c801ce39ca81]

記事へのコメント

コメントはありません

名前
コメントキー
 
コメントする時はキーを正確に入力して下さい
コメント
アドレスを含んだコメントはできません
© 2008-10 A.K.I Software all rights reserved.