grum a écrit:
L'espace initial est un rectangle de 800x800, au milieu duquel on ajoute les vignettes.
... initialisé avec 4 quadrants initiaux... (bien entendu...)
Mais bien sur, en définissant autrement les x premiers espaces ont peu avoir d'autres résultats.
Certains pas forcement utilise d'ailleurs...
Et d'autres plus, comme une grande image centrale, autour de laquelle on fait tourner les miniatures... (en partant de 4 espaces ou 8 espace pour mieux équilibrer...)
Hors ligne
tel qu'est fait l'algorithme, déplacer le quadrant est plus compliqué et pose des problèmes de recouvrement...
en fait je suis parti sur l'idée de faire varier l'espace autour de chaque vignette.
j'ai mis à jour la démo avec : un espace fixe à 2 pixels de chaque côté de la vignette (h,b,d,g) et un espace variable aléatoire limité à 20px.
çà fait plus en vrac même avec que des carrés
à noter que l'espace aléatoire est mémorisé pour la vignette (pour les refresh de page).
Hors ligne
rub a écrit:
... initialisé avec 4 quadrants initiaux... (bien entendu...)
Mais bien sur...
Bien joué !!! Même si cela ne suffit pas à tout régler.
[hs]Et que ferons nous encore de cela? Encore un mur? Pierrick c'est fini le gros oeuvre, on passe à la déco.[/hs]
Merci Grum. Stp, propose nous encore le décalage des quadrants.
yoDan, logique le Maître cette fois est dépassée par les élèves. 8-)
On s'était dit que c'était impensable, il me semble, non?
Pourtant nous sommes bien partis pour le faire.
8-)
Hors ligne
grum a écrit:
tel qu'est fait l'algorithme, déplacer le quadrant est plus compliqué et pose des problèmes de recouvrement...
en fait je suis parti sur l'idée de faire varier l'espace autour de chaque vignette.
j'ai mis à jour la démo avec : un espace fixe à 2 pixels de chaque côté de la vignette (h,b,d,g) et un espace variable aléatoire limité à 20px.
çà fait plus en vrac même avec que des carrés
à noter que l'espace aléatoire est mémorisé pour la vignette (pour les refresh de page).
Chapeau bas!!!
8-)
Hors ligne
Une fois les positions établies, il ne suffit pas de déplacer quelques vignettes dans l'espace vide laissé (uniquement 3/4 vignettes) sur les deux axes majeurs.
Je ferai un screenshot dans les prochains jours si je ne suis pas clair.
8-)
Hors ligne
rub a écrit:
... initialisé avec 4 quadrants initiaux... (bien entendu...)
c'est çà.
et le truc qui est bien, c'est le quadrant en lui même est toujours en coordonnées positives (0,+X,+Y) ce qui simplifie l'algorithme de placement des vignettes.
mais qu'on peut lui attribuer l'espace de coordonnées d'affichage que l'on veut.
Exemple :
figure 1 : l'origine de chaque quadrant est centre d'un carré de 800x800, les vignettes se placeront du centre du carré vers l'extérieur
figure 2 : l'origine de chaque quadrant est le bord d'un carré de 800x800, les vignettes se placeront des coins du carré vers sont centre
figure 3 : l'origine de chaque quadrant est le milieu du bord supérieur d'un carré de 800x800, les vignettes se placeront du milieu du bord haut vers le bas
[fig 1] +400|+400 | quadrant 3 | quadrant 2 | +400 0|0 +400 ------------+------------ +400 0|0 +400 | quadrant 4 | quadrant 1 | +400|+400
[fig 2] 0 +400|+400 0 | quadrant 3 | quadrant 2 | +400 | +400 ------------+------------ +400 | +400 | quadrant 4 | quadrant 1 | 0 +400|+400 0
[fig 3] ------------+------------ +400 0|0 +400 | quadrant 2 | quadrant 1 | | | | +800|+800
Hors ligne
VDigital a écrit:
Une fois les positions établies, il ne suffit pas de déplacer quelques vignettes dans l'espace vide laissé (uniquement 3/4 vignettes) sur les deux axes majeurs.
Je ferai un screenshot dans les prochains jours si je ne suis pas clair.
8-)
J'avais bien vu, d'où la recherche de déplacement en seconde passe.
autour des 2 axes.
8-)
Hors ligne
VDigital a écrit:
Bien joué !!! Même si cela ne suffit pas à tout régler.
Merci Grum. Stp, propose nous encore le décalage des quadrants.
ben qu'est-ce qu'il reste à régler ?
pourquoi préfères-tu jouer sur le décalage des quadrants ?
en fait, en faisant varier l'espace autour des vignettes, les quadrants sont implicitement crées avec une gestion des recouvrements qui est correcte.
la variation est la même à droite et gauche de l'image, je pourrais faire des variation différentes sur chaque bord de la vignette pour accentuer l'effet vrac.
VDigital a écrit:
Une fois les positions établies, il ne suffit pas de déplacer quelques vignettes dans l'espace vide laissé (uniquement 3/4 vignettes) sur les deux axes majeurs.
Je ferai un screenshot dans les prochains jours si je ne suis pas clair.
j'ai du mal à voir.
en gros, l'idée serait de placer les vignettes avec un espace fixe, et d'essayer ensuite de décaler les vignettes dans les espaces laissés ?
Hors ligne
Plus le temps de t'expliquer mais...
8-)
Hors ligne
J'ai bien compris ceci:
[fig 1] +400|+400 | quadrant 3 | quadrant 2 | +400 0|0 +400 ------------+------------ +400 0|0 +400 | quadrant 4 | quadrant 1 | +400|+400
Je propose maintenant ceci, je pense assez simple pour un expert comme toi:
Imaginons uniquement des vignettes en 96x96 pour simplifier mais pareil pour tout.
Avant de poser la vignette, je décide de chercher une place pour une 102x96.
Une fois la place trouvée, aléatoirement je cadre la vignette à droite ou à gauche mais c'est bien 102x96 qui sera bloqué.
La vignette suivante je ne chercherai plus pour une 102x96 mais pour une 96x102 et le cadrage interne sera aléatoirement en hauteur.
Ainsi aucun risque de chevauchement, mais les lignes apparaissent brisées.
Enfin, je privéligierai un tri des images avant par taille décroissante et id croissant en standard.
Ton avis?
8-)
Hors ligne
grum a écrit:
en fait, en faisant varier l'espace autour des vignettes, les quadrants sont implicitement crées avec une gestion des recouvrements qui est correcte.
la variation est la même à droite et gauche de l'image, je pourrais faire des variation différentes sur chaque bord de la vignette pour accentuer l'effet vrac.
Mille excuses, je ferai bien de te relire un peu mieux.
Reste le tri.
8-)
Hors ligne
Tu suis le lien de grum.
http://grum.dnsalias.com/temporaire/vignettes.html
Tu indiques 96 et 96 et tu fais Ajouter, Ajouter, Ajouter, Ajouter, Ajouter, Ajouter, Ajouter, Ajouter, Ajouter, Ajouter, Ajouter, Ajouter, Ajouter, Ajouter, Ajouter, Ajouter, Ajouter, Ajouter, Ajouter, Ajouter, Ajouter, Ajouter, ....
Ce n'est pas l'effet que nous recherchions car tout est aligné.
Un tout petit décalage d'une vignette à l'autre, et cela va tout changer.
8-)
Hors ligne
Ben ... elles ne sont pas alignées, mais elles ne sont pas désordonnées non plus ... en fait, ça fait disposition non imparfaite, non maitrisée.
Dans un cas pareil (bien qu'il n'y aura qu'une minorité qui n'auront QUE des photos carrées, je pense), je verrais plutôt un placement en quinconce : à 8px du bord et centrée par rapport aux 2 voisines => donc, en l'occurence, une figure géométrique parfaite.
Sinon, dans les autres cas, avec une règle du style : placement à 8 px de la voisine, centrée par rapport au bord limitrophe, sauf s'il y a alignement exact des 2 bords opposés de la vignette avec ceux de la vignette voisine, dans ce cas, décalage d'une valeur de la moitié.
Cela serait-il possible ?
Hors ligne
stripy a écrit:
Ben ... elles ne sont pas alignées, mais elles ne sont pas désordonnées non plus ... en fait, ça fait disposition non imparfaite, non maitrisée.
c'est un facteur de variation qui se paramètre. là il est paramétré à 20px, en mettant 50px, ou en le gérant par rapport à un pourcentage lié aux dimensions de la vignettes, l'effet désordonné sera plus fort.
Je refais une mise à jour dans la soirée et je vous préviens (là dans un premier vu que je rentre du boulot, c'est douche + bouffe).
stripy a écrit:
Dans un cas pareil (bien qu'il n'y aura qu'une minorité qui n'auront QUE des photos carrées, je pense), je verrais plutôt un placement en quinconce : à 8px du bord et centrée par rapport aux 2 voisines => donc, en l'occurence, une figure géométrique parfaite.
c'était çà avant que Vincent ne me demande d'ajouter un facteur de placement aléatoire sur chaque vignette ;)
à la rigueur, en gérant le facteur de variation de 0 à x, chaque webmaster pourra gérer çà à sa convenance en fait, çà ne serait qu'un paramètre.
VDigital a écrit:
Enfin, je privéligierai un tri des images avant par taille décroissante et id croissant en standard.
çà, c'est à pwg de gérer le tri ;) tu injectes les images dans l'ordre que tu veux dans la pile des images à positionner et pis c'est tout.
en gros, pour l'affichage d'une page :
si vignettes en cache pour le visiteur alors charger la liste des vignettes en cache sinon sélectionner une liste de vignettes au hasard trier les vignettes selon l'ordre souhaité mémoriser la liste en cache pour le visiteur (liste déjà triée, pas besoin de retrier au prochain refresh => gain de temps cpu ;)) fin si afficher les vignettes selon l'algo "en vrac"
Hors ligne