serilib
読み取り中…
検索中…
一致する文字列を見つけられません
math.h ファイル

数学モジュール [詳解]

#include <complex.h>
#include <stdbool.h>

[ソースコード]

データ構造

struct  cart_t
 直交座標 [詳解]
struct  polar_t
 極座標 [詳解]

マクロ定義

#define invlerp(from, to, value)
 逆線形補間を行う。
#define clamp(value, low, high)
 値を範囲内に収める。

関数

bool approx (double a, double b)
 2つの浮動小数点数の近似等価比較を行う。
bool approxf (float a, float b)
bool approxl (long double a, long double b)
cart_t create_cart (SL_FP_T x, SL_FP_T y)
 直交座標型を作成する。
polar_t create_polar (SL_FP_T r, SL_FP_T theta)
 極座標型を作成する。
polar_t cart2pol (SL_FP_T x, SL_FP_T y)
 直交座標を極座標へ変換する。
cart_t pol2cart (SL_FP_T r, SL_FP_T theta)
 極座標を直交座標へ変換する。
SL_FP_T dot (cart_t a, cart_t b)
 二次元ベクトルの内積を計算する。
cart_t vec_scale (cart_t vec, SL_FP_T scaler)
 ベクトルをスカラー倍する。

詳解

数学モジュール

マクロ定義詳解

◆ clamp

#define clamp ( value,
low,
high )
値:
((value) < (low) ? (low) : (high) < (value) ? (high) : (value))

値を範囲内に収める。

valueを[low, high]に収める。

引数
[in]value
[in]low下限
[in]high上限
戻り値
lowvalueがlowより小さい
highvalueがhighより大きい
valuevalueが[low, high]に収まっていた
事前条件
low ≤ highでなければならない。

◆ invlerp

#define invlerp ( from,
to,
value )
値:
(((value) - (from)) / ((to) - (from)))

逆線形補間を行う。

fromからtoまでの区間のうち、割合valueの地点の値を返す。

引数
[in]from始点
[in]to終点
[in]value割合
戻り値
その地点の値

関数詳解

◆ approx()

bool approx ( double a,
double b )

2つの浮動小数点数の近似等価比較を行う。

引数
[in]a比較対象
[in]b比較対象
戻り値
true近似的に等価である
false近似的に不等である

◆ approxf()

bool approxf ( float a,
float b )
参照
approx

◆ approxl()

bool approxl ( long double a,
long double b )
参照
approx

◆ cart2pol()

polar_t cart2pol ( SL_FP_T x,
SL_FP_T y )

直交座標を極座標へ変換する。

引数
[in]xX座標(右が正)
[in]yY座標(上が正)
戻り値
極座標

◆ create_cart()

cart_t create_cart ( SL_FP_T x,
SL_FP_T y )

直交座標型を作成する。

引数
[in]xX座標(右が正)
[in]yY座標(上が正)
戻り値
直交座標型

◆ create_polar()

polar_t create_polar ( SL_FP_T r,
SL_FP_T theta )

極座標型を作成する。

引数
[in]r動径
[in]theta角度(右0・反時計回り) [rad]
戻り値
極座標型

◆ dot()

SL_FP_T dot ( cart_t a,
cart_t b )

二次元ベクトルの内積を計算する。

引数
[in]a左項
[in]b右項
戻り値
aとbの内積

◆ pol2cart()

cart_t pol2cart ( SL_FP_T r,
SL_FP_T theta )

極座標を直交座標へ変換する。

引数
[in]r動径
[in]theta角度(右0・反時計回り) [rad]
戻り値
直交座標

◆ vec_scale()

cart_t vec_scale ( cart_t vec,
SL_FP_T scaler )

ベクトルをスカラー倍する。

引数
[in]vecベクトル
[in]scaler倍率
戻り値
vecの各成分をscaler倍したベクトル