SKELETON:3 DEF L_shape = MKPOL:< verts, cells, pols > WHERE verts = <<0,0>,<2,0>,<2,1>,<1,1>,<1,2>,<0,2>>, cells = <<1,2,3,4>,<4,5,6,1>>, pols = <<1>,<2>> END; L_shape; draw:L_shape; DEF OUT=@1:L_shape; OUT; DEF L_shape2 = MKPOL:< verts, cells, pols > WHERE verts = <<0,0>,<2,0>,<2,1>,<1,1>,<1,2>,<0,2>>, cells = <<1,2,3,4>,<4,5,6,1>>, pols = <<1,2>> END; L_shape2; DEF OUT=@1:L_shape2; OUT; DEF ALLSK(pol::ISPol)=STRUCT:(CONS:(AA:SKELETON:(0..(dimc:pol))):pol); DEF OUT=ALLSK:L_shape; OUT; DEF OUT=ALLSK:L_shape2; OUT; DEF TEST=SIMPLEX:1; TEST; EMBED:1:TEST; EMBED:2:TEST; DEF O=<(EMBED:2:(SIMPLEX:1)), (T:2:3:(EMBED:3:(SIMPLEX:0)))>; DEF o1=STRUCT:o; DEF O2=JOIN:o; ; DEF a = T:<1,2>:<-0.5,-0.5>:(CUBOID:<1,1,1>); DEF b = R:<1,2>:(PI/4):a; def out=STRUCT:; out; DEF plan = MKPOL: WHERE Vertices = < <0,0>,<0,3>,<3/2,3>,<3/2,9/2>,<9/2,9/2>, <9/2,3>,<9/2,3/2>,<9/2,0>,<6,0>,<6,3/2>, <9/2,3>,<9,3>,<6,6>,<9,6>,<6,9>, <9,9>,<0,9/2>,<0,9>,<9/2,9> >, ConvexCells = < <1,2,3,6,8>,<3,4,5,6>,<4,5,19,18,17>,<19,5,6,7,11,13,15,10>, <7,8,9,10>,<11,12,13,14>,<13,14,15,16>,<2,17,4,3> >, PolCells = < <1,2>,<3,8>,<4>,<5>,<7>,<6> > END; DEF OUT=ALLSK:PLAN; OUT; DEF elev(plan::IsPol;h::IsNum)=@1:(plan * quote:); DEF OUT=elev:; OUT; DEF myQ = QUOTE ~ IF:< IsSeQ, ID, [ID] >; DEF mycuboid = *~AA:myq; DEF OUT=mycuboid:<1,4,9>; out; mycuboid:<1,4,9,16>; DEF out=Q:<5,-2,5,-2,5>; out; DEF out=Q:<1,-1,1> * Q:<1,-1,1> * Q:0.3; out; DEF sinFun = [ID, SIN] ~ S1; DEF domain2PI (n::IsIntPos) = (Q ~ #:n):(2*PI/n); domain2PI:8; DEF OUT=MAP: sinFun: (domain2PI:32); OUT; DEF Domain (a::IsReal)(n::IsIntPos) = (q ~ #:n):(a/n); Domain:(2*PI):32; MAP:([COS, SIN] ~ S1) :(Domain:(2*PI):32); DEF myCircumference= MAP:([COS, SIN] ~ S1) ~ Domain:(2*PI); DEF OUT=myCircumference:24; OUT; DEF section (a,b,h::IsRealPos) = STRUCT: WHERE firstFloor = QUOTE: * QUOTE:, secondLeft = MKPOL:<<<0,0>,,,<0,2*h>>,<1..4>,<<1>>>, secondRight = MKPOL:<<<0,0>,,,<0,3*h>>,<1..4>,<<1>>> END; DEF plan = MKPOL: WHERE Vertices = < <0,0>,<0,3>,<3/2,3>,<3/2,9/2>,<9/2,9/2>, <9/2,3>,<9/2,3/2>,<9/2,0>,<6,0>,<6,3/2>, <9/2,3>,<9,3>,<6,6>,<9,6>,<6,9>, <9,9>,<0,9/2>,<0,9>,<9/2,9> >, ConvexCells = < <1,2,3,6,8>,<3,4,5,6>,<4,5,19,18,17>,<19,5,6,7,11,13,15,10>, <7,8,9,10>,<11,12,13,14>,<13,14,15,16>,<2,17,4,3> >, PolCells = < <1,2>,<3,8>,<4>,<5>,<7>,<6> > END; DEF OUT=STRUCT:)>; OUT; DEF OUT=Plan (<1,2,3> XX <3,1,2>) (Section:<6,3,2>); OUT; DEF OUT2=@1:OUT; OUT2;