Se si utilizza l'algebra vettoriale (che è facile con una libreria algebrica vettoriale), non vi è alcuna reale differenza tra il caso 3-d e il caso N-d. Sfortunatamente, la pagina a cui ti colleghi ha scritto l'elemento matematico vettoriale per elemento, che tende a oscurarlo.
Quindi, parafrasando dall'articolo: data una linea attraverso due punti A
e B
, la distanza minima d
a un punto P
può essere calcolata come:
n_vector pa = P - A
n_vector ba = B - A
double t = dot(pa, ba)/dot(ba, ba)
double d = length(pa - t * ba)
Si noti che l'aggiunta di due% di% di% è come aggiungere un vettore a 3, tranne che si aggiungono N elementi corrispondenti invece di 3 di essi e ridimensionare un n_vector
di% scalar% co_de è come ridimensionare un 3 -vettore tranne che riduci gli elementi N anziché 3.
Valutare il n_vector
di un t
è solo leggermente più complicato: sommi i quadrati di tutti gli elementi N (invece del solo 3) e prendi la length()
del risultato. Infine, come avrai intuito, il prodotto n_vector
è la somma dei prodotti degli elementi N corrispondenti (di nuovo, invece del solo 3).