projet QCAS

Interface QT

Modérateur : xcasadmin

loic
Messages : 168
Inscription : ven. mars 14, 2008 7:20 pm

projet QCAS

Message par loic » lun. avr. 09, 2012 8:54 am

Bonjour,

L'année dernière, j'avais commencé à travailler sur la création d'une interface Qt pour Giac.
Par manque de temps, je ne l'ai pas touché depuis plusieurs mois.

Après l'annonce de la lib Qt pour giac, je me suis dit que ce serait sûrement à une bonne idée de l'intégrer pour compléter le projet naissant. C'est chose faite.

L'interface se compose pour le moment:
** D'une feuille de calcul formel
** Qq assistants à la saisie (matrice, équation, aide des commandes)
** D'une fenêtre pour les messages Giac

Si certains veulent la tester:

Code : Tout sélectionner

git clone git://git.tuxfamily.org/gitroot/qcas/qcas.git
cd qcas
qmake qcas.pro
make
./qcas
Pour le moment, pas de support du 64 bits puisque je n'ai pas réussi à compiler la lib qtgiac pour cette architecture.

parisse
Messages : 5082
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: projet QCAS

Message par parisse » mar. avr. 10, 2012 10:07 am

Je viens de compiler sur mon smartbook (ARM 32 bits), ca marche tres bien et c'est tres prometteur, avec une interface qui me fait penser a xcas en ligne, tres facile a prendre en main. A quoi servent les coches avant les lignes de commande, c'est pour selectionner?
Il faudra que je regarde aussi comment l'evaluation est faite, car il faudra surement un jour ajouter un bouton STOP.
En tout cas merci!

loic
Messages : 168
Inscription : ven. mars 14, 2008 7:20 pm

Re: projet QCAS

Message par loic » mar. avr. 10, 2012 4:02 pm

