Sociobiologie. Une introduction/Livre/Plan général

Sociobiologie. Une introduction/page de garde

Sociobiologie. Une introduction/Version imprimable

Tutoriel d'OpenScad
= Introduction =
OpenSCAD est un logiciel pour la création de solides 3d, proche de la CAO, conception assistée par ordinateur. <br>Il est un logiciel libre­ et disponible sur Linux, Microsoft Windows et Mac OS X.
OpenSCAD est avant tout un langage : l'utilisateur crée un code, aidé éventuellement par des librairies, afin de générer des objets de type CAO, conception assistée par ordinateur, destiné à la création de pièce mécanique (ingénierie), de volumes d'architecture ou des représentations dans l'espace de fonctions mathématiques. Il ne s'agit pas d'un modeleur pour la création de figure artistique (type Blender) ni d'un logiciel de conception visuel et interactif tel que FreeCad, Solidworks ou Creo.
OpenSCAD nécessite la compilation du code afin de visualiser le modèle. Deux modes sont à disposition, un mode de prévisualisation, qui permet rapidement d'avoir un résultat, mais parfois avec des erreurs (artefacts) dans un mode de rendu, en réseau de polygones fidèles au code, mais également est alors gourmand en temps.
Au moyen de primitives 2d (rectangles, cercles, polygones, ...) et 3d (parallélépipèdes, sphères, ...) l'utilisateur les transformes par des translations, rotations, déformations, et utilise des opérateurs booléens pour créer des unions, différences ou intersections. Des fonctions mathématiques, d'arithmétique, de trigonométrie, etc ou la création de variables, fonctions, répétition itératives,l'utilisation de vecteurs ou matrices, donnent une grande liberté pour celui qui une bonne perception de l'espace. Il est également possible d'illustrer ses résultats en différentes couleurs, des transformation de duplication (répétitions, miroir, ... ) et même de faire des assemblages.
Le logiciel permet d'importer des fichiers 2d en format dxf, svg et de les extruder par exemple ou l'importation de volumes 3d depuis les formats STL, AMF, OFF. Il permet également d'exporter vers différents formats. Il est également possible de faire des animations au moyen d'un paramètre temporel. Ces formats vous permettront de les imprimer en 3d.
L'interface du logiciel est scindée en 3 parties, la zone de saisie, une zone de prévisualisation et une console qui affiche les messages d'erreurs, mais vous permettent d'afficher aisément des messages lors de la compilation.
Il y a une version dérivée en ligne : OpenJSCAD
= Les références du langage OpenSCAD =

