Interpolation de {ens. fini}^3 dans {ens. fini}^3

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
LaCendre
Messages: 4
Enregistré le: 10 Nov 2018, 13:39

Interpolation de {ens. fini}^3 dans {ens. fini}^3

par LaCendre » 10 Nov 2018, 15:28

N'ayant pas fait de maths depuis longtemps, je vais sûrement utiliser des mauvaises notations, désolé d'avance :gene:

Je m'intéresse à la "transformation?" suivante:



On remarque que les ensembles de départ et d'arrivée sont tous deux finis ; et à des points dans l'espace dont les coordonnées sont multiples de 8 on fait correspondre des points .

J'ai un certain nombre de vecteurs (en gros des couples de points dans l'espace), et j'aimerai ensuite trouver une "règle" (ou des règles) qui me permettrait de trouver tous les autres vecteurs pour les points autres points (au total il y a points possibles dans l'ensemble de départ).

J'avais naturellement pensé à faire de l'interpolation avec un logiciel genre Matlab mais d'après ce que j'ai compris soit mon problème ce n'est pas de l'interpolation (mais alors je serais curieux de savoir ce que c'est :gene:) soit ça en est et ce n'est tout simplement pas réalisable?

Tant que j'y suis je n'ai pas dis pourquoi je chercher à faire ça, en gros j'ai des couleurs codés en 5 bits et j'ai leur version 8 bits (qu'un artiste à arbitrairement choisi au préalable) et moi j'aimerai "prédire" quelles couleurs 8 bits correspondantes auraient été choisies par l'artiste s'il avait voulu traduire toutes les autres couleurs 5 bits).

Voici ici une image Image pour illustrer (avec trois points seulement). Sur celle-ci les points traduits sont très proches car les couleurs quasi identiques mais j'en aurais d'autre où ce ne sera pas forcément le cas.

Intuitivement, je m'imagine une solution avec des "attractions", tous les vecteurs exercent des forces en fonctions de leur valeurs et de leur éloignement etc, comme je sais qu'on peut le faire en physique pour modéliser l'évolution de plusieurs corps dans l'espace mais je ne sais pas comment articuler tout ça avec mon problème, bref je suis perdu, si quelqu'un a une idée je suis preneur. :)

Voilà en espérant avoir été clair, merci d'avance.

LaCendre.
Modifié en dernier par LaCendre le 10 Nov 2018, 15:46, modifié 1 fois.



pascal16
Membre Légendaire
Messages: 6663
Enregistré le: 01 Mar 2017, 13:58
Localisation: Angoulème : Ville de la BD et du FFA. gare TGV

Re: Interpolation de {ens. fini}^3 dans {ens. fini}^3

par pascal16 » 10 Nov 2018, 15:46

ce qu'on sait faire :
soient deux points dont la couleur est définis sur 3*5bits
on rajoute trous bits à zéro pour les passer en 3*8bits.
puis entre ces points, on extrapole la couleur sur 3*8bits
avantage
-> on ne modifie pas les données d'origine
-> les transitions sont plus jolies

ce qui demande de connaitre le but et de ce qu'on a le "droit " de modifier :
on peut passer de 3*5 à 3*8 puis corriger suivant quelle fonction mathématique les couleurs sont supposées suivre (lissage de courbe).

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21529
Enregistré le: 11 Nov 2009, 22:53

Re: Interpolation de {ens. fini}^3 dans {ens. fini}^3

par Ben314 » 10 Nov 2018, 17:00

Salut
@Pascal16 : perso, c'est pas vraiment comme ça que je comprend la question : A mon sens, "l'artiste" à choisi d'associer à certain triblets (R,V,B) de l'image de départ un nouveau triplet (R',V',B')=f(R,V,B) sur l'image d'arrivée, mais il peut parfaitement avoir transformé le vert en rouge ou je sais pas quoi d'autre.
Et la question, c'est de savoir comment "prolonger assez naturellement" la fonction f qui, pour le moment n'est définie que pour certains des triplet (R,V,B) de l'ensemble de départ.

Si c'est bien ça la question, le fait que le "format" ne soit pas le même au départ et à l'arrivé (5 bits/couleurs d'un coté et 8 de l'autre), ça ne change pas grand chose au problème de savoir s'il y a une façon "plus ou moins logique" de compléter cette fonction (de 3 variables).
Perso, je me demande si, étant donné un point (R,V,B) de départ, je chercherais pas un truc du style "le plus petit tétraèdre" (à définir correctement...) dans lequel ce point est contenu et tel que les sommets du tétraèdre soient des points dont on connaît les images. Ensuite, on fait un simple calcul de coordonnées barycentriques.
Ce qu'il y a de sûr, c'est que c'est forcément un problème "classique" d'informatique en particulier en DAO, non seulement pour des problèmes de couleurs, mais aussi pour tout autre problème de "déformation" d'une image.
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

pascal16
Membre Légendaire
Messages: 6663
Enregistré le: 01 Mar 2017, 13:58
Localisation: Angoulème : Ville de la BD et du FFA. gare TGV

Re: Interpolation de {ens. fini}^3 dans {ens. fini}^3

par pascal16 » 10 Nov 2018, 19:11

je dirais plutôt :
soit un scan cracra, le bleu est délavé, on veut le rendre propre sur 3*8 bits (du genre un tableau repeint sur un autre)

pour quoi pas une simple matrice 3*3 de transformation ?

LaCendre
Messages: 4
Enregistré le: 10 Nov 2018, 13:39

Re: Interpolation de {ens. fini}^3 dans {ens. fini}^3

par LaCendre » 10 Nov 2018, 20:02

@Ben314 Je vois que tu as parfaitement cerné mon problème, et je pensais que c'était un problème "classique" mais après réflexion et surtout pas mal de recherches, j'ai fini par arriver à la conclusion que soit je n'avais pas les bons mots-clés pour trouver la réponse à ma question, soit le problème n'était pas si courant que ça fnalement. Bref depuis tout-à-l'heure je n'avais pas raffraichis la page mais la réponse de @pascal16 m'avait mis sur une bonne route, et justement j'étais en train de paufiner un petit algo pour lui soumettre et voir ce qu'il en pense. Tout d'abord oui les ensembles en vrai on s'en fout ce sont les même valeurs j'ai juste dit que c'était des multiples de 8 pour montrer qu'il y a possibilités de départ et non , en soit oui ce n'est absolument pas un problème. Du coup mon idée c'était, sachant qu'il y a points de départ (et autant dans l'ensemble d'arrivée), de tracer pour les segments entre les points de départ. En gros si on a l'ensemble de points bah on peut relier A avec B, A avec C, A avec D et B avec C, B avec D et C avec D, ensuite on relie ces points ensemble (A avec B, ..., C avec D) et on peut aisément déterminer les vecteurs qu'il y a entre, et on se retrouve avec ce genre de choses (j'ai simplifié le problème en travaillant avec ):

http://www.noelshack.com/2018-45-6-1541870465-example.png

Mais alors je me pose pas mal de questions quant à la validité de ma méthode...

Déjà sur mon schéma j'ai fais des segments pour relier entre eux respectivement les points de départ et les points d'arrivée (les pointillés très rapprochés), est-ce que je dois faire des droites ou des segments? Je pense que c'est mieux de prolonger ça permet de couvrir plus du points.

Du coup ça m'amène à une autre réfléxion, je fais quoi quand les points sortent de mon "cube" de 256 de côté? Si j'ai prolongé la droite comme dit précédemment pas de problème si un point de départ s'y trouve je ne traite pas ce nouveau vecteur car la couleur ne risque pas d'exister :hehe: mais si c'est un point d'arrivée qui se retrouve or du cube, j'arrondi ou je supprime le vecteur?

Et enfin dernière question, après avoir fait des arrondis, car je suis conscient que je vais avoir des vecteurs qui commencent sur des points dont les coordonnées ne seront pas forcément entières du coup je pense simplement chercher le point (dont les coordonnées sont multiples de 8) le plus proche, je vais avoir des "trous", c'est-à-dire des points de l'ensemble de départ qui ne se trouvent entre aucun couple de points de l'ensemble de départ, et dans mon problème pas question de dire qu'ils ne sont pas défini, il me les faut, je ne vais pas dire "couleur intraduisible en 8bits"! Et deuxième cas, les doublons: je fais une moyenne?

