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


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0626
まー角度が時計回り・反時計回りでどれだけ移動したかを知りたいです4解決


まー

リンク

2017/6/26(Mon) 10:56:55|NO.80394

初めまして!質問させていただきます!!
マウスで動かした角度が下のソースの変数rは-π〜πまでしか返ってこないんっすけど

反時計回りにマウスを回したら元の角度からマイナスになって(-πを超えてもマイナス)
逆も同じで時計回りに回すと元の角度からプラスになるようにしたいっす(πを超えてもプラス)

うまいこと考えが浮かばなくてググッもなかなか思い通りのものが
でてこーへんので質問させていただきました
どなたかわかる方いればよろしくお願いします!!

x=320 y=240 r=0.0 repeat color 255,255,255:boxf:color r=atan(mousey-y,mousex-x) line x,y,x+cos(r)*100,y+sin(r)*100 pos 0,0:mes r redraw:redraw 0 await loop



この記事に返信する


スペース

リンク

2017/6/26(Mon) 11:34:35|NO.80395

前回の角度と比較して条件分岐してみては?



スペース

リンク

2017/6/26(Mon) 11:52:59|NO.80396

こんな感じでどうでしょう。

x=320 y=240 r=0.0 r_2=0.0 M_PI2=M_PI/2.0 repeat color 255,255,255:boxf:color 0,0,0 r=atan(mousey-y,mousex-x) line x,y,x+cos(r)*100,y+sin(r)*100 if r_bac>M_PI2 & r<(M_PI2*-1):{;時計回りに回転させ、Rが正の値から負の値になった時。 r_2+(M_PI-r_bac)+(r-(M_PI*-1)) a+1;確認用 }else{ if r>M_PI2 & r_bac<(M_PI2*-1):{;時計回りに回転させ、Rが負の値から正の値になった時。 r_2+(r-M_PI)+((M_PI*-1)-r_bac) b+1;確認用 }else{;通常。 r_2+(r-r_bac) c+1;確認用 } } color 255,0,0:line x,y,x+cos(r_2)*100,y+sin(r_2)*100 pos 0,0:mes ""+r_2+"\n"+a+"\n"+b+"\n"+c+"";abcは確認用 redraw:redraw 0 r_bac=r await loop



まー

リンク

2017/6/26(Mon) 14:31:30|NO.80397

スペースさんありがとうございました!
前回の角度と比較するという発想がなかったっす
ソースもすごくわかりやすくて大感謝っす!



スペース

リンク

2017/6/26(Mon) 14:59:56|NO.80398

ごめんなさい、コメント間違っていました。
×時計回りに回転させ、Rが負の値から正の値になった時。
○反時計回りに回転させ、Rが負の値から正の値になった時。



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