Bonsoir,
Je souhaiterais si possible svp avoir un tuyau pour amorcer au moins la démonstration qui suit.
Présentation du problème
Présentation abstraite
Je dispose d’une image. Je souhaite découper cette image en chunks (= rectangles dont carrés de sélection de pixels) dont l’une des dimensions n’est pas multiple de l’équivalente dans l’image. Ce découpage se fait selon un ordre préétabli : par exemple le long de la dimension, dans le sens croissant de cette dernière. Arrive donc le moment où le dernier chunk est trop grand : au moins une partie de ce dernier dépassera de l’image
Arbitrairement, je souhaite donc décaler (on nommera cette opération "le DÉCALAGE") ce dernier chunk de sorte qu’il soit entièrement compris dans l’image sur la dimension sujette à ce problème de dépassement et, de plus, de sorte qu’il n’y ait aucun espace de pixels entre la fin de l’image sur cette dimension et la fin de ce chunk. Une partie de ce chunk sera donc redondante avec le chunk qui le précède sur cette dimension (et tout va bien, c’est un comportement attendu).
PS : le découpage, mis à part celui effectué par le dernier chunk (qui est un cas particulier à cause de son dépassement de l’image), se fait de chunk en chunk sur les dimensions de l’image (il n’y a donc pas de chevauchement de pixels entre chunks sauf pour ce dernier chunk).
PS 2 : je parle de "dernier chunk" au singulier mais en réalité bien sûr, il peut y avoir de multiples chunks pouvant dépasser de l’image, selon les dimensions de cette dernière et celles des chunks.
Exemple
Soit une image de 10x10 pixels. On définit un chunk comme étant un carré de sélection de 6x6 pixels. On aura donc 2 chunks : l’un de 6x6 pixels, l’autre de 6x6 pixels qui, s’il était dessiné sans DÉCALAGE, dépasserait de l’image de 2 pixels en hauteur ainsi que de 2 pixels en largeur.
La fameuse équivalence que je voudrais démontrer (pour la dimension "largeur" simplement, à des fins de lisibilité)
Je voudrais démontrer l’équivalence suivante :
La version du DÉCALAGE suivante : "SI la largeur de l’image est strictement plus petite que la largeur du chunk sommée avec la coordonnée en largeur du premier pixel du chunk sur ses dimensions de largeur et de hauteur, ALORS on décale ce chunk (à partir de son premier pixel sur ses dimensions de largeur et de hauteur) à la position suivante, par rapport au premier pixel de l’image sur les dimensions de largeur et de hauteur de celle-ci : largeur de l’image MOINS largeur du chunk"
… est équivalente à :
Cette autre version du DÉCALAGE : "SI la différence entre la largeur de l’image et la somme entre la coordonnée en largeur du premier pixel du chunk et la largeur de ce dernier est strictement inférieure à 0, ALORS on déplace ce chunk à la position suivante : coordonnée en largeur du premier pixel du chunk MOINS VALEUR ABSOLUE DE cette différence"
Ce que j’ai essayé
Voilà merci d’avance ! En bidouillant un peu, j’avais trouvé qu’on pouvait arriver à une solution sans la variable "coordonnée en largeur du premier pixel du chunk" dans la deuxième équation, en transformant la valeur absolue en racine carrée et en étudiant les deux solutions possibles de celle-ci. Et du coup il me semble qu’on retombait alors sur la première équation, démontrant ainsi l’équivalence pour "coordonnée en largeur du premier pixel du chunk >= 0" (ce qui est toujours vrai bien sûr dans le cas de traitements d’images).
Bon j’avais vu ça vite fait en bidouillant des trucs et avec WolframAlpha pour tout vous dire, du coup il faudrait que je revois ça à tête reposée et que je me relance dedans.