HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
1003
マルオカ二次元座標変換4解決


マルオカ

リンク

2010/10/3(Sun) 10:51:09|NO.35227

原点(qx,qy)を軸としてクリック地点(ax,ay)を180度回転させた位置(ax2,ay2)を求めることはできたのですが。

a = 3.14159265 / 180 * 180 ax2 = (ax-px) * cos(a) - (ay-py) * sin(a) + px ay2 = (ay-py) * cos(a) + (ax-px) * sin(a) + py
obaqを使ったプログラムに組み込んだところ正常に値がでないようになり困っています。
・原点qx,qy とクリック地点 ax,ay は常に正常な値で問題はない。
・変換後(ax2,ay2)に毎回 ax,ayをマイナスにした数値が入ってしまう。
原因がまったく分からなくて困っています。よろしくお願いします。

qgetpos res2,qx,qy,qr qcnvaxis qx,qy,qx,qy,0 qcnvaxis ax,ay,ax,ay,0 ;別の場所で内部座標に変換しているので元に戻す。 a = 3.14159265 / 180 * 180 ax2 = (ax-px) * cos(a) - (ay-py) * sin(a) + px ay2 = (ay-py) * cos(a) + (ax-px) * sin(a) + py qcnvaxis ax2,ay2,ax2,ay2,1 qpush res2,ax2,ay2,0.5,0.5,1



この記事に返信する


マルオカ

リンク

2010/10/3(Sun) 11:05:27|NO.35228

・変換後(ax2,ay2)に毎回 ax,ayをマイナスにした数値が入ってしまう。
↑は間違えです。

変換後 ax2,ay2にはどこをクリックしてもマイナスの数値が入ってしまいます。



マルオカ

リンク

2010/10/3(Sun) 21:45:55|NO.35232


px = 100 : py = 100
↑のように原点(qx,qy)を固定してやると正常な値がでました。
クリック地点の固定はだめでした。
変数名変えるのもだめでした。
他の変数に値を移してもだめでした。



たんす

リンク

2010/10/3(Sun) 23:13:00|NO.35233

内部座標から取り出すときは原点座標(qx,qy)なのに、
座標計算中では原点座標(px,py)になっているからではないでしょうか。



マルオカ

リンク

2010/10/4(Mon) 06:25:20|NO.35234

まったく気がつかなかったですw
ありがとうございました。



ONION software Copyright 1997-2021(c) All rights reserved.