FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Roues dentées Emptypar Pedro Hier à 10:37

» Un autre pense-bête...
Roues dentées Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Roues dentées Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Roues dentées Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Roues dentées Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Roues dentées Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Roues dentées Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Roues dentées Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Roues dentées Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Roues dentées Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Roues dentées Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Roues dentées Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Roues dentées Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Roues dentées Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Roues dentées Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

 

 Roues dentées

Aller en bas 
+2
papydall
JL35
6 participants
AuteurMessage
JL35




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

Roues dentées Empty
MessageSujet: Roues dentées   Roues dentées EmptySam 7 Juil 2018 - 17:05

Encore une petite sub (je précise: toute simple et sans prétentions !):
Code:
DIM x%,y%,xc%,yc%,dout%,dint%,rout%,rint%,nde%,an%,t%
PICTURE 1: FULL_SPACE 1: 2D_TARGET_IS 1
xc% = 250: yc% = 200
dout% = 300: ' diamètre extérieur
dint% = 100: ' diamètre intérieur
nde% = 30: ' nombre de dents (ajustable par la sub)
Roue_dentee(xc%,yc%,dout%,dint%,nde%)
2D_FLOOD xc%,yc%,255,255,0
END

SUB Roue_dentee(xc%,yc%,dex%,din%,nde%)
  ' Dessin d'un roue dentée avec les paramètres courants (couleur, épaisseur etc.)
  ' Centrée en xc%,yc%, diamètres ext. dex% et int. din%, nombre de dents nbe%
  ' NB le nombre de dents peut être ajusté (en plus) par la sub pour un rebouclage
  '    régulier des dents.
  DIM_LOCAL x%,y%,rex%,rin%,an%,t%
  rex% = dex%/2: rin% = din%/2
  ' ajustage éventuel du nombre de dents pour rebouclage correct
  an% = 360/nde%: WHILE an%<>360/nde%: nde%=nde%+1: an%=360/nde%: END_WHILE
  DEGREES
  2D_POLY_FROM xc%+rex%,yc%
  FOR t% = an% TO 360 STEP an%
      x% = xc%+rin%*COS(t%-an%/2): y% = yc%-rin%*SIN(t%-an%/2)
      2D_POLY_TO x%,y%
      x% = xc%+rex%*COS(t%): y% = yc%-rex%*SIN(t%)
      2D_POLY_TO x%,y%
  NEXT t%
