Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
projets:infini:mecanique:accueil [2016/01/21 16:27] resonance [Structure infini] |
projets:infini:mecanique:accueil [2016/11/25 12:20] (Version actuelle) resonance [Modélisation infini] |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Mécanique ====== | ====== Mécanique ====== | ||
| - | * Référant(s) | + | * Référants |
| - | * Classe(s) : ... | + | * Classe : ... |
| + | ===== Modélisation " | ||
| + | * Fichiers : {{: | ||
| + | |||
| + | |||
| + | <WRAP group> | ||
| + | <WRAP half column> | ||
| + | |||
| + | < | ||
| + | <iframe src=" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP half column> | ||
| + | |||
| + | < | ||
| + | <iframe src=" | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ++++ Code Python : générateur du .stl (développé par Guillaume Gay merci!) | | ||
| + | <code python> | ||
| + | import numpy as np | ||
| + | import argparse | ||
| + | |||
| + | def generate_curve(n_segments=120, | ||
| + | """ | ||
| + | Generate a Moebius curve in 3D | ||
| + | |||
| + | Parameters | ||
| + | ---------- | ||
| + | n_segments: int | ||
| + | the number of segments (higher -> higher definition) | ||
| + | a: float | ||
| + | amplitude of the curve in the x,y plane | ||
| + | b: float | ||
| + | amplitude of the curve along z | ||
| + | obj_file: str | ||
| + | name / path to the output obj file | ||
| + | """ | ||
| + | t = np.linspace(-np.pi/ | ||
| + | |||
| + | xx = np.sqrt(2 * a**2 * np.cos(2*t)) * np.cos(t) | ||
| + | yy = np.sqrt(2 * a**2 * np.cos(2*t)) * np.sin(t) | ||
| + | xx = np.concatenate([-xx[:: | ||
| + | yy = np.concatenate([-yy[:: | ||
| + | |||
| + | zz = b * np.sin(2*t) | ||
| + | zz = np.concatenate([zz[:: | ||
| + | verts = np.vstack([xx, | ||
| + | faces = np.array([np.arange(verts.shape[0])], | ||
| + | |||
| + | obj_text = ''' | ||
| + | # Wavefront OBJ file | ||
| + | # Created by glyg. | ||
| + | # | ||
| + | # unnamed object | ||
| + | |||
| + | ''' | ||
| + | obj_text += '# {} vertices, no textcoords, no normals, 1 faces\n' | ||
| + | verts.shape[0]) | ||
| + | for v in verts: | ||
| + | obj_text += 'v {:.10f} {:.10f} {: | ||
| + | for f in faces: | ||
| + | indices = ' ' | ||
| + | obj_text += 'f ' | ||
| + | |||
| + | with open(obj_file, | ||
| + | of.write(obj_text) | ||
| + | |||
| + | |||
| + | if __name__ == ' | ||
| + | parser = argparse.ArgumentParser() | ||
| + | parser.add_argument(" | ||
| + | parser.add_argument(" | ||
| + | parser.add_argument(" | ||
| + | parser.add_argument(" | ||
| + | args = parser.parse_args() | ||
| + | generate_curve(n_segments=args.nb, | ||
| + | |||
| + | </ | ||
| + | ++++ | ||
| + | |||
| + | Dans Blender, importer le stl, le transformer en " | ||
| + | |||
| + | ==== En 2D ==== | ||
| + | Lemniscate de Bernouilli : https:// | ||
| + | {{youtube> | ||
| + | |||
| + | ==== En 3D ==== | ||
| + | * x(t)=sqrt(2*a^2*cos(2*t))*cos(t); | ||
| + | * y(t)=sqrt(2*a^2*cos(2*t))*sin(t); | ||
| + | |||
| + | a est une constante qui fixe la taille de la courbe ; le paramètre t varie de -Pi/4 à +Pi/4 ; on obtient alors la moitié (une boucle du 8) de la lemniscate. L' | ||
| + | |||
| + | Pour la déformer en 3D afin d' éviter que les deux boucles se croisent, on passe en 3D en rajoutant la coordonnée | ||
| + | |||
| + | * z(t)=b*sin(2*t); | ||
| + | |||
| + | Le paramètre b sert à ajuster l' | ||
| ===== Structure " | ===== Structure " | ||
| - | * En 2D, Lemniscate de Bernouilli : https:// | ||
| - | ==== Janvier | + | ==== 11/2016 Ruban ==== |
| + | //Esquisse pour voir si c'est faisable de réaliser une structure métal découpée au laser. Possibilité d' | ||
| - | === Monorail (Jean Paul) === | + | |
| + | |||
| + | **En papier** \\ | ||
| + | {{: | ||
| + | {{: | ||
| + | |||
| + | Celle verticale a plus d' | ||
| + | |||
| + | \\ | ||
| + | |||
| + | **En dibond** \\ | ||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | |||
| + | La structure est en dibond (minces couches d' | ||
| + | |||
| + | **Devis pour la découpe de la boucle (sans les pieds, les renforts, etc., juste le symbole infini) ** \\ | ||
| + | * ACIER 3MM (DKP - 3) : 100,24 + 20.048 ~ 120€ | ||
| + | * ACIER 4MM (DKP - 4) : 128,46 + 25,692 ~ 150€ | ||
| + | * INOX 3MM (304L - 3) : 376, | ||
| + | * INOX 4MM (304L - 4) : 537.92+107.584 ~ 650€ | ||
| + | |||
| + | ==== 06/2016 Double rail ==== | ||
| + | |||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | // | ||
| + | // | ||
| + | |||
| + | |||
| + | ==== 03/2016 Double rail (Patrick et Louis) ==== | ||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | // | ||
| + | // | ||
| + | |||
| + | |||
| + | ==== 03/ | ||
| + | {{: | ||
| + | |||
| + | |||
| + | ==== 02/2016 Monorail (Jean Paul) ==== | ||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | // | ||
| + | // | ||
| + | |||
| + | ==== 01/2016 Monorail (Jean Paul) ==== | ||
| {{: | {{: | ||
| {{: | {{: | ||
| Ligne 17: | Ligne 182: | ||
| {{: | {{: | ||
| - | === Double rails (Patrick) === | + | // |
| + | // | ||
| + | |||
| + | |||
| + | ==== 01/ | ||
| {{: | {{: | ||
| {{: | {{: | ||
| {{: | {{: | ||
| - | {{: | + | {{: |
| - | {{: | + | |
| ==== 16/10/15 : vues 3D ==== | ==== 16/10/15 : vues 3D ==== | ||
| * Simulation Blender : {{: | * Simulation Blender : {{: | ||