un cercle en basic

Des MO et des TO...

Modérateur : Politburo

Répondre
Invité

un cercle en basic

Message par Invité » 10 avr. 2006 15:26

ue question toute bête : commen on dessien un cercle (et non un disque) en basic mo5?

Petite remarque : il y a peu de site sur la programmation basic mo5! Le seul site interessant est celui de dcmoto mais là encore toutes les livres ne sont pas scannés. Au passage, j'ai chez moi des revues spéciale sur les mo5 et to7 (j'en ai plusieur numéro). Quand on comment les lecteur et les journaliste se déchaînaient avec le basic et maintenant il n'y a même pas de site à ce sujet. snif.

Avatar de l’utilisateur
fabrice93fr
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4135
Inscription : 28 mai 2002 15:45
Localisation : noisy le grand
Contact :

Message par fabrice93fr » 10 avr. 2006 15:39

a ma connaissance en basic MO5 ce n'est pas possible ou alors avec l'extension basic QDOS peut etre (cas des TO7 instruction "circle")
Fabrice93fr fait rien qu a dire des bétises
Troll a mi-temps

Avatar de l’utilisateur
James
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 1090
Inscription : 10 sept. 2003 13:02
Localisation : Alsace - Terre - Fédération des planètes Unies
Contact :

Message par James » 10 avr. 2006 15:45

bah utilise les fonctions mathématiques ;)
--------------> Recherche Atari 400/800, TO9+, Goupil

Avatar de l’utilisateur
foolduplex
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 627
Inscription : 02 oct. 2002 23:06
Localisation : Lausanne, Suisse
Contact :

Message par foolduplex » 10 avr. 2006 15:46

L'instruction CIRCLE existe sur :

- BASIC 128 (TO7-70, MO6, TO9)
- BASIC 512 (TO8, TO9+)
- BASIC 1.0 avec les complements suivants : DOS disquette 3"1/2, 5"1/4, QDD et nanoreseau (autres machines)

Elle n'existe pas sur :

- BASIC 1.0 tout seul (toutes machines)

Syntaxe : CIRCLE(X,Y),R avec X et Y les coordonnees et R le rayon.

Fool

Avatar de l’utilisateur
SbM
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4439
Inscription : 24 nov. 2004 22:49
Localisation : SQY (78), France
Contact :

Message par SbM » 10 avr. 2006 16:48

Allez, on va voir si je me souviens encore bien de mon Locomotive Basic ;-) :

10 FOR I=0 TO 360
20 PLOT 160+40*cos(I),100+40*sin(I)
30 NEXT I

Ceci pour un cercle de 40 pixels de rayon.

Ça remonte à plus de vingt ans, alors s'il y a des erreurs n'hésitez pas, hein !
http://sbm.ordinotheque.free.fr | http://www.mo5.com
"Un bon disque dur est un disque dur mort." (Général Cluster)

Potrzebie
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 10731
Inscription : 09 mars 2003 17:23
Localisation : Vendée - France
Contact :

Message par Potrzebie » 10 avr. 2006 16:50

ca marche en 32bits ?
Image

Avatar de l’utilisateur
Christian
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1607
Inscription : 08 déc. 2005 13:16
Localisation : (34)

Message par Christian » 10 avr. 2006 16:51

SbM a écrit :Allez, on va voir si je me souviens encore bien de mon Locomotive Basic ;-) :

10 FOR I=0 TO 360
20 PLOT 160+40*cos(I),100+40*sin(I)
30 NEXT I

Ceci pour un cercle de 40 pixels de rayon.

Ça remonte à plus de vingt ans, alors s'il y a des erreurs n'hésitez pas, hein !
Questions: L'instruction plot existe en basic MO5 ?
Les arguments de sin et cos sont des degrés ou des radians ?
...
Je vais reflechir neanmoins encore.

Avatar de l’utilisateur
SbM
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4439
Inscription : 24 nov. 2004 22:49
Localisation : SQY (78), France
Contact :

Message par SbM » 10 avr. 2006 16:51

Potrzebie a écrit :ca marche en 32bits ?
Du moment que t'utilises pas des nombres négatifs en hexa, oui ;-)
Dernière édition par SbM le 10 avr. 2006 16:54, édité 1 fois.
http://sbm.ordinotheque.free.fr | http://www.mo5.com
"Un bon disque dur est un disque dur mort." (Général Cluster)

