Skip to main content

Guilherme, Yago "Enigme des 3 maisons"

Coordonnées :

Ballanger, Yago (Yago.Ballanger@etu.sorbonne-universite.fr)
Vital Santos, Guilherme (Guilherme.Vital_Santos@etu.sorbonne-universite.fr)

LU1SXARE - SCIMAG
19/03/2025 - 09/04/2025

Introduction :

Dans le cadre de cet ARE-SCIMAG, notre projet final d'UE consistait à réaliser un tour de magie ou à produire un objet à l'aide de principes physiques et/ou mathématiques.
Le principe choisi par notre groupe était la topologie, et nous l'avons utilisé pour expliquer l'énigme des trois maisons. L'énigme des 3 maisons est une tentative de connecter une source d'électricité, de chauffage et d'eau pour 3 maisons de telle sorte que la ligne d'une source ne puisse pas passer sur la ligne d'une autre source, comme le montre le diagramme ci-dessous :

dessous:

(https://en.wikipedia.org/wiki/Three_utilities_problem#/media/File:3_utilities_problem_plane.svg)

 

 

Matériaux et outils :

  • Openscad (outil)
  • Prusa Slicer (outil)
  • Original Prusa MK4S (imprimante 3D)
  • PLA+ Noir 1,75mm Arianeplast (filament 3D)
  • PLA Starter Blanc (White) 1,75 mm ROSA 3D (filament 3D)

Construction :

  • Le corps de la pièce :
    • Image :

      Parte_principal_imagem_1.png

      Parte_principal_imagem_2.png

    • Code:
      // Tore de base
      
      difference(){
          difference(){
              cube(100);
              translate([25,25,-1])
              cube([50,50,102]);
          translate([75,-1,-1])
          cube([25,102,102]);
          }
      }
      
      // Piquets arrières
      
      translate([1,50,80])
      rotate([0,-90,0])
      
      union(){
          cylinder(10,4,4);
          translate([0,0,10])
          cylinder(1,5,5);
      }
      
      translate([1,50,20])
      rotate([0,-90,0])
      
      union(){
          cylinder(10,4,4);
          translate([0,0,10])
          cylinder(1,5,5);
      }
      
      // Piquets du côté droit
      
      translate([50,99,80])
      rotate([-90,0,0])
      
      union(){
          cylinder(10,4,4);
          translate([0,0,10])
          cylinder(1,5,5);
      }
      
      translate([50,99,20])
      rotate([-90,0,0])
      
      union(){
          cylinder(10,4,4);
          translate([0,0,10])
          cylinder(1,5,5);
      }
      
      // Piquets du côté gauche
      
      translate([50,0,80])
      rotate([90,0,0])
      
      union(){
          cylinder(10,4,4);
          translate([0,0,10])
          cylinder(1,5,5);
      }
      
      translate([50,0,20])
      rotate([90,0,0])
      
      union(){
          cylinder(10,4,4);
          translate([0,0,10])
          cylinder(1,5,5);
      }
  • Cuboïde interne :
    • Image :Cuboide_dentro.png
    • Code :
      // Cuboïde interne
      
      cube([50,50,100]);
  • Plan mobile :
    • Image:Plano_movel.png
  • Code :

    • //Plan mobile
      
      rotate([0,-90,0])
      
      union(){
          
          // Base cuboïde
          
          cube([25,100,100]);
          
          // Piquets du côté gauche
          
          translate([24,10,90])
          rotate([0,90,0])      
          union(){
              cylinder(10,4,4);
              translate([0,0,10])
              cylinder(1,5,5);
          }
      
          translate([24,10,10])
          rotate([0,90,0])
          union(){
              cylinder(10,4,4);
              translate([0,0,10])
              cylinder(1,5,5);
          }
      
          // Piquets centrales
          
          translate([24,50,90])
          rotate([0,90,0])
          union(){
              cylinder(10,4,4);
              translate([0,0,10])
              cylinder(1,5,5);
          }
          
          translate([24,50,10])
          rotate([0,90,0])
          union(){
              cylinder(10,4,4);
              translate([0,0,10])
              cylinder(1,5,5);
          }
      
          // Piquets du côté droit
          
          translate([24,90,90])
          rotate([0,90,0])
          union(){
              cylinder(10,4,4);
              translate([0,0,10])
              cylinder(1,5,5);
          }
          
          translate([24,90,10])
          rotate([0,90,0])
          union(){
              cylinder(10,4,4);
          translate([0,0,10])
          cylinder(1,5,5);
          }
      
      }