Je pense pouvoir retravailler dessus vers le mois de Juin. (Faut que je retravaille un peu mon Qt d'ici là...)
De mémoire, j'avais juger l'implémentation d'un tableur assez rapide.
En revanche, c'est tout l'aspect graphique (2D+3D) qui n'était pas évident pour obtenir qq chose de cohérent.

Concernant le bouton stop, il est déjà présent lors de l'exécution d'une commande mais n'est pas activé. Je n'avais pas réussi à relayer le signal d'interruption vers Giac à partir de ma tache d'excéution.

Les coches étaient censés servir pour éliminer des niveaux ou éventuellement pour exporter seulement une sélection vers TeX par exemple.... (mais TODO comme on dit ...)

Ps: Vous avez un portable avec processeur ARM??

parisse
Messages : 5082
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: projet QCAS

Message par parisse » mer. avr. 11, 2012 8:42 am

loic a écrit :Je pense pouvoir retravailler dessus vers le mois de Juin. (Faut que je retravaille un peu mon Qt d'ici là...)
De mémoire, j'avais juger l'implémentation d'un tableur assez rapide.
En revanche, c'est tout l'aspect graphique (2D+3D) qui n'était pas évident pour obtenir qq chose de cohérent.

Concernant le bouton stop, il est déjà présent lors de l'exécution d'une commande mais n'est pas activé. Je n'avais pas réussi à relayer le signal d'interruption vers Giac à partir de ma tache d'excéution.
le process d'evaluation est-il dans un thread a part? Si oui, il devrait suffire de tuer le thread. Sinon, en mettrant la variable ctrl_c a true ca devrait interrompre (mais pas forcement tout de suite).
Ps: Vous avez un portable avec processeur ARM??
j'en ai meme deux, un genesi efika mx et un hercules ecafe, je pensais que ce genre de machines allait avoir beaucoup d'avenir (des netbooks a 150-200 euros, donc je voulais proposer des packages debian arm pour xcas), et le phenomene des tablettes est arrive. En fait, ces smartbooks n'etaient pas tout-a-fait assez puissants pour la navigation internet ou la video (500M de RAM, proc a 800Mhz, flash pas optimal). Par contre, pour taper c'est quand meme autre chose que de l'android.

alain974
Messages : 104
Inscription : lun. mai 24, 2010 11:15 am

Re: projet QCAS

Message par alain974 » mer. avr. 11, 2012 5:06 pm

parisse a écrit :En fait, ces smartbooks n'etaient pas tout-a-fait assez puissants pour la navigation internet ou la video
Le jour du passage d'un examen (au hasard, le bac) les candidats ne sont pas censés naviguer sur le net (enfin, pour l'instant) ni faire de l'édition vidéo. Par contre le prix étant du même ordre que celui de certaines calculatrices, l'autorisation de ce genre de machines au bac aurait été sans nul doute intéressante. Au moins à titre expérimental dans certaines académies pilotes...

parisse
Messages : 5082
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: projet QCAS

Message par parisse » mer. avr. 11, 2012 7:47 pm

Oui, mais les constructeurs de netbooks ne semblent pas interesses par ce marche et n'ont probablement jamais envoye de commercial en parler a l'inspection generale.
En fait ce qu'il faudrait c'est une machine a usage grand public parce que sinon on perd les economies d'echelle et on paie forcement le programme education du constructeur. Le frein c'est bien sur la connectivite, mais j'ai bon espoir que des solutions de brouillage soient mises en place dans les centres d'examen (ne laissant passer que les appels d'urgence), il suffirait qu'une affaire genre du bac s l'an dernier se produise, mais pendant l'examen cette fois pour que les choses s'accelerent...

loic
Messages : 168
Inscription : ven. mars 14, 2008 7:20 pm

Re: projet QCAS

Message par loic » ven. avr. 27, 2012 4:50 pm

QCAS supporte quasiment l'intégralité des fonctions 2D.

Pour tester, je vous joins la procédure.

Première initialisation:

Code : Tout sélectionner

git clone git://git.tuxfamily.org/gitroot/qcas/qcas.git
cd qcas
qmake qcas.pro
make
./qcas
Pour mettre à jour le code, dans le répertoire "qcas" précédemment créé:

Code : Tout sélectionner

git pull
make
./qcas
Je vous joins quelques codes de figure à copier-coller:
Exemple 1:

Code : Tout sélectionner

A:=point(1+i);
B:=point(5+2*i,display=quadrant4);
C:=point(3+5*i,display=quadrant1);
s:=segment(A,B);
t:=segment(A,C);
u:=segment(B,C);
display(dash_line+red);
d1:=perpen_bisector(s);
d2:=perpen_bisector(t);
d3:=perpen_bisector(u);
display(solid_line);
O:=single_inter(d1,d2);
circle(O,A-O,display=line_width_4+321);
Exemple 2: (Sierpinski version "attracteurs", quelle rapidité!)

Code : Tout sélectionner

tapis(n):={
  local som, j, current,pic;
  som:=[[0,0],[1,0],[2,0],[2,1],[2,2],[1,2],[0,2],[0,1]];
  som*=150;
  current:=som[0];
  pic:=[0$n];
  for (j;j<n;j++){
    current:=(2*som[rand(8)]+current)/3.0;
    pic[j]=<pixon(current);
  }
  return(pic);
}:;
tapis(100000)
Exemple 3: (Sierpinski version récursive)

Code : Tout sélectionner

sierp(p,size,pos):={
  local s,som,l,j;
  if (p==0) {
    return square(pos,pos+size,display=filled);
  } 
  else {
    s:=size/3.0;
  som:=[0,s,2*s,i*s,2*i*s,s+2*i*s,2*s+2*i*s,2*s+i*s];
  l:=[];
  for(j:=0;j<length(som);j++){
    l:=append(l,sierp(p-1,s,som[j]+pos));
  }
  return l;
  };
}:;
tapis(p):={
  sierp(p,9,1+i);
}:;
tapis(3);
Exemple 4: (Sierpinski version itératif)

Code : Tout sélectionner

tapis2(n):={
  local j,k,j3,k3,l,compteur,pos;
  l:=[0$3^n];
  compteur:=0;
  for(j:=0;j<3^n;j++){
    j3:=convert(j,base,3);
    j3:=fillZeros(j3,n);
    for(k:=0;k<3^n;k++){
      k3:=convert(k,base,3);
     k3:=fillZeros(k3,n);
      if (isBlack(j3,k3)) {
       pos:=j+i*k;
	l[compteur]=<square(pos,pos+1,display=filled);
       compteur++;
      }
  }}
  l;
}:;

isBlack(a,b):={
  local j;
  for (j:=0;j<length(a);j++){
    if ((a[j]==1)&& (b[j]==1)) return false;
  }
  return true;
}:;

fillZeros(a,n):={
  local nb,j;
  nb:=n-length(a);
  for(j:=0;j<nb;j++){
    a:=append(a,0);
  }
  return(a);
}:;

tapis2(3);

frederic han
Messages : 1113
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: projet QCAS

Message par frederic han » sam. avr. 28, 2012 9:25 am

Bonjour,

Feliciations, ca avance bien et les plots sont jolis!

J'ai remarque cela:

1)l'affichage des flottants rajoute un .0 a la fin.

"3,14159265359.0"

2)implicitplot ne supporte que les courbes de degre <=2 pour l'instant c'est ca?

3) l'affichage des grandes reponses est assez lent:
A:=normal((a+b+c+d)**12):;
A met 2 a 3s pour s'afficher, alors que c'est immediat sous xcas.
a+

parisse
Messages : 5082
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: projet QCAS

Message par parisse » sam. avr. 28, 2012 10:20 am

je viens d'essayer, super travail!
Le parenthese-matching est bien réussi.
Est-ce qu'il sera possible de scroller les réponses horizontalement une à une?
Comment orthonormalise-t-on le repère? j'ai trouvé, il faut cliquer droit.
Quelques trucs qui ne marchent pas encore me semble-t-il (sans doute pour plus tard?):
- le 1er tapis (ou alors je n'ai pas été assez patient)
- le bouton STOP ne fonctionne pas encore (ou pas tout le temps)
- le chargement en ligne de commande d'une session
- lors du chargement d'une session, ce serait bien de mettre le filtre à *.qcas
Je sens qu'on va bientot pouvoir abandonner xcas au profit de qcas!

loic
Messages : 168
Inscription : ven. mars 14, 2008 7:20 pm

Re: projet QCAS

Message par loic » sam. avr. 28, 2012 10:25 am

Merci de vos retours!

Comme vous l'avez remarqué, on est pas du tout sur de la version stable.
Il va falloir un peu de temps encore pour fiabilisier et rendre cohérent le tout ;)

alb
Messages : 1229
Inscription : ven. août 28, 2009 3:34 pm

Re: projet QCAS

Message par alb » dim. avr. 29, 2012 5:34 am

Superbe ! On a hâte de voir la suite ... pour tracer une droite plutôt qu'une line :wink:

alain974
Messages : 104
Inscription : lun. mai 24, 2010 11:15 am

Re: projet QCAS

Message par alain974 » dim. avr. 29, 2012 7:53 am

loic a écrit :Si certains veulent la tester
Question un peu troll: Peut-on tester sous LooseDows? En effet j'ai pas réussi à installer Qt dev sous Linux, alors que sous XP j'ai un univers de développement Python qui gère Qt...

Sinon, parmi les heureux qui ont pu s'extasier sur le projet, y en aurait-il qui se sentiraient prêts à publier quelque chose dessus? Au hasard, ici: http://revue.sesamath.net/...

loic
Messages : 168
Inscription : ven. mars 14, 2008 7:20 pm

Re: projet QCAS

Message par loic » dim. avr. 29, 2012 12:05 pm

Je n'ai pas testé la compilation sous Windows mais à priori, il n'y a aucune contre-indication. (Hormis posséder un ordinateur avec Windows...)
Même remarque sous Mac. Je m'inquiéterai de la question du déploiement lorsque le logiciel sera plus avancé.

Pour les problèmes d'install sous Linux, quelle distribution utilisez-vous?
Sinon, parmi les heureux qui ont pu s'extasier sur le projet, y en aurait-il qui se sentiraient prêts à publier quelque chose dessus
Pour le moment, je le répète, la version proposée est vraiment en développement le plus complet... Même si j'ai voulu faire partager ici quelques fonctionnalités prometteuses pour le futur, il ne faut pas trop s'emballer: il faudra encore de longs mois avant d'obtenir une inetrface réellement utilisable et stable.

Donc ma conclusion serait ... Wait & see...

alb
Messages : 1229
Inscription : ven. août 28, 2009 3:34 pm

Re: projet QCAS

Message par alb » dim. avr. 29, 2012 8:28 pm

J'ai remarqué que solve(x^2<=5) renvoie des sqrt, ce n'est pas le cas avec solve(x^2>=5)

loic
Messages : 168
Inscription : ven. mars 14, 2008 7:20 pm

Re: projet QCAS

Message par loic » dim. avr. 29, 2012 9:21 pm

Merci, je vais regarder cela, cela vient de l'export en mathml

Petites questions à Bernard:
- Est-ce que JP Brachard maintient toujours cette partie du code ou est-ce que je peux corriger certains bugs moi-même?
- Je n'ai pas envie pour le moment de créer un site pour le projet QCAS, est-ce que tu pourrais m'ouvrir un sous forum QCAS dans la section développement/developpers pour que les gens puissent reporter les problèmes de ce genre?

Répondre