J'ai dit: Tu devrais avoir une expression du genre ...
et non pas:Tu devrais avoir l'expression: ...
Reporte-toi au code que j'ai donné.
J'ai dit: Tu devrais avoir une expression du genre ...
et non pas:Tu devrais avoir l'expression: ...
Reporte-toi au code que j'ai donné.
Oui, j'ai vu qu'il y avait un paquet de constantes en rapport aevc Pi, lire dessous
Et donc il faut que j'essaie au pif ?
Alors j'ai essayé, en ne me préoccupant que de la partie en rouge puisque, justement elle est en rouge, genre "coucou c'est là que ça se passe".
J'ai testé avec * et avec /, avec Pi, Pi / 2 , / 3, / 4, / 5, / 6, / 7, / 8, avec 2*Pi / 2, / 3, avec 4 / Pi, 5 / pi, 6 / pi 7 / pi, 8 / pi, rien rien rien, bref, ça revient à chercher une aiguille dans l'océan, en espérant que ça va tomber en marche par miracle.
Mais pour le moment,les faiseurs de miracle ne sont pas avec moi,
Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peut–être qu'il peut être sûr, etc.
Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
Mes 2 cts,
--
jp
La méthode essais/erreurs est la pire de toutes.
Et si tu réfléchissais ?
L'expressionest certainement erronée. Et si tu avais tout simplement quelque chose comme 2Pi/3 ? C'est un exemple.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Pi/6) + 2/3
Quand on ne sait pas, on ne peut pas faire autrement.
Réfléchir, réfléchir, je suis en train d'user mes derniers neurones, là !
Un exemple ?
J'ai trouvé dans le pdf d'une page dont j'ai parlé d'autres manières de faire, je me suis remis à l'établi, j'ai fait ce genre de test du genre je ne touche pas au rouge et je tripote le vert et le bleu et il faut bien lire les commentaires :
Tu as bien vu le commentaire ? Je te le remets en gros Phi = Phi - 2, d'où 0 = -2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 1: r:=fx_jpt(Phi, fx); // ok // 2: g:=fx_jpt(Phi - 2.40, fx); //3: b:=fx_jpt(Phi - 1.20, fx); // ce qui est dessus est intéressant, je me dis que 2.4 c'est, à la louche et pour voir où ça va tomber, comme 2*pi/3 // 2: g:=fx_jpt(Phi - 2*pi/3, fx); // donc mise en place et résultat catastrophique //3: b:=fx_jpt(Phi - pi/3, fx); // même raisonnement avec 1.2 et pi/3 qui donne à peu près 1.05 // encore plus fort, je teste avec juste 2 et là 2: g:=fx_jpt(Phi - 2, fx); //J'ai du jaune ! Donc le vert est venu se mettre sur le rouge, comme si Phi = Phi-2 3: b:=fx_jpt(Phi - 1, fx);
Bon, moi j'ai les neurones qui fondent, là, et ça date de 5 minutes…
Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peut–être qu'il peut être sûr, etc.
Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
Mes 2 cts,
--
jp
J'ai fait un autre essai, minimaliste :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 1: r:=fx_jpt(Phi, fx); 2: g:=fx_jpt(Phi, fx); 3: b:=fx_jpt(Phi, fx);
Les trois traces sont l'une sur l'autre, résultat blanc, ouf, je respire.
Je tente une modif globale :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 1: r:=fx_jpt(Phi + (Pi/6), fx); 2: g:=fx_jpt(Phi + (Pi/6), fx); 3: b:=fx_jpt(Phi + (Pi/6), fx);
Les trois se décalent, pas de ce que j'aurais pensé, mais bon, on va inverser le signe, pour comprendre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 1: r:=fx_jpt(Phi - (Pi/6), fx); 2: g:=fx_jpt(Phi - (Pi/6), fx); 3: b:=fx_jpt(Phi - (Pi/6), fx);
Et là c'est la grande misère noire, ou plutôt rouge et bleue ! Tiens, où est passé le vert ?
Franchement, des résultats comme ça, ça donne vraiment envie de tout abandonner.
Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peut–être qu'il peut être sûr, etc.
Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
Mes 2 cts,
--
jp
Essaie d'abord deux fonctions:
avec K = 2*Pi/3 (par exemple).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 1: r:=fx_jpt(Phi , fx); 2: g:=fx_jpt(Phi + K , fx);
Si cela convient, tu pourras rajouter ensuite
Je ne vois pas le rôle de fx .
Code : Sélectionner tout - Visualiser dans une fenêtre à part 3: g:=fx_jpt(Phi - K , fx); ou //g:=fx_jpt(Phi + 2*K , fx);
Bonjour,
+ K ou - K c'est pareil, ça ne convient pas.
Dans un cas le tracé vert est légèrement décalé dans un sens par rapport au rouge, dans l'autre cas ça décale dans l'autre sens.
N'écoutant que mon courage, j'ai tenté avec K = 4*Pi/3, ce qui m'a amené aux mêmes résultats, juste que le décalage est un peu plus grand.
Et pour être complet, je rappelle que Phi := Pi_sur_La * Xm;.
Ceci étant dit, mes essais m'ont montré que j'avais les mêmes résultats sans Pi, genre Phi := 2 * Xm / La;.
Je suppose que tu voulais dire b:= ?
Je n'aime pas supposer, surtout en plein brouillard.
fx permet de passer à la fonction d'appel de Fxxx le numéro qui va bien en provenance de l'ihm (c'est là depuis le début) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function fx_jpt(t: Real; fx: uint): byte; begin case fx of 0: Result := F1(t); 1: Result := F2(t); 2: Result := F3(t); 3: Result := F4(t); 4: Result := FlinM(t); 5: Result := JP(t); end; end;
Malheureusement, aujourd'hui ça va être compliqué : pas disponible, soit pas du tout ce matin et ok l'aprème, soit moitt-moitt, ça va dépendre du temps que va prendre mon premier rdv…
Tiens, cadeau pour te faire patienter (c'est de saison) :
Ah, cet orange…
Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peut–être qu'il peut être sûr, etc.
Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
Mes 2 cts,
--
jp
Une autre version de la même fonction linéaire par morceaux:
Elle doit aussi bien fonctionner sur les domaines [0 ; 2*Pi] et [-Pi ; Pi]; j'ai fait un test sur les valeurs réelles:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 PROCEDURE DecR(VAR u: Reel; v: Reel); VAR w: Reel; BEGIN w:= u - v; u:= w END; CONST IPis3 = 3 / Pi; // Rajouté après demande FUNCTION FlinM_v2(t: Reel): Byte; // FLM, 2nde version VAR u, v, w, z: Reel; BEGIN z:= IPis3 * t; IF (z> 3) THEN DecR(z, 6); IF (z<-3) THEN IncR(z, 6); u:= Abs(z + 2); IncR(u, Abs(z - 2)); v:= Abs(z + 1); IncR(v, Abs(z - 1)); w:= 0.5 * (u - v); Result:= Round(255 * w) END;
Je suis rentré tard et je repars en début d'aprème. J'espère à mon retour trouver la constante qui manque parce que là je suis grave coincé :
IPis3 inconnue chez moi…
J'ai tenté au hasard avec Pi / 3 puis 2 * Pi / 3, résultat moche dans les deux cas et je n'ai pas le temps d'essayer toute l'étendue des nombres entiers à la place de ce I assez peu parlant, donc
Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peut–être qu'il peut être sûr, etc.
Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
Mes 2 cts,
--
jp
OK vendu !
J'avoue humblement que cette histoire d'Inverse m'a traversé l'esprit un court instant, parce que IPi j'ai connu, mais ailleurs et autrement,
Bon, tout ça pour dire que ça fonctionne, donc que ma bascule vers RYB (rjb) fonctionne également, avec les défauts inhérents aux couleurs pures, et qu'il faudra apprendre à faire avec :
Je préparerai un zip plus tard, là je n'ai pas le temps, je file.
et c'est bien, on n'a pas atteint les 300 pages,
Merci pour tout, merci à toi et aux autres.
Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peut–être qu'il peut être sûr, etc.
Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
Mes 2 cts,
--
jp
Oui oui, c'est , padipanik, juste que je reviens sur un truc 30 secondes car ce que je n'ai pas dit ce matin, c'est que je me suis replongé dans mes vieux bouquins scolaires, classe de seconde, chapitre "trigo", si si !, et en 3 coups de cuiller à pot, j'ai maintenant 3 sinusoïdes entières là où je n'avais que des bouts, présentés là il y a 9 jours, et par rapport au code d'origine, il suffisait non pas de bidouiller dans tous les sens mais de réfléchir posément, après avoir lu le chapitre qui va bien !
Comment j'ai fait (les anciennes lignes sont en commentaires) :
T'avais raison, wiwaxia, mais j'avais tout oublié…
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 originR := Point(round(pb.Width / 2 - pb.Width / 8), pb.Height div 2); //originG := Point(originR.X - round(pb.Width / 3), pb.Height div 2); // bidouille immonde originG := Point(round(pb.Width / 2 - pb.Width / 8), pb.Height div 2); // démarre à gauche comme la trace rouge //originB := Point(originR.X + round(pb.Width / 3), pb.Height div 2); // idem originB := Point(round(pb.Width / 2 - pb.Width / 8), pb.Height div 2);// pareil // et plus bas les dessins : FPointsB[i].X := originB.x + Round(radian * xRangePixels / Pi); // FPointsB[i].Y := originB.y - Round(sin(radian) * yRangePixels); // erreur lamentable FPointsB[i].Y := originB.y - Round(sin(radian + deuxPIsur3) * yRangePixels); // le décalage qui va bien FPointsG[i].X := originG.x + Round(radian * xRangePixels / Pi); // FPointsG[i].Y := originG.y - Round(sin(radian) * yRangePixels); // idem FPointsG[i].Y := originG.y - Round(sin(radian - deuxPIsur3) * yRangePixels); // pareil FPointsR[i].X := originR.x + Round(radian * xRangePixels / Pi); FPointsR[i].Y := originR.y - Round(sin(radian) * yRangePixels);
Le pire c'est que tu l'avais dit dans ta réponse, mais dans un langage que je n'arrivais pas à comprendre.
Rappelez-vous, le 12 mai, page 184, j'écrivais
Je te présente mes plus sincères excuses, et pour me faire pardonner, une trouvaille sur la playlist de Fip et la première a entrainé la seconde, mais je spoile que peut-être à notre époque timorée, NSFW.
Oui, je suis en plein débriefing perso,
Et mine de rien, 13 pages et 252 posts en comptant celui-ci, quelle aventure !
Commencée le 10 avril, terminée 40 jours plus tard, foufff.
Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peut–être qu'il peut être sûr, etc.
Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
Mes 2 cts,
--
jp
Bonjour,
toujours penché sur les vieux machins qui m'ont tant fait souffrir ces dernières semaines, j'épure, j'analyse, je vérifie je triture et je corrige et si je viens vers vous ce matin c'est parce que je suis face à un mystère, comme quoi ça n'est pas encore bien rentré, tout ça.
J'ai un bout de code censé dessiner les 3 courbes, ça le fait mais les couleurs B et V sont inversées :
Le "cercle des mesures d'angles à retenir" (souce)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
31
32
33
34
35
36 with image do begin // https://stackoverflow.com/questions/29917446/drawing-sine-wave-in-canvas canvas.Pen.Color := clGray; canvas.moveTo(0, demihauteur + 3; // demihauteur c'est la demi-hauteur de l'objet d'affichage for i := 0 to largeur_rendu-1 do // une droite au milieu canvas.lineTo(i, demihauteur + 3; // les courbes canvas.moveTo(offset_gauche, demihauteur); canvas.Pen.Color := clBlue; for i := offset_gauche to largeur_rendu-1 do begin y := round(demihauteur + demihauteur*sin((2*Pi*i/ largeur_rendu) -Pi/6)); Canvas.LineTo(i,255-y); // rendu esthétique //Canvas.LineTo(i,y); // rendu mathématique end; canvas.moveTo(offset_gauche,nice_height div 2); canvas.Pen.Color := clGreen; for i := offset_gauche to largeur_rendu-1 do begin y := round(demihauteur + demihauteur*sin((2*Pi*i/ largeur_rendu) -5*Pi/6)); Canvas.LineTo(i,255-y); // rendu esthétique //Canvas.LineTo(i,y); // rendu mathématique end; canvas.moveTo(offset_gauche,nice_height div 2); canvas.Pen.Color := clRed; for i := offset_gauche to largeur_rendu-1 do begin y := round(demihauteur + demihauteur*sin((2*Pi*i/ largeur_rendu) +3*Pi/6)); // oui je sais, 3*Pi/6 c'est Pi/2, mais c'est juste pour voir partout du "/6" Canvas.LineTo(i,255-y); // rendu esthétique //Canvas.LineTo(i,y); // rendu mathématique : y est à 255, tout en bas et monte en cloche // au départ à pi/2, sin(a) vaut 1 donc 127 (la demihauteur) + 127x1 = 254 et c'est la cloche qui monte end; end;
m'indique que si je me positionne à midi (point_de_départ [3 h] + Pi/2 soit 12 h), un tiers de cercle plus loin, à 8 h je serai à -5*Pi/6 et un tiers de plus m'amènera à 4 h, soit -Pi/6.
Le site ne montre pas le sens mais j'ai également capté qu'on parcourt habituellement le cercle dans le sens inverse dad'um, en commençant à 3 h.
Sauvé, j'en ai trouvé un autre qui le montre :
Bien.
Tout cela est beau et bon et je l'ai compris, la question c'est : pourquoi j'ai du bleu dans l'image là où je devrais avoir du vert et inversement ?
Question subsidiaire :
pourquoi dans l'équation de wiwaxia la teinte varie-t-elle sur [0 ; 2*Pi[ ? Quand on regarde les spécs des pixels, ça varie de 0 à 255.
Pour calculer ce qui précède, je me suis grandement inspiré de son petit post, que j'ai synthétisé ainsi :
Et ça colle avec le parcours du cercle en sens inverse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 for I := 0 to L-1 do begin t := 2*Pi*I(rang du pixel)/L(largeur image); Ir := Round(255*F(t)); Iv := Round(255*F(t - 2*Pi/3)); Ib := Round(255*F(t + 2*Pi/3)); end;
D'ailleurs, si je l'applique tel quel, les couleurs sont bonnes :
Mais je veux que le rouge démarre en haut, il me faut donc tout décaler de +Pi/2 sur le cercle et donc, ça m'inverse vert et bleu, voir + haut.
Merci pour les explications.
Ah !, en me relisant et en comparant la formule de wwx et le cercle du site, je constate que wwx a inversé les signes "-" et "+".
Pourquoi, camarade ?
Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peut–être qu'il peut être sûr, etc.
Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
Mes 2 cts,
--
jp
salut
tu calcul des coefficient de couleur
matériellement rien ne t’empêche d'intervertir les indice de couleur
au lieu de
essai
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 for I := 0 to L-1 do begin t := 2*Pi*I(rang du pixel)/L(largeur image); Ir := Round(255*F(t)); Iv := Round(255*F(t - 2*Pi/3)); Ib := Round(255*F(t + 2*Pi/3)); end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 for I := 0 to L-1 do begin t := 2*Pi*I(rang du pixel)/L(largeur image); Ir := Round(255*F(t)); Iv := Round(255*F(t + 2*Pi/3)); Ib := Round(255*F(t - 2*Pi/3)); end;
Blaise PascalNous souhaitons la vérité et nous trouvons qu'incertitude. [...]
Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
PS : n'oubliez pas le tag
Non.
Je veux une explication.
Je ne peux pas continuer à avancer dans le brouillard, à coups d'essais, wiwaxia l'a bien dit il y a pas longtemps.
Je vois le cercle sur le papier, avec mon crayon j'avance de 12 h à 8 h puis à 4 h et j'ai le résultat inverse de ce que je pensais obtenir. Pourquoi ?
Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peut–être qu'il peut être sûr, etc.
Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
Mes 2 cts,
--
jp
L'axe (x'x) de ta matrice est orienté vers la droite, et (y'y) vers le bas, de sorte que tu travailles dans un repère indirect: tout cercle trigonométrique y est orienté dans le sens rétrograde.
Je ne peux pas prolonger.
Il en a de la chance, le cougouar.
Je crois d'ailleurs qu'il s'agit plutôt d'une panthère des neiges.
Dommage, car tu me laisses sur ma faim (de couguar, [et attention, joke à double détente, ]).
(Tiens, avais-tu remarqué, dans le bas du site que tu cites ?
Et pourquoi je parle de ryb plutôt que de rjb ? Parce que ryb tu peux le prononcer « rib' », c'est instantané, alors que pour l'autre il faut se détruire la bouche à articuler air-jibé, beuark, il y a un temps de reconfiguration de la bouche entre le "r" et le "j".
Et tant qu'on est dans la parenthèse, tu sais, ces histoires d'expert et compagnie sur les forums, ça me fait grandement rigoler car c'est juste lié à la quantité de posts que tu génères, peu importe leur qualité. Alors bon...)
Bon nos moutons, avant qu'ils ne se fassent dévorer par le loup :
comm' d'hab', je ne comprends pas ce que tu racontes.
Pour la bonne et simple raison que ça devrait s'appliquer à tout le cercle et donc également au point de départ à midi, qui devrait alors se retrouver à 6 h.
Tu parles de "rétrograde", je parle de sens trigonométrique, on le voit avec la flèche (petite image du cercle), et je ne change pas de sens en cours de route.
Je suspecte une blague avec le cosinus, négatif sur x'-0 et positif de l'autre côté, ce qui fait que ça impacterait la manière de rendre V et B, mais je ne vois pas comment le cosinus interviendrait dans mes équations avec juste du sinus.
Tu vois, je réfléchis, j'entretiens mes neurones, mais des fois, des choses évidentes pour certains sont totalement opaques pour d'autres (ai vu sur un site des formules avec sin2(x) sans aucune explication : j'ai tout simplement fui).
Prends ton temps pour prolonger, car j'ai vraiment besoin d'une explication compréhensible.
Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peut–être qu'il peut être sûr, etc.
Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
Mes 2 cts,
--
jp
salut
effectivement tu n'as pas compris le code
pourquoi 2* PI c'est simplement que pour faire le cercle trigonométrique tu vas de 0 a pi (0..180°) et de PI a 0 (180..360°)
Les trois points que tu nous donne sont les 3 position initiale a fin de diviser le cercle en trois point l'angle au sommet en passant par le centre doit être de 60°
ce qui veut dire que si tu relis deux point au centre tu devrait être en mesure de représenter un triangle isocèle
tes trois points se déplace symétriquement sur le cercle
les trois point font un tour complet du cercle pour définir tes 255 valeurs
imagine que tu as trois cercles distinct un pour chaque couleur
tes courbe sont de type sinusoïdale elle dépendent donc de t du temps et doivent couvrir 2 phase(Pi)
Blaise PascalNous souhaitons la vérité et nous trouvons qu'incertitude. [...]
Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
PS : n'oubliez pas le tag
Et je n'ai pas compris ton post non plus...
Sans blague ? Non là quand même, ça fait des dizaines d'années que je le sais, ça. Faut pas me prendre non plus pour le dernier des abrutis.
Pas compris la seconde partie, celle en gras.
Oui. Et alors ?
Rien compris non plus.
Les trois points se déplacent ensemble sur le cercle l'un derrière l'autre, chacun séparé de 120 ° de son suivant, et je ne vois aucune symétrie là-dedans.
Ben oui, tu abuses, là. Je sais bien que je suis neuneu, mais il y a des limites, hein.
Oui, et alors ?
Ben oui, c'est bien ce qu'elles sont et ce qu'elles font, si tu regardes bien mes images.
Et le plus fort, c'est que tu n'as pas répondu à la question : pourquoi les couleurs V et B sont-elles inversées ?
Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peut–être qu'il peut être sûr, etc.
Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
Mes 2 cts,
--
jp
salut
voila les propriete que j'essayé de t'exposer
après relecture je me suis peut être un peu emballé rapidement
et effectivement je n'ai pas répondu à ta question
en faites je comprend pas trop la question qui te taraude exactement
reprenons ton code
on vas le remettre en forme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
31
32
33
34 with image do begin // https://stackoverflow.com/questions/29917446/drawing-sine-wave-in-canvas canvas.Pen.Color := clGray; canvas.moveTo(0, demihauteur + 3; // demihauteur c'est la demi-hauteur de l'objet d'affichage for i := 0 to largeur_rendu-1 do // une droite au milieu canvas.lineTo(i, demihauteur + 3; // les courbes canvas.moveTo(offset_gauche, demihauteur); canvas.Pen.Color := clBlue; for i := offset_gauche to largeur_rendu-1 do begin y := round(demihauteur + demihauteur*sin((2*Pi*i/ largeur_rendu) -Pi/6)); Canvas.LineTo(i,255-y); // rendu esthétique //Canvas.LineTo(i,y); // rendu mathématique end; canvas.moveTo(offset_gauche,nice_height div 2); canvas.Pen.Color := clGreen; for i := offset_gauche to largeur_rendu-1 do begin y := round(demihauteur + demihauteur*sin((2*Pi*i/ largeur_rendu) -5*Pi/6)); Canvas.LineTo(i,255-y); // rendu esthétique //Canvas.LineTo(i,y); // rendu mathématique end; canvas.moveTo(offset_gauche,nice_height div 2); canvas.Pen.Color := clRed; for i := offset_gauche to largeur_rendu-1 do begin y := round(demihauteur + demihauteur*sin((2*Pi*i/ largeur_rendu) +3*Pi/6)); // oui je sais, 3*Pi/6 c'est Pi/2, mais c'est juste pour voir partout du "/6" Canvas.LineTo(i,255-y); // rendu esthétique // au départ à pi/2, sin(a) vaut 1 donc 127 (la demihauteur) + 127x1 = 254 et c'est la cloche qui monte end; end;
que tu raproche de se code ci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 with image do begin // https://stackoverflow.com/questions/29917446/drawing-sine-wave-in-canvas canvas.moveTo(0, demihauteur + 3; // demihauteur c'est la demi-hauteur de l'objet d'affichage canvas.Pen.Color := clGray; for i := 0 to largeur_rendu-1 do // une droite au milieu canvas.lineTo(i, demihauteur + 3; ////////////////////////////////////////////////////// // les courbes canvas.moveTo(offset_gauche,nice_height div 2); for i := offset_gauche to largeur_rendu-1 do begin canvas.Pen.Color := clRed; ////// le rouge ////////// T := (2*Pi*i/ largeur_rendu) ; y := demihauteur + round( demihauteur*sin(T+3*Pi/6)); // oui je sais, 3*Pi/6 c'est Pi/2, mais c'est juste pour voir partout du "/6" Canvas.LineTo(i,255-y); // rendu esthétique // au départ à pi/2, sin(a) vaut 1 donc 127 (la demihauteur) + 127x1 = 254 et c'est la cloche qui monte ////// le vert ////////// canvas.Pen.Color := clGreen; y := demihauteur +round( demihauteur*sin(T -5*Pi/6)); Canvas.LineTo(i,255-y); // rendu esthétique ////// le bleu ////////// canvas.Pen.Color := clBlue; y := demihauteur + round(demihauteur*sin(T-Pi/6)); Canvas.LineTo(i,255-y); // rendu esthétique end;
tu veut décaler de Pi/2 si j'ai bien compris
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 for I := 0 to L-1 do begin t := 360°*I(rang du pixel)/L(largeur image); Ir := Round(255*F(t) ); Iv := Round(255*F(t - 2*PI/3) ); Ib := Round(255*F(t + 2*PI/3) ); end;
imaginons que le rouge est a 0 soit 0° =0
le vert quand a lui on vas a 0- 2*PI/3 soit environs 8 heure 30 soit 135° = 2PI/3
et le bleu vas 0+2*PI/3 donc 10 heure 30 soit 225° ou -135° = -2PI/3
on decale de PI /2 soit 90° = PI/2
pour le vert 135+90 = 225 ° ou -135 = -5PI/6
pour le bleu -135+90= -45 ou 315° = - PI/6
il suffit de regarder ton cercle des mesure est de chercher l'angle droit en partant de la valeur initiale
Blaise PascalNous souhaitons la vérité et nous trouvons qu'incertitude. [...]
Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
PS : n'oubliez pas le tag
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager