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
» Gestion d'un système client-serveur.
effacer ou colorer l'intérieur d'un rectangle en biais Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
effacer ou colorer l'intérieur d'un rectangle en biais Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
effacer ou colorer l'intérieur d'un rectangle en biais Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
effacer ou colorer l'intérieur d'un rectangle en biais Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
effacer ou colorer l'intérieur d'un rectangle en biais Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
effacer ou colorer l'intérieur d'un rectangle en biais Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
effacer ou colorer l'intérieur d'un rectangle en biais Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
effacer ou colorer l'intérieur d'un rectangle en biais Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
effacer ou colorer l'intérieur d'un rectangle en biais Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
effacer ou colorer l'intérieur d'un rectangle en biais Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
effacer ou colorer l'intérieur d'un rectangle en biais Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
effacer ou colorer l'intérieur d'un rectangle en biais Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
effacer ou colorer l'intérieur d'un rectangle en biais Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
effacer ou colorer l'intérieur d'un rectangle en biais Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
effacer ou colorer l'intérieur d'un rectangle en biais Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment :
Bon plan achat en duo : 2ème robot cuiseur ...
Voir le deal
600 €

 

 effacer ou colorer l'intérieur d'un rectangle en biais

Aller en bas 
+3
JL35
Jicehel
bignono
7 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
bignono

bignono


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

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 11:37

Bonjour à tous les amis Panoramiciens,
Après les tensions de ces derniers jours sur certains sujets, qui d'ailleurs sont interressants, je voudrais oublier tout cela et parler uniquement de problèmes à résoudre avec Panoramic. Il ne faut pas oublier que nous sommes tous sur un forum ayant trait à la programmation.
Alors voilà mon problème à résoudre avec Panoramic:
(Je sens que JL35 va me maudire!) lol!
Je suis toujours avec le rectangle en biais! Mais ce que je veux faire, c'est rendre l'intérieur de ce rectangle de couleur unie.
Avec une image d'exemple vous comprendrez mieux le problème.
[img]effacer ou colorer l'intérieur d'un rectangle en biais Rect_a13[/img]
Mon rectangle est dessiné sur un image quelconque, comme dans mon exemple, et je veux pouvoir effacer tout ce qu'il y a à l'intérieur du rectangle ou le faire devenir d'une seule couleur. Je veux que mon rectangle devienne tout bleu ou tout rouge ou tout blanc à l'intérieur.
Je crois que l'on peut trouver un algorythme avec les instructions color_pixel_blue , red et green, (j'additionne le colorpixel_blue au red au green et si le résultat est >0 on colore de la couleur désirée) en explorant chaque point à l'intérieur de ce rectangle, chose que je n'arrive pas à faire. Les points A,B,C,D,E,F sont connus, la hauteur HA et la longueur LG sont aussi connus.
Si quelqu'un peut m'aider à résoudre ce problème ardu, il m'otera une grosse épine du pied.
Cordialement et bonne journée à tous
Revenir en haut Aller en bas
Jicehel

Jicehel


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

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 11:51

Une question bête sans doute,mais pourquoi ne traces-tu pas des lignes parallèles avec un espacement de 1 sur l'axe des y allant de la ligne AB à la ligne EC ?
Revenir en haut Aller en bas
Invité
Invité




effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 13:02

Bonjour,
Ca ne fonctionne pas avec 2D_FLOOD?
Revenir en haut Aller en bas
JL35




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

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 13:28

Je crois comprendre que l'ami bignono cherche à effacer tout ce qui se trouve à l'intérieur de son (maudit !) rectangle de travers, donc le 2d_flood ne suffira pas. Tu ne peux donc pas tracer des rectangles bien droits, comme tout le monde ?

Cela dit, la solution suggérée par Jicehel semble être la meilleure, sans doute la seule logique, aller analyser chaque pixel à l'intérieur pour faire son complément me paraît bien compliqué !
Quoique en traçant des lignes en biais, est-ce qu'on est sûr de recouvrir tous les pixels ?

Ou alors faire le flood soi-même (à condition que les contours du rectangle aient une couleur bien particulière, différente de tout ce qu'il y a à l'intérieur): partir du coin supérieur, en haut, et descendre les lignes horizontales une par une et remplir l'intérieur par une ligne, mais ça doit être assez long à dérouler.

Dans ta figure-exemple, le mot PANORAMIC en rouge semble être écrit par-dessus le bord du rectangle (en biais Suspect ), dans ce cas la solution flood, même personnel, ne conviendra pas, il y aura une fuite !

Alors... solution Jicehel ?
Quoique... en y réfléchissant un peu, ce n'est pas aussi simple que ça en a l'air... encore une question à 1000 balles, quoi !
Revenir en haut Aller en bas
jpcr

jpcr


Nombre de messages : 276
Age : 57
Localisation : Val de Marne (94)
Date d'inscription : 06/05/2011

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 14:10

bonne question bignono, je crains que le pixel par pixel ne soit d'une lenteur effrayante, non?

on ne peut pas le traiter comme un sprite ou tu colorerait l’intérieur du rectangle, et ton sprite serait un rectangle qui correspondrait a la partie jaune de ton exemple mais ajusté a la taille de ABCE.

je dis surement n'importe quoi mais c'est tout ce qui me vient....

++
jp
Revenir en haut Aller en bas
http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
JL35




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

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 14:21

Je ne me suis pas du tout intéressé aux sprites, c'est un tort, je le reconnais, mais est-ce qu'on peut faire pivoter un sprite d'un angle donné ???
Revenir en haut Aller en bas
jpcr

jpcr


Nombre de messages : 276
Age : 57
Localisation : Val de Marne (94)
Date d'inscription : 06/05/2011

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 14:26

pas a ma connaissance, mais je suis loin d’être un expert...
Revenir en haut Aller en bas
http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
Invité
Invité




effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 14:38

Effectivement, je n'ai pas réfléchi, et ma réponse est un non-sens.
Je ne connais pas le programme, mais il y a peut-être une solution. Tout dépend comment est envisagé le logiciel.
J'ai fait plusieurs fois un programme d'icône de menu en commande, et non en bitmap. Pour corriger et revenir en arrière, j'ai tout simplement mis les commandes dans une liste. Ainsi en effaçant la page, ou en faisant une copie d'image à un certain moment, j'ai redessiné à partir de la liste. Il suffit à ce moment-là pour ton cas, de sauter l'image de la liste. Est-ce cela est possible à partir de ton source? C'est à toi de voir.
Revenir en haut Aller en bas
JL35




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

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 14:39

Dans ce cas, je ne vois pas trop comment on peut faire avec un sprite scratch

Une solution de flood perso (démo):
Code:
dim xa,ya,xb,yb,xc,yc,xd,yd, x, y, x1, maxi
dim rc,gc,bc,rb,gb,bb,r, g, b
width 0, 600: height 0, 500
picture 1: width 1,500: height 1,450
2d_target_is 1
xa = 133: ya = 100: xb = 466: yb = 166: xc = 433: yc = 366: xd = 100: yd = 300
2d_line xa,ya,xb,yb: 2d_poly_to xc,yc: 2d_poly_to xd,yd: 2d_poly_to xa,ya
2d_flood xa,ya+5,255,255,0: ' remplissage jaune
font_bold 0: print " clic pour nettoyer le rectangle"
while mouse_left_down(1) = 0: end_while
rc = 0: gc = 0: bc = 0: ' couleur du bord du rectangle
rb = 0: gb = 0: bb = 255: ' couleur de nettoyage (ici bleu)
2d_pen_color rb,gb,bb
maxi = width(1)
for y = ya+1 to yd
    for x = xa to 0 step -1
        r=color_pixel_red(1,x,y): g=color_pixel_green(1,x,y): b=color_pixel_blue(1,x,y)
        if r=rc and g=gc and b=bc then x1 = x+1: exit_for
    next x
    for x = x1 TO maxi
        r=color_pixel_red(1,x,y): g=color_pixel_green(1,x,y): b=color_pixel_blue(1,x,y)
        if r=rc and g=gc and b=bc then exit_for
        2d_point x,y
    next x
    display
next y
for y = yd+1 to yc-1
    for x = xc-1 to 0 step -1
        r=color_pixel_red(1,x,y): g=color_pixel_green(1,x,y): b=color_pixel_blue(1,x,y)
        if r=rc and g=gc and b=bc then x1 = x+1: exit_for
    next x
    for x = x1 TO maxi
        r=color_pixel_red(1,x,y): g=color_pixel_green(1,x,y): b=color_pixel_blue(1,x,y)
        if r=rc and g=gc and b=bc then exit_for
        2d_point x,y
    next x
    display
next y
print " Fin !"
end
Mais...
1) c'est abominablement lent (j'ai mis le display pour faire patienter)
2) bonjour les cas particuliers à tester...
Revenir en haut Aller en bas
Invité
Invité




effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 15:05

Je ne pensais pas revenir sur ce post, mais
Citation :
je ne vois pas trop comment on peut faire avec un sprite
Où as-tu que Bignono parlait de sprite?
De toute façon, je ne suis pas un spécialiste des images, donc je n'ai plus à intervenir.
Revenir en haut Aller en bas
JL35




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

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 15:44

Ben oui cosmos, mais tu as tout lu en diagonale !
Relis bien les échanges, et tu remarqueras que je ne répondais pas à bignono mais à jpcr, qui lui parlait bien de sprites !
Revenir en haut Aller en bas
jpcr

jpcr


Nombre de messages : 276
Age : 57
Localisation : Val de Marne (94)
Date d'inscription : 06/05/2011

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 17:00

oui clairement le sprite n'est pas du tout prévu pour ça.

le problème , comme je l'ai déjà dit, va être la vitesse de remplissage.

jp
Revenir en haut Aller en bas
http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
JL35




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

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 17:49

Il y a peut-être des solutions ? celle que j'ai présentée c'est bon pour la démo, mais effectivement beaucoup trop lent dans la pratique.
Bignono va bien avoir une idée géniale...

Les lignes de Jicehel, ça irait beaucoup plus vite, mais je ne vois pas comment calculer les points de départ et d'arrivée.
Tiens, ça me donne une idée...
Revenir en haut Aller en bas
bignono

bignono


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

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 17:52

Bonjour JL35, JPCR, Cosmos Smile
Je viens de rentrer de l'école de musique de mes filles et je prends connaissance de vos réponses.
Oui effectivement, la solution de JL35 est affreusement lente! Mais ça répond à ce que je voulais comme résultat. Déjà je vais voir en me basant sur cet algorythme, s'il n'y a pas moyen d'aller un peu plus vite. Pour avoir une idée géniale, c'est pas gagné, car ça fait quand même 5 jours que je réfléchis à ce problème!!!
Si vous trouvez aussi une autre solution je suis preneur.
Merci à vous. Wink
Revenir en haut Aller en bas
JL35




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

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 18:38

J'ai une autre solution, je crois, bien plus rapide, basée sur la réflexion de Jicehel.
Mais là il va falloir attendre un petit peu, je suis convoqué pour l'hommage rituel au bon chanoine Kir... Very Happy
Revenir en haut Aller en bas
bignono

bignono


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

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 18:57

Bon, bah alors je vais me taper un ptit jaune en attendant! lol!
Revenir en haut Aller en bas
JL35




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

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 20:46

C'est fini ces beuveries ?
Mon cher bignono, ce n'est pas encore gagné, mais je ne vois pas ce qu'on peut faire de mieux.
J'applique la méthode Jicehel: tracer des lignes parallèles aux bords, avec la couleur de 'nettoyage', mais il reste des pixels non traités.
J'ai mis deux couleurs bien contrastées (jaune et bleu) pour mieux les voir.
1er passage, avec des lignes parallèles à la longueur: il y a des pixels non traités, régulièrement espacés.
Je rajoute un passage croisé, avec des lignes parallèles à la hauteur: il reste encore des pixels, beaucoup moins, mais bizarrement non régulièrement distribués.
effacer ou colorer l'intérieur d'un rectangle en biais Test
Voilà le travail, je ne sais pas si tu peux en tirer quelque chose:
Code:
dim xa,ya,xb,yb,xc,yc,xd,yd,x1,y1,x2,y2,k,rb,gb,bb
width 0, 600: height 0, 500
picture 1: width 1,500: height 1,450
2d_target_is 1
xa = 133: ya = 100: xb = 466: yb = 166: xc = 433: yc = 366: xd = 100: yd = 300
2d_line xa,ya,xb,yb: 2d_poly_to xc,yc: 2d_poly_to xd,yd: 2d_poly_to xa,ya
2d_flood xa,ya+5,0,0,255: ' remplissage bleu
font_bold 0: print " clic pour nettoyer le rectangle"
while mouse_left_down(1) = 0: end_while

rb = 255: gb = 255: bb = 0: ' couleur de nettoyage (ici jaune)
2d_pen_color rb,gb,bb
' lignes dans le sens de la longueur du rectangle
k = (xa-xd)/(yd-ya): y2 = yb+1
for y1 = ya+1 to yd-1
    x1 = k*(yd-y1) + xd+1
    x2 = xb - k*(y2-yb)
    2D_line x1,y1,x2,y2
    y2 = y2+1
