Dessiner une partie d'un cercle (1/4 de cercle,etc...)
+4
Craki
gateau
Is Daouda
Térence
8 participants
Auteur
Message
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
Sujet: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Dim 5 Aoû 2012 - 17:12
Bonjour à tous,
J'aimerais dessiner une partie d'un cercle (quart de cercle, demi-cercle,etc...) ; pour afficher l'angle de vision de mes personnages. Malheureusement, je ne peux pas passer par des textures, car l'angle de vision sera différent pour la plupart de mes personnages...
Je n'ai aucune idée de comment faire ceci ; donc je m'en remet à votre savoir ! Merci d'avance pour votre aide !
Is Daouda Utilisateur confirmé: Rang **
Messages : 392 Localisation : ...
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Dim 5 Aoû 2012 - 19:18
regarde dans la doc voir si il y a....
gateau Utilisateur confirmé: Rang **
Messages : 353 Projet Actuel : Actuellement rien
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Dim 5 Aoû 2012 - 19:21
Messages : 1496 Localisation : Dans l’univers de métamatière
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Dim 5 Aoû 2012 - 19:35
Bon, d'abord, il faut créer une constante appelée TAU qui vaut le double de Pi (oui, on fait les choses correctement ici ).
Après, il faut choisir un angle de base (où démarrera le quart de cercle) en radians (tau = 360°). L'angle 0 correspond à la droite et tourne dans le sens antihoraire.
Puis, il faut utiliser une boucle for (i=0; i<TAU/4; i+=TAU/4/iterations) (puisque Tau correspond à un cercle entier, Tau/4 correspond à un quart de cercle ; pour les itérations, tout dépend de la taille de ton quart de cercle, entre 8 et 16 ça me parait cool). Dans cette boucle, bidouille un peu avec draw_vertex et lengthdir_x et _y (ça devrait pas être très difficile).
Ça c'est pour le quart de cercle, après si tu veux faire un demi cercle, il faudra tout faire en fonction de Tau/2, Tau/3 pour un tiers de cercle etc.
_________________
gateau Utilisateur confirmé: Rang **
Messages : 353 Projet Actuel : Actuellement rien
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Dim 5 Aoû 2012 - 19:38
Craki a écrit:
Bon, d'abord, il faut créer une constante appelée TAU qui vaut le double de Pi (oui, on fait les choses correctement ici ).
Après, il faut choisir un angle de base (où démarrera le quart de cercle) en radians (tau = 360°). L'angle 0 correspond à la droite et tourne dans le sens antihoraire.
Puis, il faut utiliser une boucle for (i=0; i<TAU/4; i+=TAU/4/iterations) (puisque Tau correspond à un cercle entier, Tau/4 correspond à un quart de cercle ; pour les itérations, tout dépend de la taille de ton quart de cercle, entre 8 et 16 ça me parait cool). Dans cette boucle, bidouille un peu avec draw_vertex et lengthdir_x et _y (ça devrait pas être très difficile).
Ça c'est pour le quart de cercle, après si tu veux faire un demi cercle, il faudra tout faire en fonction de Tau/2, Tau/3 pour un tiers de cercle etc.
._. je commence a penser que l'extention package est le meilleur moyen
_________________
Spoiler:
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Dim 5 Aoû 2012 - 19:45
Ok merci à tous les deux ; je viens d'essayer l'extension ; c'est parfait ! Craki, j'essayerai ta solution à toi si l'autre me pose problème (j'ai parfois du mal avec les courbes de bézier...)
Encore merci !
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Dim 5 Aoû 2012 - 19:58
_________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antique Bienvenue au 2630eme utilisateur : Mike Kennedy !
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Dim 5 Aoû 2012 - 20:01
Super ! J'essaierai ca aussi ; c'est peut-être plus simple que les courbes de béziers pour l'utilisation que je veux en faire !
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Dim 5 Aoû 2012 - 20:02
Bha j'espère que tu trouvera ton bonheur là dedans. Si tu veux les sources, demande donc ^^
_________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antique Bienvenue au 2630eme utilisateur : Mike Kennedy !
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Dim 5 Aoû 2012 - 20:05
Ok merci beaucoup ; comme dit j'essaierai demain ; je suis sur tablette là.
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Dim 5 Aoû 2012 - 20:31
Indigeste la version de Craki ._.
En gros, tu auras besoin des fonctions draw_primitive_..., lengthdir_..., et une boucle for. Pas besoin de se les casser avec des radians puisque lengthdir prennent des degrés comme paramètres ;)
_________________ Home is not a place, it's a feeling.
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Dim 5 Aoû 2012 - 20:35
De toute façon j'essaierai toutes vos solutions et je verrai bien laquelle est la plus pratique Encore merci à tous ! (Oui, je sais, je me répète mais bon...)
Craki Utilisateur confirmé: Rang ****
Messages : 1496 Localisation : Dans l’univers de métamatière
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Dim 5 Aoû 2012 - 20:59
D-z a écrit:
Indigeste la version de Craki ._.
En gros, tu auras besoin des fonctions draw_primitive_..., lengthdir_..., et une boucle for. Pas besoin de se les casser avec des radians puisque lengthdir prennent des degrés comme paramètres
En effet, erreur de ma part, mais bon, ça change pas grand chose, faut juste passer des radians aux degrés.
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Lun 6 Aoû 2012 - 11:39
D-z a écrit:
Indigeste la version de Craki ._.
En gros, tu auras besoin des fonctions draw_primitive_..., lengthdir_..., et une boucle for. Pas besoin de se les casser avec des radians puisque lengthdir prennent des degrés comme paramètres
+1
De plus les lengthdir sont plus optimisés.
_________________
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Lun 6 Aoû 2012 - 14:41
[TheDarkTiger] : Est-ce que tu pourrais juste me donner les noms des arguments de la fonction draw_arc_color_alpha s'il te plaît ?
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Mar 7 Aoû 2012 - 2:31
draw_arc_color_alpha(x, y, angle de début, angle de fin, rayon,précision, couleur, alpha);
Et je viens de voir que dans le fichier d'exemple, j'avais laissé quelques fonctions en vrac, c'est pas top, j'aurais du tout ranger proprement dans la lib...
Enfin, pour l'instant, tant que ça marche pour toi, c'est le principal.
_________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antique Bienvenue au 2630eme utilisateur : Mike Kennedy !
Invité Invité
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Mar 7 Aoû 2012 - 2:51
dommage que personne ne consulte la section des scripts...
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Mar 7 Aoû 2012 - 2:59
Tien, j'avais oublié ce script ...
Et c'est vrai que c'est dommage que les gens cherchent pas un peu ... Depuis plusieurs années, je rajoute [Résolu] sur les fils dont le problème à été résolu, je vais même jusqu’à fouiller les vieux messages et le rajouter. Mais la fonction de recherche n'est guère utilisée ...
Du coup, aller chercher dans la section script, c'est encore pire pour les gens ... Et c'est bien dommage -_-'
_________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antique Bienvenue au 2630eme utilisateur : Mike Kennedy !
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Mar 7 Aoû 2012 - 8:54
Ok merci beaucoup ! J'avais déjà vu le topic avec les couronnes mais j'étais pas rentré dedans ; je pensais pas que ca répondrait à mes attentes
Caohimin Très bonne participation
Messages : 134 Localisation : Au coeur de cette charmante demoiselle.
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Dim 2 Sep 2012 - 18:19
Bonjour,
Si ton problème est toujours d'actualité, je te poste un solution simple et rapide.
Code:
xA= //le centre de ton demi cercle en X yA= //le centre de ton demi cercle en Y rayon= //le rayon de ton demi cercle ( du centre a la courbe, en pxl) angleA= //le départ de ton demi cercle en degré angleB= //la fin de ton demi cercle en degré également
Bien sur les valeurs sont modifiable. Et heureusement.
Code:
for (i=angleA;i<=angleB;i+=0.1) //i est la précision du tracer de ton cercle, plus petit il sera, plus précis sera ton cercle. { draw_point(xA+lengthdir_x(rayon,i),yA+lengthdir_y(rayon,i)) }
Tu peux aussi utiliser des couleurs. Et même une épaisseur.
Bien a toi.
_________________ Caohimin
Communauté Barbarre Nauséabonde Ahuri
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...) Dim 2 Sep 2012 - 18:27
Ben mon problème est résolu ; mais merci de t'en préoccuper ! par contre, j'avais déjà pensé à ton code mais je l'avais rejeté à cause de la lenteur de draw_point. Les autres codes utilisent des vertex qui sont plus rapides
Contenu sponsorisé
Sujet: Re: Dessiner une partie d'un cercle (1/4 de cercle,etc...)
Dessiner une partie d'un cercle (1/4 de cercle,etc...)