π
<-
Chat plein-écran
[^]

[Axe/Basic] Laser en fonction de l'angle

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:

Re: [Axe/Basic] Laser en fonction de l'angle

Unread postby Wistaro » 11 May 2013, 16:41

Dommage...
Nouveau sur le site, Anonymous ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
User avatar
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 88%
 
Posts: 3158
Images: 37
Joined: 25 Feb 2013, 16:21
Location: Toulouse
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingénieur en électronique
YouTube: Wistaro
Twitter: Wistaro
GitHub: Wistaro

Re: [Axe/Basic] Laser en fonction de l'angle

Unread postby mdr1 » 11 May 2013, 17:15

Euh, désolé de te contredire, Persalteas, mais il y a un moyen de faire un code bien plus rapide. Le premier point tout à fait aberrant est de calculer sin(A) et cos(A) deux fois de suite alors que la valeur ne change pas ; il suffit de stocker ces valeurs dans des variables. Déjà, tu vas gagner pas mal de vitesse.

Mais surtout, tu devrais utiliser le pré-calculé pour ne pas sans cesse refaire des calculs inutiles. Normalement, c'est exactement ce qui se passe en Axe, en tout cas, en assembleur, on fait généralement comme ceci : inclure directement du pré-calculé. Le code devient (avec d'autres optimisations au passage) :

