diff options
Diffstat (limited to '')
-rw-r--r-- | vector/vector.c (renamed from vector/vectors.c) | 0 | ||||
-rw-r--r-- | vector/vector.md | 16 |
2 files changed, 13 insertions, 3 deletions
diff --git a/vector/vectors.c b/vector/vector.c index c8a5906..c8a5906 100644 --- a/vector/vectors.c +++ b/vector/vector.c diff --git a/vector/vector.md b/vector/vector.md index c7c1b11..abbc0f9 100644 --- a/vector/vector.md +++ b/vector/vector.md @@ -4,12 +4,11 @@ date: 9 Dicembre 2018 author: - Naoki Pross papersize: a4 -fontfamily: cmbright --- # Premessa Si da per assunto che si ha delle conscenze di C di funzioni, strutture dati e -puntatori e si vuole imparare il C++. +puntatori e si vuole imparare il C++11. L'obiettivo è di ottenere una libreria di vettori matematici con le operazioni vettoriali di somma, sottrazione, prodotto con scalare, scalare e vettoriale. @@ -19,4 +18,15 @@ Sarà inoltre utilizzata la terminologia inglese di *dot product* per il prodotto scalare e *cross product* per il prodotto vettoriale. # Un implementazione in C -Per introd +Per introdurre il concetto, a seguire vi è un esempio di un implementazione +semplice in C. +```{.C include=vector.c startLine=1 endLine=73} +``` +Per alcune applicazioni ciò è assolutamente sufficiente, ma osserviamo alcune +limitazioni: + +- `vec3` contiene solo informazioni di tipo `double` +- Si possono creare dei `vec3` non inzializzati +- La notazione delle operazioni è scomoda. + Per esempio $\vec{v} \cdot 3 \cdot \vec{u}$ diventa + `vec3_dot(&v, &vec3_mul(&u, 3));` |