とりあえず、スライダーを動かしてなんとなく理解しください() 一応メモとクレジットに仕組みを書いておきましたが、高校数学の数II、三角関数の範囲を使うので仕組みは理解できなくても、適当に中見て使えばおkっす( 数学の世界だと正の角の向きを左回りとするので、Scratchの向きブロックとは違うのは難点でし
一応仕組み?↓ 仕組みを簡単に書いておきますね(三角比、三角関数までの知識は入ってる前提) 今回はカメラコントロールで動かせたい物体の元々の角度をa, 動かせたい角度分をbと置きます。 元の物体の座標をx,yとおくと、中心との距離は√(x^2+y^2)になりますね。 よってx=(√(x^2+y^2))×cosa, y=(√(x^2+y^2))×sinaと表せます…① カメラコントロールで動かした後の座標を(X,Y)とおきます。 加法定理 cos(a+b)=cosacosb-sinasinbより、 X=(√(x^2+y^2))×cos(a+b) =(√(x^2+y^2))×(cosacosb-sinasinb) = (√(x^2+y^2))×cosa×cosb-(√(x^2+y^2))×sina×sinb =xcosb-ysinb(①より) Y座標についても、sinの加法定理sin(a+b)=sinacosb+cosasinbを用いることで、 Y=(√(x^2+y^2))×sin(a+b) =(√(x^2+y^2))×(sinacosb+cosasinb) = (√(x^2+y^2))×sina×cosb+ (√(x^2+y^2))×cosa×sinb =ycosb+xsinb(①より) よって、カメラコントロールで移動後の座標は X=xcosb-ysinb Y=ycosb+xsinb となりますね。 (改めて: X,Yが移動後座標、x,yが元の座標。 bが動かしたい角度)