HOME OGGETTI 3D LIBRI CORSI TUTORIAL FORUM SHOP CONTATTI   LOGIN









Autore Topic: Curve razionali di Bézier  (Letto 5545 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

claudio-aster

  • MODERATOR
    ...non tutti i supereroi indossano il mantello
  • *
  • Post: 880
Curve razionali di Bézier
« il: 12 Novembre 2022, 00:31 »
piccole cose inutili...
che mi spingono ancora a giocare con il compiuterz
 :bigrin:

claudio-aster

  • MODERATOR
    ...non tutti i supereroi indossano il mantello
  • *
  • Post: 880
Re:Curve razionali di Bézier
« Risposta #1 il: 16 Novembre 2022, 14:37 »

il peso o valore di attrazione si applica ovviamente sul punto compreso tra gli estremi
il valore per ottenere la coincidenza con il cerchio è pari al seno dell'angolo/2 compreso tra i due tratti estremicon peso pari a 1 la curva si riduce alla normalissima Bézier
con peso pari a 0 la curva si riduce ad un segmento tra gli estremi
bello e curioso quello che succede con peso negativo
 :bigrin:
« Ultima modifica: 16 Novembre 2022, 14:55 da claudio-aster »

claudio-aster

  • MODERATOR
    ...non tutti i supereroi indossano il mantello
  • *
  • Post: 880
Re:Curve razionali di Bézier
« Risposta #2 il: 17 Novembre 2022, 17:13 »
...

marcomasetti

  • Newbie
    ...sono qui da poco, il mio miglior amico è il pulsante RICERCA
  • *
  • Post: 183
Re:Curve razionali di Bézier
« Risposta #3 il: 25 Settembre 2023, 16:22 »
Le curve di Bézier tradizionali, ovvero di ordine 3, non hanno punti intermedi, ma il punto iniziale, il secondo e terzo punto  (che non appartengono alla curva ma soni i nodi delle tangenti) e il nodo finale.
Per inserire un ulteriore punto o utilizziamo una curva di ordine superiore, come nell'esempio, dove però rimane da definire un parametro t, oppure dobbiamo rinunciare a definire taluni parametri per l'ordine 3, ad esempio i moduli delle tangenti.

Grado 4
La curva algebrica è definita dai punti iniziale e finale,
dai relativi vettori tangenti, dal punto intermedio M, più il valore "temporale" t.

tm= !valore tra 0 e 1 assunto in M=(xm,ym,zm)
xo=
yo=
zo=   !punto inizio
txo=
tyo=
tzo=  !tang.punto inizio
xm=
ym=
zm=   !punto intermedio
xf=
yf=
zf=   !punto fine
txf=
tyf=
tzf=  !tang.punto fine

t=    !valore parametrico, tipo i/n

qq=(xm-tm^4*xf-4*tm^3*(1-tm)*(xf+txf)-4*tm*(1-tm)^3*(xo+txo)-(1-tm)^4*xo)/(tm^2*(1-tm)^2)
x=(1-t)^4*xo+4*(1-t)^3*t*(xo+txo)+(1-t)^2*t^2*qq+4*(1-t)*t^3*(xf+txf)+t^4*xf

qq=(ym-tm^4*yf-4*tm^3*(1-tm)*(yf+tyf)-4*tm*(1-tm)^3*(yo+tyo)-(1-tm)^4*yo)/(tm^2*(1-tm)^2)
y=(1-t)^4*yo+4*(1-t)^3*t*(yo+tyo)+(1-t)^2*t^2*qq+4*(1-t)*t^3*(yf+tyf)+t^4*yf

qq=(zm-tm^4*zf-4*tm^3*(1-tm)*(zf+tzf)-4*tm*(1-tm)^3*(zo+tzo)-(1-tm)^4*zo)/(tm^2*(1-tm)^2)
z=(1-t)^4*zo+4*(1-t)^3*t*(zo+tzo)+(1-t)^2*t^2*qq+4*(1-t)*t^3*(zf+tzf)+t^4*zf
! x,y,z

!proiezione sul solo asse x:
tm= !valore tra 0 e 1 assunto in M=(xm,ym,zm)
xo=
txo=
xm=
xf=
txf=

t=    !valore parametrico, tipo i/n

qq=(xm-tm^4*xf-4*tm^3*(1-tm)*(xf+txf)-4*tm*(1-tm)^3*(xo+txo)-(1-tm)^4*xo)/(tm^2*(1-tm)^2)
x=(1-t)^4*xo+4*(1-t)^3*t*(xo+txo)+(1-t)^2*t^2*qq+4*(1-t)*t^3*(xf+txf)+t^4*xf

!alternativa:
cxo=(-(1-t1)^4-4*t1*(1-t1)^3)/(t1^2*(1-t1)^2)*(1-t)^2*t^2+(1-t)^4+4*(1-t)^3*t
cx1=(1-t)^2*t^2/(t1^2*(1-t1)^2)
cxf=(-4*t1^3*(1-t1)-t1^4)/(t1^2*(1-t1)^2)*(1-t)^2*t^2+t^4+4*(1-t)*t^3
ctxo=-4*t1*(1-t1)^3/(t1^2*(1-t1)^2)*(1-t)^2*t^2+4*(1-t)^3*t
ctxf=-4*t1^3*(1-t1)/(t1^2*(1-t1)^2)*(1-t)^2*t^2+4*(1-t)*t^3

x=cxo*xo+cx1*x1+cxf*xf+ctxo*txo+ctxf*txf

!con tm=1/2 si semplifica:

x=(1-t)^4*xo+4*(1-t)^3*t*(xo+txo)+(1-t)^2*t^2*(16*xm-5*xf-4*txf-4*txo-5*xo)+4*(1-t)*t^3*(xf+txf)+t^4*xf

claudio-aster

  • MODERATOR
    ...non tutti i supereroi indossano il mantello
  • *
  • Post: 880
Re:Curve razionali di Bézier
« Risposta #4 il: 06 Marzo 2024, 19:02 »
impostare la continuità delle razionali di Bezier nello spazio 3D è una croce.
Torniamo alle Chaikin che con gli opportuni tracciamenti hanno con le coniche una tolleranza inferiore all'un percento...
e per un architetto che gioca è già abbastanza... forse

claudio-aster

  • MODERATOR
    ...non tutti i supereroi indossano il mantello
  • *
  • Post: 880
Re:Curve razionali di Bézier
« Risposta #5 il: 20 Marzo 2024, 21:42 »
...

claudio-aster

  • MODERATOR
    ...non tutti i supereroi indossano il mantello
  • *
  • Post: 880
Re:Curve razionali di Bézier
« Risposta #6 il: 20 Marzo 2024, 21:49 »
...