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 | ||
outilsit:fablab:laser:lol:code [2022/02/08 13:40] vanlindtmarc |
outilsit:fablab:laser:lol:code [2022/02/09 02:35] (Version actuelle) vanlindtmarc |
||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
│ | │ | ||
╞══════════════════╤════════════════════════════════════╤════════════════╡ | ╞══════════════════╤════════════════════════════════════╤════════════════╡ | ||
- | │ marc@vanlindt.be │ LGPL 2.1 marc@vanlindt.be 2022 │ v0.99 ---- wip | | + | │ marc@vanlindt.be │ LGPL 2.1 marc@vanlindt.be 2022 │ v0.98 ---- wip | |
╞══════════════════╧═══════════════════════╤════════════╧════════════════╛ | ╞══════════════════╧═══════════════════════╤════════════╧════════════════╛ | ||
│ Variables générales | │ Variables générales | ||
Ligne 12: | Ligne 12: | ||
LetterL=[[0, | LetterL=[[0, | ||
- | LetterO=[[0, | + | //LetterO=[[0, |
+ | LetterO=[[0, | ||
blue = [0,0,1,1]; | blue = [0,0,1,1]; | ||
red = [1,0,0,1]; | red = [1,0,0,1]; | ||
Ligne 971: | Ligne 971: | ||
bottom=true, | bottom=true, | ||
top=true, | top=true, | ||
- | c=2Drot(interpolate(L1,L2, | + | c=2Drot(interpolate(a,b, |
- | d=2Drot(interpolate(L1,L2, | + | d=2Drot(interpolate(a,b, |
aa=[ for(i=[0: | aa=[ for(i=[0: | ||
bb=[ for(i=[0: | bb=[ for(i=[0: | ||
Ligne 1026: | Ligne 1026: | ||
def=multiplyfaces(b, | def=multiplyfaces(b, | ||
aa=[for(i=[0: | aa=[for(i=[0: | ||
- | (aa); | + | |
function ppcm(a, | function ppcm(a, | ||
Ligne 1235: | Ligne 1235: | ||
}}} | }}} | ||
+ | module menger3d(it, | ||
+ | it=it==undef? | ||
+ | if (it==maxit){ | ||
+ | cube([d, | ||
+ | } | ||
+ | if (it< | ||
+ | union(){ | ||
+ | for (i=[-1:1]){ | ||
+ | translate([d/ | ||
+ | translate([-d/ | ||
+ | } | ||
+ | | ||
+ | translate([0, | ||
+ | translate([0, | ||
- | //menger2(); | + | for (i=[-1: |
- | module menger2(d,maxit,it,tab) | + | translate([d/3,-d/3,d/3*i]) rotate([0,90,0]) menger3d(it=it+1, |
- | { | + | |
- | it=it==undef?0:it; | + | } |
- | tab=it==undef?[[1]]:tab; | + | |
- | + | translate([0, | |
- | } | + | |
+ | translate([d/ | ||
+ | translate([-d/ | ||
+ | | ||
+ | }}} | ||
+ | module jcube(it, | ||
+ | it=it==undef? | ||
+ | union() | ||
+ | { | ||
+ | if(it==maxit) | ||
+ | { | ||
+ | cube([d, | ||
+ | } | ||
+ | if(it< | ||
+ | { | ||
+ | translate([d/ | ||
+ | translate([-d/ | ||
+ | jcube(it=it+1, | ||
+ | |||
+ | translate([-d/ | ||
+ | translate([d/ | ||
+ | jcube(it=it+1, | ||
+ | |||
+ | translate([d/ | ||
+ | translate([-d/ | ||
+ | jcube(it=it+1, | ||
+ | |||
+ | translate([-d/ | ||
+ | translate([d/ | ||
+ | jcube(it=it+1, | ||
+ | |||
+ | translate([d/ | ||
+ | translate([-d/ | ||
+ | jcube(it=it+1, | ||
+ | |||
+ | translate([-d/ | ||
+ | translate([d/ | ||
+ | jcube(it=it+1, | ||
+ | |||
+ | translate([d/ | ||
+ | translate([-d/ | ||
+ | jcube(it=it+1, | ||
+ | |||
+ | translate([-d/ | ||
+ | translate([d/ | ||
+ | jcube(it=it+1, | ||
+ | |||
+ | translate([-d/ | ||
+ | translate([d/ | ||
+ | jcube(it=it+1, | ||
+ | |||
+ | translate([-d/ | ||
+ | translate([d/ | ||
+ | jcube(it=it+1, | ||
+ | |||
+ | translate([d/ | ||
+ | translate([-d/ | ||
+ | jcube(it=it+1, | ||
+ | |||
+ | translate([d/ | ||
+ | translate([-d/ | ||
+ | jcube(it=it+1, | ||
+ | |||
+ | translate([-d/ | ||
+ | translate([d/ | ||
+ | jcube(it=it+1, | ||
+ | |||
+ | translate([-d/ | ||
+ | translate([d/ | ||
+ | jcube(it=it+1, | ||
+ | |||
+ | translate([d/ | ||
+ | translate([-d/ | ||
+ | jcube(it=it+1, | ||
+ | |||
+ | translate([d/ | ||
+ | translate([-d/ | ||
+ | jcube(it=it+1, | ||
+ | |||
+ | translate([0, | ||
+ | translate([0, | ||
+ | jcube(it=it+1, | ||
+ | |||
+ | translate([0, | ||
+ | translate([0, | ||
+ | jcube(it=it+1, | ||
+ | |||
+ | translate([0, | ||
+ | translate([0, | ||
+ | jcube(it=it+1, | ||
+ | |||
+ | translate([0, | ||
+ | translate([0, | ||
+ | jcube(it=it+1, | ||
+ | }}} | ||
</ | </ | ||