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.
Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 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
Le deal à ne pas rater :
LEGO Icons 10331 – Le martin-pêcheur
35 €
Voir le deal

 

 Logiciel de dessin (esquissage) en 8 lignes seulement!!

Aller en bas 
+4
Nardo26
Klaus
JL35
lodchjo
8 participants
Aller à la page : Précédent  1, 2, 3, 4  Suivant
AuteurMessage
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 8:19

Bonjour à tous les panoramiciens Very Happy
Bon je remet ici le même source que j'ai corrigé et débarrassé de quelques instructions qui ne servaient à rien.
D'abord celui avec lequel il faut cliquer en premier le bouton gauche pour commencer à tracer le trait, puis le bouton droit pour arrêter le trait.
Code:
dim xd,yd,xf,yf,xv,yv,cok,cno
label trait,fin
full_space 0:picture 1:full_space 1
image 100:on_close 0,fin
timer 99:timer_interval 99,1:on_timer 99,trait
end

trait:
timer_off 99:cok=mouse_left_down(1)
if cok=1
xd=mouse_x_left_down(1):yd=mouse_y_left_down(1)
else
  timer_on 99:return
end_if
' 2d_pen_width 1:2d_pen_color 0,0,200:2d_pen_dash
2d_pen_width 3:2d_pen_color 0,0,200
2d_image_copy 100,0,0,width(1),height(1)
while cok=1
  xf=mouse_x_position(1):yf=mouse_y_position(1)
  if xf<>xv or yf<>yv
      2d_image_paste 100,0,0:2d_line xd,yd,xf,yf:xv=xf:yv=yf:wait 500
  end_if
  if mouse_right_up(1)=1 then exit_while
end_while
timer_on 99
return

fin:
terminate

Ensuite celui avec lequel, on maintient le bouton gauche enfoncé pour tracer le trait, puis quand on le relache le trait stoppe.
Code:
dim xd,yd,xf,yf,xv,yv,cok,cno
label trait,fin
full_space 0:picture 1:full_space 1
image 100:on_close 0,fin
timer 99:timer_interval 99,1:on_timer 99,trait
end

trait:
timer_off 99:cok=mouse_left_down(1)
if cok=1
xd=mouse_x_left_down(1):yd=mouse_y_left_down(1)
else
  timer_on 99:return
end_if
' 2d_pen_width 1:2d_pen_color 0,0,200:2d_pen_dash
2d_pen_width 3:2d_pen_color 0,0,200
2d_image_copy 100,0,0,width(1),height(1)
while cok=1
  xf=mouse_x_position(1):yf=mouse_y_position(1)
  if xf<>xv or yf<>yv
      2d_image_paste 100,0,0:2d_line xd,yd,xf,yf:xv=xf:yv=yf:wait 500
  end_if
  if mouse_left_up(1)=1 then exit_while
end_while
timer_on 99
return

fin:
terminate
bien entendu, vous pouvez ajuster la valeur du wait qui est à 500. A vous de voir!
Vous pouvez toujours remplacer le line par rectangle!
Bonne journée à tous! Wink
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 10:03

J'peux pas tester (boulot), mais je le fais ce soir Smile
Revenir en haut Aller en bas
JL35




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

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 15:06

Oui bignono, c'est très intéressant, pour tracer une droite.
Parlons de ton second exemple (j'ai juste mis le wait à 100, c'est bien mieux).
Je clique du gauche, je maintiens enfoncé et je déplace la souris, l'extrémité de la droite suit, et se fixe quand je relâche le bouton.
Très bien, ça permet de tracer avec précision et de manière intuitive une ligne droite.

Mais je parlais de cliquer, puis tracer une ligne courbe ou des boucles en continu, puis relâcher pour arrêter.

Là on n'a que des droites.
Mais je confirme, c'est très intéressant, pour faire des polygones, des figures ouvertes ou fermées composées de lignes droites.
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 15:16

Est-ce que cette page peut t'aider ?
http://math.15873.pagesperso-orange.fr/Cercl3p.html
Revenir en haut Aller en bas
JL35




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

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 16:07

@jicehel j'ai pas encore regardé ta page

@bignono j'ai un peu bricolé ton code génial pour dessiner un trait libre, finalement c'est pas mal ton truc:
Code:
dim xd,yd,xf,yf,xv,yv,typ
label trait, libre
width 0, 800:picture 1:full_space 1
2d_pen_width 3:2d_pen_color 0,0,200
image 100
timer 99:timer_interval 99,1
typ = 1: ' droite
typ = 2: ' trait libre
select typ
    case 1: on_timer 99, trait
    case 2: on_timer 99, libre
end_select
end