next y1
' lignes dans le sens de la hauteur
k = (yb-ya)/(xb-xa): x2 = xd + 1
for x1 = xa+1 to xb-1
    y1 = k*(x1-xa) + ya + 1
    y2 = k*(x2-xd) + yd
    2D_line x1,y1,x2,y2
    x2 = x2+1
next x1
END
PS au fait j'ai dessiné un rectangle un peu arbitraire, au pif, il faudrait essayer avec un vrai rectangle avec des angles droits, pour voir si le phénomène apparaît toujours.


Dernière édition par JL35 le Mer 22 Fév 2012 - 21:11, édité 1 fois
Revenir en haut Aller en bas
Jicehel

Jicehel


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

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 20:59

Vous pouvez tricher pour ne pas avoir de points, je pense en bidouillant et en mettant une épaisseur de 3 quand ont est à 3 points du bord par exemple... Ca devrait permettre d'avoir un résultat acceptable, peut-être même sans avoir à faire un tracé croisé... A tester ...
Revenir en haut Aller en bas
JL35




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

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 21:12

En effet, c'est à creuser...

Pas mal Jicehel, je fais un essai avec largeur 2, et plus de trous !
Tu as plein d'idées géniales, mais il faudrait prendre la plume de temps en temps et coder un peu !
Et un seul passage, il fallait y penser:
Code:
dim xa,ya,xb,yb,xc,yc,xd,yd,x1,y1,x2,y2,k,rb,gb,bb
width 0, 600: height 0, 500
picture 1: width 1,500: height 1,450
2d_target_is 1
xa = 133: ya = 100: xb = 466: yb = 166
xc = 433: yc = 366: xd = 100: yd = 300
2d_line xa,ya,xb,yb: 2d_poly_to xc,yc: 2d_poly_to xd,yd: 2d_poly_to xa,ya
2d_flood xa,ya+5,0,0,255: ' remplissage bleu, pour voir
font_bold 0: print " clic pour nettoyer le rectangle"
while mouse_left_down(1) = 0: end_while

rb = 255: gb = 255: bb = 0: ' couleur de nettoyage (ici jaune)
2d_pen_color rb,gb,bb
2d_pen_width 2
' lignes dans le sens de la longueur du rectangle
k = (xa-xd)/(yd-ya): y2 = yb+1
for y1 = ya+2 to yd-2
    x1 = k*(yd-y1) + xd+1
    x2 = xb - k*(y2-yb)-1
    2D_line x1,y1,x2,y2
    y2 = y2+1
next y1
END

Solution la plus élégante et la plus sûre, il suffit de connaître les coordonnées des 4 coins, et on se fiche de la couleur des bords.
Revenir en haut Aller en bas
bignono

bignono


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

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 21:35

Bonsoir, Smile
Ah, c'est nettement plus rapide! Pendant que je testais, Jicehel t'as proposé de mettre une épaisseur de trait plus importante, c'est ce que j'avais fait aussi, et j'ai mis 2 comme tu viens de faire. Mais en regardant bien l'image, tu vois que quelques points du tracé du rectangle ont disparu sur le contour, sur le coté droit et en bas. Moi, ce que j'ai fait, j'ai retracé le rectangle juste après et le tour est joué.
Bon j'adopte cet algorythme là! Mais c'est pas le tout, faut que je l'adapte à mon programme, maintenant.
Merci à toi JL35, t'es le plus fort en géomètrie! Wink Wink Wink king
Revenir en haut Aller en bas
JL35




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

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 21:40

Et pourtant, les cours sont bien loin derrière !
J'avais remarqué pour les bords, et je pensais à des tests, mais si tu redessines le rectangle, alors le problème est résolu !

Et ma foi, tout ça est bien amusant, donc tu n'as pas à me remercier. Mais c'est gentil quand même.
Revenir en haut Aller en bas
Jicehel

Jicehel


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

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 22:06

Content pour vous Smile Bon aller, pour faire plaisir à JL35, je me mets un peu sur le code et je vais essayer de vous faire un casse briques et pas en ASCII, avec un peu de couleur et tout pour faire années un peu plus années 90 qu'année 80, mais bon, je réponds sur ce post et là je suis un peu hors sujet, j'abrège donc et je lance mon Panoramic pour m'y mettre ... ^^
Revenir en haut Aller en bas
exdragon

exdragon


Nombre de messages : 601
Date d'inscription : 05/01/2012

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyMer 22 Fév 2012 - 23:04

