• ベストアンサー

サーボモータの制御

駄文で失礼いたします。 現在、二つのサーボモータ(一つは縦軸用、もう一つは横軸用)を動作させてペンを動かしているのですが、縦方向・横方向の移動はできるのですが、斜め移動が上手くいきません。 最終的には、ペンで曲線などを描きたいんですが、うまくプログラムできません。 プログラミングに詳しい方、ご教授頂けないでしょうか? 現状は、C言語でRS-232Cを通して信号を送っています。 お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • dekopa-
  • ベストアンサー率42% (161/378)
回答No.2

斜めに描画できない、というのは縦軸を動かしたときの横軸の移動量を計算する方法が分からないんですね。 古典的な直線描画法に、DDAという方法があります。任意のx1,y1-x2,y2間を埋める座標を、整数演算だけで求める手法です。参考URLを見て下さい。 整数演算ではなく、浮動小数点で求めたいならもっと簡単です。 縦軸か横軸、どちらかを一定数(1座標ずつとか)ずらしながら、対応するもう一方の座標をsin()かcos()で求めます。 三角関数の基本ですから、xが分かればyを、yが分かればxを求めるのは簡単ですよね? #wikipediaへのリンクも張っておきます。 円の描画も、三角関数で半径rから任意の角度(0-360まで)のxy座標を求めてプロットするだけですから、簡単です。

参考URL:
http://homepage2.nifty.com/kasayan/basic/graphic2.htm, http://ja.wikipedia.org/wiki/%E4%B8%89%E8%A7%92%E9%96%A2%E6%95%B0
koysyou
質問者

お礼

参考URLを読み、なんとかできました。 ご丁寧な解説ありがとうございました。

その他の回答 (1)

回答No.1

それらのモータ制御に関する仕様を提示してください。 また、現在どんなプログラムでどうやろうとしているのででしょうか。 プログラミングの神様がいたとしても、それらの情報なしでは何もできません。 あ、当然ながら、動作環境や仕様ライブラリなども提示してください。

koysyou
質問者

お礼

説明不足で申し訳ありませんでした。今後気をつけたいと思います。 問題点はなんとか解決できました。

関連するQ&A