summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vector/vector.c (renamed from vector/vectors.c)0
-rw-r--r--vector/vector.md16
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));`