Tu peux utiliser un sprite contenant ton rectangle, l'éffacer facilement avec clear et lui donner sa position en biais en se basant sur une rotation du rectangle du sprite, comme l'a fait jicehel je crois dans mon code de vaisseaux (il me semble).
Revenir en haut Aller en bas
bignono

bignono


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

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyJeu 23 Fév 2012 - 9:46

Bonjour à tous mes amis panoramiciens, Smile
Bon, je reviens titiller les neurones à JL35, si il veut bien! lol!
Dans mon code suivant, je trace mes rectangles en biais suivant le principe que JL35 m'a donné.
Ensuite, j'ai tenté d'appliquer le principe de son nettoyage intérieur du rectangle.
J'ai certainement mal Mad du m'y prendre pour les cas particuliers. scratch
Lors du nettoyage de l'intérieur d'un rectangle en biais avec un angle aux environs de 270.2° ou 269.8 ou 90.2
ou 89.8, il y a erreur suite à division par 0. drunken Ça doit même dépendre de la longueur du rectangle aussi. Pour 90 ou 270° juste, ya pas d'erreur.
D'autre part, ce qui prouve que je fais mal les calculs, c'est quand on enlève l'apostrophe à la ligne 7 (color 1,100,0,0)
On voit bien mes erreurs lors du nettoyage suivant certains angles. (D'ailleurs c'est amusant ces figures. Il y a
certainement matière à creuser là pour de nouvelles réalisations graphiques).
Et puis, j'y pense maintenant en voyant le post de Jicehel "Panorabrique" rien ne l'empêche de mettre des briques en biais
avec la méthode de tracé de JL35; ça changerait des traditionnels casse brique (enfin c'est juste une suggestion).
Code:
dim xa%,ya%,xb%,yb%,xc%,yc%,xd%,yd%,xe%,ye%,xf%,yf%,xp%,yp%,xv%,yv%
dim lg%,ha%,dh%,a,k,pi,mx,my,x1%,y1%,x2%,y2%,ka%
label pos_souris,trace,calcul_points,calcul_vide,fin

full_space 0:picture 1:full_space 1

' color 1,100,0,0

image 100
pi=4*atn(1):ha%=300:dh%=ha%/2:2d_target_is 1

main_menu 10
sub_menu 11:parent 11,10:caption 11,"Trace rectangle":on_click 11,trace
on_close 0,fin

end

pos_souris:
2d_fill_color 255,255,100
print_locate xp%-20,yp%-30:print "x=";str$(xp%);" y=";str$(yp%)
wait 200
return

trace:
2d_image_copy 100,0,0,width(1),height(1)
cursor_cross 1
print_target_is 1
repeat
  xd%=mouse_x_position(1):yd%=mouse_y_position(1)
  if xd%<>xp% or yd%<>yp%
      2d_image_paste 100,0,0
      xp%=xd%:yp%=yd%:gosub pos_souris
  end_if
until (mouse_left_down(1)=1 and mouse_left_up(1)=0)
2d_image_paste 100,0,0:2d_image_copy 100,0,0,width(1),height(1)
2d_pen_color 0,0,0:2d_pen_width 2
while mouse_left_up(1)=0
  xf%=mouse_x_position(1):yf%=mouse_y_position(1)
  lg%=sqr(power(xf%-xd%,2)+power(yd%-yf%,2))
  if xf%<>xv% or yf%<>yv%
      2d_image_paste 100,0,0:gosub calcul_points
      2d_line xa%,ya%,xe%,ye%:2d_poly_to xc%,yc%:2d_poly_to xb%,yb%:2d_poly_to xa%,ya%
      xv%=xf%:yv%=yf%:xp%=xf%:yp%=yf%
      print_locate xp%-20,yp%-60:print "Angle: ";str$(wrap_value(a));"°";" Épaisseur= ";str$(ha%)
      print_locate xp%-20,yp%-45:print "Longueur= ";str$(lg%)
      gosub pos_souris:wait 100
  end_if
end_while
2d_image_paste 100,0,0
if lg%<>0
  2d_line xa%,ya%,xe%,ye%:2d_poly_to xc%,yc%:2d_poly_to xb%,yb%:2d_poly_to xa%,ya%
  gosub calcul_vide
end_if
cursor_arrow 1
return

calcul_points:
      if xf%>xd%
        k=atn((yd%-yf%)/(xf%-xd%)):a=k*180/pi:a=int(a*100)/100
      end_if
      if xf%<xd%
        k=atn((yd%-yf%)/(xf%-xd%)):a=k*180/pi:a=int(a*100)/100:a=180+a:k=k+3.14
      end_if
      if xd%=xf%
        if yf%<yd% then a=90:k=1.57
        if yf%>yd% then a=270:k=4.71
      end_if
      xa%=xd%-dh%*sin(k):ya%=yd%-dh%*cos(k): ' point A
      xe%=xd%+dh%*sin(k):ye%=yd%+dh%*cos(k): ' point E
      xc%=xe%+lg%*cos(k):yc%=ye%-lg%*sin(k): ' point C
      xb%=xa%+lg%*cos(k):yb%=ya%-lg%*sin(k): ' point B
return
calcul_vide:
' **********************************************************************************************************
2d_pen_color 255,255,255:2d_pen_width 2
if xf%>xd%
  ka%=(xa%-xe%)/(ye%-ya%):y2%=yb%+1
  for y1%=ya%+1 to ye%-1
  x1%=ka%*(ye%-y1%)+xe%+1:x2%=xb%-ka%*(y2%-yb%):2D_line x1%,y1%,x2%,y2%:y2%=y2%+1:next y1%
  ka%=(yb%-ya%)/(xb%-xa%):x2%=xe%+1
  for x1%=xa%+1 to xb%-1
  y1%=ka%*(x1%-xa%)+ya%+1:y2%=ka%*(x2%-xe%)+ye%:2D_line x1%,y1%,x2%,y2%:x2%=x2%+1:next x1%
end_if
if xf%<xd%
  ka%=(xc%-xb%)/(yb%-yc%):y2%=ye%+1
  for y1%=yc%+1 to yb%-1
  x1%=ka%*(yb%-y1%)+xb%+1:x2%=xe%-ka%*(y2%-ye%):2D_line x1%,y1%,x2%,y2%:y2%=y2%+1:next y1%
  ka%=(ye%-yc%)/(xe%-xc%):x2%=xb%+1
  for x1%=xc%+1 to xe%-1
  y1%=ka%*(x1%-xc%)+yc%+1:y2%=ka%*(x2%-xb%)+yb%:2D_line x1%,y1%,x2%,y2%:x2%=x2%+1:next x1%
end_if
' **********************************************************************************************
if xd%=xf%
  if yf%<yd%
      for y1%=yf%+1 to yd%-1:y2%=y1%
      x1%=xb%+1:x2%=xc%-1:2D_line x1%,y1%,x2%,y2%:y2%=y2%+1:next y1%
  end_if
  if yf%>yd%
      for y1%=yd%+1 to yf%-1:y2%=y1%
      x1%=xe%+1:x2%=xa%-1:2D_line x1%,y1%,x2%,y2%:y2%=y2%+1:next y1%
  end_if
end_if
' **********************************************************************************************
  2d_pen_color 0,0,0
  2d_line xa%,ya%,xe%,ye%:2d_poly_to xc%,yc%:2d_poly_to xb%,yb%:2d_poly_to xa%,ya%
  mx=(xd%+xf%)/2:my=(yd%+yf%)/2:2d_fill_cross:2d_flood mx,my,0,0,255
' **********************************************************************************************************
return
fin:
terminate
Bonne journée à vous tous Wink
Revenir en haut Aller en bas
Jicehel

Jicehel


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

effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais EmptyJeu 23 Fév 2012 - 9:54

Je prends note Bignono Smile Ca fera sans doute partie des améliorations à tester quand le moteur simple sera opérationnel, mais bon, je ne suis pas sûr car pour le moment, les rebonds et les tests vont être simples.
Si je mets des briques en biais, ça complique beaucoup le test de collision et les rebonds. Théoriquement, il faudrait que l'angle de rebond dépende de l'angle d'arrivée et de l'inclinaison de la brique. Mais là, ça devient du billard, là, je compte sur toi. (Ca ne te tente pas un billard 3D ?)
Revenir en haut Aller en bas
Contenu sponsorisé





effacer ou colorer l'intérieur d'un rectangle en biais Empty
MessageSujet: Re: effacer ou colorer l'intérieur d'un rectangle en biais   effacer ou colorer l'intérieur d'un rectangle en biais Empty

Revenir en haut Aller en bas
 
effacer ou colorer l'intérieur d'un rectangle en biais
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Comment effacer une image avec des objets 2d
» effacer des print ?
» Comment effacer un tableau ?
» effacer vider la console
» Effacer le presse papier...

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: