llAsin
float llAsin(float val)
引数valで指定された値のアークサインを得る。
アークサインとは通常、サインの逆関数である。
アークサインとは通常、サインの逆関数である。
サインが何のことやらわからないという方には理解不能な関数なので悪しからず。
サインを得る関数はllSin?であるが、llSinで得た値をllAsinに渡すと、元の数値が得られる。
例えば以下の関数は引数radに指定した小数値と同じ値を返す。
例えば以下の関数は引数radに指定した小数値と同じ値を返す。
float test(float rad) { float sin = llSin(rad); float asin = llAsin(sin); return asin; }
radに1.57を指定したとすると、llSinの戻り値は1.0。
llAsinの引数に1.0を指定すると、戻り値は1.57である。
llAsinの引数に1.0を指定すると、戻り値は1.57である。
使いどころ?
例えばX-Z平面上を速度1m/sで移動する物体を1秒間にZ軸方向に50cmだけ移動させたいような場合、どのくらい角度をつけて移動させれば良いかを計算するときに使う。
この場合、llAsin(0.5)の戻り値が回転角度である(単位はラジアン)。
例えばX-Z平面上を速度1m/sで移動する物体を1秒間にZ軸方向に50cmだけ移動させたいような場合、どのくらい角度をつけて移動させれば良いかを計算するときに使う。
この場合、llAsin(0.5)の戻り値が回転角度である(単位はラジアン)。