Grouper les tirages à la loterie

Parlons Loto, et particulièrement de la loterie française, qui se compose de 5 numéros de 1 à 49, et un numéro chance de 1 à 10. Plus un code tiré au sort composé d'une lettre et 8 chiffres.

Les probabilités sont bien décrites sur la page Wikipedia de la loterie. Les chances d'atteindre le premier rang, sont donc d'une sur 19 068 840, soit un grain de sable. Visuellement pour 1 pixel égal une grille, ça pourrait donner ça :

Afficher l'image

Il y a un pixel jaune en son centre qui représente la combinaison gagnante pour le jeu solo. De là on comprend que nos chances de perdre sont de l'ordre de 100%.

L'idée, étant de mettre en évidence ou non, le jeu groupé et le rapport de grilles par tirage :

  • Je pars sur une période d'un an, soit 156 grilles misées.
  • Retour équivalent à un tier du rang 4, et un et demi du rang 3 en groupe.
  • 6 situations : d'abord 3 tirages par semaine, puis 1. Ensuite 1 par mois. Puis 4, 2 et enfin 1 tirage par an.
  • La fréquence des cagnottes est de 2 + 1 M€ par tirage sur 4. 5 M€ pour celles de 3 mois et plus.
  • Le groupe se compose de 40 grilles soit 2.5% pour un participant.

Afficher l'image

Afficher l'image

En chiffres

3 tirages par semaine (156/1)

  1 chance sur  solo       groupe
  rang 1        19 068 840 476 721
  rang 2        2 118 760  52 969
  rang 3        86 677     2 167
  rang 4        9 631      241

1 tirage par semaine (156/3)

  1 chance sur  solo       groupe
  rang 1        6 356 280  158 907
  rang 2        706 253    17 656
  rang 3        28 892     722
  rang 4        3 210      80

1 tirage par mois (156/12)

  1 chance sur  solo       groupe
  rang 1        1 589 070 39 727
  rang 2        176  563  4 415
  rang 3        7 223     181
  rang 4        802       20

1 tirage tous les 3 mois (156/39)

  1 chance sur  solo       groupe
  rang 1        488 944    12 224
  rang 2        54 327     1 358
  rang 3        2 222      56
  rang 4        247        6

1 tirage tous les 6 mois (156/78)

  1 chance sur  solo       groupe
  rang 1        244 472    6 112
  rang 2        27 164     679
  rang 3        1 111      28
  rang 4        123        3

1 tirage par an (156/156)

  1 chance sur  solo       groupe
  rang 1        122 236    3 056
  rang 2        13 581     340
  rang 3        556        14
  rang 4        62         1.5

Logarithmique vs linéaire

Afficher l'image

Globalement la fourchette des chances reste la même et le retour est linéaire. En revanche passer de 19 068 840 possibilités à 122 236 au rang un, est significatif. 99,4% de possibilités en moins. Chances multipliées par plus de 150.

En conclusion, jouer moins de tirages mais plus de grilles, n'apporte pas plus, pas moins en terme de pertes, simplement il diminue la sensation de plaisir (facteur majeur pour certains joueurs), mais il augmente de manière spectaculaire les chances de gains. A noter que tout retour garanti ne peut jamais être supérieur à la mise, seul le choix des grilles fera la différences.

Petite animation Mario Kart en JS

Pour égayer un classement ou pour voir un peu plus loin.

HTML


<a class="perso" title="10"><img src="prono/22.gif" /><span><b>1<sup>er</sup></b> pseudo<br /><b>10 points</b></span></a>
<a class="perso" title="20"><img src="prono/10.gif" /><span><b>2<sup>ème</sup></b> pseudo<br /><b>20 points</b></span></a>
<a class="perso" title="30"><img src="prono/9.gif" /><span><b>3<sup>ème</sup></b> pseudo<br /><b>30 points</b></span></a>
<a class="perso" title="40"><img src="prono/7.gif" /><span><b>4<sup>ème</sup></b> pseudo<br /><b>40 points</b></span></a>
<a class="perso" title="50"><img src="prono/6.gif" /><span><b>5<sup>ème</sup></b> pseudo<br /><b>50 points</b></span></a>
<a class="perso" title="60"><img src="prono/5.gif" /><span><b>6<sup>ème</sup></b> pseudo<br /><b>60 points</b></span></a>
<a class="perso" title="70"><img src="prono/4.gif" /><span><b>7<sup>ème</sup></b> pseudo<br /><b>70 points</b></span></a>
<a class="perso" title="80"><img src="prono/3.gif" /><span><b>8<sup>ème</sup></b> pseudo<br /><b>80 points</b></span></a>
<a class="perso" title="90"><img src="prono/2.gif" /><span><b>9<sup>ème</sup></b> pseudo<br /><b>90 points</b></span></a>
<a class="perso" title="100"><img src="prono/1.gif" /><span><b>10<sup>ème</sup></b> pseudo<br /><b>10 points</b></span></a>
<div id="route"></div>

CSS


#route {
	background-image: url('prono/0a.gif');
	background-size: contain;
	}
.perso {
	position: absolute;
	}
.perso>img {
	width: 100%;
	}
.perso:hover span, .perso:focus span{
	transform: scale(1) rotate(0); 
	opacity: 1;	 
	}
.perso span {
	position: absolute;
	color: rgb(255,255,255);
	background: rgba(0,0,0,.8);
	padding: 10px;
	border-radius: 3px;
	box-shadow: 0 0 2px rgba(0,0,0,.5);
	transform: scale(0) rotate(-12deg);
	transition: all .25s;
	opacity: 0;
	z-index: 101;
	}

