B.41. 幾何関数

Table B.116. 表:幾何関数

関数詳細
float4 cross (float4 p0,
    float4 p1)
float3 cross (float3 p0,
    float3 p1)
double4 cross (double4 p0,
    double4 p1)
double3 cross (double3 p0,
    double3 p1)
p0.xyzとp1.xyzのクロス積
を計算します。戻り値の
float4のw要素は0.0となります。

float dot (floatn p0,
    floatn p1)
double dot (doublen p0,
    doublen p1)

ドット積を計算します。

float distance (floatn p0, floatn p1)
double distance (doublen p0, doublen p1)
p0とp1の距離を計算します。
計算式は`length(p0 – p1)`
となります。
float length (floatn p)
double length (doublen p)

ベクトルの長さを計算します。
`√(p.x^2 + p.y^2 + ...)`
が計算式です。※`p.x^2`はx
軸の2乗をしめします。

floatn normalize (floatn p)
doublen normalize (doublen p)

ベクトルを正規化します。
(pと同方向で長さが1)


float fast_distance (floatn p0,
    floatn p1)
`fast_length(p0 – p1)`
を計算します。

float fast_length (floatn p)

ベクトルpの長さを計算します。
`half_sqrt(p.x^2 + p.y^2 + ....)`
として計算します。
floatn fast_normalize (floatn p)
ベクトルを正規化します。計算式は

`p * half_rsqrt (p.x^2 + p.y^2 + ... )`

となります。

Copyright 2018-2019, by Masaki Komatsu