END_SUB
On peut évidemment tester tous les paramètres: couleur, épaisseur, dimensions.
Mon idée de départ c'était des engrenages qui tournent imbriqués l'un dans l'autre, mais j'en reste au B A BA
(même si je me doute bien que vous-mêmes n'en resterez pas babas !)
L'exemple ci-dessus:
Roues dentées Dents10

Une petite variante (justement concernant les engrenages): on ajoute en paramètre l'angle de départ de la 1ère dent,
pour un emboîtage correct avec un autre engrenage éventuel:
Code:
DIM x%,y%,xc%,yc%,dout%,dint%,rout%,rint%,nde%,an%,t%
DIM da%
PICTURE 1: FULL_SPACE 1: 2D_TARGET_IS 1
2D_PEN_WIDTH 2
xc% = 250: yc% = 200
dout% = 300: ' diamètre extérieur
dint% = 260: ' diamètre intérieur
nde% = 30: ' nombre de dents (ajustable par la sub)
da% = 0: ' angle de départ
Roue_dentee(xc%,yc%,dout%,dint%,nde%,da%)
2D_CIRCLE xc%,yc%,20
xc% = 435
dout% = 100
dint% = 60
nde% = 10
da% = 20: ' angle de départ
Roue_dentee(xc%,yc%,dout%,dint%,nde%,da%)
2D_CIRCLE xc%,yc%,10
END

SUB Roue_dentee(xc%,yc%,dex%,din%,nde%,da%)
  ' Dessin d'un roue dentée avec les paramètres courants (couleur, épaisseur etc.)
  ' Centrée en xc%,yc%, diamètres ext. dex% et int. din%, nombre de dents nbe%
  ' da% = angle de départ (decgrés) de la 1ère dent, à l'extrême droite.
  ' si da% = 0: la dent est horizontale.
  ' NB le nombre de dents peut être ajusté (en plus) par la sub pour un rebouclage
  '    régulier des dents.
  DIM_LOCAL x%,y%,rex%,rin%,an%,t%
  rex% = dex%/2: rin% = din%/2
  ' ajustage éventuel du nombre de dents pour rebouclage correct
  an% = 360/nde%: WHILE an%<>360/nde%: nde%=nde%+1: an%=360/nde%: END_WHILE
  DEGREES
  x% = xc%+rex%*COS(da%): y% = yc%-rex%*SIN(da%): ' pointe de la dent de départ
  2D_POLY_FROM x%,y%
  FOR t% = an%+da% TO 360+da% STEP an%
      x% = xc%+rin%*COS(t%-an%/2): y% = yc%-rin%*SIN(t%-an%/2)
      2D_POLY_TO x%,y%
      x% = xc%+rex%*COS(t%): y% = yc%-rex%*SIN(t%)
      2D_POLY_TO x%,y%
  NEXT t%
END_SUB
Roues dentées Dents210
C'est peut-être un peu grossier, mais ça peut être une idée de départ.
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Roues dentées Empty
MessageSujet: Re: Roues dentées   Roues dentées EmptyDim 8 Juil 2018 - 2:38

JL35 a écrit:
C'est peut-être un peu grossier, mais ça peut être une idée de départ.


C’est aussi un peu grossier, mais ça peut être une idée d’arrivée. scratch


Roues dentées Roue10



Code:

rem ============================================================================
rem                   Roue dentée
rem ============================================================================
dim xc,yc,r
picture 10 : full_space 10 : 2d_target_is 10
xc = width_client(10) / 2 : yc = height_client(10) / 2 : r = 150

Roue_Dentee(xc,yc,r)
end
rem ============================================================================
SUB Roue_Dentee(xc,yc,r)
    dim_local a,p
    degrees
    p = 360/r*10
    2d_pen_width 20 : 2d_circle xc,yc,r
    for a = 0 to 360 step p
        2d_arc xc,yc,r+16,a,a-p/3
    next a
'    2d_flood xc,yc,250,150,50
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

Roues dentées Empty
MessageSujet: Re: Roues dentées   Roues dentées EmptyDim 8 Juil 2018 - 11:05

Pas mal et bien plus succinct comme code (et résultat plus esthétique), mais pas tout à fait le même usage (tu ne choisis pas le nombre de dents).

Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Roues dentées Empty
MessageSujet: Re: Roues dentées   Roues dentées EmptyDim 8 Juil 2018 - 11:22

Bonjour à tous !

Une autre idée de roue dentée :
Source extrait de mon programme inachevé >> ICI <<

Roues dentées 112

Code:
DIM t,n,p,a,r,y,y1,x,x1,z,o

p=4
n=10
a=1
r=3
z=26
o=150

    FOR t=1 to 360 STEP 0.1
        y=((POWER(SIN(t*n),p)*a+r)/(SQR(POWER(TAN(t),2)+1)))
        x=tan(t)*y
        y1=(y*-1)
        x1=(x*-1)
           2D_POINT z*x+o,z*y+o
           2D_POINT z*x1+o,z*y1+o
    NEXT t
END  

Bonne journée ensoleillée à tous !
Revenir en haut Aller en bas
JL35




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

Roues dentées Empty
MessageSujet: Re: Roues dentées   Roues dentées EmptyDim 8 Juil 2018 - 11:36

Ah ouais, pas mal, ça ressemble plus à un engrenage que les miennes, avec les lignes arrondies.
Bravo Marc, tu as bien mérité ton farniente au soleil ce dimanche ! (enfin, j'anticipe un peu...)
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Roues dentées Empty
MessageSujet: Re: Roues dentées   Roues dentées EmptyDim 8 Juil 2018 - 11:52

Merci !

Quelques précisions :

p= puissance du sinus
n=nombre de dents/2
a=hauteur des dents
r=rayon
z=zoom
o=offset de dessin x et y, que l'on peut séparer par deux valeurs distinctes x et y.

Pour plus de précision, on peut utiliser des nombres à virgule pour affiner le dessin.

Quant à faire tourner tout ça, avec les dents qui s’emboîtent, à mon idée, l'idéal en Panoramic aurait été le moteur 3D avec la fonction 3D_PLANE (voir >>ICI<<) qui permet une vitesse variable et fluidité parfaite... MAIS il manque une couleur de transparence comme en 2D pour pouvoir le faire. Crying or Very sad

Bonne continuation !
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Roues dentées Empty
MessageSujet: Re: Roues dentées   Roues dentées EmptyDim 8 Juil 2018 - 13:50

Bon, j’apporte ma scie circulaire.
Ça pourrait servir  pour tronçonner vos roues dentées.


Code:

rem ============================================================================
rem          Scie circulaire
rem ============================================================================

picture 10 : full_space 10 : 2d_target_is 10

2d_pen_width 5 : Scie_Circulaire(250,200,150)
' 2d_pen_width 2 : Scie_Circulaire(50,100,30)
' 2d_pen_width 3 : Scie_Circulaire(500,300,50)
end
rem ============================================================================
' xc,yc : centre de la scie circulaire
' r : rayon de le scie circulaire
SUB Scie_Circulaire(xc,yc,r)
    dim_local x,y,rho,t
    degrees
    2d_poly_from xc+r,yc
    for t = 0 to 360
        rho = 1/cos(t-30*int(t/30)) :  ' changer le 30 par 20 pour voir ...
        x = xc + r * rho * cos(t) : y = yc - r * rho * sin(t)
        2d_poly_to x,y
    next t        
END_SUB


Roues dentées Scie10
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

Roues dentées Empty
MessageSujet: Re: Roues dentées   Roues dentées EmptyLun 9 Juil 2018 - 17:56

Alors là papydall, je suis scié !
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Roues dentées Empty
MessageSujet: Re: Roues dentées   Roues dentées EmptyLun 9 Juil 2018 - 18:39

lol! lol! lol!
Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Roues dentées Empty
MessageSujet: Re: Roues dentées   Roues dentées EmptyMar 10 Juil 2018 - 9:14

Marc a écrit:

Pour plus de précision, on peut utiliser des nombres à virgule pour affiner le dessin.

Des nombres à virgule pour exprimer les coordonnées des points ? Cela peut se faire avec FLTK ou OpenGL.
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Roues dentées Empty
MessageSujet: Re: Roues dentées   Roues dentées EmptyMar 10 Juil 2018 - 10:05

Jean_debord a écrit:
Des nombres à virgule pour exprimer les coordonnées des points ? Cela peut se faire avec FLTK ou OpenGL.

Non Jean, bien sûr ce n'est pas pour les coordonnées des points mais pour les variables internes aux formules de calcul de la forme : p,a,r et z.
Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Roues dentées Empty
MessageSujet: Re: Roues dentées   Roues dentées EmptyMar 10 Juil 2018 - 11:30

OK Smile

Avec OpenGL on définit les coordonnées des points sous forme de nombres réels, ce qui permet d'appliquer diverses transformations (rotations etc.) en évitant au maximum les erreurs d'arrondi. Ce n'est qu'à la fin, au moment d'afficher le graphique, que les coordonnées sont traduites en nombres de pixels. Cela permet des graphiques plus précis.
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
mindstorm

mindstorm


Nombre de messages : 685
Age : 55
Localisation : charente
Date d'inscription : 13/02/2013

Roues dentées Empty
MessageSujet: Re: Roues dentées   Roues dentées EmptyJeu 19 Juil 2018 - 19:25

Bonsoir a tous
@ jean
Est il possible d'utiliser Open GL avec panoramic?
Je n'ai rien vue passer!
merci
Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Roues dentées Empty
MessageSujet: Re: Roues dentées   Roues dentées EmptySam 21 Juil 2018 - 10:40

Je n'ai rien vu passer non plus, et je ne crois pas que ce soit possible en Panoramic "pur". Il faudrait sans doute faire une DLL avec FreeBASIC ou Delphi.
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Contenu sponsorisé





Roues dentées Empty
MessageSujet: Re: Roues dentées   Roues dentées Empty

Revenir en haut Aller en bas
 
Roues dentées
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Roues dentées... qui tournent

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: