In rete: http://www.elegio.it/svg/tanteparabole.html

Impostazione filosofica

Vedere il sorgente Javascript traiettoria-precisa.js.html

  1. La traiettoria deve passare per i punti calcolati ( magari con un qualche algoritmo tipo Runge Kutta http://www.elegio.it/calcolatrice/nuova-dormand-prince.html , http://www.elegio.it/mc2/jacobi/2009-runge-kutta-nystrom-0.htm ).
  2. Dati quattro punti consecutivi uso la prima coppia e la seconda coppia per definire la posizione e la direzione della tangente alla traiettoria.
  3. Dato che uso veramente come punto sulla traiettoria solo il primo e il terzo punto della quaterna, posso usare il secondo ed il quarto o come punto a distanza arbitraria che individua le due tangenti rettilinee oppure posso scrivere come secondo e quarto punto le velocità possedute dal punto quando era nel primo e nel terzo punto. Posso cambiare l'uso dei quattro punti modificando funzioni che ho tenute esterne all'algoritmo e che servono a selezionare i dati bidimensionali che concretamente l'algoritmo usa per tracciare il disegno.

Notare che un unico vettore di punti può contenere traiettorie di diversi punti separati da dati che non sono di natura vettoriale ossia danno false al test Array.isArray(P[k]) dove P è il vettore-lista che contiene tutti i punti, essendo P[k] l'eventuale k_esimo, del sistema considerato e da visualizzare.

Ecco i risultati che ottengo con questo documento

La traiettoria viene cambiata dopo qualche secondo con ridefinizione dei punti in modo random.

Contatore dei ricalcoli

A me sembra che tutto funzioni benissimo con questo SEMPLICE algoritmo che, essendo basato su archi di parabola, consente il calcolo preciso ( integrazione esatta ) della lunghezza della traiettoria fino al punto considerato.

Per approfondire l'argomento ossia per sapere come determinare il fuoco, il vertice ed altri punti significativi della parabola di cui viene disegnato solo un arco, guardare http://www.elegio.it/javascript/tutto-parabola.xhtml ed eventualmente provare ad usare questa libreria http://www.elegio.it/javascript/tutto-parabola.js.html

Considerazioni filosofiche sulla parabola

La parabola è forse una curva di secondo grado persino più semplice del cerchio. Il cerchio è facile da disegnare con un compasso ma la parabola non richiede l'uso di radici quadrate per esprimere le ordinate in funzione delle ascisse.

Grazie all'ingegnere Bézier e alla grafica vettoriale SVG ( http://www.w3.org/Graphics/SVG/ ) la parabola è diventata una curva utile anche nella grafica.

Sulla Wikipedia ( http://it.wikipedia.org/wiki/Pierre_B%C3%A9zier ) trovo scritto questo:

Pierre Étienne Bézier (Parigi, 1º settembre 1910 Parigi, 25 novembre 1999) è stato un ingegnere e matematico francese, creatore delle curve di Bézier e delle superfici di Bézier che sono ora alla base della maggior parte del Computer Aided Design e dei sistemi di computer grafica.
Nato a Parigi, Bézier ottenne la laurea in ingegneria meccanica presso la École Nationale Supérieure des Arts et Métiers nel 1930 ( a 20 anni ). Si guadagnò una seconda laurea in ingegneria elettrica nel 1931 alla École Supérieure d'Électricité (aveva 21 anni ), nonché un dottorato, nel 1977 ( a 67 anni ), in matematica all'Università di Parigi.
Lavorò presso la Renault dal 1933 al 1975 ( in pensione a 65 anni ), dove realizzò il suo sistema UNISURF CAD CAM.
Dal 1968 al 1979 fu Professore di Ingegneria della Produzione al Conservatoire National des Arts et Métiers.
Nel 1985 ( a 75 anni ) fu insignito all'ACM SIGGRAPH con un premio "Steven A. Coons" per aver dedicato la sua vita alla computer grafica e alle tecniche interattive.

Trovo ben fatta questa pagina http://en.wikipedia.org/wiki/Parabola anche se ... mi sembra che nessuno punti direttamente ad applicazioni pratiche nella grafica e ... traduca in termini classici ossia tradizionali il lavoro concreto fatto dall'ing. Pierre Étienne Bézier.

Nella grafica vettoriale SVG è possibile disegnare vari tipi di curve di Bézier usando l'elemento <path> e la direttiva Q o C ( vedere, per esempio quello che ho scritto in http://www.elegio.it/calcolatrice/archivio-utili-201308.html#n002 ) ma, fino ad ora tendevo ad apprezzare maggiormente la cubica di Bézier invece che la più semplice quadrica ma trascurando questo aspetto importante: è possibile calcolare con semplici funzioni logaritmiche e radici quadrate la lunghezza di un qualsiasi arco di parabola mentre con la cubica i calcoli diventano decisamente più complicati senza ottenere un concreto e grosso salto di qualità. Già con la quadrica di Bézier è possibile rappresentare traiettorie prive di discontinuità nella derivata prima ossia nella velocità.

Mi entusiasmo forse troppo facilmente ma la parabola parametrica di Bézier usata per disegnare traiettorie senza discontinuità e con la possibilità di determinare con alta precisione la lunghezza di ogni spezzone della traiettoria NON È UNA BELLA E UTILE CURVA ?.