Imprimer
Catégorie : JS Illustrator
Affichages : 8788

aiVoici trois petits programmes simples et paramétrables.
Pour :
Tracé de courbes suivant une fonction

en coordonnées cartésiennes, polaires, paramétriques.

ex01ex02

ex03 1
 


Coordonnées cartésiennesCoordonnées polairesCoordonnées paramétiques

Particularités :

Avec tracé des axes (repère)

L'origine du repère est confondue avec l'origine globale de l'illustration active,
libre à vous de déplacer cette origine avant l'exécution du script.

Les courbes sont composées de segments de droite placés bout à bout.

Dans Illustrator, il est aisé avec la commande "Simplifier le tracé" de convertir en courbe de Bézier.

Ces scripts peuvent bien sûr être affinés, je ne livre que les versions simplifiées.

Les différents paramètres sont placés en dédut du script dans la zone Initialisation :

Exemple dans Polaire.js (variable t avec une constante b)

// initialisation-------------------------------------------------
var equa = "Math.cos(t*3)/b"; // Equation
var b = 0.8;
var min = 0; // limite
var max = Math.PI; // limite
var pas = Math.PI/90;
var ech = 80; // facteur d'échelle
var fermeContour = false; //contour ferme oui non
var epaisseurContour = 2;
var couleurContour = macmykColor(0,75,100,0); // Citrouille
var fondCouleur = true; //couleur du fond oui non
var couleurFond = macmykColor(25,10,0,0);
var couleurRep =  macmykColor(88,77,0,0);
var axeOption = true; //axes x,y oui non
//-----------------------------------------------------------------

L'équation doit respecter la syntaxe Javascript

Les constantes comme PI doivent être préfixées par Math.

Initialisation :
var equa = "Math.exp(x)"; var min = -3; var max = 1.5; var ech = 60; var pas = 0.1;
var equa = "4*Math.exp(-x/3)*Math.cos(3*x)";  var min = -Math.PI/2; var max = 3*Math.PI ; var ech = 40; var pas = Math.PI/90;
Initialisation :
var equa = "t*t"; var min = 0; var max = 4*Math.PI ; var ech = .8; var pas =Math.PI /90;
var A = 1;var equa = "A*t"; var min = 0; var max = 12*Math.PI ; var ech = 3; var pas =Math.PI /90;
Initialisation :
var R = 2; var equa1 = "2*R*Math.cos(t)- R* Math.cos(2*t)";
var equa2 = "2*R*Math.sin(t)-R*Math.sin(2*t)";var min = 0; var max = 2*Math.PI ; var ech = 15; var pas =Math.PI/90;

Pas encore de commentaires.

Laissez votre commentaire

En réponse à Some User