Inscription / Connexion Nouveau Sujet
Niveau algorithmique
Partager :

Redimensionnement de la hauteur de cellules tableau

Posté par
milou68
10-04-14 à 10:12

Bonjour,

Je suis développeur de logiciel et je suis face a un petit problème mathématique concernant le redimensionnement de cellules dans un tableau.

Contexte : Un tableau de n lignes à une hauteur totale de 100%. A l'état initial la hauteur de chaque ligne est de 100 / n. Maintenant je souhaite agrandir ou réduire la hauteur de n'importe quelle cellule. De combien dois je réduire ou agrandir toutes les autres cellules afin de respecter le ratio du tableau ? De même il serait possible de modifier également la largeur d'une colonne.

Exemple graphique en PJ.

Cordialement,

Redimensionnement de la hauteur de cellules tableau

Redimensionnement de la hauteur de cellules tableau

Posté par
flight
re : Redimensionnement de la hauteur de cellules tableau 10-04-14 à 10:38

salut

ratio du tableau ..tu veux dire les dimensions originales ?

Posté par
milou68
re : Redimensionnement de la hauteur de cellules tableau 10-04-14 à 10:41

Salut,

Par ratio je veux dire qu'on a pas le droit de modifier la taille du tableau, et que par conséquent il faut réduire ou agrandir les autres cellules pour que la taille totale du tableau reste la même.

Cordialement,

Posté par
flight
re : Redimensionnement de la hauteur de cellules tableau 10-04-14 à 10:45


..de ce que j'ai compris , si la hauteur d'une cellule est: a et que tu a n lignes , alors la hauteur du tableau

serait  n.a  , si tu modifie la hauteur d'une cellule en appliquant un coeff d'agrandissement ou de reduction

et si k est ce coefficient , alors la nouvelle hauteur de ta cellule modifiée est k.a , les autres cellules doivent alors

avoir une hauteur x  tel que  k.a + (n-1)x = n.a  puisqu'on veut garder la dimension originale du tableau en hauteur

et donc x = (n.a - ka) /(n-1) = a(n-k)/(n-1)

Posté par
flight
re : Redimensionnement de la hauteur de cellules tableau 10-04-14 à 10:51

...si tu modifie la hauteur de 2 cellules en y appliquant le meme coefficient d'agrandissement ou de reduction

tu aurai 2.ka + (n-2).x = n.a   et x = hauteur des cellules non modifiées = a.(n-2k)/(n-2)


..si tu modifie la hauteur de i cellules en y appliquant le meme coefficient d'agrandissement ou de reduction  

tu aurai i.ka + (n-i).x = n.a   et x = hauteur des cellules non modifiées = a.(n-i.k)/(n-i)

Posté par
milou68
re : Redimensionnement de la hauteur de cellules tableau 10-04-14 à 10:56

Peux tu nous montrer un exemple avec le tableau ci dessus (avec les hauteurs 10%, 10%, 40%, 40%) si on modifie la dernière cellule de 40% à 50% ?

Cdt,

Posté par
Thibaut
re : Redimensionnement de la hauteur de cellules tableau 10-04-14 à 11:26

Bonjour,

Je suis avec milou68 sur ce problème.

J'ai effectué le calcul sur l'exemple et j'arrive pas à trouver de résultat cohérent.

Taille du tableau = n.a au départ mais cela n'est plus vrai pas la suite donc dans le cas d'un deuxième changement. Il faudrait se basé plutôt sur 100%.

Exemple :
Calcul de la hauteur de la cellule 3 après changement de la cellule 4 de 40% à 50%.

40 * (4 - 50/40) / (4-1) = 40 * (9/4) / 3 = 30%

On a donc bien 10% 10% 30% 50% = 100%

mais le problème est qu'il aurait fallu répartir équitablement la modification sur toutes les cellules.

9% 9% 32% 50% par exemple.

Sinon on inverse le coef d'augmentation pour l'appliquer en tant que coef de diminution des autres cellules on obtient 8% 8%(10 * 4/5) 32%(40 * 4/5) 50%

Bref j'ai l'impression que ça la chose assez compliqué.

Posté par
lafol Moderateur
re : Redimensionnement de la hauteur de cellules tableau 10-04-14 à 13:53

Bonjour

p1, p2, ..., pn = les pourcentages initiaux des n lignes ou colonnes
p'1, p'2, ..., p'n = les nouveaux pourcentages

si on choisit p'i pour la i-ème ligne ou colonne, alors pour les autres, il faut multiplier leur pourcentage par \dfrac{100 - p_i^{'}}{100 - p_i}

exemple initial : 10% 10% 40% 40%

on passe la troisième à 50% : les autres sont à multiplier par \dfrac{100-50}{100-40} = \dfrac{5}{6}

on passe à 8.33% 8.33% 50% 33.34%

ça correspond à ce que vous cherchez à faire ?

Posté par
Thibaut
re : Redimensionnement de la hauteur de cellules tableau 10-04-14 à 14:27

C'est exactement ça. Ça fonctionne parfaitement.

Par contre je n'arrive pas à comprendre le fonctionnement, ou plutôt le raisonnement qui vous a amené à une telle formule.

La valeur 100 correspond aux 100% j'imagine de la taille fixe. Du coup 100-pi' correspond à l'espace restant et en le divisant par 100-pi on arrive à obtenir le ratio correspond à l'espace restant.

Par la suite il suffit d'appliquer les pourcentages existants à ce ratio pour obtenir les nouveaux pourcentages équilibrés. Je crois qu'en rédigeant cela, j'ai compris le raisonnement. ^^

Merci encore à tous les deux pour votre temps,
Thibaut

Posté par
lafol Moderateur
re : Redimensionnement de la hauteur de cellules tableau 10-04-14 à 15:00

c'est tout à fait ça : les autres cellules se partageaient 100-pi%, elles devront se partager 100 - p'i%, et comme on veut garder les proportions, il faut juste multiplier chacune par le coeff d'agrandissement (si p'i < pi) ou de réduction (si p'i > pi)...

Posté par
carpediem
re : Redimensionnement de la hauteur de cellules tableau 10-04-14 à 15:42

en somme, une simple règle de trois ....

Posté par
lafol Moderateur
re : Redimensionnement de la hauteur de cellules tableau 10-04-14 à 15:46

en somme, oui !



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !