# Three-dimensional vectors [Русская версия / Russian version](vector3-rus.md) There are two types of 3D vectors in the library: - **BGC_FP32_Vector3** - vector using single-precision floating-point numbers - **BGC_FP64_Vector3** - vector using double-precision floating-point numbers Structure definitions: ```c typedef struct { float x, y, z; } BGC_FP32_Vector3; typedef struct { double x, y, z; } BGC_FP64_Vector3; ``` The fields *x*, *y* and *z* are the coordinates of a 3D vector. ## Functions - [Reset](vector3/reset-eng.md) - bgc_fp32_vector3_reset - bgc_fp64_vector3_reset - [Copy](vector3/copy-eng.md) - bgc_fp32_vector3_copy - bgc_fp64_vector3_copy - [Swap](vector3/swap-eng.md) - bgc_fp32_vector3_swap - bgc_fp64_vector3_swap [Documentation](intro-eng.md)