Tutoriel d'OpenScad/Solides primitifs
Cube.
La fonction 'cube()' crée un cube dans le premier quadrant. Lorsque la valeur 'center' (centre est vraie (true), le cube sera centré à l'origine. Les arguments sont optionnels et donnés dans l'ordre
 cube(size= [x,y,z], center= true/false);
 cube(size= x , center= true/false);
 valeurs par défaut: cube(); yields: cube(size = [1, 1, 1], center = false);
 codes équivalents pour cet exemple
 cube(size = 18);
 cube(18);
 cube([18,18,18]);
 cube(18,false);
 cube([18,18,18],false);
 cube([18,18,18],center=false);
 cube(size = [18,18,18], center = false);
 cube(center = false,size = [18,18,18] );
 codes équivalents pour cet exemple
 cube([18,28,8],true);
 box=[18,28,8];cube(box,true);
Sphère.
La fonction 'sphere()' crée une sphère à l'orgine. En indiquant le rayon, l'argument 'r' est optionnel. Si l'utilisateur désire indiquer le diamètre, l'utilisation du paramètre 'd' est alors obligatoire.
Paramètres
 valeurs par défaut: sphere(); yields: sphere($fn = 0, $fa = 12, $fs = 2, r = 1);
Exemples
 sphere(r = 1);
 sphere(r = 5);
 sphere(r = 10);
 sphere(d = 2);
 sphere(d = 10);
 sphere(d = 20);
 // celui-ci créera une sphère en haute résolution avec rayon de 2mmm
 sphere(2, $fn=100); 
 // celui-ci créera également une sphère de 2mm de rayon en haute résolutiion
 // mais ne présente pas autant de petits triangles à ses pôles
 sphere(2, $fa=5, $fs=0.1); 
cylinder.
Creates a cylinder or cone centered about the z axis. When center is true, it is also centered vertically along the z axis.
Parameter names are optional if given in the order shown here. If a parameter is named, all following parameters must also be named.
NOTE: If r, d, d1 or d2 are used they must be named.
 cylinder(h = height, r1 = BottomRadius, r2 = TopRadius, center = true/false);
 defaults: cylinder(); yields: cylinder($fn = 0, $fa = 12, $fs = 2, h = 1, r1 = 1, r2 = 1, center = false);
 equivalent scripts
 cylinder(h=15, r1=9.5, r2=19.5, center=false);
 cylinder( 15, 9.5, 19.5, false);
 cylinder( 15, 9.5, 19.5);
 cylinder( 15, 9.5, d2=39 );
 cylinder( 15, d1=19, d2=39 );
 cylinder( 15, d1=19, r2=19.5);
 equivalent scripts
 cylinder(h=15, r1=10, r2=0, center=true);
 cylinder( 15, 10, 0, true);
 cylinder(h=15, d1=20, d2=0, center=true);
<gallery >
image:OpenSCAD Cylinder 20x10 false.jpg|center = false
File:OpenSCAD Cylinder 20x10 true.jpg|center = true
</gallery >
 equivalent scripts
 cylinder(h=20, r=10, center=true);
 cylinder( 20, 10, 10,true);
 cylinder( 20, d=20, center=true);
 cylinder( 20,r1=10, d2=20, center=true);
 cylinder( 20,r1=10, d2=2*10, center=true);
Larger values of $fn create smoother, more circular, surfaces at the cost of longer rendering time. Some use medium values during development for the faster rendering, then change to a larger value for the final F6 rendering. 
However, use of small values can produce some interesting non circular objects. A few examples are show here:
<gallery >
 File:3 sided fiqure.jpg 
 File:4 sided pyramid.jpg 
 File:4 sided part pyramid.jpg 
</gallery >
 scripts for these examples
 cylinder(20,20,20,$fn=3);
 cylinder(20,20,00,$fn=4);
 cylinder(20,20,10,$fn=4);
When using cylinder() with difference() to place holes in objects, the holes will be undersized. This is because circular paths are approximated with polygons inscribed within in a circle. The points of the polygon are on the circle, but straight lines between are inside. To have all of the hole larger than the true circle, the polygon must lie wholly outside of the circle (circumscribed). Modules for circumscribed holes
<gallery >
 File:OpenSCAD Under size hole.jpg
</gallery >
Notes on accuracy
Circle objects are approximated. The algorithm for doing this matters when you want 3d printed holes to be the right size. Current behavior is illustrated in a diagram . Discussion regarding optionally changing this behavior happening in a Pull Request
polyhedron.
A polyhedron is the most general 3D primitive solid. It can be used to create any regular or irregular shape including those with concave as well as convex features. Curved surfaces are approximated by a series of flat surfaces.
 polyhedron( points = [ [X0, Y0, Z0], [X1, Y1, Z1], ... ], triangles = [ [P0, P1, P2], ... ], convexity = N); // before 2014.03
 polyhedron( points = [ [X0, Y0, Z0], [X1, Y1, Z1], ... ], faces = [ [P0, P1, P2, P3, ...], ... ], convexity = N); // 2014.03 & later
 default values: polyhedron(); yields: polyhedron(points = undef, faces = undef, convexity = 1);
All faces must have points ordered in the same direction . OpenSCAD prefers clockwise when looking at each face from outside inwards. The back is viewed from the back, the bottom from the bottom, etc..