home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format 49
/
af049.adf
/
Genesis
/
Models
/
hall.csg
< prev
next >
Wrap
Text File
|
1993-06-09
|
6KB
|
193 lines
#
Last Supper hall model - by Steve Woodman
A 3D model of a rectory in Milan upon the walls of which
Leonardo da' Vinci painted his famous "Last Supper" picture.
This file is a CSG reconstruction of that hall, designed for
interpretation by the Flexiparse text parser (thanks to Mac)
and for rendering on the Genesis solid modelling system (by
Spike)
© Model data is copyright IBM UK scientific centre, Winchester
#
cyl1=(cylinder(225) int plane(0,0,-1) int plane(0,0,1) at(0,0,950)
union empty);
cyl2=((cylinder(225) int plane(0,0,-1) int plane(0,0,1) at(0,0,247))
yrot(90)
union empty);
block1=(plane(-1,0,0) int
plane(0,-1,0) int
plane(0,0,-1) int
plane(1,0,0) at(246,0,0) int
plane(0,1,0) at(0,275,0) int
plane(0,0,1) at(0,0,700)
union empty);
block2=(plane(-1,0,0) int
plane(0,-1,0) int
plane(0,0,-1) int
plane(1,0,0) at(246,0,0) int
plane(0,1,0) at(0,238,0) int
plane(0,0,1) at(0,0,950)
union empty);
cyl3=(cylinder(179) int plane(0,0,-1) int plane(0,0,1) at(0,0,936)
union empty);
cyl4=(cylinder(69) int plane(0,0,-1) int plane(0,0,1) at(0,0,936)
union empty);
block3=(plane(-1,0,0) int
plane(0,-1,0) int
plane(0,0,-1) int
plane(1,0,0) at(60,0,0) int
plane(0,1,0) at(0,30,0) int
plane(0,0,1) at(0,0,936)
union empty);
cyl5=((cylinder(179) int plane(0,0,-1) int plane(0,0,1) at(0,0,234))
yrot(-90)
union empty);
cyl6=((cylinder(69) int plane(0,0,-1) int plane(0,0,1) at(0,0,234))
yrot(-90)
union empty);
block4=(plane(-1,0,0) int
plane(0,-1,0) int
plane(0,0,-1) int
plane(1,0,0) at(234,0,0) int
plane(0,1,0) at(0,30,0) int
plane(0,0,1) at(0,0,60)
union empty);
block5=(plane(-1,0,0) int
plane(0,-1,0) int
plane(0,0,-1) int
plane(1,0,0) at(234,0,0) int
plane(0,1,0) at(0,80,0) int
plane(0,0,1) at(0,0,702)
union empty);
block6=(plane(-1,0,0) int
plane(0,-1,0) int
plane(0,0,-1) int
plane(1,0,0) at(234,0,0) int
plane(0,1,0) at(0,192,0) int
plane(0,0,1) at(0,0,936)
union empty);
roof=cyl1 at(123,50,0) int
(
cyl2 at(0,50,125) union
cyl2 at(0,50,825) union
block1 at(0,0,125)
) int
plane(0,-1,0) at(0,238,0);
outside=(roof) union block2;
xystrip=(
cyl3 at(123,93,7) int
plane(0,-1,0) at(0,254,0)
) union
(
(
cyl4 at(75,192,7) union
cyl4 at(171,192,7)
) int
plane(0,-1,0) at(0,192,0)
) union
block3 at(93,233,7);
xcyl=cyl5 int
plane(0,-1,0) at(0,161,0);
zfend=(xcyl) union
(
cyl6 at(0,99,-48) int
plane(0,-1,0) at(0,99,0)
) union
block4 at(0,140,-30) union empty;
zbend=(xcyl) union
(
cyl6 at(0,99,48) int
plane(0,-1,0) at(0,99,0)
) union
block4 at(0,140,-30) union empty;
zystrip=(zfend) at(6,93,124) union
(zbend) at(6,93,826) union
block5 at(6,192,124);
inside=(zystrip) int
(xystrip) union
block6 at(6,0.1,7);
medmarch=ellipsoid(148.0610,76.6933,76.6933) union empty;
largarch=ellipsoid(144.5829,80,80) union empty;
smalarch=ellipsoid(135.1949,64.8635,64.8635) union empty;
lwindow=plane(-4,6,0) at(6.001,213,0) int
plane(-8,-6,0) at(6.001,125,0) int
plane(-4,0,6) at(6.001,0,21) int
plane(-4,0,-6) at(6.001,0,-21) int
plane(1,0,0) at(6.001,0,0) union empty;
rwindow=plane(4,6,0) at(239.999,213,0) int
plane(8,-6,0) at(239.999,125,0) int
plane(4,0,6) at(239.999,0,21) int
plane(4,0,-6) at(239.999,0,-21) int
plane(-1,0,0) at(239.999,0,0) union empty;
hall=(
(outside) diff
(inside) diff
(
(
(
(smalarch) at(123,192,39.5) union
(largarch) at(123,192,125) union
(medmarch) at(123,192,225) union
(medmarch) at(123,192,325) union
(medmarch) at(123,192,425) union
(medmarch) at(123,192,525) union
(medmarch) at(123,192,625) union
(medmarch) at(123,192,725) union
(largarch) at(123,192,825) union
(smalarch) at(123,192,910.5)
) int
(zystrip)
) union
(
(
(smalarch) yrot(90) at(207.5,192,125) union
(largarch) yrot(90) at(123,192,125) union
(smalarch) yrot(90) at(38.5,192,125) union
(smalarch) yrot(90) at(207.5,192,825) union
(largarch) yrot(90) at(123,192,825) union
(largarch) yrot(90) at(38.5,192,825)
) int
(xystrip)
)
) diff
(lwindow) at(0,0,125) diff
(lwindow) at(0,0,225) diff
(lwindow) at(0,0,325) diff
(lwindow) at(0,0,525) diff
(lwindow) at(0,0,725) diff
(lwindow) at(0,0,825) diff
(rwindow) at(0,0,125) diff
(rwindow) at(0,0,225) diff
(rwindow) at(0,0,325) diff
(rwindow) at(0,0,525) diff
(rwindow) at(0,0,725) diff
(rwindow) at(0,0,825)
) union empty;
# Seen from outside #
#
draw (hall) at(-123,-60,-500) scale(0.1)
xrot(-20) yrot(-30) at(128,128,128);
#
# Seen from inside #
draw (hall) at(-123,-60,-20);
.