# Bibliothek für grundlegende geometrische Berechnungen [Русский (Russisch)](intro-rus.md) [English (Englisch)](intro-eng.md) [简体中文 (Chinesisch)](intro-zho.md) **Hinweis**: Dieser Text wurde mithilfe der maschinellen Übersetzung von Google aus der russischen Version erstellt. ## Namenskonventionen Die Programmiersprache C kennt keine Namensräume. Daher dienen Präfixe in Namen als deren Funktion. Die Bibliothek verwendet Präfixe in den Namen von Typen, Konstanten und Funktionen, um Namenskonflikte mit anderen Bibliotheken zu vermeiden. ### Bibliothekspräfix (Primäres Präfix) Das primäre Präfix ist **BGC** (Abkürzung für **B**asic **G**eometric **C**computations, was übersetzt „Grundlegende geometrische Berechnungen“ bedeutet). Für Konstanten und Datenstrukturen lautet das Präfix **BGC_**. Beispiele für Strukturen: - BGC_FP64_Vector3 - BGC_FP32_Quaternion - BGC_FP32_Matrix2x2 Konstanten: - BGC_FP32_EPSILON - BGC_FP64_TWO_PI Funktionen haben das Präfix **bgc_**, zum Beispiel: - bgc_fp32_turn3_combine - bgc_fp64_matrix3x3_subtract ### Basistyppräfix (Sekundärpräfix) Nach dem Bibliothekspräfix folgt das Basistyppräfix. Die Bibliothek verwendet zwei Gleitkommazahlentypen: **float** und **double** (die Typen **binary32** und **binary64** des **IEEE 754**-Standards). Die Bibliothek verwendet daher zwei Typpräfixe: - **FP32** bedeutet "Floating Point 32-bit", also eine 32-Bit-Gleitkommazahl, die dem Datentyp **float** in der Programmiersprache C entspricht. - **FP64** bedeutet "Floating Point 64-bit", also eine 64-Bit-Gleitkommazahl, die dem Datentyp **double** in der Programmiersprache C entspricht. Strukturtypen und Konstanten, die auf dem Typ **float** basieren, haben das Präfix **FP32_**: - BGC_FP32_Vector3 - BGC_FP32_Matrix3x2 - BGC_FP32_Quaternion - BGC_FP32_PI - BGC_FP32_EPSILON Strukturtypen und Konstanten, die auf dem Typ **double** basieren, haben das Präfix **FP64_**: - BGC_FP64_Vector2 - BGC_FP64_Matrix2x3 - BGC_FP64_Turn3 - BGC_FP64_HALF_PI - BGC_FP64_ONE_THIRD Funktionen, die mit **float**-Daten arbeiten, haben das Präfix **fp32_**: - bgc_fp32_vector2_get_length - bgc_fp32_radians_to_degrees Funktionen, die mit **double**-Datentypen arbeiten, haben das Präfix **fp32_**: - bgc_fp32_vector2_get_length - bgc_fp32_radians_to_degrees Funktionen, die mit **double**-Datentypen arbeiten, haben das Präfix **fp64_**: - bgc_fp64_vector3_reset - bgc_fp64_normalize_radians Durch die Verwendung solcher Präfixe kann die Bibliothek zukünftig um neue Basistypen erweitert werden. ### Datentypen - [Zweidimensionale Vektoren](vector2-rus.md) - [Dreidimensionale Vektoren](vector3-rus.md) - [Quaternionen](quaternion-rus.md)