IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

[image] Interpolation spline cubique


Sujet :

Contribuez

  1. #21
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par svagrim
    matlab ?, tout ce que je sais de ce logiciel c'est que je ne l'utiliserai plus jamais, moi je travaille sous idl
    idl ? c'est pas le langage de definiton d'interface ? enfin bon...

    ca je comprend pas pourquoi ca devrait donner une image uniforme
    d'ailleurs ce n'est pas ce que j'ai.
    Parcequ'on a

    X(i+di) = C3(di).P[i-1] + C2(di).P[i] + C1(di).P[i+1] + C0(di).P[i+2]

    et si on pose P[i-1]=P[i]=P[i+1]=P[i+2]=Cste, on obtient

    X(i+di) = (C3(di) + C2(di) + C1(di) + C0(di) ).Cste

    et si on regarde bien, C0+C1+C2+C3 = 1, quelquesoit "di"

    d'ou X(i+di) = X(i) = Cste, quelquesoit "i"

    d'ou X = Cste
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  2. #22
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 245
    Points : 110
    Points
    110
    Par défaut
    Citation Envoyé par pseudocode
    idl ? c'est pas le langage de definiton d'interface ? enfin bon...
    nan c'est pas du tout ca idl,

    IDL (Interactive Data Language)

    C'est un langage inventé à la NASA qui est utilisé pour la visualisation
    scientifique et le traitement de données dans des domaines tels que
    l'astronomie, l'astronautique, l'imagerie satellite ou l'imagerie
    médicale.

    ok, j'avais pas vu que la somme des polynomes faisaient 1

    ceci dit, ca ne change pas que je n'obtient pas une image uniforme et je n'arrive toujours pas a trouver mon erreur.

  3. #23
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par svagrim
    nan c'est pas du tout ca idl,

    IDL (Interactive Data Language)
    Ah ok. Ca me revient maintenant, je dois avoir un bouquin sur ce langage (coté imagerie medicale). Je pense que je l'ai jamais lu

    ok, j'avais pas vu que la somme des polynomes faisaient 1

    ceci dit, ca ne change pas que je n'obtient pas une image uniforme et je n'arrive toujours pas a trouver mon erreur.
    Bah, comme tu le dis, la somme des polynomes fait 1. Ce qui semble pas trop le cas chez toi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    C0=[0,0,a,-a]
    C1=[0,-1,(2*a+3),-(a+2)]
    C2=[1,0,-(a+3),(a+2)]
    C3=[0,a,-2*a,a]
    A mon avis le C1 est faux.
    Ca serait plutot C1=[0,-a,(2*a+3),-(a+2)]
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  4. #24
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 245
    Points : 110
    Points
    110
    Par défaut
    Citation Envoyé par pseudocode
    A mon avis le C1 est faux.
    Ca serait plutot C1=[0,-a,(2*a+3),-(a+2)]
    HAAAA !!!!!, je suis trop con
    desole de t'avoir derange a cause d'une erreur pareille
    je cherche l'erreur dans la programmation de l'olgorithme et pas dans les polynomes.

    j'essaye de suite pour voir si ca marche maintenant


    dommage que tu connaisses pas idl
    de 1 ca m'aurait ete tres utile mais bon ca a la limite ca a pas d'importance, je pense pas que ca te preoccupe beaucoup

    de 2, c'est pas mal utilise par les physiciens medicaux, qui sont pas tellement bon en informatique, voir pas du tout et du coup ils embauchent pas mal de personne pour faire moitier informatique, moitie, soit physiciens, soit technicien.

    enfin quand je dis qu'ils embauchent pas mal, c'est relatif, le secteur de la physique medical n'est pas extrement grand

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 19
    Points : 18
    Points
    18
    Par défaut
    Je sais que c'est un peu HS mais si c'est sur des images médicales que tu travailles et si tu as accès à la phase (ce qui est généralement le cas) tu peux aussi faire un zero filling dans Fourier si c'est pour un zoom que tu utilises cette interpolation.

  6. #26
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 245
    Points : 110
    Points
    110
    Par défaut
    ce n'est pas pour faire un zoom que j'utilise l'interpolation

    et je n'ai pas acces a la phase.

    mais merci quand meme

    (tu dis qu'on a generalement acces a la phase pour les images medicales, mais a part pour l'irm, et peut etre le doppler, je vois pas quand est ce qu'on a acces a la phase, tu peux l'avoir sur de la tomographie ?)

  7. #27
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 19
    Points : 18
    Points
    18
    Par défaut
    En effet, j'ai parlé trop vite désolé

  8. #28
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 52
    Points : 62
    Points
    62
    Par défaut
    Bonjour,

    j'ai une petite question qui me tracasse :

    En supposant que les bases des splines qui relient les points de controles ne soient pas toutes identiques en x ou en y, comment fait on pour obtenir la valeur interpollée ?

    On m'a dit de faire un produit tensoriel de toutes les fonctions de base, mais je me perds dans les dimensions. Un conseil ?

    b.

  9. #29
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par briqueabrac Voir le message
    Bonjour,

    j'ai une petite question qui me tracasse :

    En supposant que les bases des splines qui relient les points de controles ne soient pas toutes identiques en x ou en y, comment fait on pour obtenir la valeur interpollée ?

    On m'a dit de faire un produit tensoriel de toutes les fonctions de base, mais je me perds dans les dimensions. Un conseil ?

    b.
    Dans les "dimensions" ? Quelles dimensions ?

    une spline cubique (1d) s'ecrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    x = a.t^3 + b.t^2 + c.t + d
    avec 0<=t<=1
    etant donnés les 4 points:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    depart: x0
    controle-depart:  x1
    controle-arrivé:  x2
    arrivé:  x3
    on peut calculer les coefficients comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    a = 1.x3 - 3.x2 + 3.x1 - 1.x0
    b = 3.x2 - 6.x1 + 3.x0
    c = 3.x1 - 3.x0
    d = 1.x0
    (et idem pour y)
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  10. #30
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par SpaGrave Voir le message
    je suis déjà tombé sur ce lien en effet. Je vais faire une tentative de portage en C++. D'ailleur la MilieLib est faite en C non? Tu sais si on peut recupérer les sources et où?

    Ah et une autre question. Au niveau temps de calcul, l'inpainting il donne quoi à peu près? On va dire pour une image en 128*128.

    Millie est écrit en C++ (je viens seulement de voir ton message).
    Les sources sont : http://subversion.developpez.com/projets/Millie/ (notamment : (risque que le lien soit plus bon) : http://subversion.developpez.com/pro...mage/operator/ Mais je fais de très grosses modif dans le projet (pour la gestion de la répartition des calculs dans un réseau), je n'ai pas refait les Makefile pour Unix pour l'instant
    Je ne répondrai à aucune question technique en privé

  11. #31
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 52
    Points : 62
    Points
    62
    Par défaut
    Je vais essayer de reformuler

    Citation Envoyé par pseudocode Voir le message

    on peut calculer les coefficients comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    a = 1.x3 - 3.x2 + 3.x1 - 1.x0
    b = 3.x2 - 6.x1 + 3.x0
    c = 3.x1 - 3.x0
    d = 1.x0
    ou on peut aussi calculer (Hermite) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    a = x3 + x2 - 2.x1 + 2.x0
    b = x3 -2.x2 + 3.x1 - 3.x0
    c = x2
    d = x0
    Imaginons une image de 2X2 pixels, la spline cubique en x entre les points de controle superieurs est la Bezier que tu as donné. La spline cubique en x entre les points de controle inferieurs est celle que j'ai donné. En y, on peut faire la meme chose. Les bases des splines ne sont pas identiques, comment interpoler l'image ?

  12. #32
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    A mon avis, une interpolation par morceau devrait suffire. Mais dans ce cas, il faudra gérer les éventuels problèmes de continuité.

    Le produit tensoriel ne devrait avoir de sens que pour une surface.

  13. #33
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par briqueabrac Voir le message
    ou on peut aussi calculer (Hermite) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    a = x3 + x2 - 2.x1 + 2.x0
    b = x3 -2.x2 + 3.x1 - 3.x0
    c = x2
    d = x0
    Heu...non.

    La matrice de base de Hermite est utilisé avec un vecteur [x0,x1,t0,t1] ou t0 (resp. t1) est la tangeante en x0 (resp. x1).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    x = a.t^3 + b.t^2 + c.t + d
    avec 0<=t<=1
     
    a = -2.x1 + 2.x0 + 1.t0 + 1.t1
    b = 3.x1 - 3.x0 - 2.t0 - 1.t1
    c = 1.t0
    d = 1.x0
    et on retrouve bien:

    x(0) = x0
    x(1) = x1
    x'(0) = t0
    x'(1) = t1

    A la rigeur, on peut garder l'approche avec 4 points (x0,x1,x2,x3) et aproximer les tengeantes afin d'utiliser Hermite. Ca revient a calculer la spline cardinale.

    Imaginons une image de 2X2 pixels, la spline cubique en x entre les points de controle superieurs est la Bezier que tu as donné. La spline cubique en x entre les points de controle inferieurs est celle que j'ai donné. En y, on peut faire la meme chose. Les bases des splines ne sont pas identiques, comment interpoler l'image ?
    Hum... je ne comprend pas ou est ton probleme. Tu veux utiliser des splines non uniformes ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  14. #34
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 52
    Points : 62
    Points
    62
    Par défaut
    On garde l'approche 4 points, on a en 2D, les points de controles suivants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    x0     x1    x2     x3
    x4     x5    x6     x7
    x8     x9   x10    x11
    x12   x13   x14    x15
    Il y a 4 bases de spline en x et 4 bases de splines en y. En général les bases qui forment les splines reliant 4 points sont identiques.
    Mais si elles ne le sont pas, comment fait on ?

  15. #35
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par briqueabrac Voir le message
    On garde l'approche 4 points, on a en 2D, les points de controles suivants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    x0     x1    x2     x3
    x4     x5    x6     x7
    x8     x9   x10    x11
    x12   x13   x14    x15
    Il y a 4 bases de spline en x et 4 bases de splines en y. En général les bases qui forment les splines reliant 4 points sont identiques.
    Mais si elles ne le sont pas, comment fait on ?
    Hum... Tout d'abord, il faut clarifier 2 choses.

    1. La Spline Cubique a 1 dimension

    il y a TOUJOURS 4 fonctions de base pour calculer une spline cubique sur un intervalle [x(i),x(i+1)].

    Si l'intervalle entre tous les points est constant (x(i+1)-x(i)=cste quelquesoit i) on dit alors que la spline est uniforme. Et, dans ce cas seulement, on peut réutiliser les memes 4 fonctions de base pour tous les intervalles.

    Si l'intervalle entre les points n'est pas constant, alors il faut calculer les 4 fonctions de base dans chaque intervalle. (formule récurrente ou iterative en triangle).

    2. La Spline Cubique en dimension 2

    On doit disposer de 16 points. On se rammene a la dimension 1 en procedant comme suit:

    a. On fait des groupes de 4 points, et pour chaque groupe on calcule une spline 1D. On obtient donc 4 courbes C1(t), C2(t), C3(t) et C4(t)

    b. On calcule une spline 1D qui passe par 4 points P1, P2, P3, P4. On note cette spline S(u). On remplace, dans l'equation de la spline S(u), la variable P1 par C1(t), P2 par C2(t), etc... On obtient alors une spline 2D: S(u,t)


    En rouge: les courbes C1(t), C2(t), C3(t) et C4(t)
    En bleu: la courbe S(u,t) avec t=0.5
    En vert: le point S(u,t) avec t=0.5 et u=0.5
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  16. #36
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 52
    Points : 62
    Points
    62
    Par défaut
    J'appelais base la matrice définie par 4 fonctions de bases.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                  |  .  .  .  . |   | P1 |
    |t3 t2 t 1| x |  .  .  .  . | x | P2 |
                  |  .  .  .  . |   | P3 |
                  |  .  .  .  . |   | P4 |
                       base
    Sur le schéma, on peut associer 4 fonctions de base differentes a chaque spline Ci(t).
    Par contre ne construire qu'une spline en u : S(u,0.5) suppose qu'il n'existe que 4 fonctions de base dans le sens des u. On pourrait theoriquement avoir aussi des splines Si(u) avec des fonctions de base differentes. Et a ce moment la je n'arrive pu a exprimer S(u,t).

    Citation Envoyé par pseudocode Voir le message

    En rouge: les courbes C1(t), C2(t), C3(t) et C4(t)
    En bleu: la courbe S(u,t) avec t=0.5
    En vert: le point S(u,t) avec t=0.5 et u=0.5

  17. #37
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    "4 fonctions de base" est equivalent a "forme de la courbe".

    - Si tu as choisi la forme de la courbe (B-spline cubique, Hermite, ...), alors tu n'as pas le choix pour les 4 fonctions de base (car calculées par résolution d'un systeme d'equation)

    - Si tu as choisi les 4 fonctions de base, alors tu n'as pas le choix sur la forme de la courbe (car calculée par produit matriciel TxMxP)

    Citation Envoyé par briqueabrac Voir le message
    Sur le schéma, on peut associer une forme de courbe differente a chaque spline Ci(t).
    exact. On pourrait prendre une B-Spline cubique pour la premiere, une Hermite pour la seconde, ....

    Par contre ne construire qu'une spline en u : S(u,0.5) suppose qu'il n'existe qu' une forme de courbe dans le sens des u.
    Non. on peut choisir la forme de courbe qu'on veut (lineaire, B-spline, hermite...).

    On pourrait theoriquement avoir aussi des splines Si(u) avec des formes de courbe differentes.
    C'est quoi les Splines Si(u) ?
    A quoi sert le "i" ?
    Pourquoi "plusieurs" splines alors qu'on n'a que 4 points bleus ?

    Et a ce moment la je n'arrive pu a exprimer S(u,t).
    C'est du remplacement de variable...

    P1(t) = C1(t).x0 + C2(t).x4 + C3(t).x8 + C4(t).x12
    P2(t) = D1(t).x1 + D2(t).x5 + D3(t).x9 + D4(t).x13
    ...

    et S(u) = H1(u).P1(t) + H2(u).P2(t) + H3(u).P3(t) + H4(u).P4(t)

    D'ou:

    S(u,t) = H1(u).(C1(t).x0 + C2(t).x4 + C3(t).x8 + C4(t).x12) + H2(u).(...) + ...

    Ce qui ressemble grandement a un produit tensoriel, comme tu le disais dans ton 1er post.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  18. #38
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 52
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    C'est quoi les Splines Si(u) ?
    A quoi sert le "i" ?
    Pourquoi "plusieurs" splines alors qu'on n'a que 4 points bleus ?
    Parce que j'imaginais plusieurs courbes bleues, c'est à dire interpoler en u par rapport à des splines passant par les memes points de controle que les splines en t. Ce qui donne 4 splines en t et 4 splines en u et un joli produit tensoriel. J'avoue avoir un peu de mal a manipuler ce dernier

  19. #39
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par briqueabrac Voir le message
    Parce que j'imaginais plusieurs courbes bleues, c'est à dire interpoler en u par rapport à des splines passant par les memes points de controle que les splines en t. Ce qui donne 4 splines en t et 4 splines en u et un joli produit tensoriel. J'avoue avoir un peu de mal a manipuler ce dernier
    non. Tu as 4 splines dans la direction "t" mais une seule dans la direction "u" => C'est un produit tensoriel de 2 vecteurs, pas un produit tensoriel de 2 tenseurs.

    Mettons que les 4 splines suivant "t" utilisent les memes fonctions de base C1,C2,C3,C4, on a:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    P1(t) = C1(t).x0 + C2(t).x4 + C3(t).x8  + C4(t).x12
    P2(t) = C1(t).x1 + C2(t).x5 + C3(t).x9  + C4(t).x13
    P3(t) = C1(t).x2 + C2(t).x6 + C3(t).x10 + C4(t).x14
    P4(t) = C1(t).x3 + C2(t).x7 + C3(t).x11 + C4(t).x15
    et donc on calcule S(u,t) a partir des 4 points "splinés" en utilisant d'autres fonctions de base H1,H2,H3,H4:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    S(u,t) = H1(u).P1(t) + H2(u).P2(t) + H3(u).P3(t) + H4(u).P4(t)
    Ce qu'on peut développer en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    S(u,t) =
      H1(u).C1(t).x0 + H1(u).C2(t).x4 + H1(u).C3(t).x8 + H1(u).C4(t).x12
    + H2(u).C1(t).x1 + H2(u).C2(t).x5 + H2(u).C3(t).x9 + H2(u).C4(t).x13
    + H3(u).C1(t).x2 + H3(u).C2(t).x6 + H3(u).C3(t).x10 + H3(u).C4(t).x14
    + H4(u).C1(t).x3 + H4(u).C2(t).x7 + H4(u).C3(t).x11 + H4(u).C4(t).x15
    Qu'on peut ecrire sous forme fonctionelle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    S(u,t) = Somme[ (Hi¤Cj)(u,t) . xk ]
             i=1..4
             j=1..4
    ¤ : produit tensoriel
    k = (i-1)+4*(j-1)
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  20. #40
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 52
    Points : 62
    Points
    62
    Par défaut
    Merci bien

Discussions similaires

  1. Interpolation spline cubique
    Par black_hole dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 21/02/2011, 10h50
  2. interpolation spline cubique
    Par chamac79 dans le forum C++
    Réponses: 4
    Dernier message: 29/04/2009, 17h20
  3. interpolation spline cubique en c++
    Par mehdinirvana dans le forum C++
    Réponses: 3
    Dernier message: 06/03/2009, 11h52
  4. Interpolation par spline cubique
    Par arm3366 dans le forum MATLAB
    Réponses: 2
    Dernier message: 07/02/2008, 12h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo