2012-04-04 15 views
-1

私が取り組んでいるアプリケーションのこの部分は、目的Cに次の式があります。 すべての変数は浮動小数点数です。 rは角度の正弦で、テキストフィールドで表示されたときにrをラジアンに変換したいと思います。正弦波からラジアンObjective-C

r = ns/ni 
r = sinf(r); 
rr = asinf(r); 

textfieldRi.text = [NSString stringwithFormat:@"%.02f", rr]; 

正しい結果が得られません。何か提案してください?

答えて

2

rの範囲が最小範囲に縮小されていることを除いて、正弦波とそれに続く正弦波を実行して得られるとは思えません。この場合、asin(sin(r))は正常に動作するはずです。 rがすでにラジアンであると仮定します。

あなたはラジアンにrを変換したい場合は、私はあなただけのような何かをする必要があり、その場合には、それが度に、現在の動作を仮定しなければなりません:のObjective-Cは自動的ラジアンの代わり度を使用しています

radians = degrees * 3.141592653589/180.0; // or M_PI in math.h. 
+1

私は3.14159の代わりにM_PIを使用しますが... – lnafziger

+0

ObjCにCが持つものがあるかどうかはわかりません。 PI定数を持っている場合は、それを使用します。提案を組み込むように更新されました。 – paxdiablo

+0

このアドバイスをいただきありがとうございます! – MacUser

1

、しかし、度をラジアンに変換するには、180で除算し、PIで乗算します。

+0

私はちょうど客観的なCのmathmatical関数を使用し始めています。これは知っておくと大変感謝します。 – MacUser