π
<-

[Programme C] Algorithme de traçage de pixel

C, C++, ASM...

Re: [Programme C] Algorithme de traçage de pixel

Unread postby Ciwtron » 11 Feb 2010, 17:40

angelslife26 wrote:Peut-on directement mettre l'image convertie sur la calto??


Pas encore. Il va falloir Ndless.
La seule manière de mettre une image (mais en plus moche et en n/b) directement sur la calto, c'est mon convertisseur^^.
User avatar
Ciwtron
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 36.7%
 
Posts: 1332
Joined: 29 Nov 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1S

Re: [Programme C] Algorithme de traçage de pixel

Unread postby angelslife26 » 11 Feb 2010, 17:45

Peut on mettre une image d'un texte (en screenshot) sur la calto ou on pourrait y voir quelque chose?
La vie.
Silteplait, arrête.
User avatar
angelslife26
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 54.7%
 
Posts: 87
Joined: 27 Jan 2010, 00:00
Location: La
Gender: Male
Calculator(s):
MyCalcs profile
Class: fin du lycée

Re: [Programme C] Algorithme de traçage de pixel

Unread postby Levak » 11 Feb 2010, 17:46

[quote="JayTe"]

On peut faire bouger l'image en appuyant sur les flèches directionnelles, et même la faire sortir de l'écran (c'est pour ça que ça marche avec des images plus grandes que l'écran de la nspire.
[quote]

god ! là. ça le fait :#top#:
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: [Programme C] Algorithme de traçage de pixel

Unread postby Ciwtron » 11 Feb 2010, 17:49

angelslife26 wrote:Peut on mettre une image d'un texte (en screenshot) sur la calto ou on pourrait y voir quelque chose?


http://tiplanet.org/index.php?mod=ar ... oirid=1537

Envoie moi un MP si tu rencontre des problèmes, c'est un peu hors sujet :#gni#: .
User avatar
Ciwtron
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 36.7%
 
Posts: 1332
Joined: 29 Nov 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1S

Re: [Programme C] Algorithme de traçage de pixel

Unread postby Levak » 11 Feb 2010, 18:06

Jayte > Apès coup, ton code est pas très "propre" et apparemment n'est pas bon pour mon ARM GCC toolchain.

"multiple defined fonctions" un truc comme ça, je ne vois pas trop où mais pour lui c'est évident.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: [Programme C] Algorithme de traçage de pixel

Unread postby critor » 11 Feb 2010, 18:36

JayTe wrote:Bon voila, j'ai fait ce qu'avait proposé critor:
Pour convertir les images: BMPtoC. Petit prog que je viens de faire et qui (contrairement à ce que son nom laisse penser :D: ) prend en charge tous les formats communs comme les bmp, jpg, png...
Il faut lui faire créer un fichier .c du nom de votre choix.
L'image fournie en entrée peut être de n'importe quelle taille, en niveau de gris ou en couleur, mais plus elle est grosse et plus elle sera longue à afficher.
Ensuite il faut compiler ce fichier:
 
Show/Hide spoilerAfficher/Masquer le spoiler
photo.c
Code: Select all
#include "screen.c"
#include "keys.c"
//remplacez image.c par le nom du fichier créé par le programme BMPtoC
#include "image.c"

void dispIMG(int xoff, int yoff, unsigned char img[][256], unsigned int width, unsigned int height)
{
   unsigned int i, j;
   for(i = 0; i  width; i ++)
   {
      for(j = 0; j  height; j ++)
      {
         setPixel(xoff + i, yoff + j, img[j][i]);
      }
   }

}

int main()
{
   int e = 0, ximg = 0, yimg = 0, t;
   
   
   dispIMG(ximg, yimg, image, image_width, image_height);
   
   while(1)
   {
   e = 0;
      if(isKeyUpPressed())
      {
         yimg --;
         e = 1;
      }
      if(isKeyDownPressed())
      {
         yimg ++;
         e = 1;
      }
      if(isKeyLeftPressed())
      {
         ximg --;
         e = 1;
      }
      if(isKeyRightPressed())
      {
         ximg ++;
         e = 1;
      }
      if(e)
      {
         clrscr();
         dispIMG(ximg, yimg, image, image_width, image_height);
      }
   }
   return 0;
}

avec screen.c:
Code: Select all
void setPixel(int x, int y, unsigned int color)
{
   static unsigned char *scr = (unsigned char *) 0xa4000100;
   if(x = 0  x  320  y = 0  y  240)
      scr[y*160+x/2]=x1? (scr[y*160+x/2]0xF0)+color : (scr[y*160+x/2]0x0F)+(color 4);
}

void clrscr()
{
   int i,j;
   for(i = 0; i  320; i ++)
      for(j = 0; j  240; j ++)
         setPixel(i, j, 0xF);
}


et keys.c:
Code: Select all
asm(".macro is_key_pressed row, column");
asm("ldr r0, =(0x900E0000 + row )");
asm("ldrh r0, [r0]");
asm("tst r0, column");
asm(".endm");

int isKeyLeftPressed()
{
   asm("is_key_pressed 0x1e, #0b000001000000");
   asm("movne r0, #0x0");
   asm("moveq r0, #0x1");
}

int isKeyRightPressed()
{
   asm("is_key_pressed 0x1e, #0b000000000100");
   asm("movne r0, #0x0");
   asm("moveq r0, #0x1");
}

int isKeyUpPressed()
{
   asm("is_key_pressed 0x1e, #0b000000000001");
   asm("movne r0, #0x0");
   asm("moveq r0, #0x1");
}

int isKeyDownPressed()
{
   asm("is_key_pressed 0x1e, #0b000000010000");
   asm("movne r0, #0x0");
   asm("moveq r0, #0x1");
}


On peut faire bouger l'image en appuyant sur les flèches directionnelles, et même la faire sortir de l'écran (c'est pour ça que ça marche avec des images plus grandes que l'écran de la nspire.

Au final on peut avoir quelque chose comme ça:
Image

:):

a+
JayTe



Bravo JayTe... ça aurait mérité un topic à part.

Tu peux poster ton travail sur le portail?


Car je pense que ça mérite une news!!!

Je suis prêt à te la faire. :;):


