Sto attraversando un periodo difficile per trasformare una formula matematica in codice. Posso risolverlo facilmente sulla carta, ma è difficile per me portarlo in forma di codice. È generalmente possibile portare una formula matematica direttamente in un programma o, in caso contrario, come può essere trasferita?
Prendendo, per esempio, il Teorema di Pitagora: a² + b² = c²
. Avendo a
e b
definiti nel codice, è semplice applicare questa formula.
c = sqrt(pow(a, 2) + pow(b, 2))
Attualmente, sto attraversando un periodo difficile con l'intersezione della linea, che ho risolto su carta, nel mio programma. Supponendo che una linea sia definita come L: O + a * D
, si può trovare l'intersezione di due linee impostandole come uguali.
L1: O1 + a * D1
L2: O2 + b * D2
=> O1 + a * D1 = O2 + b * D2
Usando una penna, avrei già definito i valori e posso risolvere l'equazione suddividendo l'equazione in tre sottoequazioni e applicando una semplice sostituzione (spero che tu possa leggere la mia scrittura a mano):
Il mio problema reale
... è che la sostituzione non può essere applicata algoritmicamente, o non so come fare. L'equazione L1 = L2
deve essere trasformata in una formula generalizzata che può essere tradotta direttamente in codice (come a² + b² = c²
), ma non so come.
Speravo in una spiegazione passo a passo (sia come risposta o collegamento) su come arrivare alla formula / algoritmo che sto cercando. So che ci sono molti siti web che descrivono l'intersezione di due linee, ma mi piacerebbe capire come trovare l'algoritmo da un punto di partenza matematico .