Celui qui peut, agit. Celui qui ne peut pas, enseigne.
George Bernard Shaw (sur mon T shirt!)
Les courses, pour reprendre le slogan célèbre, c'est ma grande passion...
Mais gagner de l'argent aux courses, en pariant sur des résultats assez aléatoire est risqué, même si le frisson est au rendez-vous.
Le but de chaque turfiste est de tenter de maîtriser le hasard.
Patatoide était un utilitaire d'aide à la prise de paris hippiques.
20 est le nombres maximum de partants dans une course servant de support au quinté+. Cela donne 15504 quintés possibles si on ne tient pas compte de l'ordre. Les jouer tous est sinon impossible du moins assez idiot.
Mais il est parfois possible de restreindre ces combinaisons par des "contraintes": Supposons que les 8 premiers favoris de la presse sont 1,2,3,4,5,6,7,8 alors une contrainte comme :
Supposons que les numéros 1,8,9,10,11 soient des femelles et que ces mêmes femelles ne réussissent habituellement pas dans le passé de cette course on utilisera (par exemple) la contrainte:
L'expérience de chacun lui permet de trouver les contraintes les plus efficaces.
La vocation de Patatoide est de gérer un grand nombres de contraintes ensemblistes de ce genre, c'est infaisable à la main!
Un diagramme de Venn (également appelé diagramme logique) est un diagramme qui montre toutes les relations logiques possibles dans une collection finie de différents ensembles. Les diagrammes de Venn ont été conçus autour de 1880 par John Venn. Ils sont utilisés pour enseigner la théorie des ensembles élémentaires, ainsi qu'à illustrer des relations simples en probabilité, logique, statistiques, linguistique et en informatique.
Ainsi avec Patatoide et l'exemple précédent on peut très rapidement saisir dans le fichier "contraintes.txt" les deux lignes suivantes :
au moins 3 dans 1 2 3 4 5 6 7 8 au plus 1 dans 1 8 9 10 11
Pour obtenir un fichier html contenant les 2916 quintés restant:
Patatoide est développé en Python, mais un installateur windows est également proposé en téléchargement en bas de page.
Dans le répertoire de l'application un double clic sur l'exe (sous windows) ou sur le .py sur tous systèmes où Python (3) est installé lance le processus suivant :
Chaque ligne commence par "au moins" ou "au plus", suivi d'un entier inférieur à 5 du mot "dans" et d'une liste d'entiers séparés par un espace.
au plus 2 dans 1 2 3 4
au moins 2 dans 2 4 6 8 10
au plus 0 dans 17 18 19 20 (16 partants!)
#patatoide.py by wouf version 1.0.0
#http://site2wouf.fr/patatoide.php
import random #pour gérer l'ordre aléatoirement
import webbrowser #pour lancer le navigateur
contraintes=list() #la liste des contraintes
quintes=list() #la liste des quintés construite dans la fonction lesquintes()
restes=list() #les quintés filtrés par les contraintes
introhtml="" #pour affichage dans resultats.htm
def lesquintes():
""" Cette fonction construit la liste quintes
variable globale """
for i in range(1,17):
for j in range (i+1,18):
for k in range(j+1,19):
for l in range (k+1,20):
for m in range (l+1,21):
quintes.append({i,j,k,l,m})
def test():
""" On teste le fichier contraintes.txt"""
global introhtml
partant={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
try:
with open("contraintes.txt" ,"r" ) as f:
#print("Le fichier de contraintes existe et est ouvert" )
texte=f.read()
c=texte.split("\n" )
#print("Il contient " +str(len(c))+" lignes" )
for i in range(len(c)):
if c[i][:8]=="au moins" :
n=c[i][9:].split("dans" )
if int(n[0]) in (1,2,3,4,5) :
m=n[1].split()
me={int(x) for x in m}
ligne=("-" ,int(n[0]),me)
if me<=partant and int(n[0])<=len(me) and ligne not in contraintes:
contraintes.append(ligne)
elif c[i][:7]=="au plus" :
n=c[i][8:].split("dans" )
if int(n[0]) in (0,1,2,3,4,5) :
m=n[1].split()
me={int(x) for x in m}
ligne=("+" ,int(n[0]),me)
if me<=partant and int(n[0])<=len(me)and ligne not in contraintes:
contraintes.append(ligne)
#print()
introhtml+="<p>Nombres de contraintes distinctes reconnues :" +str(len(contraintes))+"</p>"
for c in contraintes:
if c[0]=="-" :
ligne="au moins "
else :
ligne="au plus "
ligne+=str(c[1])+" dans "
for i in sorted(list(c[2])):
ligne += str(i)+" "
#print(ligne)
introhtml+="<p>" +str(ligne)+"</p>"
resultat()
#print("Il reste " ,len(restes), " quintes" )
except IOError:
introhtml+=("<p>Le fichier contraintes.txt est inexistant dans le réperoire de l'application !</p>" )
resultat()
introhtml+="<p>Il reste " +str(len(restes))+" quintes </p>"
def verifie(q,c):
"""q est un set quinte
c est un liste contrainte
la fonction renvoie un booleen"""
if (c[0]=="+" and len(q & c[2])<=int(c[1])) or (c[0]=="-" and len(q & c[2])>=int(c[1])):
return True #le quinté est accepté
else:
return False #le quinté est refusé
def resultat():
""" filtre les quintes avec les contraintes """
for q in quintes:
q=set(q)
bon=True
for c in contraintes:
if not verifie(q,c):
bon=False
if bon:
restes.append(q)
def creehtml():
""" cette fonction crée le fichier html"""
entete="""
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>patatoide from wouf</title>
<style>
ol {counter-reset: i;}
li {
list-style-type: none;
counter-increment: i;
margin-bottom: 3px;
m
}
li:before {
content: counter(i);
padding: 0 20px 2px;
margin-right: 40px;
vertical-align: bottom;
background: #01DF01;
-moz-border-radius: 60px;
border-radius: 60px;
font-weight: bold;
font-size: 0.8em;
color: white;
}
span {
padding: 0 20px 2px;
margin-right: 40px;
vertical-align: bottom;
background: #9AFE2E;
-moz-border-radius: 60px;
border-radius: 60px;
font-size: 0.8em;
color: black;
}
</style>
</head>
<body>
<h1>Patatoide (from Wouf)</h1>
<a href="http://site2wouf.fr/patatoide.php">Le site officiel</a>
"""
entete+=introhtml+"""<p style="margin-left:50px"><ol style="list-style-type: disc;">"""
pied="""
</ol></p></body>
</html>"""
f=open("resultats.htm" ,"+w" )
f.write(entete)
random.shuffle(restes)
for l in restes:
chaine="<li ><span>"
q=list(l)
random.shuffle(q)
for qte in q:
chaine+=" " +str(qte)+" "
chaine+="</span></li>"
f.write(chaine)
f.write(pied)
f.close()
lesquintes()
test()
creehtml()
webbrowser.open("resultats.htm" )
Ce n'est pas parce que c'est gratuit que vous n'avez pas droit au meilleur ! Utilisez le champ suivant pour des questions ou des commentaires !
Lorsqu'il s'agit de représenter des objets en trois dimensions de manière précise, la perspective cavalière est une technique incontournable en géométrie. Inkscape, le logiciel de dessin vectoriel libre et open-source, se révèle être un allié exceptionnel pour créer des illustrations en perspective cavalière de manière simple et efficace.
La perspective cavalière est une technique de représentation graphique qui permet de dessiner des objets tridimensionnels sur une surface bidimensionnelle de manière réaliste. Elle est largement utilisée en ingénierie, en architecture et dans d'autres domaines où une représentation précise des objets en trois dimensions est essentielle.
Dans la perspective cavalière, les objets conservent leurs angles droits et parallèles dans les deux premières dimensions, tandis que la troisième dimension est représentée de manière inclinée. Cette approche donne une impression de profondeur et de réalisme sans sacrifier la simplicité de la représentation.
Inkscape, en tant que logiciel de dessin vectoriel, offre une gamme complète d'outils pour créer des illustrations en perspective cavalière. Voici quelques étapes simples pour commencer :
Ouvrez Inkscape et créez une nouvelle toile pour votre dessin. Allez dans "Fichier" > "Nouveau" et définissez les dimensions de votre toile en fonction de vos besoins.
Inkscape dispose d'un outil de perspective qui facilite la création d'objets en trois dimensions. Sélectionnez l'outil de perspective dans la barre latérale, puis cliquez et faites glisser pour définir la direction de la perspective.
Utilisez les outils de dessin disponibles pour créer vos objets en perspective cavalière. Inkscape permet de dessiner des lignes, des formes, et d'ajouter du texte, ce qui est idéal pour représenter des concepts géométriques complexes.
Inkscape offre également des options de personnalisation avancées. Vous pouvez ajuster les couleurs, ajouter des dégradés, et expérimenter avec les ombres pour donner à votre illustration un aspect professionnel.
Inkscape se révèle être un outil puissant pour représenter des objets en perspective cavalière en géométrie. Son interface conviviale et ses fonctionnalités avancées en font un choix idéal pour les professionnels et les amateurs cherchant à donner vie à leurs concepts géométriques.
Que vous soyez un étudiant en mathématiques cherchant à illustrer des concepts complexes ou un professionnel de l'architecture travaillant sur des plans détaillés, Inkscape peut vous accompagner dans la création d'illustrations en perspective cavalière avec facilité et précision.
N'hésitez pas à explorer les nombreuses fonctionnalités d'Inkscape pour découvrir tout son potentiel dans le domaine de la représentation graphique en géométrie.
lien vers l'article sur wouf blog
Sur le site de Wouf, dans le menu "lien", en survolant "wikipedia", apparaît l'item: "Une page au hasard".
Par un simple clique, on accède à une page de Wikipedia... au hasard!
Un moyen original de se cultiver...