trait:
timer_off 99: if mouse_left_down(1)=0 then timer_on 99: return
xd=mouse_x_left_down(1):yd=mouse_y_left_down(1)
2d_image_copy 100,0,0,width(1),height(1)
while mouse_left_up(1)=0
    xf=mouse_x_position(1):yf=mouse_y_position(1)
    if xf<>xv or yf<>yv
        2d_image_paste 100,0,0:2d_line xd,yd,xf,yf:xv=xf:yv=yf:wait 100
    end_if
end_while
timer_on 99
return

libre:
timer_off 99: if mouse_left_down(1)=0 then timer_on 99: return
xd=mouse_x_left_down(1):yd=mouse_y_left_down(1)
2d_image_copy 100,0,0,width(1),height(1)
while mouse_left_up(1)=0
    xf=mouse_x_position(1):yf=mouse_y_position(1)
    if xf<>xd or yf<>yd
        2d_line xd,yd,xf,yf:xd=xf:yd=yf:wait 100
    end_if
end_while
timer_on 99
return
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

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 16:28

Pas mal pour entraîner les seniors au maniement de la souris Very Happy
Revenir en haut Aller en bas
JL35




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

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 16:38

Tu parles en connaissance de cause ? Very Happy
Vachement bien ce petit bout de code de bignono, tiens, en un peu plus élaboré:
Code:
dim xd,yd,xf,yf,xv,yv,typ, i%
label attente, trait, rectangle, libre
width 0, 800: color 0,128,255,255
picture 1:top 1, 35: height 1, height(0)-75: width 1, width(0)-16
container_option 2: height 2,35: WIDTH 2, 340: caption 2," Figures "
option 3: parent 3, 2: top 3, 15: left 3, 10: caption 3, "Trait"
option 4: parent 4, 2: top 4, 15: left 4, 90: caption 4, "Rect.vide"
option 5: parent 5, 2: top 5, 15: left 5, 170: caption 5, "Rect.plein"
option 6: parent 6, 2: top 6, 15: left 6, 250: caption 6, "Libre"
mark_on 4
2d_target_is 1: 2d_pen_width 3:2d_pen_color 0,0,200
image 100
timer 99:timer_interval 99,100: on_timer 99, attente

end

attente:
if mouse_left_down(1)=0 then return
FOR i% = 3 TO 6
    IF CHECKED(i%) = 1 THEN typ = i%-2: EXIT_FOR
NEXT i%
SELECT typ
    CASE 1: GOSUB trait
    CASE 2: GOSUB rectangle: ' vide
    CASE 3: GOSUB rectangle: ' plein
    CASE 4: GOSUB libre
    ' ... etc.
END_SELECT
RETURN

trait:
timer_off 99
xd=mouse_x_left_down(1):yd=mouse_y_left_down(1)
2d_image_copy 100,0,0,width(1),height(1)
while mouse_left_up(1)=0
    xf=mouse_x_position(1):yf=mouse_y_position(1)
    if xf<>xv or yf<>yv
        2d_image_paste 100,0,0: 2d_line xd,yd,xf,yf:xv=xf:yv=yf:wait 100
    end_if
end_while
timer_on 99
return

rectangle:
timer_off 99
xd=mouse_x_left_down(1):yd=mouse_y_left_down(1)
2d_image_copy 100,0,0,width(1),height(1)
while mouse_left_up(1)=0
    xf=mouse_x_position(1):yf=mouse_y_position(1)
    if xf<>xv or yf<>yv
        2d_image_paste 100,0,0
        IF checked(5) = 1
            2d_rectangle xd,yd,xf,yf: ' plein
        ELSE
            2D_LINE xd,yd,xf,yd: 2d_poly_to xf,yf: 2d_poly_to xd,yf: 2d_poly_to xd,yd
        END_IF
        xv=xf:yv=yf:wait 100
    end_if
end_while
timer_on 99
return


libre:
timer_off 99
xd=mouse_x_left_down(1):yd=mouse_y_left_down(1)
2d_image_copy 100,0,0,width(1),height(1)
while mouse_left_up(1)=0
    xf=mouse_x_position(1):yf=mouse_y_position(1)
    if xf<>xd or yf<>yd
        2d_line xd,yd,xf,yf:xd=xf:yd=yf:wait 100
    end_if
end_while
timer_on 99
return
bizarrement, j'ai mis le timer_interval à 100 et le wait à 100, mais si on essaie d'autres valeurs ça n'a pas l'air de changer grand chose...
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

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 16:43

Ha çà évolue, t'es parti pour recommencer un logiciel de dessin Razz
Revenir en haut Aller en bas
lodchjo

lodchjo


Nombre de messages : 162
Age : 53
Localisation : Anvers
Date d'inscription : 26/12/2011

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 16:49

Ce qui a commencé par 8 lignes a bien evolué, j'en suis content! Very Happy
Et le trait libre marche bien aussi. Dommage du scintillement, mais pt-être qu'un jour, Jack trouvera la solution! Wink
Revenir en haut Aller en bas
http://lode.weebly.com
JL35




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

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 16:52

