Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3218 connectés 

 


Dernière réponse
Sujet : [Spline] Comment qu'on fait
darkoli ben remerci, pour vos nouvelles reponses, et si tout se passe bien ce soir je vais pouvoir faire des gribouillages.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
darkoli ben remerci, pour vos nouvelles reponses, et si tout se passe bien ce soir je vais pouvoir faire des gribouillages.
chrisbk

DarkOli a écrit a écrit :

Merci pour vos reponse. Va falloir que j'allume mon cerveau ce soir !!!  




 
bah c pas si ignoble a faire que ca ;)
 
celle que j'utilise assez frequemment c catmull rom, qui a l'avantage d'etre passablement simple a coder :
 
http://www.cubic.org/~submissive/sourcerer/hermite.htm

LeGreg Ce que tu obtiens en faisant le calcul ce sont
les polynomes de bernstein.
 
M(t) = Somme de 0 a n (Bin(t)*Ai) avec Ai tes points de controle
et les Bin les polynomes de bernstein:
B0n = (1-t)^n
B1n = C1n*t*(1-t)^(n-1)
.. etc..
Bnn = t^n
 
Cin c'est le coefficient polynomial bien connu
Cin = n!/(i! * (n-i)!);
 
donc pour n = 3
M(t) = (1-t)^3*A0 + 3 * t * (1-t)^2 * A1 + 3 * t^2 *(1-t) * A2 + t^3 * A3;
 
A votre service
LEGREG
darkoli Merci pour vos reponse. Va falloir que j'allume mon cerveau ce soir !!!
youdontcare il y a une infinité de splines qui passent par a et b :D
 
* tu veux probablement une courbe de bézier, qui a la propriété d'être contenue dans le polygone défini par a, b, c, d.  
 
algo de de casteljau : pour une courbe de n points, tu as n-1 segments. tu réduis pour tout t de 0 à 1 cet ensemble de segments jusqu'à n'avoir plus qu'un seul point.  
 
tes trois segments sont
 
[a, b]
[b, c]
[c, d]
 
et donnent les points
 
A1 = (a*(1-t), b*t)
B1 = (b*(1-t), c*t)
C1 = (c*(1-t), d*t)
 
ces trois points te donnent deux segments :
 
[A1, B1]
[B1, C1]
 
ces deux segments te donnent deux points :
 
A2 = [A1*(1-t), B1*t]
B2 = [B1*(1-t), C1*t]
 
tu n'as plus qu'un segment :
 
[A2, B2]
 
qui te donne le point de la courbe :
 
A3 = (A2*(1-t), B2*t)
 
l'avantage est qu'avec ça, tu peux tracer une courbe avec n'importe quel nombre de points de contrôle.
 
tu peux réduire le topo au-dessus pour avoir une belle équation en fonction des quatres points.
 
//
 
si tu veux que les courbes passent par tous les points, c'est catmull-rom, si tu veux contrôler d'autres paramètres, regarde du côté des kochanek bartels.
JPA pour les précisions mathématiques :
http://perso.club-internet.fr/brunsr/tipe/tipe.htm
 
trouvé en 2 minutes avec :
http://www.google.fr/search?q=spli [...] %3Dlang_fr
A+
JeromeV Il y a un algo, ca ne s'invente pas ...
si tu n'a pas ca dans un cours ou autre chose, google est ton ami.
darkoli Voila j'ai 4 points : a,b,c et d.
J'aimerais tracer une spline a partir de ces points de controle, sachant qu'elle doit passer par les points a et d.
 
Comment  fait on ?
 
Par exemple en admetant que la spline soit parametrique avec pour t=0 (la spline est en a) et t=1 (la spline et en d), comment calculer x et y pour t = 0.7 par exemple.
 
Bon y'a peut etre des erreurs mathematique dans l'enoncé mais soyez comprehensifs.

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)