{"id":1468,"date":"2024-09-07T10:11:56","date_gmt":"2024-09-07T08:11:56","guid":{"rendered":"https:\/\/spgoo.org\/?page_id=1468"},"modified":"2025-06-19T09:31:20","modified_gmt":"2025-06-19T07:31:20","slug":"jsxgraph-tuto-points","status":"publish","type":"page","link":"https:\/\/spgoo.org\/?page_id=1468","title":{"rendered":"JSXGraph Tuto &#8211; Points"},"content":{"rendered":"\n<p class=\"has-vivid-cyan-blue-color has-text-color has-link-color has-medium-font-size wp-elements-fcff9526a67ed3fe72fc985433918b75\">Cr\u00e9ation basique d&#8217;un point sous JSXGraph (CP-YS)<\/p>\n\n\n\n<p>Le point est l&#8217;\u00e9l\u00e9ment de base de JSXGraph. Toutes les figures sont construites \u00e0 partir des points.<\/p>\n\n\n\n<p>Pour cr\u00e9er un point dans JSXGraph, il faut au pr\u00e9alable avoir d\u00e9fini un objet de type board car tout point est construit dans un  board. Pour cr\u00e9er un point vous devez utiliser la m\u00e9thode <strong>create<\/strong> de l&#8217;objet board  de la fa\u00e7on suivante: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>board.create('point', &#91;...], {options})<\/code><\/pre>\n\n\n\n<p>Le deuxi\u00e8me argument est un tableau sp\u00e9cifiant les coordonn\u00e9es ou la mani\u00e8re dont le point est d\u00e9fini et le troisi\u00e8me argument est un objet contenant diverses options.<\/p>\n\n\n\n<p><strong>Points statiques<\/strong> : la forme la plus simple est<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>board.create('point', &#91;x, y])       o\u00f9 x et y sont les coordonn\u00e9es du point.<\/code><\/pre>\n\n\n\n<p><strong>Points dynamiques<\/strong> : on peut d\u00e9finir les coordonn\u00e9es sous forme de fonctions : <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>board.create('point', &#91;functionX, functionY])<\/code><\/pre>\n\n\n\n<p>avec functionX : &#8220;()=&gt;{return  l&#8217;op\u00e9ration que vous d\u00e9sirez ;}&#8221;<\/p>\n\n\n\n<p class=\"has-vivid-cyan-blue-color has-text-color has-link-color has-medium-font-size wp-elements-912a0550b87e2ad05b735262b7aa1bb5\">Attributs (Options):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>name<\/strong> : (String) C&#8217;est l&#8217;\u00e9tiquette du point. Si elle est d\u00e9finie par &#8216; &#8216;, le point n&#8217;aura pas d&#8217;\u00e9tiquette. <br> ==&gt; {name: &#8216;A&#8217;}<\/li>\n\n\n\n<li><strong>size<\/strong> : (Entier) C&#8217;est la taille du point. <br> ==&gt; {size: 3}<\/li>\n\n\n\n<li><strong>fixed<\/strong> : (Boolean) si la valeur est &#8216;true&#8217;, le point ne peut \u00eatre d\u00e9plac\u00e9 par l&#8217;utilisateur.<br> ==&gt; {fixed: true}.<\/li>\n\n\n\n<li><strong>color<\/strong> : (String) C&#8217;est la couleur du point d\u00e9finie par une couleur CSS (HTML).<br> ==&gt; {color: &#8216;red&#8217;} or {color: &#8216;#ff5733&#8217;}<\/li>\n\n\n\n<li><strong>fillColor<\/strong> : (String) C&#8217;est la couleur int\u00e9rieur du point d\u00e9finie par une valeur CSS (HTML).<br> ==&gt; {fillColor: &#8216;red&#8217;} or {FillColor: &#8216;#ff5733&#8217;}<\/li>\n\n\n\n<li><strong>strokeColor<\/strong> : (String) C&#8217;est la couleur du tour du point d\u00e9finie par une valeur CSS (HTML).<br> ==&gt; {strokeColor: &#8216;red&#8217;} or {strokeColor: &#8216;#ff5733&#8217;}<\/li>\n\n\n\n<li><strong>visible<\/strong> : (Boolean) Si la valeur est &#8216;true&#8217;, le point est visible ; si elle est &#8216;false&#8217;, le point n&#8217;appara\u00eet pas. <br> ==&gt;  {visible: true}<\/li>\n\n\n\n<li><strong>opacity<\/strong> : (Nombre) D\u00e9finit l&#8217;opacit\u00e9 d&#8217;un point, pour des valeurs allant de 0 (transparence) \u00e0 1. <br> ==&gt;  {opacity: 0.5}<\/li>\n\n\n\n<li><strong>strokeOpacity<\/strong> : (Nombre) D\u00e9finit l&#8217;opacit\u00e9 de la ligne qui entoure un point, pour des valeura allant de 0 (transparence) \u00e0 1 (opacit\u00e9). <br> ==&gt; {strokeOpacity: 0.5}<\/li>\n\n\n\n<li><strong>fillOpacity<\/strong> : (Nombre) D\u00e9finit l&#8217;opacit\u00e9 de l&#8217;int\u00e9rieur du point, pour des valeurs allant de 0 (transparence) \u00e0 1 (opacit\u00e9). <br>==&gt; {fillOpacity: 0.5}<\/li>\n\n\n\n<li><strong>highlight<\/strong> : (Boolean) si la valeur est &#8216;true&#8217;, le point est surlign\u00e9 quand on passe dessus avec la souris ou quand on clique dessus. <br>==&gt; {highlight: true}<\/li>\n\n\n\n<li><strong>highlightFillColor<\/strong> : (String) <br> highlightFillOpacity, highlightStrokeColor, highlightStrokeOpacity, highlightStrokeWidth<\/li>\n\n\n\n<li><strong>withLabel<\/strong> : (Boolean) si la valeur est &#8216;true&#8217;, le label du point est visible. <br>==&gt; {withLabel: true}.<\/li>\n\n\n\n<li><strong>face<\/strong> : (String) C&#8217;est la forme du point. Les valeurs possibles sont &#8216;o&#8217; (cercle), &#8216;x&#8217; (croix), &#8216;[]&#8217; (carr\u00e9s), <br> &#8216;^&#8217; (triangle vers le haut), &#8216;v&#8217; (triangle vers le bas), &#8216;&gt;&#8217; (triangle vers la droite), &#8216;&lt;&#8216; (triangle vers la gauche). <br>Exemple : {face: &#8216;x&#8217;}<\/li>\n\n\n\n<li><strong>snapToGrid<\/strong> : (Boolean) si la valeur est &#8216;true&#8217;, le point est attir\u00e9 vers le point le plus proche sur le treillis, quand on le d\u00e9place. <br>==&gt; {snapToGrid: true}<\/li>\n\n\n\n<li><strong>snapSizeX<\/strong> and <strong>snapSizeY<\/strong> : (Number) Donne la taille du grid pour l&#8217;attration (n&#8217;a de sens que si l&#8217;on utilise snapToGrid). <br>==&gt;  {snapSizeX: 1, snapSizeY: 1}<\/li>\n\n\n\n<li><strong>showInfobox<\/strong> : (Boolean) si la valeur est &#8216;true&#8217;, une bo\u00eete d&#8217;information est affich\u00e9e donnant les coordonn\u00e9es du point quand la souris passe dessus. <br>==&gt; {showInfobox: false}<\/li>\n<\/ul>\n\n\n\n<p class=\"has-vivid-cyan-blue-color has-text-color has-link-color has-medium-font-size wp-elements-1aec2a38cfc81b8398f798c4801f15cc\">Attributs avanc\u00e9s :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>trace<\/strong> : (Boolean) si la valeur est &#8216;true&#8217;, le point laisse une trace quand on le d\u00e9place. <br> ==&gt; {trace: true}.<\/li>\n\n\n\n<li><strong>draggable<\/strong> : (Boolean) permet que l&#8217;utilisateur puisse draguer le point. Identique \u00e0 fixed: false. <br> ==&gt; {draggable: true}.<\/li>\n\n\n\n<li><strong>label<\/strong> : (Objet) An object to customize the label further, with options like fontSize, fontColor, and offset. <br>==&gt; {label: {fontSize: 15, fontColor: &#8216;blue&#8217;, offset: [10, 10]}}.<\/li>\n\n\n\n<li><strong>showCoords<\/strong> : (Boolean) si la valeur est &#8216;true&#8217;, les coordonn\u00e9es du point sont affich\u00e9es pr\u00e8s du point. <br> ==&gt; {showCoords: true}.<\/li>\n\n\n\n<li><strong>visibleCoords<\/strong> : (Boolean) si la valeur est &#8216;true&#8217;, les coordonn\u00e9es sont une partie du panel. <br> ==&gt; {visibleCoords: true}.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-vivid-cyan-blue-color has-text-color has-link-color has-medium-font-size wp-elements-e73624b6a9154c2926820dc13a50d053\">Contraintes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>slideObject<\/strong> : (Objet) Le point est contraint \u00e0 bouger soit sur une ligne, une courbe ou tout autre object. <br> ==&gt; {slideObject: line}. (line est le nom de la ligne)<\/li>\n\n\n\n<li><strong>slideAlong<\/strong> : (Array) Le point est contraint \u00e0 se d\u00e9placer sur un chemin ou une courbe donn\u00e9s. <br> ==&gt; {slideAlong: [0, 1]}.<\/li>\n\n\n\n<li><strong>attractorDistance<\/strong> : (Nombre) Combin\u00e9 avec un attracteur (un autre objet g\u00e9om\u00e9trique), cette option tire le point dans les limites d&#8217;une distance sp\u00e9cifique. <br> ==&gt; {attractorDistance: 2}.<\/li>\n\n\n\n<li><strong>attractors<\/strong> : (Array) un tableau d&#8217;objets qui attirent le points. <br> ==> {attractors: [circle, line]}.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-vivid-cyan-blue-color has-text-color has-link-color has-medium-font-size wp-elements-e20428a8cdcb4755692d3231cad62d08\">Event Handling:<\/p>\n\n\n\n<p>down, up, drag, over, out: gestionnaires d&#8217;\u00e9v\u00e8nements pour les interactions avec la souris. <br>Ce sont des fonctions JavaScript que l&#8217;on peut attacher au point pour r\u00e9pondre aux actions de l&#8217;utilisateur. <br>==&gt; {down: function() { alert(&#8216;Point clicked!&#8217;); }}.<\/p>\n\n\n\n<p class=\"has-vivid-cyan-blue-color has-text-color has-link-color has-medium-font-size wp-elements-4ab1cc6da6c6cf8b42d67f34a95bbf64\">Illustrations et mise en pratique : cr\u00e9ation, modification et suppression<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Cr\u00e9ation dans un board de plusieurs points \u00e0 partir d'une liste. \nconst points = &#91;&#91;-2, 3],&#91;0, 4], &#91;1, -2], &#91;4, 1], &#91;-3, -3] ];\nfor (var i = 0; i &lt; points.length; i++) {\n     board.create('point', points&#91;i], {name: 'P' + i});\n}<\/code><\/pre>\n\n\n\n<p>Fonctions utilitaires :<\/p>\n\n\n\n<p>Si la liste points n&#8217;existe pas, on commence par la d\u00e9finir (elle est initialement vide mais elle existe) :<\/p>\n\n\n\n<p>points=[];<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function addPoint(x, y) {\n     points.push(&#91;x, y]); \/\/ Push new point to the list\n     board.create('point',points&#91;points.length-1], {name: 'P' + (points.length - 1)});\n}\naddPoint(x, y);<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Cr\u00e9ation basique d&#8217;un point sous JSXGraph (CP-YS) Le point est l&#8217;\u00e9l\u00e9ment de base de JSXGraph. Toutes les figures sont construites \u00e0 partir des points. Pour cr\u00e9er un point dans JSXGraph, il faut au pr\u00e9alable avoir d\u00e9fini un objet de type board car tout point est construit dans un board. Pour cr\u00e9er un point vous devez [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1468","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/spgoo.org\/index.php?rest_route=\/wp\/v2\/pages\/1468","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/spgoo.org\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/spgoo.org\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/spgoo.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/spgoo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1468"}],"version-history":[{"count":41,"href":"https:\/\/spgoo.org\/index.php?rest_route=\/wp\/v2\/pages\/1468\/revisions"}],"predecessor-version":[{"id":7110,"href":"https:\/\/spgoo.org\/index.php?rest_route=\/wp\/v2\/pages\/1468\/revisions\/7110"}],"wp:attachment":[{"href":"https:\/\/spgoo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}