Discussione:
Bezier control points
(troppo vecchio per rispondere)
fantoibed
2004-06-13 08:53:02 UTC
Permalink
Vorrei riportare una mesh in un'immagine .eps in modo che
rappresenti il più fedelmente possibile la mia mesh geometrica. Il
linguaggio postscript mi mette a disposizione il comando curveto :

x0 y0 moveto
x1 y1 x2 y2 x3 y3 curveto

adds a Bezier cubic section to the current path between the current
point, referred to here as (x0, y0), and the point (x3, y3), using
(x1, y1) and (x2, y2) as the Bezier cubic control points.

Per ogni segmento curvilineo di mesh ho a disposizione i punti
a sinistra e a destra. Come scelgo i punti di controllo in
modo che ci sia la massima "continuità" possibile? Pensavo di
calcolare (numericamente) la derivata sulle due estremità del
segmento curvilineo da disegnare... Ci sono metodi più furbi?

Grazie in anticipo. :-)
--
........This message is best viewed with fixed spaced font..........
http://fantoibed.altervista.org -=SpP=-
Elio Fabri
2004-06-15 19:39:42 UTC
Permalink
Vorrei riportare una mesh in un'immagine .eps in modo che rappresenti
il pi=F9 fedelmente possibile la mia mesh geometrica. Il linguaggio
x0 y0 moveto
x1 y1 x2 y2 x3 y3 curveto
...
Evviva! Finalmente trovo uno che conosce PostScript!
Per ogni segmento curvilineo di mesh ho a disposizione i punti a
sinistra e a destra. Come scelgo i punti di controllo in modo che ci
sia la massima "continuit=E0" possibile? Pensavo di calcolare
(numericamente) la derivata sulle due estremit=E0 del segmento
curvilineo da disegnare... Ci sono metodi pi=F9 furbi?
A dire il vero non ho capito bene, anche perche' non so che cos'e' una
"mesh".

Pero' la curva tracciata da curveto e' tangente nel punto (x0,y0) alla
retta che passa per (x1,y1), e in (x3,y3) alla retta per (x2,y2).
Questo ti permette di raccordare comunque le tangenti.
Se vuoi un raccordo piu' forte, devi andare alle derivate seconde:
visto che mi pare tu abbia il manuale, ci trovi le formule esatte e
puoi usarle appunto per raccordare anche le derivate seconde.

Se vuoi, spiega in maggior dettaglio il tuo problema.


------------------------------
Elio Fabri
Dip. di Fisica - Univ. di Pisa
------------------------------
fantoibed
2004-06-16 06:21:33 UTC
Permalink
Post by Elio Fabri
Post by fantoibed
x0 y0 moveto
x1 y1 x2 y2 x3 y3 curveto
Evviva! Finalmente trovo uno che conosce PostScript!
Hehehe, l'ho scoperto da poco, ma ha ottime potenzialità. Si possono
scrivere dei programmini (in C, fortran, pascal o quel che si vuole)
che danno in output un'immagine in eps pronta per essere inclusa in
un documento latex, senza dover passare per matlab, gnuplot e
simili....
Post by Elio Fabri
A dire il vero non ho capito bene, anche perche' non so che cos'e'
una "mesh".
In pratica è una specie di "griglia" in cui le linee orizzontali e
verticali non sono necessariamente rette e la loro intersezione
non è esattamente ortogonale (anche se la ricerca della massima
ortogonalità è uno dei miei scopi...), comunque mio nonno diceva che
un'immagine vale più di 1,000 parole:

Esempio di mesh non strutturata:
Loading Image...

Esempi di mesh strutturata:
Loading Image...
Loading Image...

Altri esempi:
http://www.telusplanet.net/public/djhawken/ugrid.htm
http://www.nada.kth.se/~chris/optiblade/doc_html/buildmodel.html
Post by Elio Fabri
Pero' la curva tracciata da curveto e' tangente nel punto (x0,y0)
alla retta che passa per (x1,y1), e in (x3,y3) alla retta per
(x2,y2). Questo ti permette di raccordare comunque le tangenti.
... e questo mi permette di ottenere la pendenza dei segmenti P0->P1
e P3->P2, ma non il loro modulo, comunque penso di aver (quasi)
risolto.... :-)
Post by Elio Fabri
visto che mi pare tu abbia il manuale, ci trovi le formule esatte
e puoi usarle appunto per raccordare anche le derivate seconde.
Uh!?! Che manuale? Il redbook del postscript? Boh, di quello ho il
pdf che è liberamente scaricabile dal sito dell'Adobe... Comunque
grazie, penso di aver risolto! :-)
--
........This message is best viewed with fixed spaced font..........
http://fantoibed.altervista.org -=SpP=-
Loading...