Code: Select all
ClrDraw
AxesOff
Degree
.2->Xmax
Ans->Ymax
-Ans->Xmin
Ans->Ymin
361->B
seq(sin(X),X,1,B->L1
seq(cos(X),X,1,B->L2
0
While 1
Ans+1-B(Ans=B
Line(0,0,L1(Ans),L2(Ans
Text(0,0,Ans
Line(0,0,L1(Ans),L1(Ans),0
End


Mon programme fait 139 octets et voici le résultat :

Image

Bien évidemment, ça reste plus lent qu'en Axe. Mais le fait d'afficher 3 lignes au lieu d'une ne triple absolument pas le temps demandé, hein. Quand à faire cela en Asm ne permettrait que de gagner très peu de vitesse, mais surtout quelques dizaines d'octets (soit pas beaucoup), car pour ce programme, ce sont les routines toutes faites Asm utilisées par l'Axe qui sont le facteur limitant. Mais notez que ce programme n'est pas du tout plus difficile à faire en Asm qu'en Axe.

Persalteas, tu nous le fais en Grammer ?
Image ImageImage
User avatar
mdr1Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 44%
 
Posts: 1083
Images: 12
Joined: 28 Mar 2011, 00:00
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Je voyage toujours en première.

Re: [Axe/Basic] Laser en fonction de l'angle

Unread postby Persalteas » 11 May 2013, 17:18

Ah ! Je savais bien que c'était possible !

L'idée était en effet le pré-calculé, dans le temps j'avais fait un jeu du pisseur avec des valeurs enregistrées, et ça allait beaucoup plus vite que ce que je viens de trouver !

Merci beaucoup :bj:

*Persalteas s'incline encore plus bas
User avatar
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 6.2%
 
Posts: 2337
Images: 113
Joined: 04 Feb 2010, 00:00
Location: Evry (France)
Gender: Male
Calculator(s):
MyCalcs profile
Class: PhD candidate, Bioinformatics

Re: [Axe/Basic] Laser en fonction de l'angle

Unread postby mdr1 » 12 May 2013, 12:54

Je n'ai rien dit, j'ai regardé le code Axe, ce serait nettement plus optimisé en Asm en taille comme en vitesse.
Image ImageImage
User avatar
mdr1Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 44%
 
Posts: 1083
Images: 12
Joined: 28 Mar 2011, 00:00
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Je voyage toujours en première.

Re: [Axe/Basic] Laser en fonction de l'angle

Unread postby Persalteas » 12 May 2013, 19:45

Sans vouloir être un troll, voici comment Xeda l'a fait en Grammer:

Code: Select all
:.0:Return
:0→A→E
:Repeat 0
:ClrDraw
:GetInc(A
:Text('ºA and 255
:62+sin(A
:/ 2→B
:94+cos(A
:/ 2→C
:Rect('47,31,C,B
:Rect('48,31,C+1,B
:Rect('47,32,C,B+1
:DispGraph
:End


112 octets :P

Image
User avatar
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 6.2%
 
Posts: 2337
Images: 113
Joined: 04 Feb 2010, 00:00
Location: Evry (France)
Gender: Male
Calculator(s):
MyCalcs profile
Class: PhD candidate, Bioinformatics

Re: [Axe/Basic] Laser en fonction de l'angle

Unread postby Hayleia » 12 May 2013, 20:04

112 octets parce que toutes les routines sont dans l'application. Matref sait le faire aussi en peu d'octets, il a juste à tout mettre dans une app et utiliser son Axiome PageSwap, et bim.
Ça sert à rien de comparer la taille d'un programme en Basic et celle d'un programme en Axe, et pareil pour la comparaison Grammer/Axe.

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Templar

Re: [Axe/Basic] Laser en fonction de l'angle

Unread postby mdr1 » 12 May 2013, 20:07

Hayleia wrote:112 octets parce que toutes les routines sont dans l'application. Matref sait le faire aussi en peu d'octets, il a juste à tout mettre dans une app et utiliser son Axiome PageSwap, et bim.
Ça sert à rien de comparer la taille d'un programme en Basic et celle d'un programme en Axe, et pareil pour la comparaison Grammer/Axe.

Bien sûr que si que ça sert de comparer, on présente souvent la page d'application Grammer nécessaire pour exécuter des programmes Grammer comme un inconvénient, il est donc juste de montrer que les programmes sont d'un autre côté bien plus légers et qu'avec pas mal de programmes, la balance penche bien vite du bon côté.
Image ImageImage
User avatar
mdr1Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 44%
 
Posts: 1083
Images: 12
Joined: 28 Mar 2011, 00:00
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Je voyage toujours en première.

Re: [Axe/Basic] Laser en fonction de l'angle

Unread postby Persalteas » 12 May 2013, 20:08

Oui - par cette affirmation de "112 octets" je souhaitais dire que c'était un code relativement court et simple, en nombre de lignes à penser si tu veux.
Evidemment que les routines, ça compte pas.

J'aurais du compter en nombre de lignes, excuse-moi.
User avatar
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 6.2%
 
Posts: 2337
Images: 113
Joined: 04 Feb 2010, 00:00
Location: Evry (France)
Gender: Male
Calculator(s):
MyCalcs profile
Class: PhD candidate, Bioinformatics

Re: [Axe/Basic] Laser en fonction de l'angle

Unread postby mdr1 » 12 May 2013, 20:10

Non, le nombre de lignes ne veut absolument rien dire, parfois, en Axe, on va avoir des lignes immenses et impossibles à comprendre tandis qu'en asm, chaque ligne sera toujours une instruction élémentaire triviale. Dans ce cas, je vais vous faire des programme ti basic sur une seule ligne...
Image ImageImage
User avatar
mdr1Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 44%
 
Posts: 1083
Images: 12
Joined: 28 Mar 2011, 00:00
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Je voyage toujours en première.

Re: [Axe/Basic] Laser en fonction de l'angle

Unread postby Hayleia » 12 May 2013, 20:13

mdr1 wrote:
Hayleia wrote:112 octets parce que toutes les routines sont dans l'application. Matref sait le faire aussi en peu d'octets, il a juste à tout mettre dans une app et utiliser son Axiome PageSwap, et bim.
Ça sert à rien de comparer la taille d'un programme en Basic et celle d'un programme en Axe, et pareil pour la comparaison Grammer/Axe.

Bien sûr que si que ça sert de comparer, on présente souvent la page d'application Grammer nécessaire pour exécuter des programmes Grammer comme un inconvénient, il est donc juste de montrer que les programmes sont d'un autre côté bien plus légers et qu'avec pas mal de programmes, la balance penche bien vite du bon côté.
Bof, "avec pas mal de programmes" tu passes à une SE et tu t'en fous d'économiser de la place (c'est ce que j'ai fait en tout cas :P)
À la limite, j'accepte ton argument pour le Grammer. Mais est-ce que tu crois qu'on peut coder assez de programmes pour rattraper les 49152 octets de DCS ?

Persalteas wrote:Oui - par cette affirmation de "112 octets" je souhaitais dire que c'était un code relativement court et simple, en nombre de lignes à penser si tu veux.
Evidemment que les routines, ça compte pas.

J'aurais du compter en nombre de lignes, excuse-moi.
En nombres de lignes ça compte pas vraiment non plus si on se met à vouloir comparer avec l'ASM aussi, là le nombre de lignes risque d'être plus gros aussi :P
(ce qui revient à ce que mdr1 a dit dans son ninja post)
Et oui, c'est simple à penser mais ça devient vite moche et long si on l'optimise pour la vitesse et c'est ce que Matref a fait ;)

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Templar

PreviousNext

Return to Problèmes divers / Aide débutants

Who is online

Users browsing this forum: nacho_1997 and 53 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1364 utilisateurs:
>1352 invités
>9 membres
>3 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)