ここから本文です

レールの上を移動するアルゴリズム

drive092さん

2011/9/414:02:17

レールの上を移動するアルゴリズム

四角いレールがあり、その上にある物体がキー入力により移動します。
レールの角は丸くなっており、物体はレールに沿ってスムーズに移動します。

という処理をプログラムで実装したいのですが、
どういった処理にすればいいか分かりません。

たんなる四角であれば、物体の座標を見て移動する方向を制限すれば
いいと思うのですが、角が丸くなっている場所をスムーズに移動させる方法が
分からない状態です。

何かよい処理方法をご存知の方がいらっしゃいましたら
お教え頂けるとうれしいです。

宜しくお願いします。

※簡単な図を添付しましたので参照して頂ければと思います。

物体,アルゴリズム四角いレール,座標,プログラム,キー入力,LineTrace.cpp,LineTrace.h

閲覧数:
592
回答数:
3
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

tadokiroさん

2011/9/602:10:14

面白そうなので作ってみた。プログラムは http://mediatips.co.jp/LineTrace-20110906.zip に置いておきます。
興味があれば見てください。
質問では四角形でしたが作成したのは図形を選びません。ビットマップ上の赤色の部分をレールと見なします。
矢印キーで上下左右の4方向に移動しようとして移動できないと斜め方向を試すという
単純なプログラムです。
LineTrace.h, LineTrace.cpp がエンジン部分です。他のソースは付けていません。
ちゃちゃっと作ったので大したことはありませんが気に入ったら改造して使ってみてください。
レールの太さはビットマップに依存するので進めなくなったら斜め方向を試すようにしてますが,
レールの太さを限定してレールの延びる方向を重さで判断すればもっとスムーズに行くかも知れません。

面白そうなので作ってみた。プログラムは...

質問した人からのコメント

2011/9/8 00:56:33

成功 みなさんありがとうございます!
どの方のご意見もすごく参考になりました。

今回実際にプログラムを組んで頂いて、しかもコードまで公開して下さったtadokiroさんをベストアンサーに選ばせて頂きます。

親切なreadmeまでつけて頂き感謝の極みです。

なんとかやりたかった処理が実装できそうです。
ありがとうごいました!

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

プロフィール画像

カテゴリマスター

2011/9/509:52:11

「円上を移動する」のは出来ますか?

それが出来るなら、適当(適切)な場所で、直線の移動と(1/4)円上の移動を切り換えてやればよいだけでは?

e00083khさん

2011/9/414:54:25

ライントレースロボットと同じアルゴリズムでどうでしょうか。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。