Le scintillement, je ne le trouve pas trop gênant... et ça me paraît presque normal, vu lle nombre de fois qu'il faut rafraîchir l'écran.
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 18:19

Bonsoir à tous, Smile
Eh ben, je m'absente quelques heures, et quand je reviens, mon petit bout de code est génial, et en plus JL35 il en a déjà fait un petit programme de dessin!
Vous perdez pas votre temps les gars! lol!
Revenir en haut Aller en bas
JL35




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

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 18:26

C'est bien connu, quand on a de bonnes bases...
(et aussi pas grand chose d'autre à faire Very Happy)
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 18:43

Ah! t'as pas grand chose d'autre à faire? Ben ça tombe bien! Laughing Je ne sais pas comment faire pour tracer un rectangle en biais.
C'est à dire à lui faire faire une rotation! Quand avec mon bout de code tu traces une ligne simple, tu peux avec la souris déterminer son point d'arrivée à n'importe quel point de ton espace de dessin.
Moi ce que je cherche à faire, c'est si j'ai un rectangle d'une hauteur fixe (par exemple 150 pixels), il faut qu'en bougeant ma souris, j'allonge ce rectangle à la longueur que je désire, mais aussi le mettre dans la position que je veux! Saisis-tu le problème? Pour moi c'est pas simple, et il faut que je calcule l'angle dans le quel se trouve le pointeur de ma souris.
A+ et te prend pas la tête avec mes problèmes! Merci Wink
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

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 20:00

Citation :
Ah! t'as pas grand chose d'autre à faire? Ben ça tombe bien! Je ne sais pas comment faire pour tracer un rectangle en biais.

Hihi ! pauvre JL35
Revenir en haut Aller en bas
JL35




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

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 20:50

Je voulais dire pas grand chose à faire à part m'amuser ! si c'est pour bosser là c'est autre chose !
Je vois à peu près ce que tu veux dire, mais ce n'est sûrement pas simple... déjà tu opères comment ?
Pour allonger, tu saisi un des côtés et tu tires dessus, mais pour tourner ? tu saisis un des coins et tu fais tourner ?

Si c'est juste pour dessiner un rectangle en biais, c'est facile, mais le faire tourner en temps réel... ?
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 21:09

En tout cas, le test fonctionne bien Smile
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 21:14

JL35, Smile
Ah! bien tout à l'heure j'ai réussi à retrouver un petit programme que tu avais fait dans un échange avec cosmos: tracer un rectangle de travers
https://panoramic.1fr1.net/t1558-tracer-un-rectangle-de-travers.
Ton point central de rotation, c'est le premier point x,y en haut à gauche de ton rectangle. Moi, il faut que je le calcule avant, car il est au centre de la hauteur représentée par le point x,y en haut à gauche du rectangle et celui qui est en bas à gauche (x,y' si je puis dire.). Bon je pense que je vais pouvoir me débrouiller avec ce code et faire quelquechose qui me convienne.
Pour le faire tourner avec la souris, avec mon petit code de dessin, il ne devrait pas y avoir de problème. Si je fais comme avec ma ligne, les coordonnées de la souris seront l'autre extrémité du rectangle. Enfin on verra.
Merci a+ Wink Wink
Revenir en haut Aller en bas
JL35




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

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 21:30

Je ne me souvenais plus de ça, mais je viens de faire la même chose:
Code:
dim x0,y0,xb,yb,xc,yc,xd,yd,lg,ha,a,pi
pi = 4*atn(1)
picture 1: full_space 1
x0= 100: y0= 150
lg = 300: ha = 200
a = 20: ' rotation de 20 degrés
a = a*pi/180: ' en radians
2d_target_is 1
2D_rectangle x0,y0,x0+lg,y0+ha: ' rectangle initial
' rotation de a radians autour du point x0,y0
xb = x0 + lg*COS(a): yb = y0 - lg*SIN(a)
xd = x0 + ha*SIN(a): yd = y0 + ha*COS(a)
xc = xd + lg*COS(a): yc = yd - lg*SIN(a)

2D_LINE x0,y0,xb,yb: 2d_poly_to xc,yc: 2d_poly_to xd,yd: 2d_poly_to x0,y0
si j'ai bien compris, ton rectangle doit tourner autour du point milieu du côté gauche... dis-moi si tu as besoin, je regarderai à nouveau.
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 21:36

Oui, tu as tout compris. Il aura une hauteur fixe, et sa longueur dépendra des coordonnées x et y de la souris. Very Happy
Revenir en haut Aller en bas
JL35




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

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 22:04