Imaginez tous les jeux réalistes que l'on peut faire avec ça maintenant :#tritop#: :=): :#love#: :8):
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 51.5%
 
Posts: 42258
Images: 16724
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: [Programme C] Algorithme de traçage de pixel

Unread postby JayTe » 11 Feb 2010, 19:06

Merci critor :):
Pour faire un autre topic... j'y avais pas trop pensé ce coup ci parce que c'est la continuation des travaux de Levak depuis le début du topic... Mais la prochaine fois que je ferais un nouveau truc qui sort un peu du sujet du topic, j'en créerai un , promis :D:
C'est vrai que maintenant on va pouvoir commencer à faire des vrais jeux, et pas simplement des démos graphiques... :#gni#:
TabVar - Etude de fonctions sur Nspire!
Image
User avatar
JayTePremium
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 81.6%
 
Posts: 207
Joined: 26 Jan 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Polytechnique

Re: [Programme C] Algorithme de traçage de pixel

Unread postby vx7708 » 11 Feb 2010, 19:23

Waou !! Super boulot !! Félicitations !!
HAHAHA LOL MDR PETE DE RIRE *fait boum* AH BEN VOILA J'AI EXPLOSE DE RIRE LOL MDR :%):

Calculatrices :
TI Nspire Clickpad HW1 2.0
TI Nspire Touchpad HW2 2.0
TI 89 Titanium HW4

C'est tout ! :D:
User avatar
vx7708
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 97.5%
 
Posts: 961
Joined: 01 Jan 2010, 00:00
Location: DTC ! Quoi j'ai juste dit Dans Ton Chat !! Y'a rien de vulgaire :D
Gender: Male
Calculator(s):
MyCalcs profile
Class: TS spé maths

Re: [Programme C] Algorithme de traçage de pixel

Unread postby critor » 11 Feb 2010, 20:24

JayTe wrote:Merci critor :):
Pour faire un autre topic... j'y avais pas trop pensé ce coup ci parce que c'est la continuation des travaux de Levak depuis le début du topic... Mais la prochaine fois que je ferais un nouveau truc qui sort un peu du sujet du topic, j'en créerai un , promis :D:
C'est vrai que maintenant on va pouvoir commencer à faire des vrais jeux, et pas simplement des démos graphiques... :#gni#:



Bon ben je n'attends plus que tu postes ton archive (même si c'est pas encore bien documenté, ce n'est pas grave) pour t'encenser dans une news.

Si tu te sens pas à l'aise, tu peux m'envoyer l'archive, ou l'envoyer à Mic.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 51.5%
 
Posts: 42258
Images: 16724
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: [Programme C] Algorithme de traçage de pixel

Unread postby Levak » 11 Feb 2010, 20:26

critor2000 wrote:
JayTe wrote:Merci critor :):
Pour faire un autre topic... j'y avais pas trop pensé ce coup ci parce que c'est la continuation des travaux de Levak depuis le début du topic... Mais la prochaine fois que je ferais un nouveau truc qui sort un peu du sujet du topic, j'en créerai un , promis :D:
C'est vrai que maintenant on va pouvoir commencer à faire des vrais jeux, et pas simplement des démos graphiques... :#gni#:



Bon ben je n'attends plus que tu postes ton archive (même si c'est pas encore bien documenté, ce n'est pas grave) pour t'encenser dans une news.

Si tu te sens pas à l'aise, tu peux m'envoyer l'archive, ou l'envoyer à Mic.

Mais le problème c'est que ce code ne marche que sur émulateur et avoir de bonne connaissances en compilation/c/batch etc... !
Il ne fonctionne pas encore sur Calculette nativement.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

PreviousNext

Return to Native: Ndless, Linux, ...

Who is online

Users browsing this forum: ClaudeBot [spider] and 3 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
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.
1344 utilisateurs:
>1335 invités
>4 membres
>5 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)