Type coord

Vous lisez 8 fils de discussion
  • Auteur
    Messages
    • #7604
      Hilaire Fernandes
      Participant
      Up
      0
      Down
      ::

      Bonjour,

      Je ne comprends pas pourquoi l’exercice ci-dessous ne fonctionne pas, le canvas où doit cliquer l’utilisateur ne s’affiche pas.

      Une idée ?

      Merci

      \title{ Q9 TAF2022}
      
      \author{ XXX }
      
      \email{ xx}
      
      \integer{ deltaX = randint(0..10) }
      \integer{ deltaY = randint(0..4) }
      
      :Sommets du losange
      \matrix{ sommets = wims(eval -6 + \deltaX), wims(eval -1 + \deltaY)
      wims(eval -6 + \deltaX), wims(eval -6  + \deltaY)
      wims(eval -3 + \deltaX), wims(eval -2  + \deltaY)
      wims(eval -3 + \deltaX), wims(eval 3  + \deltaY) }
      
      :Caracterisitique du canvas
      \integer{ min = -7 }
      \integer{ max = 8}
      \integer{ largeur = 400 }
      \text{ pixelA = slib(draw/convpixel \sommets[1;], \largeur, \largeur, \min, \max, \min, \max, 0, pixels) }
      \real{ pixelAx = \pixelA[1] }
      \real{ pixelAy = \pixelA[2] }
      
      :Système d'axes
      \text{ systemeAxes = canvasdraw( \largeur, \largeur
      xrange \min, \max
      yrange \min, \max
      axis
      axisnumbering
      precision 1
      grid 1, 1, gray, 1, 1, 4, red
      text black, \sommets[2;1] + 0.2, \sommets[2;2] - 0.4 , giant, B
      crosshair \sommets[2;], black
      text black, \sommets[3;1] + 0.2, \sommets[3;2] - 0.4 , giant, C
      crosshair \sommets[3;], black )
      }
      
      \statement{
      Voici un système d'axes.
      
      <br>
      <div class="spacer"><b>a&#46</b> Donne les coordonnées du point B.
      <br>B (\embed{ reply 1, 1 } ; \embed{ reply 2, 1 })
      </div>
      
      <div class="spacer"><b>b&#46</b> Place le point A(\sommets[1;1] ; \sommets[1;2]).
      \embed{ reply 3 }
      </div>
      
      }
      
      \answer{ xB }{ \sommets[2;1] }{ type = auto }
      \answer{ yB }{ \sommets[2;2] }{ type = auto }
      \answer{ Designe A } { \systemeAxes ; point, \pixelAx, \pixelAy } { type = coord }
      
      
    • #7605
      bernadette
      Maître des clés
      Up
      0
      Down
      ::

      Le type coord est un click sur une image (de type png). Pour canvasdraw qui ne crée pas une image, utiliser le type draw qui a d’ailleurs beaucoup plus de possibilités.

      Bernadette

    • #7606
      Hilaire Fernandes
      Participant
      Up
      0
      Down
      ::

      Le type coord est un click sur une image (de type png). Pour canvasdraw qui ne crée pas une image, utiliser le type draw qui a d’ailleurs beaucoup plus de possibilités. Bernadette

      C’est très frustrant 🙁 pas vu d’information sur cette limitation, possible que je suis passé à côté mais je me souviens de tes conseils d’utiliser canvasdraw qui offraient plus de possibilités.

      De ma faible expérience draw a des limites sur lequel je me suis heurté (texte avec accent, limite avec la macro repere), toutes évoquées dans mes messages précédents.

      Merci

    • #7607
      bernadette
      Maître des clés
      Up
      0
      Down
      ::

      Je parle du type de réponse draw (documentation oef, type de réponses)
      (les liens ne fonctionnent bien sûr pas ici, mais j’ai la flemme de nettoyer …)

      Types spécifiques ou avancés

      • Cette réponse a été modifiée le il y a 1 année et 10 mois par bernadette.
      • Cette réponse a été modifiée le il y a 1 année et 10 mois par bernadette.
      • #7610
        Hilaire Fernandes
        Participant
        Up
        0
        Down
        ::

        Je parle du type de réponse draw (documentation oef, type de réponses) (les liens ne fonctionnent bien sûr pas ici, mais j’ai la flemme de nettoyer …)

        Merci. Où se trouve cette page ?

        Bon, j’ai remis avec draw, il faudra que j’y remette les valeurs sur les axes que j’avais codées mais devenu caduc avec canvasdraw car il le propose nativement.

        Néanmoins le repère ne s’affiche pas, juste deux bout d’axes. Une idée ?

        La bonne nouvelle c’est que le clic fonctionne.

        
        \integer{ deltaX = randint(0..10) }
        \integer{ deltaY = randint(0..4) }
        
        :Sommets du losange
        \matrix{ sommets = wims(eval -6 + \deltaX), wims(eval -1 + \deltaY)
        wims(eval -6 + \deltaX), wims(eval -6  + \deltaY)
        wims(eval -3 + \deltaX), wims(eval -2  + \deltaY)
        wims(eval -3 + \deltaX), wims(eval 3  + \deltaY) }
        
        :Caracterisitique du canvas
        \integer{ min = -7 }
        \integer{ max = 8}
        \integer{ largeur = 400 }
        \text{ pixelA = slib(draw/convpixel \sommets[1;], \largeur, \largeur, \min, \max, \min, \max, 0, pixels) }
        \real{ pixelAx = \pixelA[1] }
        \real{ pixelAy = \pixelA[2] }
        
        :Système d'axes
        \text{ systemeAxes = draw( \largeur, \largeur
        xrange \min, \max
        yrange \min, \max
        slib(draw/repere \largeur, \largeur, 0, \min, \max, \min, \max, 1, 1, red, blue)
        text black, \sommets[2;1] + 0.2, \sommets[2;2] - 0.4 , giant, B
        crosshair \sommets[2;], black
        text black, \sommets[3;1] + 0.2, \sommets[3;2] - 0.4 , giant, C
        crosshair \sommets[3;], black )
        }
        
        \statement{
        Voici un système d'axes.
        
        <br>
        <div class="spacer"><b>a&#46</b> Donne les coordonnées du point B.
        <br>B (\embed{ reply 1, 1 } ; \embed{ reply 2, 1 })
        </div>
        
        <div class="spacer"><b>b&#46</b> Place le point A(\sommets[1;1] ; \sommets[1;2]).
        \embed{ reply 3 }
        </div>
        
        }
        
        \answer{ xB }{ \sommets[2;1] }{ type = auto }
        \answer{ yB }{ \sommets[2;2] }{ type = auto }
        \answer{ Designe A } { \systemeAxes ; point, \pixelAx, \pixelAy } { type = coord }
        
        
    • #7611
      Hilaire Fernandes
      Participant
      Up
      0
      Down
      ::

      Néanmoins le repère ne s’affiche pas, juste deux bout d’axes. Une idée ?

      Repère cassé:
      https://pasteboard.co/Mlo7p9WGs4jZ.png

      • Cette réponse a été modifiée le il y a 1 année et 10 mois par Hilaire Fernandes.
      • Cette réponse a été modifiée le il y a 1 année et 10 mois par Hilaire Fernandes.
      • Cette réponse a été modifiée le il y a 1 année et 10 mois par Hilaire Fernandes.
    • #7615
      Hilaire Fernandes
      Participant
      Up
      0
      Down
      ::

      Bon, déplacement de la macro repère avant les x/y-range puisque repere fonctionne en coordonnées écran…

    • #7616
      Hilaire Fernandes
      Participant
      Up
      0
      Down
      ::

      J’ai besoin que l’utilisateur designe deux points sur un même graphique draw:

      a) Donne les coordonnées du point B.
      B ( xxx ; yyyy )
      b) Place le point A(-4 ; 2).
      c) Place le point D, pour que ABCD soit un losange.

      Probleme, lorsqu’il désigne le point A, l’exercice se termine et le point D est considéré faux. Est-il possibe d’avoir deux réponses de type coor ?

      Merci

      J’ai codé comme suit:

      \integer{ deltaX = randint(0..10) }
      \integer{ deltaY = randint(0..4) }
      
      :Sommets du losange
      \matrix{ sommets = wims(eval -6 + \deltaX), wims(eval -1 + \deltaY)
      wims(eval -6 + \deltaX), wims(eval -6  + \deltaY)
      wims(eval -3 + \deltaX), wims(eval -2  + \deltaY)
      wims(eval -3 + \deltaX), wims(eval 3  + \deltaY) }
      
      :Caracterisitique du canvas
      \integer{ min = -7 }
      \integer{ max = 8}
      \integer{ largeur = 400 }
      \text{ pixelA = slib(draw/convpixel \sommets[1;], \largeur, \largeur, \min, \max, \min, \max, 0, pixels) }
      \text{ pixelD = slib(draw/convpixel \sommets[4;], \largeur, \largeur, \min, \max, \min, \max, 0, pixels) }
      
      :les coordonnées des axes
      \text{ coordonnees = }
      \for{ x = -6 to 7 }{
      \if { \x != 0 }{
      \text{ coordonnees = \coordonnees
      text black, \x - 0.2, -0.1, large , \x } } }
      \for{ y = -6 to 7 }{
      \if { \y != 0 }{
      \text{ coordonnees = \coordonnees
      text black, 0.2, \y + 0.3, large , \y} } }
      
      \text{ repere = slib(draw/repere \largeur, \largeur, 0, \min, \max, \min, \max, 1, 1, red, blue) }
      
      :Système d'axes
      \text{ systemeAxes = draw( \largeur, \largeur
      \repere [3..-1;]
      xrange \min, \max
      yrange \min, \max
      \coordonnees
      text black, \sommets[2;1] + 0.2, \sommets[2;2] - 0.4 , giant, B
      crosshair \sommets[2;], black
      text black, \sommets[3;1] + 0.2, \sommets[3;2] - 0.4 , giant, C
      crosshair \sommets[3;], black )
      }
      
      \statement{
      Voici un système d'axes.
      - \pixelA - \pixelD
      <div class="spacer"><b>a&#46</b> Donne les coordonnées du point B.
      <br>B (\embed{ reply 1, 1 } ; \embed{ reply 2, 1 })
      </div>
      
      <div class="spacer"><b>b&#46</b> Place le point A(\sommets[1;1] ; \sommets[1;2]).
      \embed{ reply 3 }
      </div>
      
      <div class="spacer"><b>c&#46</b> Place le point D, pour que ABCD soit un losange.
      \embed{ reply 4 }
      </div>
      }
      
      \answer{ xB }{ \sommets[2;1] }{ type = auto }
      \answer{ yB }{ \sommets[2;2] }{ type = auto }
      \answer{ Designe A } { \systemeAxes ; point, \pixelA[1], \pixelA[2] } { type = coord }
      \answer{ Designe D } { \systemeAxes ; point, \pixelD[1], \pixelD[2] } { type = coord }
      
      

       

      • Cette réponse a été modifiée le il y a 1 année et 10 mois par Hilaire Fernandes.
      • Cette réponse a été modifiée le il y a 1 année et 10 mois par Hilaire Fernandes.
      • Cette réponse a été modifiée le il y a 1 année et 10 mois par Hilaire Fernandes.
    • #7620
      bernadette
      Maître des clés
      Up
      0
      Down
      ::

      De la page d’accueil de wims en thème standard: Documentation -> Doc OEF -> Types de réponses

      (Le chemin pour y arriver me semble assez naturel, sur le thème utilisé à Nice, il faut avant aller dans la zone enseignant.:

      Zone enseignant -> Doc OEF -> Types de réponses)

      Le type draw permet de cliquer sur plusieurs points.

       

       

    • #7623
      bernadette
      Maître des clés
      Up
      0
      Down
      ::

      C’est le type de réponse qui l’envoie à canvasdraw, pas le programmeur . Le type de réponse draw demande du code pas une commande du type \canvasdraw (en général, il aurait pu aussi être valable pour flydraw).  Il me semble que c’est clair sur les exemples et sur les consignes.

Vous lisez 8 fils de discussion
  • Vous devez être connecté pour répondre à ce sujet.