Sauf que, problème, deux points côte-à-côte (donc deux couleurs très très très proches, indiscernables à l'oeil humain) n'auront pas forcément été également "traités" côte-à-côté, je ne sais pas si c'est très clair, mais deux couleurs quasi identiques en 5bits peuvent avoir une version 8bits TO-TA-LE-MENT différente!

Du coup plus j'y réfléchis plus je pense qu'il me faut traiter mon problème comme un vrai problème de physique gravitationnelle. Dit comme ça, ça fait barbare, c'est sûr, mais je m'explique. Dans l'approche que j'ai décrite jusque là il y a des aspect intéressants mais un vecteur c'est puissant car ça a une direction et une longueur, donc pour mois il faudrait (je ne sais pas c'est hypothétique mais je balance mes idées on ne sait jamais peut-être que vous me direz que c'est une bonne idée pour commencer): si on considère que chacun des points qu'on a sont des étoiles par exemple, et on a un vecteur qui représente leur direction et la force à laquelle ils y vont (ici le mot n'a pas vraiment de sens mais bon, je ne suis pas vraiment une flèche en physique, sans mauvais jeu de mot, et je ne sais pas quel terme utiliser), et bien on va chercher pour chaque "emplacement" qui nous manque, en fonction de toutes les étoiles dans le cube, quelle force, et bien la direction et la force de ce nouvelle astre, le "bout" du vecteur correspondra à la couleur en 8bits! :] En gros je pense que le vecteur de ce nouvel astre dépend des caractéristiques suivantes de toutes les étoiles de cet "univers": la direction de leur vecteur, la longueur de leur vecteur, et leur distance avec la nouvelle planète à ajouter.

Maintenant je vais aller chercher des infos sur des problèmes de ce genre et comment on les résout, car je ne sais pas si l'ajout de chaque planète est indépendant ou non, c'est-à-dire est-ce que l'ajout d'une planète change les vecteurs déjà présent etc ou non, mais ça ça peu attendre.

(En espérant ne pas vous avoir assommé d'infos j'ai beaucoup écrit mais j'ai essayé de faire un raisonnement logique dans sa continuité, j'ai même fais un brouillon et c'est vraiment pas mon truc :hehe: )

Merci d'avance.

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21529
Enregistré le: 11 Nov 2009, 22:53

Re: Interpolation de {ens. fini}^3 dans {ens. fini}^3

par Ben314 » 10 Nov 2018, 20:21

Perso, tout ça me semble "plus que cohérent" avec plusieurs bonnes idées, par exemple d'attribuer une couleur obtenue comme moyenne de celles des points "connus" avec une pondération d'autant plus grande que le point est proche (ton histoire de gravité).
Sauf que, comme tu le dit, la zone en dehors de l'enveloppe convexe des "points connus" (i.e. en dehors de tout les segment reliant les points connus entre eux), là, je vois vraiment pas avec quelle "logique" on va pouvoir attribuer une valeur "raisonnable" (encore que le coup de la moyenne pondérée par des poids inversement proportionnels à la distance, ça attribue des couleurs à tout le monde, mais ça risque d'être bizarre en dehors de l’enveloppe convexe...)
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

LaCendre
Messages: 4
Enregistré le: 10 Nov 2018, 13:39

Re: Interpolation de {ens. fini}^3 dans {ens. fini}^3

par LaCendre » 10 Nov 2018, 20:28

Oui mais après tout-à-l'heure quand tu as évoqué quelqu'un qui aurait transformé du vert en rouge j'ai dis oui car c'est possible, mais honnêtement dans la réalité du problème que je cherche à résoudre ça n'arrive pas, il n'y a pas de noir qui devient blanc (), au pire je pense que ça débordera "un peu" mais pas des masses non plus, et de toute façon j'aviserai cet aspect là à la fin en visualisant le cube avec des ensembles de test pour voir ce que ça donne.

En tout cas merci beaucoup pour votre aide ça fait deux jours que mon cerveau fume j'ai enfin trouvé une idée de départ pour résoudre ce machin.

LaCendre
Messages: 4
Enregistré le: 10 Nov 2018, 13:39

Re: Interpolation de {ens. fini}^3 dans {ens. fini}^3

par LaCendre » 11 Nov 2018, 03:40

Et beh j'ai enfin réussi à mettre des mots sur deux des notions qui m'avaient l'air de se cacher derrière mon problème, la première permet l'étude de fonctions de dans , j'ai nommé le champ vectoriel! Et la seconde, c'est le gradient, qui est "un vecteur indiquant comme la valeur d'une fonction de plusieurs variables varie quand ces variables varient."

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 74 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite