Je cherche à faire des graphiques tout bêtes en python. Je voudrais
donc faire un programme qui génère une fenêtre noire, et pouvoir y
dessiner des lignes et des points en donnant leurs coordonnées.
Lorsque j'étais jeune, je faisais du BASIC sur AppleII, et c'était
facile. Ensuite je suis passé au Pascal3 puis 6 et ça commençait à être
de plus en plus difficile.
Et maintenant en python j'ai l'impression que je vais devoir écrire 100
lignes de code pour définir une fenêtre et le mode graphique qui sera
utilisé dedans, me trompe-je ?
Mes objectifs sont de deux ordres.
1. Pédagogique. Je voudrais initier des enfants à la programmation, et
je trouve très marrant de tracer des graphiques simples avec des points
et des droites.
2. Je voudrais faire l'animation de la courbe
f(x,t)=sin(sqrt(x)t)
Quand j'étais jeune, en Pascal3, j'aurais fait ça en 2 minutes : je
trace pour t=0, j'efface, je trace pour t=0.1, j'efface, je trace
j'efface, etc.
C'était peut-être un peu moche, mais ça fonctionnait et on voyait le
truc qui bougeait :)
Y'aurais moyen de faire ce genre de choses avec matplolib ? Le truc
est que je ne veux pas générer UN graphique, mais plusieurs et que ça
donne une impression d'animation. J'ai l'impression que matplotlib ne me
permet "que" de créer des fichiers png ou autres, statiques.
J'ai aussi essayé de mettre du time.sleep entre le tracé de éléments
dans tkinter, mais ça trace quand même tout d'un coup.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
pdorange
Laurent Claessens wrote:
Je cherche à faire des graphiques tout bêtes en python. Je voudrais donc faire un programme qui génère une fenêtre noire, et pouvoir y dessiner des lignes et des points en donnant leurs coordonnées.
Lorsque j'étais jeune, je faisais du BASIC sur AppleII, et c'était facile. Ensuite je suis passé au Pascal3 puis 6 et ça commençait à être de plus en plus difficile. Et maintenant en python j'ai l'impression que je vais devoir écrire 100 lignes de code pour définir une fenêtre et le mode graphique qui sera utilisé dedans, me trompe-je ?
Pas totalement mais il y a des solutions assez simple avec python. Toutefois en plus de python il te faut une librairie graphique.
Mes objectifs sont de deux ordres.
1. Pédagogique. Je voudrais initier des enfants à la programmation, et je trouve très marrant de tracer des graphiques simples avec des points et des droites.
2. Je voudrais faire l'animation de la courbe f(x,t)=sin(sqrt(x)t)
Quand j'étais jeune, en Pascal3, j'aurais fait ça en 2 minutes : je trace pour t=0, j'efface, je trace pour t=0.1, j'efface, je trace j'efface, etc. C'était peut-être un peu moche, mais ça fonctionnait et on voyait le truc qui bougeait :)
Y'aurais moyen de faire ce genre de choses avec matplolib ? Le truc est que je ne veux pas générer UN graphique, mais plusieurs et que ça donne une impression d'animation. J'ai l'impression que matplotlib ne me permet "que" de créer des fichiers png ou autres, statiques.
J'ai aussi essayé de mettre du time.sleep entre le tracé de éléments dans tkinter, mais ça trace quand même tout d'un coup.
Je ne connais pas matplolib mais si il génère des image PNG tu peux ensuite (et pendant qu'il calcul la suivant) afficher la première (avec un librairie graphique). C'est exactement le principe de l'animation sur ordinateur. On prépare une "vue" en mémoire et ensuite on l'affiche d'un seul coup et on recommence pour la suivante. Ca évite des clignotements de mauvais effet que l'on peux avoir en dessiner directement a l'écran puis effacer.
Je ne connais pas suffisamment pour t'en conseiller une simple a mettre en ½uvre, perso j'utilise pygame (mais c'est une lib pour faire des jeux et donc pas forcément le plus adapté).
Je cherche à faire des graphiques tout bêtes en python. Je voudrais
donc faire un programme qui génère une fenêtre noire, et pouvoir y
dessiner des lignes et des points en donnant leurs coordonnées.
Lorsque j'étais jeune, je faisais du BASIC sur AppleII, et c'était
facile. Ensuite je suis passé au Pascal3 puis 6 et ça commençait à être
de plus en plus difficile.
Et maintenant en python j'ai l'impression que je vais devoir écrire 100
lignes de code pour définir une fenêtre et le mode graphique qui sera
utilisé dedans, me trompe-je ?
Pas totalement mais il y a des solutions assez simple avec python.
Toutefois en plus de python il te faut une librairie graphique.
Mes objectifs sont de deux ordres.
1. Pédagogique. Je voudrais initier des enfants à la programmation, et
je trouve très marrant de tracer des graphiques simples avec des points
et des droites.
2. Je voudrais faire l'animation de la courbe
f(x,t)=sin(sqrt(x)t)
Quand j'étais jeune, en Pascal3, j'aurais fait ça en 2 minutes : je
trace pour t=0, j'efface, je trace pour t=0.1, j'efface, je trace
j'efface, etc.
C'était peut-être un peu moche, mais ça fonctionnait et on voyait le
truc qui bougeait :)
Y'aurais moyen de faire ce genre de choses avec matplolib ? Le truc
est que je ne veux pas générer UN graphique, mais plusieurs et que ça
donne une impression d'animation. J'ai l'impression que matplotlib ne me
permet "que" de créer des fichiers png ou autres, statiques.
J'ai aussi essayé de mettre du time.sleep entre le tracé de éléments
dans tkinter, mais ça trace quand même tout d'un coup.
Je ne connais pas matplolib mais si il génère des image PNG tu peux
ensuite (et pendant qu'il calcul la suivant) afficher la première (avec
un librairie graphique). C'est exactement le principe de l'animation sur
ordinateur. On prépare une "vue" en mémoire et ensuite on l'affiche d'un
seul coup et on recommence pour la suivante. Ca évite des clignotements
de mauvais effet que l'on peux avoir en dessiner directement a l'écran
puis effacer.
Je ne connais pas suffisamment pour t'en conseiller une simple a mettre
en ½uvre, perso j'utilise pygame (mais c'est une lib pour faire des jeux
et donc pas forcément le plus adapté).
Je cherche à faire des graphiques tout bêtes en python. Je voudrais donc faire un programme qui génère une fenêtre noire, et pouvoir y dessiner des lignes et des points en donnant leurs coordonnées.
Lorsque j'étais jeune, je faisais du BASIC sur AppleII, et c'était facile. Ensuite je suis passé au Pascal3 puis 6 et ça commençait à être de plus en plus difficile. Et maintenant en python j'ai l'impression que je vais devoir écrire 100 lignes de code pour définir une fenêtre et le mode graphique qui sera utilisé dedans, me trompe-je ?
Pas totalement mais il y a des solutions assez simple avec python. Toutefois en plus de python il te faut une librairie graphique.
Mes objectifs sont de deux ordres.
1. Pédagogique. Je voudrais initier des enfants à la programmation, et je trouve très marrant de tracer des graphiques simples avec des points et des droites.
2. Je voudrais faire l'animation de la courbe f(x,t)=sin(sqrt(x)t)
Quand j'étais jeune, en Pascal3, j'aurais fait ça en 2 minutes : je trace pour t=0, j'efface, je trace pour t=0.1, j'efface, je trace j'efface, etc. C'était peut-être un peu moche, mais ça fonctionnait et on voyait le truc qui bougeait :)
Y'aurais moyen de faire ce genre de choses avec matplolib ? Le truc est que je ne veux pas générer UN graphique, mais plusieurs et que ça donne une impression d'animation. J'ai l'impression que matplotlib ne me permet "que" de créer des fichiers png ou autres, statiques.
J'ai aussi essayé de mettre du time.sleep entre le tracé de éléments dans tkinter, mais ça trace quand même tout d'un coup.
Je ne connais pas matplolib mais si il génère des image PNG tu peux ensuite (et pendant qu'il calcul la suivant) afficher la première (avec un librairie graphique). C'est exactement le principe de l'animation sur ordinateur. On prépare une "vue" en mémoire et ensuite on l'affiche d'un seul coup et on recommence pour la suivante. Ca évite des clignotements de mauvais effet que l'on peux avoir en dessiner directement a l'écran puis effacer.
Je ne connais pas suffisamment pour t'en conseiller une simple a mettre en ½uvre, perso j'utilise pygame (mais c'est une lib pour faire des jeux et donc pas forcément le plus adapté).
Et maintenant en python j'ai l'impression que je vais devoir écrire 100 lignes de code pour définir une fenêtre et le mode graphique qui sera utilisé dedans, me trompe-je ?
Pas totalement mais il y a des solutions assez simple avec python. Toutefois en plus de python il te faut une librairie graphique.
mmmm... C'est ce que je craignais ... J'espère que quelqu'un d'autre va dire qu'on se trompe :)
Je ne connais pas matplolib mais si il génère des image PNG tu peux ensuite (et pendant qu'il calcul la suivant) afficher la première (avec un librairie graphique). C'est exactement le principe de l'animation sur ordinateur. On prépare une "vue" en mémoire et ensuite on l'affiche d'un seul coup et on recommence pour la suivante. Ca évite des clignotements de mauvais effet que l'on peux avoir en dessiner directement a l'écran puis effacer.
Moi en Pascal6, j'avais deux pages graphiques et j'évitais les clignotement comme ça : on trace sur l'une pendant qu'on affiche l'autre. Cependant, je vais quand même avouer que faire du python sur Ubuntu avec 2Go de RAM, c'est plus agréable que du Pascal sur un 286 et DOS 5. Je ne vais pas pousser la nostalgie à ce point :d
:):) Je te cède gracieusement les droits sous la même licence sur ma partie du texte que tu as citée :):)
Et maintenant en python j'ai l'impression que je vais devoir écrire 100
lignes de code pour définir une fenêtre et le mode graphique qui sera
utilisé dedans, me trompe-je ?
Pas totalement mais il y a des solutions assez simple avec python.
Toutefois en plus de python il te faut une librairie graphique.
mmmm... C'est ce que je craignais ... J'espère que quelqu'un d'autre va
dire qu'on se trompe :)
Je ne connais pas matplolib mais si il génère des image PNG tu peux
ensuite (et pendant qu'il calcul la suivant) afficher la première (avec
un librairie graphique). C'est exactement le principe de l'animation sur
ordinateur. On prépare une "vue" en mémoire et ensuite on l'affiche d'un
seul coup et on recommence pour la suivante. Ca évite des clignotements
de mauvais effet que l'on peux avoir en dessiner directement a l'écran
puis effacer.
Moi en Pascal6, j'avais deux pages graphiques et j'évitais les
clignotement comme ça : on trace sur l'une pendant qu'on affiche l'autre.
Cependant, je vais quand même avouer que faire du python sur Ubuntu avec
2Go de RAM, c'est plus agréable que du Pascal sur un 286 et DOS 5. Je ne
vais pas pousser la nostalgie à ce point :d
Ce message est sous licence Creative Commons "by-nc-sa-2.0"
<http://creativecommons.org/licenses/by-nc-sa/2.0/fr/>
:):) Je te cède gracieusement les droits sous la même licence sur ma
partie du texte que tu as citée :):)
Et maintenant en python j'ai l'impression que je vais devoir écrire 100 lignes de code pour définir une fenêtre et le mode graphique qui sera utilisé dedans, me trompe-je ?
Pas totalement mais il y a des solutions assez simple avec python. Toutefois en plus de python il te faut une librairie graphique.
mmmm... C'est ce que je craignais ... J'espère que quelqu'un d'autre va dire qu'on se trompe :)
Je ne connais pas matplolib mais si il génère des image PNG tu peux ensuite (et pendant qu'il calcul la suivant) afficher la première (avec un librairie graphique). C'est exactement le principe de l'animation sur ordinateur. On prépare une "vue" en mémoire et ensuite on l'affiche d'un seul coup et on recommence pour la suivante. Ca évite des clignotements de mauvais effet que l'on peux avoir en dessiner directement a l'écran puis effacer.
Moi en Pascal6, j'avais deux pages graphiques et j'évitais les clignotement comme ça : on trace sur l'une pendant qu'on affiche l'autre. Cependant, je vais quand même avouer que faire du python sur Ubuntu avec 2Go de RAM, c'est plus agréable que du Pascal sur un 286 et DOS 5. Je ne vais pas pousser la nostalgie à ce point :d
:):) Je te cède gracieusement les droits sous la même licence sur ma partie du texte que tu as citée :):)
pdorange
Laurent Claessens wrote:
[...] Moi en Pascal6, j'avais deux pages graphiques et j'évitais les clignotement comme ça
C'est le principe du buffer ou mémoire cache. Que ce soit une zone mémoire principale ou mémoire graphique (ce dont tu parles je suppose) ou même un fichier image (plus lent) le principe est le même. On prépare l'image hors écran et on l'affiche d'un seul bloc.
C'est automatiquement géré par pygame par exemple (bien qu pygame soit pas forcément ce que tu cherches) :
tu crées un objet screen à partir de l'écran qui sera ton "cache". screen = pygame.display.set_mode(size)
début de boucle :
Tu effaces ce screen screen.fill(black)
Tu dessines dans ce screen pygame.draw.line(screen, color, start_pos, end_pos, width=1) ou mieux pygame.draw.aaline (ligne anti aliasée)
Une fois finis, tu affiche ce screen pygame.display.flip()
: on trace sur l'une pendant qu'on affiche l'autre.
Cependant, je vais quand même avouer que faire du python sur Ubuntu avec 2Go de RAM, c'est plus agréable que du Pascal sur un 286 et DOS 5. Je ne vais pas pousser la nostalgie à ce point :d
[...]
Moi en Pascal6, j'avais deux pages graphiques et j'évitais les
clignotement comme ça
C'est le principe du buffer ou mémoire cache. Que ce soit une zone
mémoire principale ou mémoire graphique (ce dont tu parles je suppose)
ou même un fichier image (plus lent) le principe est le même.
On prépare l'image hors écran et on l'affiche d'un seul bloc.
C'est automatiquement géré par pygame par exemple (bien qu pygame soit
pas forcément ce que tu cherches) :
tu crées un objet screen à partir de l'écran qui sera ton "cache".
screen = pygame.display.set_mode(size)
début de boucle :
Tu effaces ce screen
screen.fill(black)
Tu dessines dans ce screen
pygame.draw.line(screen, color, start_pos, end_pos, width=1)
ou mieux
pygame.draw.aaline (ligne anti aliasée)
Une fois finis, tu affiche ce screen
pygame.display.flip()
et tu boucles...
Voir la base :
http://pygame.org/docs/tut/intro/intro.html
: on trace sur l'une pendant qu'on affiche l'autre.
Cependant, je vais quand même avouer que faire du python sur Ubuntu avec
2Go de RAM, c'est plus agréable que du Pascal sur un 286 et DOS 5. Je ne
vais pas pousser la nostalgie à ce point :d
> Ce message est sous licence Creative Commons "by-nc-sa-2.0"
> <http://creativecommons.org/licenses/by-nc-sa/2.0/fr/>
:):) Je te cède gracieusement les droits sous la même licence sur ma
partie du texte que tu as citée :):)
Tu es obligé a partir du moment ou tu cites (sa) ;-)
[...] Moi en Pascal6, j'avais deux pages graphiques et j'évitais les clignotement comme ça
C'est le principe du buffer ou mémoire cache. Que ce soit une zone mémoire principale ou mémoire graphique (ce dont tu parles je suppose) ou même un fichier image (plus lent) le principe est le même. On prépare l'image hors écran et on l'affiche d'un seul bloc.
C'est automatiquement géré par pygame par exemple (bien qu pygame soit pas forcément ce que tu cherches) :
tu crées un objet screen à partir de l'écran qui sera ton "cache". screen = pygame.display.set_mode(size)
début de boucle :
Tu effaces ce screen screen.fill(black)
Tu dessines dans ce screen pygame.draw.line(screen, color, start_pos, end_pos, width=1) ou mieux pygame.draw.aaline (ligne anti aliasée)
Une fois finis, tu affiche ce screen pygame.display.flip()
: on trace sur l'une pendant qu'on affiche l'autre.
Cependant, je vais quand même avouer que faire du python sur Ubuntu avec 2Go de RAM, c'est plus agréable que du Pascal sur un 286 et DOS 5. Je ne vais pas pousser la nostalgie à ce point :d
Je cherche à faire des graphiques tout bêtes en python. Je voudrais donc faire un programme qui génère une fenêtre noire, et pouvoir y dessiner des lignes et des points en donnant leurs coordonnées.
Lorsque j'étais jeune, je faisais du BASIC sur AppleII, et c'était facile. Ensuite je suis passé au Pascal3 puis 6 et ça commençait à être de plus en plus difficile. Et maintenant en python j'ai l'impression que je vais devoir écrire 100 lignes de code pour définir une fenêtre et le mode graphique qui sera utilisé dedans, me trompe-je ?
Mes objectifs sont de deux ordres.
1. Pédagogique. Je voudrais initier des enfants à la programmation, et je trouve très marrant de tracer des graphiques simples avec des points et des droites.
2. Je voudrais faire l'animation de la courbe f(x,t)=sin(sqrt(x)t)
Quand j'étais jeune, en Pascal3, j'aurais fait ça en 2 minutes : je trace pour t=0, j'efface, je trace pour t=0.1, j'efface, je trace j'efface, etc. C'était peut-être un peu moche, mais ça fonctionnait et on voyait le truc qui bougeait :)
Y'aurais moyen de faire ce genre de choses avec matplolib ? Le truc est que je ne veux pas générer UN graphique, mais plusieurs et que ça donne une impression d'animation. J'ai l'impression que matplotlib ne me permet "que" de créer des fichiers png ou autres, statiques.
J'ai aussi essayé de mettre du time.sleep entre le tracé de éléments dans tkinter, mais ça trace quand même tout d'un coup.
Des idées ?
Bonne après-midi Laurent
Bonjour Laurent,
Pourquoi faire compliqué ? Dans python-notes-2.pdf, l'excellent tutoriel de Gérard Swinnen disponible à www.framasoft.net/IMG/pdf/python_notes-2.pdf, on trouve un exemple (18.8.3 page 302) d'une balle animée d'un mouvement circulaire dans sa fenêtre. La balle est créée une fois pour toutes sur le "canevas" (méthode create_oval) puis elle est déplacée en modifiant ses propriétés x et y (méthode coords), en fonction du temps (sleep()) Cet exemple ne fait appel qu'à tkinter (ou Tkinter si Python < 3.x) qui est en principe fourni dans le package. Il me semble que cet exemple (36 lignes de code) est facile à adapter : - en créant un objet "point" soit avec un create_oval(x-1, y-1, x+1, y +1), soit avec un create_line(x, y, x+1, y+1) - et en le déplaçant au cours du temps, en fonction de n'importe quelle équation générant des coordonnées (x, y)
HTH
Jean-Pierre
Bonjour
Je cherche à faire des graphiques tout bêtes en python. Je voudrais
donc faire un programme qui génère une fenêtre noire, et pouvoir y
dessiner des lignes et des points en donnant leurs coordonnées.
Lorsque j'étais jeune, je faisais du BASIC sur AppleII, et c'était
facile. Ensuite je suis passé au Pascal3 puis 6 et ça commençait à être
de plus en plus difficile.
Et maintenant en python j'ai l'impression que je vais devoir écrire 100
lignes de code pour définir une fenêtre et le mode graphique qui sera
utilisé dedans, me trompe-je ?
Mes objectifs sont de deux ordres.
1. Pédagogique. Je voudrais initier des enfants à la programmation, et
je trouve très marrant de tracer des graphiques simples avec des points
et des droites.
2. Je voudrais faire l'animation de la courbe
f(x,t)=sin(sqrt(x)t)
Quand j'étais jeune, en Pascal3, j'aurais fait ça en 2 minutes : je
trace pour t=0, j'efface, je trace pour t=0.1, j'efface, je trace
j'efface, etc.
C'était peut-être un peu moche, mais ça fonctionnait et on voyait le
truc qui bougeait :)
Y'aurais moyen de faire ce genre de choses avec matplolib ? Le truc
est que je ne veux pas générer UN graphique, mais plusieurs et que ça
donne une impression d'animation. J'ai l'impression que matplotlib ne me
permet "que" de créer des fichiers png ou autres, statiques.
J'ai aussi essayé de mettre du time.sleep entre le tracé de éléments
dans tkinter, mais ça trace quand même tout d'un coup.
Des idées ?
Bonne après-midi
Laurent
Bonjour Laurent,
Pourquoi faire compliqué ?
Dans python-notes-2.pdf, l'excellent tutoriel de Gérard Swinnen
disponible à www.framasoft.net/IMG/pdf/python_notes-2.pdf, on trouve un
exemple (18.8.3 page 302) d'une balle animée d'un mouvement circulaire
dans sa fenêtre.
La balle est créée une fois pour toutes sur le "canevas" (méthode
create_oval) puis elle est déplacée en modifiant ses propriétés x et y
(méthode coords), en fonction du temps (sleep())
Cet exemple ne fait appel qu'à tkinter (ou Tkinter si Python < 3.x) qui
est en principe fourni dans le package.
Il me semble que cet exemple (36 lignes de code) est facile à adapter :
- en créant un objet "point" soit avec un create_oval(x-1, y-1, x+1, y
+1), soit avec un create_line(x, y, x+1, y+1)
- et en le déplaçant au cours du temps, en fonction de n'importe quelle
équation générant des coordonnées (x, y)
Je cherche à faire des graphiques tout bêtes en python. Je voudrais donc faire un programme qui génère une fenêtre noire, et pouvoir y dessiner des lignes et des points en donnant leurs coordonnées.
Lorsque j'étais jeune, je faisais du BASIC sur AppleII, et c'était facile. Ensuite je suis passé au Pascal3 puis 6 et ça commençait à être de plus en plus difficile. Et maintenant en python j'ai l'impression que je vais devoir écrire 100 lignes de code pour définir une fenêtre et le mode graphique qui sera utilisé dedans, me trompe-je ?
Mes objectifs sont de deux ordres.
1. Pédagogique. Je voudrais initier des enfants à la programmation, et je trouve très marrant de tracer des graphiques simples avec des points et des droites.
2. Je voudrais faire l'animation de la courbe f(x,t)=sin(sqrt(x)t)
Quand j'étais jeune, en Pascal3, j'aurais fait ça en 2 minutes : je trace pour t=0, j'efface, je trace pour t=0.1, j'efface, je trace j'efface, etc. C'était peut-être un peu moche, mais ça fonctionnait et on voyait le truc qui bougeait :)
Y'aurais moyen de faire ce genre de choses avec matplolib ? Le truc est que je ne veux pas générer UN graphique, mais plusieurs et que ça donne une impression d'animation. J'ai l'impression que matplotlib ne me permet "que" de créer des fichiers png ou autres, statiques.
J'ai aussi essayé de mettre du time.sleep entre le tracé de éléments dans tkinter, mais ça trace quand même tout d'un coup.
Des idées ?
Bonne après-midi Laurent
Bonjour Laurent,
Pourquoi faire compliqué ? Dans python-notes-2.pdf, l'excellent tutoriel de Gérard Swinnen disponible à www.framasoft.net/IMG/pdf/python_notes-2.pdf, on trouve un exemple (18.8.3 page 302) d'une balle animée d'un mouvement circulaire dans sa fenêtre. La balle est créée une fois pour toutes sur le "canevas" (méthode create_oval) puis elle est déplacée en modifiant ses propriétés x et y (méthode coords), en fonction du temps (sleep()) Cet exemple ne fait appel qu'à tkinter (ou Tkinter si Python < 3.x) qui est en principe fourni dans le package. Il me semble que cet exemple (36 lignes de code) est facile à adapter : - en créant un objet "point" soit avec un create_oval(x-1, y-1, x+1, y +1), soit avec un create_line(x, y, x+1, y+1) - et en le déplaçant au cours du temps, en fonction de n'importe quelle équation générant des coordonnées (x, y)
HTH
Jean-Pierre
Laurent Claessens
Bonjour Laurent,
Pourquoi faire compliqué ?
Par snobisme :)
Dans python-notes-2.pdf, l'excellent tutoriel de Gérard Swinnen disponible à www.framasoft.net/IMG/pdf/python_notes-2.pdf, on trouve un exemple (18.8.3 page 302) d'une balle animée d'un mouvement circulaire dans sa fenêtre.
Ah oui, ça a l'air d'être le genre de trucs que je cherche. Argh, et en plus j'avais déjà ce manuel dans mes signets !
merci Bonne aprème Laurent
Bonjour Laurent,
Pourquoi faire compliqué ?
Par snobisme :)
Dans python-notes-2.pdf, l'excellent tutoriel de Gérard Swinnen
disponible à www.framasoft.net/IMG/pdf/python_notes-2.pdf, on trouve un
exemple (18.8.3 page 302) d'une balle animée d'un mouvement circulaire
dans sa fenêtre.
Ah oui, ça a l'air d'être le genre de trucs que je cherche.
Argh, et en plus j'avais déjà ce manuel dans mes signets !
Dans python-notes-2.pdf, l'excellent tutoriel de Gérard Swinnen disponible à www.framasoft.net/IMG/pdf/python_notes-2.pdf, on trouve un exemple (18.8.3 page 302) d'une balle animée d'un mouvement circulaire dans sa fenêtre.
Ah oui, ça a l'air d'être le genre de trucs que je cherche. Argh, et en plus j'avais déjà ce manuel dans mes signets !
merci Bonne aprème Laurent
kaeshi wasa
On 31-10-2011, Laurent Claessens wrote:
Bonjour
Je cherche à faire des graphiques tout bêtes en python. Je voudrais donc faire un programme qui génère une fenêtre noire, et pouvoir y dessiner des lignes et des points en donnant leurs coordonnées.
En plus de pygame il y a également le module turtle en standard.
-- kw
On 31-10-2011, Laurent Claessens wrote:
Bonjour
Je cherche à faire des graphiques tout bêtes en python. Je voudrais
donc faire un programme qui génère une fenêtre noire, et pouvoir y
dessiner des lignes et des points en donnant leurs coordonnées.
En plus de pygame il y a également le module turtle en standard.
Je cherche à faire des graphiques tout bêtes en python. Je voudrais donc faire un programme qui génère une fenêtre noire, et pouvoir y dessiner des lignes et des points en donnant leurs coordonnées.
En plus de pygame il y a également le module turtle en standard.
-- kw
LL.Snark
Bonsoir,
En parcourant rapidement le fil, il me semble que personne n'a cité le module "graphics" de J. Zelle. Il est basé sur tk, donc rien besoin de plus que le module et il s'agit d'un simple fichier .py Il est pas trop compliqué, et a pour intérêt de ne pas perdre de temps avec tk si on veut juste faire un dessin. Ce fichier est dispo ici : http://mcsp.wartburg.edu/zelle/python/graphics.py La version est pour Python 3. Il doit y avoir une pour python2 aussi.
Une fois ce module dispo, on peut écrire par exemple :
<code> import graphics as gr import math win = gr.GraphWin("Courbe", 400, 400,autoflushúlse) c=gr.color_rgb(0,0,30) for ang in range(0,1000,5) : win.delete('all') phi=ang/180*math.pi for x in range(400) : y=math.sin(x/20+phi)*(ang%150)+200 win.plotPixel(x,y,c) gr.update() win.close() </code>
(Ce prog fonctionne avec Python 3...)
Il est aussi possible de donner un nouveau syst de coordonnées à la fenêtre avec la méthode setCoord, ce qui peut être pratique pour tracer des courbes.
Bonne soirée.
Bonsoir,
En parcourant rapidement le fil, il me semble que personne n'a cité le
module "graphics" de J. Zelle.
Il est basé sur tk, donc rien besoin de plus que le module et il s'agit
d'un simple fichier .py
Il est pas trop compliqué, et a pour intérêt de ne pas perdre de temps
avec tk si on veut juste faire un dessin.
Ce fichier est dispo ici :
http://mcsp.wartburg.edu/zelle/python/graphics.py
La version est pour Python 3.
Il doit y avoir une pour python2 aussi.
Une fois ce module dispo, on peut écrire par exemple :
<code>
import graphics as gr
import math
win = gr.GraphWin("Courbe", 400, 400,autoflushúlse)
c=gr.color_rgb(0,0,30)
for ang in range(0,1000,5) :
win.delete('all')
phi=ang/180*math.pi
for x in range(400) :
y=math.sin(x/20+phi)*(ang%150)+200
win.plotPixel(x,y,c)
gr.update()
win.close()
</code>
(Ce prog fonctionne avec Python 3...)
Il est aussi possible de donner un nouveau syst de coordonnées à la
fenêtre avec la méthode setCoord, ce qui peut être pratique pour tracer
des courbes.
En parcourant rapidement le fil, il me semble que personne n'a cité le module "graphics" de J. Zelle. Il est basé sur tk, donc rien besoin de plus que le module et il s'agit d'un simple fichier .py Il est pas trop compliqué, et a pour intérêt de ne pas perdre de temps avec tk si on veut juste faire un dessin. Ce fichier est dispo ici : http://mcsp.wartburg.edu/zelle/python/graphics.py La version est pour Python 3. Il doit y avoir une pour python2 aussi.
Une fois ce module dispo, on peut écrire par exemple :
<code> import graphics as gr import math win = gr.GraphWin("Courbe", 400, 400,autoflushúlse) c=gr.color_rgb(0,0,30) for ang in range(0,1000,5) : win.delete('all') phi=ang/180*math.pi for x in range(400) : y=math.sin(x/20+phi)*(ang%150)+200 win.plotPixel(x,y,c) gr.update() win.close() </code>
(Ce prog fonctionne avec Python 3...)
Il est aussi possible de donner un nouveau syst de coordonnées à la fenêtre avec la méthode setCoord, ce qui peut être pratique pour tracer des courbes.