JavaScript でくるくる CAPTCHA を実装してみる - IT戦記の改造。 マウスドラッグにしたくなったのでそうした。でもiPhoneを含む一部UAでは操作できなくなってしまった。 くるくるCAPCHA2 (canvas version) IEでは動かない(あとでIE版もつくる予定) (追記)式の説明。 回転の中心をOとする。 MouseDownの点をSとして、そこからCまでドラッグしたときの回転角は θc - θs 。 ここで、θcはベクトルOCがx軸となす角、θsはベクトルOSがx軸となす角。 まずθcから求める。 ベクトルOCの成分を(cdx, cdy)とすると、 矢印の先から矢印の根元を引いて、(cdx, cdy) = (cx - ox, cy - oy)。 そのとき、tan(θc) = cdy / cdx。 tanの逆関数はarctanなので、θc = arctan(