JS


var taille, pixels, posX, posY, liste, i;
var obj = document.getElementById("route");
var perso = document.getElementsByClassName('perso');
inforesize();
window.onresize = inforesize;
setInterval(frame, 33); // 33 ms = ~ 30 frames / seconde

function init_ () { // positionne
	liste = new Array ();
	for (i = 0; i < perso.length; i++) {
		var v = pixels / 100 * perso[i].getAttribute('title');
		perso[i].style.left = (posX + v)+'px';
		perso[i].style.top = (posY)+'px';
		liste[i] = new Array (
			(posX + v),
			posY,
			(posX + v),
			posY
			);
		}
	}
	
function inforesize () { // redimensionne
	taille = obj.clientWidth;
	pixels = Math.round(taille * 0.75);
	posX = obj.offsetLeft;
	obj.style.height = obj.style.marginTop = taille * 0.05;
	for (i = 0; i < perso.length; i++) {
		perso[i].style.width = taille * 0.05;
		perso[i].getElementsByTagName('span')[0].style.marginTop = taille * 0.05 * 1.5;
		perso[i].getElementsByTagName('span')[0].style.marginLeft = -taille * 0.05 * 1.5;
		}
	posY = obj.offsetTop - (taille * (0.05 / 4));
	init_();
	}

function posrand (ob1, ob2, ecart) { // déplacement random (actuelle, origine, ecart)
	var t = Math.round(Math.random() * (ob1+3 - ob1-1) + ob1-1);
	if (t > ob2 + ecart)
		t--;
	else if (t < ob2 - ecart)
		t++;
	return t;
	}

function frame () {
	for (i = 0; i < perso.length; i++) {liste[i][2] = posrand(liste[i][2], liste[i][0], 20); //x
		perso[i].style.left = liste[i][2]+'px';
		liste[i][3] = posrand(liste[i][3], liste[i][1], 5);	//y
		perso[i].style.top = liste[i][3]+'px';
		perso[i].style.zIndex = liste[i][3];
		}
	}

Télécharger l'archive (zip)

plan dynamique à partir d'une photo

Je vous propose étape par étape la réalisation d'un plan vidéo animé à partir d'une simple photo. Cet effet que l'on retrouve dans de nombreux documentaires pouvant apporter du dynamisme et de la vie à des images statiques, tel que des photos anciennes, tableaux de maîtres et autres...

Le choix de la photo

J'ai ici récupéré une photo de 1897, prise lors de la célèbre ruée vers l'or, le long du Klondike, estampillée Domaine Public. L'image est de très moyenne qualité, mais suffisante pour l'intégration dans une vidéo documentaire. Le format de la photo se prêtera à un travelling vertical.

Le découpage des plans

Il convient de déterminer la position des éléments dans l'espace en commençant évidemment par les premiers. Dans mon exemple, je n'irais pas jusqu'à évider la flaque d'eau (qui semble surtout refléter le ciel entouré de la masse de gens), mais il est tout à fait faisable d'y apporter un effet ondulé qui apportera toujours plus de réalisme. Le détourage reste sommaire, tant la photo manque de netteté. J'ai volontairement multiplié les plans, mais on aurait pu se contenter de trois quatre.

 

L'extension des fonds

Pour permettre le glissement des différents éléments lors du montage vidéo, il est essentiel de couvrir tous les détourages inférieurs aux premiers plans, voir d'avantage. Ici le sol boueux et le ciel, à coup de tampon, pansement ou autre, faites comme vous voulez ! On pourra y revenir ultérieurement suivant le travelling pour ne travailler que les zones nécessaires. Les premiers plans glisseront d'avantage que ceux du fond, effet de perspective oblige. Ainsi, plus nous reculons dans les plans, moins ces retouches seront nécessaires.

Nous verrons plus bas qu'en faisant partir ces élements du haut vers le bas, nous nous économiserons pas mal de travail en excluant les zones latérales. Exemple avec la façade de l'hôtel, ou j'ai entre autre utilisé le point de fuite pour répliquer la fenêtre. Sans être baclé, nous ne nous attarderons par sur les détails. La séquence ne faisant que quelques secondes, l'oeil n'aura pas vraiment le temps d'en apprécier tous les détails. L'objectif étant de ne laisser aucune zone vide.

J'intègre également aux éléments qui en nécessitent, le sol à part, en y appliquant un masque aux larges dégradés : il est essentiel que les objets et personnages n'ai pas cette illusion de flotter lors de leurs déplacements et donc, de les ancrer au sol.

Ceci fait, le rendu des différents calques superposés est évidemment très proche de l'original à quelques détails près.
Je peux maintenant séparer mes 9 plans pour pouvoir les intégrer au montage vidéo. J'utilise ici Vegas, mais cela reste appliquable à votre logiciel favori.

Le montage vidéo

Importés et superposés, j'applique un déplacement à chacun du haut vers le bas. Comme dit plus haut, les premiers plans devraient avoir un déplacement plus prononcé que ceux de derrière, le fond restant fixe. Dans mon exemple, l'écart est régulier et le résultat reste correct.

Dans le même temps, la caméra fera défiler l'ensemble de bas en haut comme pour dynamiser d'avantage et justifier tout ça. On aurait également pu ajouter un léger dé-zoom, un effet sépia... à votre bon coeur m'sieurs, dames.

Le rendu

Un autre exemple