FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Concours de Morpions
par jjn4 Aujourd'hui à 15:08

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 14:58

» Comment changer le graphisme d’un menu
par Yannick Aujourd'hui à 14:53

» Synedit Parameters
par Yannick Aujourd'hui à 13:49

» LIBRARY COMMAND FUNCTION
par Jean Claude Aujourd'hui à 13:38

» OBJECT_PARENT NE FONCTIONNE PLUS ?! (RESOLU)
par Jack Aujourd'hui à 12:40

» Bienvenue à Irikte
par Irikte Aujourd'hui à 12:34

» Menu personalisé avec icones et menu contextuel
par Yannick Aujourd'hui à 12:10

» Doublon - Désolé !
par Laurent (Minibug) Aujourd'hui à 11:55

» Mac OS X sierra
par Irikte Aujourd'hui à 10:01

» Un bug avec USER_EVENT ?
par Jean Claude Hier à 21:04

» Recherche de traductions de mots (@Klaus).
par Pedro Alvarez Hier à 20:34

» Problème avec SendStringAsText.
par Pedro Alvarez Hier à 20:32

» Version instantanée V 0.9.28i10 du 24/06/2017
par Yannick Hier à 18:19

» Mais qui a le focus ?
par Jack Hier à 16:35

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2017
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
2627282930  
CalendrierCalendrier

Partagez | 
 

 nouvelle commande

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
pascal10000

avatar

Nombre de messages : 494
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: nouvelle commande   Mar 3 Mai 2011 - 11:52

bjr Jack

voila en tant que tourneur je voudrait crée un programme
sur la trigonométrie ce qui est bcp utilisé dans ce domaine
mais un inconvénient est présent sur panoramic c'est que
pour convertir les "rad" en "degré" puisque sin(), cos(), tan()
s'exprime en rad ou sinon comment convertir tous en degré
sin(1)=0.8414....... au lieu de 45
sin(45)=0.9509..... au lieu de 1

également pour quant cera la version final de la version 0.921
voir 0.922 de panoramic et pour IDE
merci et a plus tard
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jean_debord

avatar

Nombre de messages : 725
Age : 62
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: nouvelle commande   Mar 3 Mai 2011 - 12:27

La conversion se fait en considérant que 180 degrés = Pi radians donc :

1 degré = Pi / 180 ~ 0.0174532925199433 radian

On peut mettre cette valeur dans une variable (puisqu'en Panoramic il n'y a pas de constantes):

Code:

dim DegToRad
DegToRad = 0.0174532925199433

' La tangente de 45 degrés est égale à 1
print tan(45 * DegToRad)

Autre possibilité : faire une DLL qui apporte les fonctions de conversion.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
Jicehel

avatar

Nombre de messages : 5838
Age : 44
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: nouvelle commande   Mar 3 Mai 2011 - 15:05

Il y a ce sujet http://panoramic.free-boards.net/t1333-dll-eval-nouvelle-version
qui explique comment faire avec le lien sur le site super bien fait pour l'utiliser Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: nouvelle commande   Mar 3 Mai 2011 - 17:07

Voila qui tombe bien pour moi, j'allais devoir potasser ces conversions.
Le truc qui me gène le plus, vu que ma planche à dessin est cassée, et que je fais un programme pour faire du dessin technique, est que les commandes de forme, comme 2d_rectangle, et 2d_circle, remplissent complètement l'espace de la couleur 2d_fill par défaut ou autre, et efface les traits en dessous.
Obligé de faire un rectangle avec 4 droites, et de faire un cercle par un programme. N'étant pas informaticien, il faut que je retrouve la méthode. Je sais qu'un s'agit d'une boucle avec sinus et cosinus! C'est quand-même dommage, qu'on soit obligé de faire un programme pour chaque forme, pour ne dessiner que le périmètre, et que la possibilité transparente n'existe pas. Je ne me souviens pas que les autres basics procédaient ainsi.
Je ferais avec.

Il y aura des essais à faire, avec la nouvelle présentation de "Poster une réponse".
A quoi servent: Spoiler, aléatoire WoW, source
Revenir en haut Aller en bas
jean_debord

avatar

Nombre de messages : 725
Age : 62
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: nouvelle commande   Mer 4 Mai 2011 - 16:52

Pour ce type de tracé c'est l'algorithme de Bresenham qui est généralement recommandé. Il évite d'utiliser les fonctions trigonométriques, qui ralentissent le calcul.

* Algorithme pour tracer des segments :

http://fr.wikipedia.org/wiki/Algorithme_de_trac%C3%A9_de_segment_de_Bresenham

* Algorithme pour tracer des cercles :

http://fr.wikipedia.org/wiki/Algorithme_de_trac%C3%A9_d%27arc_de_cercle_de_Bresenham
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
pascal10000

avatar

Nombre de messages : 494
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: nouvelle commande   Mer 4 Mai 2011 - 21:08

merci a tous pour votre aide et je vais pouvoir
finir mon programe
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: nouvelle commande   Jeu 5 Mai 2011 - 0:00

Merci jean_debord.
Mais j'ai quitter le CET en 1966. Et maintenant on ne voit que des formules avec des signes qu'on apprenait pas dans un CET (collège d'enseignement technique).

Je ne vois pas ce que je peux faire avec.

J'ai essayé avec ceci:
Code:
dim x,y,a  ,re,yc,xc,pi
xc=200:yc=200:re=50

pi= 3.1416
picture 1:full_space 1:2d_target_is 1:2d_fill_color 255,0,0
2D_PEN_COLOR 0, 0, 0
FOR a = -3.1416 TO pi STEP 0.01
    x = xc + re*COS(a): y = yc + re*SIN(a)
    2D_circle x, y ,1
NEXT a
pour dessiner un cercle. Le 2d_point, c'est pas formidable. Si l'un d'entre-vous a une formule plus rapide en Panoramic, je suis preneur.

Merci d'avance.
Revenir en haut Aller en bas
JL35



Nombre de messages : 5882
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: nouvelle commande   Jeu 5 Mai 2011 - 0:30

Si je comprends bien cosmos, tu dessines ton cercle point par point, en dessinant à chaque point un petit cercle, ce qui est très long.
Tu peux tracer ton cercle en dessinant de petits segments de droite tout le tour, à mon avis c'est bien plus rapide:
Code:
dim x,y,a,xa,ya,re,yc,xc,pas,pi
xc=200:yc=200:re=50
pi = 4*ATN(1)

pas = 1: IF re>20 THEN pas = 10/re: ' pas= angle en radians correspondant à chaque segment
x = xc+re: y = yc
FOR a = pas TO 2*pi+pas STEP pas
    xa = xc+re*COS(a): ya = yc+re*SIN(a): 2D_LINE x,y,xa,ya: x=xa: y=ya
NEXT a
end
Plus il y a de segments (variable pas), plus le cercle sera précis.
Plus le rayon est grand, plus il faut de segments.
C'est à ajuster en fonction de la précision souhaitée. Ainsi si on met 5/re au lieu de 10/re c'est très satisfaisant à mon avis.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: nouvelle commande   Jeu 5 Mai 2011 - 0:59

Merci pour ton code. Effectivement cela va plus vite.

J'ai vu que dans mon code, il y avait 2d_fill_color 255,0,0 qui ne servait à rien.
Il avait fallu que je face des essais pour retrouver la méthode, et la tienne est plus rapide.
C'est dommage qu'il n'y a pas d'instruction pour dessiner un simple cercle. Est-ce en prévision, je ne crois pas.

Merci et bonne nuit Sleep
Revenir en haut Aller en bas
JL35



Nombre de messages : 5882
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: nouvelle commande   Jeu 5 Mai 2011 - 11:42

Effectivement ça a déjà été demandé (par moi entre autres... Very Happy ) , de pouvoir tracer une figure (rectangle ou cercle) sans remplissage, mais enfin on peut s'en sortir comme ça pour le cercle, et avec 2D_LINE et 2D_POLY_TO pour le rectangle, ou une figure quelconque.

Evidemment les algorithmes de Jean-Debord sont beaucoup plus précis et sophistiqués (et intéressants à connaître, merci Jean-Debord), ça dépend de ce qu'on veut faire. Si c'est seulement pour tracer une figure dans un picture, la méthode rustique suffit. Par contre si c'est pour piloter une machine-outil, là c'est autre chose.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: nouvelle commande   

Revenir en haut Aller en bas
 
nouvelle commande
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» nouvelle commande
» Nouvelle télécommande Bbox Universelle: Bbox Control One
» Photo de la nouvelle télécommande Bbox TV
» CES 2014 : Samsung dévoile la nouvelle télécommande de ses téléviseurs HD
» pb télécommande nouvelle interface

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Vos souhaits d'amélioration de Panoramic-
Sauter vers: