Lines Matching refs:q
128 q と同じクォータニオンを指していても構いません。
129 @param[in] q 左辺値へのポインタ
135 QUATScale(QUAT* pOut, const QUAT* q, f32 scale)
138 NN_NULL_ASSERT( q );
140 pOut->x = q->x * scale;
141 pOut->y = q->y * scale;
142 pOut->z = q->z * scale;
143 pOut->w = q->w * scale;
153 q と同じクォータニオンを指していても構いません。
154 @param[in] q 指数値となるクォータニオンへのポインタ。
160 QUATExp(QUAT* pOut, const QUAT* __restrict q)
165 NN_NULL_ASSERT( q );
168 NN_ASSERT( q->w == 0.0F );
170 theta = ::std::sqrtf( q->x * q->x + q->y * q->y + q->z * q->z );
178 pOut->x = scale * q->x;
179 pOut->y = scale * q->y;
180 pOut->z = scale * q->z;
191 q と同じクォータニオンを指していても構いません。
192 @param[in] q 真数となるクォータニオンへのポインタ。
197 QUATLogN(QUAT* pOut, const QUAT* __restrict q)
202 NN_NULL_ASSERT( q );
204 scale = q->x * q->x + q->y * q->y + q->z * q->z;
207 theta = ::std::atan2f( scale, q->w );
214 pOut->x = scale * q->x;
215 pOut->y = scale * q->y;
216 pOut->z = scale * q->z;
303 @param[out] pOut 計算結果を受け取るバッファへのポインタ。p, a, b, q と同じクォータニオンを指していても構いません。
307 @param[in] q 球面3次補間の終点となるクォータニオンへのポインタ
313 QUATSquad(QUAT* pOut, const QUAT* p, const QUAT* a, const QUAT* b, const QUAT* q, f32 t)
322 NN_NULL_ASSERT( q );
325 QUATSlerp(&pq, p, q, t);
334 @brief Modify q so it is on the same side of the hypersphere as qto
337 @param[in] q quaternion
343 QUATMakeClosest(QUAT* pOut, const QUAT *q, const QUAT *qto)
348 NN_NULL_ASSERT(q );
351 dot = q->x * qto->x + q->y * qto->y + q->z * qto->z + q->w * qto->w;
355 pOut->x = -q->x;
356 pOut->y = -q->y;
357 pOut->z = -q->z;
358 pOut->w = -q->w;
362 *pOut = *q;