comme ça alors:
Code:
dim x0,y0,xa,ya,xb,yb,xc,yc,xd,yd,lg,ha,a,pi
pi = 4*atn(1)
picture 1: full_space 1
x0= 100: y0= 150
lg = 300: ha = 200
a = 20: ' rotation de 20 degrés
a = a*pi/180: ' en radians
2d_target_is 1
2D_rectangle x0,y0,x0+lg,y0+ha: ' rectangle initial

' rotation de a radians autour du point x0,y0
xb = x0 + lg*COS(a): yb = y0 - lg*SIN(a)
xd = x0 + ha*SIN(a): yd = y0 + ha*COS(a)
xc = xd + lg*COS(a): yc = yd - lg*SIN(a)
' 2D_LINE x0,y0,xb,yb: 2d_poly_to xc,yc: 2d_poly_to xd,yd: 2d_poly_to x0,y0

' rotation de a radians autour du milieu du côté gauche
xa = x0 - (ha*SIN(a))/2: ya = y0 + (ha*(1-COS(a)))/2
xd = x0 + (ha*SIN(a))/2: yd = y0 + (ha*(1+COS(a)))/2
xc = xd + lg*COS(a): yc = yd - lg*SIN(a)
xb = xa + lg*COS(a): yb = ya - lg*SIN(a)
2d_line xa,ya,xb,yb: 2d_poly_to xc,yc: 2d_poly_to xd,yd: 2d_poly_to xa,ya
end
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 22:20

Oui JL35, c'est tout à fait ça, mais il y a un mais!
Toi tu calcules les 4 points du rectangle. Sauf que j'en ai 6! je m'explique:
En premier lieu, un petit dessin pour comprendre mon problème.Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Rect10
Au départ, je clique avec la souris, et j'obtiens mon point A. Il est aisé de déduire les points B et F qui font pour B=A-1/2 hauteur et F=A+1/2 hauteur.
Après, quand je vais relacher le bouton de la souris, c'est les coordonnées du point D que je vais obtenir, à partir duquel il faut déduire les points C et E suivant l'angle défini.
Voilà le problème!
Revenir en haut Aller en bas
JL35




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

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 22:43

Tu n'as pas trouvé plus compliqué ? Very Happy
oui, faut voir...

Pour les coordonnées du point D ça paraît simple.
Si xa et ya sont les coordonnées de A et xf,yf les coordonnées de D, on a (lg étant la longueur AD du rectangle et a l'angle de rotation):
Code:
xf = xa + lg*COS(a)
yf = ya - lg*SIN(a)

OUi, mais peut-être que tu ne connais pas la longueur du rectangle ? est-ce qu'elle est fixe, ou bien est-ce que tu étires le rectangle en longueur en même temps que tu le fais tourner ?
Qu'est-ce qui reste fixe en dimensions là-dedans ? la hauteur du côté ou tout le rectangle ?
Je m'y perds un peu.

En tout cas mon petit exemple ci-dessus était idiot, on a déjà xf et yf (position finale de la souris), il faut déduire les deux coins à droite.

Je reprends:
si xf,yf sont les coordonnées du point D, xe,ye celles du point E et xc,yc celles du point C (ta figure plus haut), h étant la hauteur du côté du rectangle, on a:
Code:
xe = xf + h*SIN(a)/2
ye = yf + h*COS(a)/2
xc = xf - h*SIN(a)/2
yc = yf - h*COS(a)/2


Dernière édition par JL35 le Mer 15 Fév 2012 - 23:08, édité 2 fois
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 23:05

le point A c'est les coordonnées du clic gauche de la souris, la hauteur du rectangle reste fixe, et on l'étire avec la souris sur la longueur et on le fait tourner aussi. Quand on relache le bouton de la souris on a le point D!
Revenir en haut Aller en bas
JL35




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

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 23:07

C'est bien ce que craignais, tout bouge, la longueur du rectangle aussi... scratch

Finalement, ce qui manque c'est l'angle de rotation.
Bon, on doit pouvoir le calculer...


Ca doit être:
Code:
a = ATN((ya-yf)/(xf-xa))
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 EmptyMer 15 Fév 2012 - 23:27

Bande de matheux !! Smile Bon, là, je vous laisse jouer, moi, je suis hors jeu ...
Revenir en haut Aller en bas
Contenu sponsorisé





Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty
MessageSujet: Re: Logiciel de dessin (esquissage) en 8 lignes seulement!!   Logiciel de dessin (esquissage) en 8 lignes seulement!! - Page 2 Empty

Revenir en haut Aller en bas
 
Logiciel de dessin (esquissage) en 8 lignes seulement!!
Revenir en haut 
Page 2 sur 4Aller à la page : Précédent  1, 2, 3, 4  Suivant
 Sujets similaires
-
» couleur pour un choix de mots seulement dans un objet
» Les deux lignes
» Lignes ondulées
» indentation de lignes.
» Tracé de lignes

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: