Files
L-System/src/lsystem/screen/Constants.java
2021-04-18 23:28:31 +02:00

60 lines
2.1 KiB
Java

package lsystem.screen;
public class Constants {
public static final int INITIAL_WIDTH = 600;
public static final int INITIAL_HEIGHT = 400;
public static final float TWENTY_FIVE_DEGREES = 25/360f;
public static final char[] VALID_CHARS = {'=',']','[','.','+','-','X','Y','x','y','0','1','2','3','4','5','6','7','8','9',' '};
public static final float[] light_0_ambient = {0.01f, 0.01f, 0.01f, 0.01f};
public static final float[] light_0_diffuse = {1.0f, 1.0f, 1.0f, 1.0f};
public static final float[] light_0_specular = {1.0f,1.0f, 1.0f, 1.0f};
public static final float[] material_specular = {0.8f, 0.8f, 0.8f, 0.8f};
public static final String HELP = "Alphabet{X,Y}\r\n"
+ "\r\n"
+ "\r\n"
+ "Structure d'une requête:\r\n"
+ "\r\n"
+ "{\r\n"
+ " Axiom = Lettre ;\r\n"
+ " 1ère expression ;\r\n"
+ " 2nde expression ;\r\n"
+ " It = Nb d'itérations;\r\n"
+ "}\r\n"
+ "\r\n"
+ "\r\n"
+ "Une lettre de l'alphabet = avance d'une unité dans une direction.\r\n"
+ "Exemple:\r\n"
+ "\r\n"
+ " X -> avance d'une unité sur l'axe X\r\n"
+ " 0.25X -> avance de 0.25 unité sur l'axe X\r\n"
+ "\r\n"
+ "On peut combiner les directions:\r\n"
+ "Exemple:\r\n"
+ " \r\n"
+ " X=Y -> avance d'une unité sur l'axe X et une sur l'axe Y\r\n"
+ " 2Y0.3X -> avance de deux unités sur l'axe Y,\r\n"
+ " de 0.3 unités sur l'axe X\r\n"
+ "\r\n"
+ "Les expressions sont de la forme {X = 2X0.2Y}\r\n"
+ "\r\n"
+ "On pourra changer de direction avec l'alphabet{x,y}\r\n"
+ "x et y font par défault une rotation de 45° autour de leur axe.\r\n"
+ "Exemple:\r\n"
+ " x = 45°\r\n"
+ " 2x = 90°\r\n"
+ "\r\n"
+ "Ainsi on pourra écrire:\r\n"
+ "\r\n"
+ " X = X2y0.2Y0.2x\r\n"
+ "\r\n"
+ "On ajoute le principe d'ouverture et de fermeture des branches aux expressions,\r\n"
+ "on utilise donc pour ce faire les \"[ ]\".\r\n"
+ "\r\n"
+ "Ainsi, dans l'expression: {X = [X]+Y}\r\n"
+ "\r\n"
+ "On exécute d'abord l'instruction entre crochets, puis, une fois son nombre maximum d'itérations\r\n"
+ "atteint, on ajoutera un mouvement Y.";
}