Avatar de l’utilisateur
SbM
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4439
Inscription : 24 nov. 2004 22:49
Localisation : SQY (78), France
Contact :

Message par SbM » 10 avr. 2006 16:52

Christian a écrit :
SbM a écrit :Allez, on va voir si je me souviens encore bien de mon Locomotive Basic ;-) :

10 FOR I=0 TO 360
20 PLOT 160+40*cos(I),100+40*sin(I)
30 NEXT I

Ceci pour un cercle de 40 pixels de rayon.

Ça remonte à plus de vingt ans, alors s'il y a des erreurs n'hésitez pas, hein !
Questions: L'instruction plot existe en basic MO5 ?
Les arguments de sin et cos sont des degrés ou des radians ?
Ah ben c'est qu'un exemple, hein, je connais que le CPC niveau BASIC. Donc faut peut-être adapter pour Thomson (genre peut-être PSET au lieu de PLOT).

Sur l'Amstrad, je crois que c'était degrés par défaut.
http://sbm.ordinotheque.free.fr | http://www.mo5.com
"Un bon disque dur est un disque dur mort." (Général Cluster)

Avatar de l’utilisateur
Christian
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1607
Inscription : 08 déc. 2005 13:16
Localisation : (34)

Message par Christian » 10 avr. 2006 16:53

Je continue d'être pénible. Pour les pixels : les dimensions verticale et horizontales sont elle identiques ? Sinon, ça fera une ellipse;)
...
Je vais reflechir neanmoins encore.

Avatar de l’utilisateur
fabrice93fr
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4135
Inscription : 28 mai 2002 15:45
Localisation : noisy le grand
Contact :

Message par fabrice93fr » 10 avr. 2006 17:12

Christian a écrit :Je continue d'être pénible. Pour les pixels : les dimensions verticale et horizontales sont elle identiques ? Sinon, ça fera une ellipse;)
tu as un ecran carré toi ?

:wink:


sinon c'est bien pset pour TO
Fabrice93fr fait rien qu a dire des bétises
Troll a mi-temps

Avatar de l’utilisateur
Christian
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1607
Inscription : 08 déc. 2005 13:16
Localisation : (34)

Message par Christian » 10 avr. 2006 17:26

fabrice93fr a écrit :
sinon c'est bien pset pour TO
Et en basic pour alice, ça n'existe pas, snif
...
Je vais reflechir neanmoins encore.

Invité

Message par Invité » 10 avr. 2006 17:39

j'ai testé le programme et ça marche (j'ai remplacé plot par pset).
En revanche c'est long! on peut toujours remplacer le 360 par une 50 par exemple et on obtient le cercle sans tout les tracé des points (on devine la forme)
Merci, je vais pouvoir continuer mon programme!

Avatar de l’utilisateur
foolduplex
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 627
Inscription : 02 oct. 2002 23:06
Localisation : Lausanne, Suisse
Contact :

Message par foolduplex » 10 avr. 2006 17:40

ah, ah, ah :lol: on se marre bien ici (32 bits, hexa negatif ...)

Sur thomson : parametres de sin et cos en radians (0 a 2*Pi), et c'est PSET qu'il faut utiliser : PSET(X,Y),C ou C est la couleur entre -16 et 15.

les pixels carres, ca depend de la maniere dont ton ecran est regle ... il y a souvent une molette a l'arriere pour regler la hauteur de l'image.

Fool

Avatar de l’utilisateur
foolduplex
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 627
Inscription : 02 oct. 2002 23:06
Localisation : Lausanne, Suisse
Contact :

Message par foolduplex » 10 avr. 2006 17:45

En revanche c'est long!
C'est clair, la trigo c'est pas le bon plan pour faire des cercles. Mais tu pourrais deja ameliorer ton code en considerant le fait qu'un cercle est symetrique dans les deux dimensions. Donc tu n'as qu'a calculer le premier quadrant et reporter symetriquement les points sur les 3 quadrants restants. Tu calculeras ainsi 4 fois moins de sin/cos.

L'ideal etant evidemment de se passer completement des sin/cos et, encore mieux, de tout calculer avec des nombres entiers.

Fool

Répondre

Revenir vers « Thomson »