Bonjour,
Je viens vous voir au bord du désespoir..
j'ai besoin de résoudre ça :
%1 := (p0m[d] - p00[d]) kx
%2 := (p0m[d] + (p01[d] - p0m[d]) kx - p00[d] - %1) kx
%3 := (pmm[d] - pm0[d]) kx
%4 := (pmm[d] + (pm1[d] - pmm[d]) kx - pm0[d] - %3) kx
pkk[d] := p00[d] + %1 + %2
+ (pm0[d] + %3 + %4 - p00[d] - %1 - %2) ky + (pm0[d] + %3
+ %4 + (p10[d] + (p1m[d] - p10[d]) kx + (
p1m[d] + (p11[d] - p1m[d]) kx - p10[d] - (p1m[d] - p10[d]) kx
) kx - pm0[d] - %3 - %4) ky - p00[d] - %1 - %2
- (pm0[d] + %3 + %4 - p00[d] - %1 - %2) ky) ky
pkk[d]=0 (trouver kx et ky en fonction d'un paramétre)
ou alors
trouver pkk[2] quand { pkk[0] = 0 et pkk[1] = 0 }
Pour faire plus simple :
En fait il s'agit de trouver le point commun entre une droite et
une surface définit par neuf point et des interpolations de Bézier :
c'est à dire :
interpolation_linéaire (a,b,k):= a + (b-a) * k
interpolation_bézier (a,b,c, k):= interpolation_linéaire(interpo lation_linéaire(a,b,k) ,
interpolation_linéaire (b,c,k),k)
pk0 = interpolation_bézier(p00 -> pm0 -> p10 , kx )
pkm = interpolation_bézier(p0m -> pmm -> p1m , kx )
pk1 = interpolation_bézier(p01 -> pm1 -> p11 , kx )
pkk = interpolation_bézier(pk0 -> pkm -> pk1 , ky )
trouver kx et ky au point de contact entre la surface et la droite
Si jamais vous êtes un génie, le vecteur normal au point de contact ça m'interesse aussi !
-----