Avec la balise HTML
Vous nommez l’élément avec l’attribut id et lui attribuez les dimensions souhaitées avec width et height. En utilisant la syntaxe ci-dessus, vous pouvez facilement créer une zone de dessin à tout moment. Dans notre exemple, cette zone aura une largeur de 500 pixels et une hauteur de 250 pixels. Cependant, cette méthode ne vous donnera rien de plus qu’une simple surface vierge. Seul JavaScript vous permet de remplir l’élément
Avec la fonction fillRect(), nous souhaitons dessiner un simple rectangle dans la zone définie. Celui-ci doit être de couleur bleu pétrole (teal) et mesurer 200 pixels de large et 150 pixels de haut. Nous le plaçons à 10 pixels du bord gauche et à 50 pixels du bord supérieur. Alors que dans notre exemple précédent, nous avons simplement tracé un rectangle, l’élément
Nous avons déjà abordé la création d’un contexte 2D. Avec un tel contexte obtenu via getContext("2d"), vous pouvez dessiner sur la surface
La méthode .rect(x, y, largeur, hauteur) place le crayon sur le point (x, y) et dessine un rectangle dont l’angle supérieur gauche est spécifié par ces coordonnées et les dimensions spécifiées. La méthode bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) ajoute une courbe de Bézier cubique depuis la position courante du stylo jusqu’au point spécifié, en utilisant les points de contrôle. La surface délimitée par un rectangle ou un chemin fermé peut être coloriée par les méthodes .fillRectangle() et .fill(), selon la couleur spécifiée par la méthode .fillStyle().
Imaginez que vous souhaitez réaliser le dessin de plusieurs voitures sur un parking. Le dessin des différentes voitures va donc dépendre de la position de la voiture dans le dessin. Pour éviter d’impacter le reste du dessin, il faut replacer l’origine des axes à sa position/orientation/échelle initiale. Heureusement, une autre technique existe. Pour faciliter la mise en place de notre parking, nous pouvons considérer celui-ci comme une grille de 3x4 dont chaque case a une taille définie. Les voitures sont placées dans les cases (0,0), (0,1), (0,2), (1,3) et (2,3).
- 1. Mise en place de la structure HTML de l’application
- 2. Création du formulaire pour entrer une fonction mathématique
- 3. Zone pour afficher le graphique
- 4. Ajout de fonctionnalités : Calcul d’images et d’antécédents
- 5. Mise en place d’un tableau de valeurs
- 6. Initialisation du contexte graphique avec Chart.js
- 7. Traitement de la soumission du formulaire
- 8. Récupération et compilation de la fonction mathématique
- 9. Génération des valeurs pour le graphique et le tableau
- 10. Tracé de la courbe de la fonction mathématique
- 11. Fonction pour calculer l’image d’un nombre
Pour suivre ce tutoriel, vous avez besoin de connaître JavaScript. Chart.js et Math.js peuvent être accessibles via des liens CDN. L’attribut id="graphCanvas" permet de retrouver ce canvas en JavaScript pour y dessiner notre courbe avec Chart.js. Prêt ? Chart est une variable qui contiendra notre graphique (au départ, il n’existe pas encore). Important : initialisez ces variables pour les rendre accessibles dans tout le script.
KineticJS offre une autre approche pour piloter l’API Canvas et faciliter les animations. Mise en route et structure de base décrivent la scène et les formes, avec des exemples allant du rectangle bleu à des formes plus complexes comme les cercles et les polygones. La librairie permet également de gérer les événements souris et tactiles, les glisser-déposer et les animations sans écrire tout le code manuellement pour chaque élément graphique. Le modèle KineticJS introduit des classes hiérarchisées et des objets scène (Stage), formes (Rect, Circle, Polygon, Text, etc.), et des méthodes avancées pour les dégradés, les transformations et les interactions.
Pour aller plus loin, il existe de nombreuses bibliothèques complémentaires et plugins qui facilitent le chargement d’images, les effets de dégradé et les interactions avancées. L’installation suit des étapes simples: télécharger la librairie et l’intégrer avec une balise