Concours de rentrée 2019 - défi de tracé
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41956
- Images: 15669
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: Concours de rentrée 2019 - défi de tracé
critor wrote:J'ignore donc si vous avez reçu les courriels de ce midi ou pas.
Non, pour ma part je n'ai encore rien reçu par email.
Découvrez mon projet principal : Casio Basic Web Interpreter, le basic Casio dans votre navigateur web !
-
Krevo_Premium
Niveau 6: SM (Super Membre)- Posts: 39
- Joined: 06 Oct 2019, 17:32
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: Krevo_
- GitHub: Krevo
Re: Concours de rentrée 2019 - défi de tracé
Je ne t'ai pas envoyé, car tu as déjà posté spontanément ton explication plus haut.
Mais rien ne t'empêche d'apporter des précisions si tu le souhaites.
Mais rien ne t'empêche d'apporter des précisions si tu le souhaites.
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41956
- Images: 15669
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: Concours de rentrée 2019 - défi de tracé
pour ma part, Je vais voir ce soir (après être rentré chez moi) si je peux essayer de faire qq chose !
-
Extra44Premium
Niveau 11: LV (Légende Vivante)- Posts: 591
- Images: 1
- Joined: 20 Jan 2011, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: S.I.
Re: Concours de rentrée 2019 - défi de tracé
Krevo_ wrote:Le reste sera décrit plus tard ...
Bon, je crois que j'ai décrit la méthode pour les cercles mais pas le reste.
Je passe sur la boucle qui dessine les "Z" c'est trivial.
Pour les 3 rectangles, les chiffres et surtout Link et son épee, j'ai fait une sorte de moteur de dessin vectoriel (qui existe donc 3 fois en tout, j'aurais sans doute pu coder les déplacement de stylo et optimisé mais bon c'était déjà consommateur de temps tout ça ....)
Il s'agit de consommer un à un les chiffres des variable A et M (je me limite à 13 chiffres suite à différents test pour voir ce qui marchais en nombre de chiffre significatif, c'est à dire sans perdre d'informations)
- Code: Select all
Stylo écrit
1343282468656→A
7833249394235→M
Répéter 3
Si E=8 Alors
2453212124178→A
1821311311322→M
Fin
Répéter 15
S'orienter à 45(A-FEnt(A÷Fdegrés
Avancer de(M-FEnt(M÷F))(1+,41(2-PGCD(2;A-FEnt(A÷Fpixels
Ent(A÷F→A
Ent(M÷F→M
⤴
7463468745678→A
2232433151413→M
1+E→E
⤴
(Attention ici E valait 6 car j'avais fini de dessiné les Z comme ça, ... donc E =8 est le test du 3e tour de boucle, car ici j'ai 3 fois 13 chiffres pour A et pour M).
Dans A, j'ai mis successivement les angles, l'unité est le "multiple de 45°".
Ainsi, avec "2453212124178→A", les orientations sont successivement de 90° (2 x 45°), 180° (4 x 45°), 225° (5 x 45°), ....
Dans M je mets le nb de pixels. Donc "2232433151413→M" signifie qu'il faudra avancer de 2, 2, 3, ... pixels.
A chaque fois un couple orientation/avancement en pixels.
Problème : quand l'orientation est en diagonale (45°, 135°, 225 °, ....) il faut avancer non pas de n pixels mais de n √2 pixels, donc si le chiffre de l'orientation est impair, on est en diagonale et je multiplie le nb de pixels d'avancement par 1 + 1 x 0.41, ce qui fait 1.41. Sinon, si c'est pair, je multiplie le nb de pixels d'avancement par 1 + 0 x 0.41, ce qui fait tout simplement 1.
La parité est testé à l'aide du PGCD du nb testé et de 2 (le PGCD est 2 pour les nb pair, 1 pour les nb impair).
Last edited by Krevo_ on 08 Nov 2019, 17:49, edited 4 times in total.
Découvrez mon projet principal : Casio Basic Web Interpreter, le basic Casio dans votre navigateur web !
-
Krevo_Premium
Niveau 6: SM (Super Membre)- Posts: 39
- Joined: 06 Oct 2019, 17:32
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: Krevo_
- GitHub: Krevo
Re: Concours de rentrée 2019 - défi de tracé
critor wrote:Je ne t'ai pas envoyé, car tu as déjà posté spontanément ton explication plus haut.
Mais rien ne t'empêche d'apporter des précisions si tu le souhaites.
D'accord. Supplément d'explications apporté ci-dessus.
Découvrez mon projet principal : Casio Basic Web Interpreter, le basic Casio dans votre navigateur web !
-
Krevo_Premium
Niveau 6: SM (Super Membre)- Posts: 39
- Joined: 06 Oct 2019, 17:32
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: Krevo_
- GitHub: Krevo
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41956
- Images: 15669
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: Concours de rentrée 2019 - défi de tracé
critor wrote:Je crois que j'ai des problèmes d'envoi de courriel, recevant beaucoup de :
- Code: Select all
Remote Server returned '550 5.6.2 STOREDRV.Submit; subscription is disabled'
J'ignore donc si vous avez reçu les courriels de ce midi ou pas.
J'ai bien reçu le mail et j'ai déjà répondu avec quelques explications de ma méthode.
-
PavelPremium
Niveau 7: EP (Espèce Protégée: geek)- Posts: 107
- Joined: 19 Sep 2018, 10:50
- Gender:
- Calculator(s):→ MyCalcs profile
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41956
- Images: 15669
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: Concours de rentrée 2019 - défi de tracé
Bon pour moi :
J'avais fait ma 1ere version sur python /ordi, et comme j'étais à "l'aise" (ben oui j'avais de la place .... ca me paraissait optimal...c'était beau quoi...), j'avais réussi ('yess' ) à dessiner correctement le bitmap.
Mais comme quasiment tout le monde ici, le problème est le manque de place. Et quand j'ai vu qu'une instruction moyenne sur la "calculatrice" faisait au bas mot 10 octets facile (avec les fins de ligne SVP ! ): je me suis dit Arghh !
J'ai eu un autre soucis : turtle sur python/ordi et turtle sur casio college ont un comportement différent sur la dernière position/pixel avant levé du stylo : sur l'ordi : il n'est pas dessiné, sur casio college : il l'est ;-(
Du coup une fois passé sur emulateur, je ne suis plus revenu sur le python/ordi !
J'avais attaqué dans cette version les figures par 'ordre' : en 1er la figure à gauche : les cercles.
Après quelques essais, j'en suis arrivé a faire le tracé mathématique d'un cercle par cos et sin.
Restait à avoir les bons centres et rayons des 2 cercles:j'ai bien vu que le centre n'est pas placé pile sur un pixel entre les 4 pixels !
Sinon dommage pour moi mais je n'avais pas compris/comment utiliser correctement le théta...
Après quelques essais, j'avais un rayon de 6.3 pixels pour le grand cercle , 4.5 pixels pour le petit, et un pas d'angle de 5°.
Pourquoi 5°, car c'était la 1ere valeur qui m'a donné un cercle collant au bitmap, et qu'ensuite la valeur de 5 dans C et la valeur de A mise a 135 (°) pouvait me servir pour le zigzag ou pour d'autres angles (2A=270 = -90°, 3A ...)
Ensuite les rectangles : j'avais fait une première version avec les 2 pixels blancs : je me suis rendu vite compte que cela bouffait des octets ==> j'ai alors opté pour 3 rectangles pleins.
Une petite optimisation ici a été de finir par le rectangle d'en haut et de finir sur le trait horizontal du haut du rectangle, et de finir dans la direction vers l'Est (0°), afin de ne faire qu'un avancer de 22 pixels pour arriver sur le début du zigzag.
J'avais réussi a faire une petite optimisation sur le zigzag, mais la participation totale n'étant pas meilleure, elle est passée à la trappe
-->voir la dernière participation
Dans cette version je suis passé ensuite au nombre 2019, en essayant de limiter les nombres d'octets, en voyant que les si fin si, voire les si sinon fin si bouffait de la place !
J'ai essayé avec une boucle en tournant a droite pour la moitié haute du 2, puis autant de boucles que possible pour faire le reste du 2019 en tournant a gauche... sans oublier les saut entre chiffres que j'ai zappé exprès car moins rentables de les prendre en compte...
Pour le "logo" en haut du cœur : j'ai essayé de regrouper les actions de même type (éventuellement paramétré) : j'ai vu une symétrie d'axe verticale ( --> variable D égale a +1/-1 agissant sur la position x), et une petite symétrie d'axe horizontal entre la pointe centrale haute et la pointe centrale basse du logo : variable C agissant sur y !
D'où le code.
ben après pour le reste : l'épée et la tete : vu qu'il ne me restait plus beaucoup d'octets, j'ai tracé les plus grands traits, en essayant de lever le moins possible le crayon.
Après cela j'avais essayé de coder les mouvements, mais cela s'est révélé moins meilleurs !
Voila, si vous avez des questions, demandez !
Extra44
J'avais fait ma 1ere version sur python /ordi, et comme j'étais à "l'aise" (ben oui j'avais de la place .... ca me paraissait optimal...c'était beau quoi...), j'avais réussi ('yess' ) à dessiner correctement le bitmap.
Mais comme quasiment tout le monde ici, le problème est le manque de place. Et quand j'ai vu qu'une instruction moyenne sur la "calculatrice" faisait au bas mot 10 octets facile (avec les fins de ligne SVP ! ): je me suis dit Arghh !
J'ai eu un autre soucis : turtle sur python/ordi et turtle sur casio college ont un comportement différent sur la dernière position/pixel avant levé du stylo : sur l'ordi : il n'est pas dessiné, sur casio college : il l'est ;-(
Du coup une fois passé sur emulateur, je ne suis plus revenu sur le python/ordi !
J'avais attaqué dans cette version les figures par 'ordre' : en 1er la figure à gauche : les cercles.
Après quelques essais, j'en suis arrivé a faire le tracé mathématique d'un cercle par cos et sin.
Restait à avoir les bons centres et rayons des 2 cercles:j'ai bien vu que le centre n'est pas placé pile sur un pixel entre les 4 pixels !
Sinon dommage pour moi mais je n'avais pas compris/comment utiliser correctement le théta...
Après quelques essais, j'avais un rayon de 6.3 pixels pour le grand cercle , 4.5 pixels pour le petit, et un pas d'angle de 5°.
Pourquoi 5°, car c'était la 1ere valeur qui m'a donné un cercle collant au bitmap, et qu'ensuite la valeur de 5 dans C et la valeur de A mise a 135 (°) pouvait me servir pour le zigzag ou pour d'autres angles (2A=270 = -90°, 3A ...)
Ensuite les rectangles : j'avais fait une première version avec les 2 pixels blancs : je me suis rendu vite compte que cela bouffait des octets ==> j'ai alors opté pour 3 rectangles pleins.
Une petite optimisation ici a été de finir par le rectangle d'en haut et de finir sur le trait horizontal du haut du rectangle, et de finir dans la direction vers l'Est (0°), afin de ne faire qu'un avancer de 22 pixels pour arriver sur le début du zigzag.
J'avais réussi a faire une petite optimisation sur le zigzag, mais la participation totale n'étant pas meilleure, elle est passée à la trappe
-->voir la dernière participation
Dans cette version je suis passé ensuite au nombre 2019, en essayant de limiter les nombres d'octets, en voyant que les si fin si, voire les si sinon fin si bouffait de la place !
J'ai essayé avec une boucle en tournant a droite pour la moitié haute du 2, puis autant de boucles que possible pour faire le reste du 2019 en tournant a gauche... sans oublier les saut entre chiffres que j'ai zappé exprès car moins rentables de les prendre en compte...
Pour le "logo" en haut du cœur : j'ai essayé de regrouper les actions de même type (éventuellement paramétré) : j'ai vu une symétrie d'axe verticale ( --> variable D égale a +1/-1 agissant sur la position x), et une petite symétrie d'axe horizontal entre la pointe centrale haute et la pointe centrale basse du logo : variable C agissant sur y !
D'où le code.
ben après pour le reste : l'épée et la tete : vu qu'il ne me restait plus beaucoup d'octets, j'ai tracé les plus grands traits, en essayant de lever le moins possible le crayon.
Après cela j'avais essayé de coder les mouvements, mais cela s'est révélé moins meilleurs !
Voila, si vous avez des questions, demandez !
Extra44
-
Extra44Premium
Niveau 11: LV (Légende Vivante)- Posts: 591
- Images: 1
- Joined: 20 Jan 2011, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: S.I.
Who is online
Users browsing this forum: ClaudeBot [spider] and 8 guests