Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| nouvelle commande | |
| | Auteur | Message |
---|
pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: nouvelle commande Mar 3 Mai 2011 - 10: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
| |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: nouvelle commande Mar 3 Mai 2011 - 11: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. | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: nouvelle commande Mar 3 Mai 2011 - 14:05 | |
| | |
| | | Invité Invité
| Sujet: Re: nouvelle commande Mar 3 Mai 2011 - 16: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 |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: nouvelle commande Mer 4 Mai 2011 - 15:52 | |
| | |
| | | pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: Re: nouvelle commande Mer 4 Mai 2011 - 20:08 | |
| merci a tous pour votre aide et je vais pouvoir finir mon programe | |
| | | Invité Invité
| Sujet: Re: nouvelle commande Mer 4 Mai 2011 - 23: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. |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: nouvelle commande Mer 4 Mai 2011 - 23: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. | |
| | | Invité Invité
| Sujet: Re: nouvelle commande Mer 4 Mai 2011 - 23: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 |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: nouvelle commande Jeu 5 Mai 2011 - 10:42 | |
| Effectivement ça a déjà été demandé (par moi entre autres... ) , 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. | |
| | | Contenu sponsorisé
| Sujet: Re: nouvelle commande | |
| |
| | | | nouvelle commande | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |