Развитие SLERP для трёхмерных пространств, а также развитие дуальных чисел, векторов и кватернионов
This commit is contained in:
parent
053af33444
commit
86ea23de7d
23 changed files with 1063 additions and 830 deletions
28
basic-geometry/hmg-vector3.c
Normal file
28
basic-geometry/hmg-vector3.c
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
#include "./hmg-vector3.h"
|
||||
|
||||
extern inline void bgc_fp32_hg_vector3_reset_point(BGC_FP32_HmgVector3* homogeneous_vector);
|
||||
extern inline void bgc_fp64_hg_vector3_reset_point(BGC_FP64_HmgVector3* homogeneous_vector);
|
||||
|
||||
extern inline void bgc_fp32_hg_vector3_reset_vector(BGC_FP32_HmgVector3* homogeneous_vector);
|
||||
extern inline void bgc_fp64_hg_vector3_reset_vector(BGC_FP64_HmgVector3* homogeneous_vector);
|
||||
|
||||
extern inline void bgc_fp32_hg_vector3_make(BGC_FP32_HmgVector3* homogeneous_vector, const float x1, const float x2, const float x3, const float ratio);
|
||||
extern inline void bgc_fp64_hg_vector3_make(BGC_FP64_HmgVector3* homogeneous_vector, const double x1, const double x2, const double x3, const double ratio);
|
||||
|
||||
extern inline void bgc_fp32_hg_vector3_make_point(BGC_FP32_HmgVector3* homogeneous_vector, const BGC_FP32_Vector3* regular_vector);
|
||||
extern inline void bgc_fp64_hg_vector3_make_point(BGC_FP64_HmgVector3* homogeneous_vector, const BGC_FP64_Vector3* regular_vector);
|
||||
|
||||
extern inline void bgc_fp32_hg_vector3_make_vector(BGC_FP32_HmgVector3* homogeneous_vector, const BGC_FP32_Vector3* regular_vector);
|
||||
extern inline void bgc_fp64_hg_vector3_make_vector(BGC_FP64_HmgVector3* homogeneous_vector, const BGC_FP64_Vector3* regular_vector);
|
||||
|
||||
extern inline int bgc_fp32_hg_vector3_is_point(const BGC_FP32_HmgVector3* homogeneous_vector);
|
||||
extern inline int bgc_fp64_hg_vector3_is_point(const BGC_FP64_HmgVector3* homogeneous_vector);
|
||||
|
||||
extern inline int bgc_fp32_hg_vector3_is_vector(const BGC_FP32_HmgVector3* homogeneous_vector);
|
||||
extern inline int bgc_fp64_hg_vector3_is_vector(const BGC_FP64_HmgVector3* homogeneous_vector);
|
||||
|
||||
extern inline void bgc_fp32_hg_vector3_copy(BGC_FP32_HmgVector3* destination, const BGC_FP32_HmgVector3* source);
|
||||
extern inline void bgc_fp64_hg_vector3_copy(BGC_FP64_HmgVector3* destination, const BGC_FP64_HmgVector3* source);
|
||||
|
||||
extern inline void bgc_fp32_hg_vector3_swap(BGC_FP32_HmgVector3* first, BGC_FP32_HmgVector3* second);
|
||||
extern inline void bgc_fp64_hg_vector3_swap(BGC_FP64_HmgVector3* first, BGC_FP64_HmgVector3* second);
|
||||
Loading…
Add table
Add a link
Reference in a new issue