Algorithme efficace pour faire des dégradés sur un plan pour plus de 2 couleurs.
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Algorithme efficace pour faire des dégradés sur un plan pour plus de 2 couleurs.



  1. #1
    destroyedlolo

    Algorithme efficace pour faire des dégradés sur un plan pour plus de 2 couleurs.


    ------

    Bonjour,

    J'ai développé un framework permettant (entre autre) de faire des dashboard très légers en utilisant directement le Framebuffer de Linux ... donc pas besoin d'installer X, un navigateur ou quoi que ce soit d'autre comme avec Magic-Mirror.
    Malheureusement, DirectFB n'a pas de fonction lui permettant de faire des dégradés ... je l'ai donc fait dans mon framework.

    Pour 2 couleurs, c'est simple, sur chacune des composantes RVBA, j'applique une fonction linéaire simple : pas de pb.
    horizontal.png

    La où par contre ca se complique, c'est que je souhaite qu'on puisse spécifier des couleurs différentes sur chacun des 4 coins de la surface car le résultat devient sombre :
    4corners.png

    Pourquoi ? Parce qu'en fait je calcule le degradé entre chaque points (A-B, B-C, C-D, D-A), puis j'en fais la moyenne ... d'où l’assombrissement.

    Une idée d'algo plus efficace et surtout qui me permet de me rapproché des couleurs pures aux 4 coins ?

    Merci

    -----
    Dernière modification par destroyedlolo ; 20/03/2017 à 12h23.

  2. #2
    Paraboloide_Hyperbolique

    Re : Algorithme efficace pour faire des dégradés sur un plan pour plus de 2 couleurs.

    Bonjour,

    Une simple interpolation bilinéaire devrait faire l'affaire: https://fr.wikipedia.org/wiki/Interp...ilin%C3%A9aire

  3. #3
    destroyedlolo

    Re : Algorithme efficace pour faire des dégradés sur un plan pour plus de 2 couleurs.

    Pile poile ce que je cherchais merci

    Par contre, j'imagine qu'il n'y a pas de solution s'il n'y a que 3 points ?

  4. #4
    Paraboloide_Hyperbolique

    Re : Algorithme efficace pour faire des dégradés sur un plan pour plus de 2 couleurs.

    Bonsoir,

    Si, il y en a. Une interpolation barycentrique devrait convenir: https://classes.soe.ucsc.edu/cmps160...erpolation.pdf

  5. A voir en vidéo sur Futura
  6. #5
    polo974

    Re : Algorithme efficace pour faire des dégradés sur un plan pour plus de 2 couleurs.

    Bonjour,

    Pour un triangle, tu as l'interpolation de gouraud (interpolation plane, vu qu'un triangle est plan, c'est facile...).
    Si tu n'as pas besoin d'info "sous-pixel", tu n'a pas besoin de normaliser tes calculs (ça évite des divisions).
    Si tu cherches un tant soit peu, tu dois facilement trouver le source chez opengl ou autre librairie de rendu...

    Si gouraud ne te suffit pas (problème d’arête trop visible), il te faut les normales aux sommets et utiliser phong, mais c'est plus cher (en temps de calcul, les sources sont aussi faciles à trouver).
    Jusqu'ici tout va bien...

  7. #6
    destroyedlolo

    Re : Algorithme efficace pour faire des dégradés sur un plan pour plus de 2 couleurs.

    Merci pour vos réponses.
    Ca marche pile poile avec l'interpolation bilinéaire et c'est plus efficace que les multiples calcules que je faisais.

    Pour les points manquants, plutot que de rajouter des algos ... j'ai simplement décidé qu'ils seront noirs et/ou transparents (ce qui dépend de la surface).

    Merci et A+

Discussions similaires

  1. Algorithme pour faire avancer voiture
    Par Falcot65 dans le forum Programmation et langages, Algorithmique
    Réponses: 15
    Dernier message: 13/02/2016, 23h45
  2. Algorithme pour faire clignoter une LED
    Par invite042b1289 dans le forum Électronique
    Réponses: 4
    Dernier message: 16/10/2010, 12h58
  3. dégradés de couleurs par mélanges d'encres
    Par adrienlucca dans le forum Physique
    Réponses: 0
    Dernier message: 08/04/2009, 14h49
  4. Méthode SPRI pour faire un plan d'exposé
    Par Jeanpaul dans le forum TPE / TIPE et autres travaux
    Réponses: 1
    Dernier message: 13/03/2006, 14h34