Detail
import processing.opengl.*;Plan(j+randamB)*vinc);import igeo.p.*;
import igeo.io.*;import igeo.geo.*;import igeo.util.*;import igeo.core.*;import igeo.gui.*;IVec[] pts = new IVec[4];pts[0] = pt1;
pts[1] = pt2;
pts[2] = pt3;
pts[3] = pt4;

ICurve profile = new ICurve(pts, 2, true).clr(1.,0, 0);
ICurve flatProfile = IG.flatten(profile);
circlesA[i][j] = flatProfile;}}size(500, 500, IG.GL);// Treat SurfB
ICurve[][] circlesB= new ICurve[unum][vnum];//create 4 surfacesfor (int i=0; i<unum; i++) {ISurface surfA = new ISurface(-25, -25, 0, 75, -25, 0, 75, 75, 0, -25, 75,
for (int j=0; j<vnum; j++) {0);//ISurface surfB = new ISurface(0, 0, -50, 50, 0, -50, 50, 50, -50, 0, 50,
IVec pt1=surfB.pt((i+randamA)*uinc,-50);(j+randamA)*vinc);
ISurface surfB = new ISurface(-50, -50, -50, 100, -50, -50, 100, 100, -50, IVec pt2=surfB.pt((i+randamB)*uinc,-50, 100, -50);(j+randamA)*vinc);
ISurface surfC = new ISurface(0, 0, -70, 50, 0, -70, 50, 50, -70, 0, 50,IVec pt3=surfB.pt((i+randamB)*uinc,-70);(j+randamB)*vinc);//ISurface surfD = new ISurface(0, 0, -150, 50, 0, -150, 50, 50, -150, 0,IVec pt4=surfB.pt((i+randamA)*uinc,50, -150);(j+randamB)*vinc);
ISurface surfD = new ISurface(-40, -50, -150, 90, -50, -150, 90, 100,-150, -40, 100, -150);
IVec[] pts = new IVec[4];pts[0] = pt1;//Randam define
pts[1] = pt2;
double randamA = IRandom.get(0.00, 0.49);
pts[2] = pt3;
double randamB = IRandom.get(0.50, 1.00);
pts[3] = pt4;//Devide surf
int unum=6, vnum=6;
double uinc=1.0/unum, vinc=1.0/vnum;// Treat SurfA
ICurve[][] circlesA = new ICurve[unum][vnum];for (int i=0; i<unum; i++) {for (int j=0; j<vnum; j++) {}IVec[] pts = new IVec[4];pts[0] = pt1;
pts[1] = pt2;
pts[2] = pt3;
pts[3] = pt4;}

for (int i=0; i<unum; i++) {for (int j=0; j<vnum; j++) {import processing.opengl.*;import igeo.p.*;
import igeo.io.*;import igeo.geo.*;import igeo.util.*;import igeo.core.*;import igeo.gui.*;// ICurve prof1 = circlesA[randI][randJ];
ICurve prof2 = circlesB[randI][randJ];
ICurve prof3 = circlesC[randH][randG];
ICurve prof4 = circlesD[randI][randJ];

size(500,500,IG.GL);

IG.loft(new ICurve[]{prof1,prof2,prof3,prof4},3);IG.open(“mid_for_panelization.3dm”);// IG.loft(new ICurve[]{ curve6, curve7, curve8 }, 2 ).clr(0.2);

for (int i=0; i<unum; i++) {for (int j=0; j<vnum; j++) {IG.save(“mid_for_panelization.3dm”);}

int unum = 10, vnum =8;
double uinc = 1.0/unum, vinc = 1.0/vnum;for(int i=0; i < unum; i++){for(int j=0; j < vnum; j++){// IVec pt = surf.pt( i*uinc, j*vinc );double val = map.get( i*uinc, j*vinc );//Paneling the surface
IVec pt11 = surf.pt( i*uinc, j*vinc);
IVec pt21 = surf.pt( (i+1)*uinc, j*vinc,val*2);
IVec pt22 = surf.pt( (i+1)*uinc, (j+1)*vinc,val*2);
IVec pt12 = surf.pt( i*uinc, (j+1)*vinc );2

Create controal points to makecircles on surfaces

x10

new ISurface(pt11, pt21, pt22, pt12).clr(0,i*uinc,j*vinc,0.3);

ICurve profile = new ICurve(pts, 2, true).clr(1., 0, 0);
ICurve flatProfile = IG.flatten(profile);
circlesD[i][j] = flatProfile;//Randam grid to and loftfor (int i=0; i<unum; i++) {for (int j=0; j<vnum; j++) {IVec spt1 = surf.pt( i*uinc, j*vinc);
IVec spt2 = surf.pt((i+1)*uinc, j*vinc);
IVec spt3 = surf.pt( i*uinc, (j+1)*vinc );IVec spt4 = surf.pt ((i+1)*uinc, (j+1)*vinc);1

ICurve prof1 = circlesA[i][j];3}IG.save(“mid_presen_rhino.3dm”);

for(ISurface surf : surfs ){1}}}
surf.del();IImageMap map = new IImageMap(“gray_scale_map1.jpg”);

IVec[] pts = new IVec[4];pts[0] = pt1;
pts[1] = pt2;
pts[2] = pt3;Make Surfaces and devide in to10
pts[3] = pt4;}

IVec[] ptsb = new IVec[2];ptsb[0] =spt1;
ptsb[1] =spt3;
ICurve outline2 = new ICurve (ptsb,1);
IG.squarePipe(outline2,.2).clr(0,0,1);//Creates vectors on the surf conect to structure outside.
ISurface[] surfs = IG.surfaces();}surfA .del();surfB .del();surfC .del();surfD .del();IVec pt1=surfD.pt((i+randamA)*uinc,(j+randamA)*vinc);
IVec pt2=surfD.pt((i+randamB)*uinc,(j+randamA)*vinc);
IVec pt3=surfD.pt((i+randamB)*uinc,(j+randamB)*vinc);
IVec pt4=surfD.pt((i+randamA)*uinc,(j+randamB)*vinc);

ICurve profile = new ICurve(pts, 2, true).clr(1.,0, 0);
ICurve flatProfile = IG.flatten(profile);
circlesB[i][j] = flatProfile;}}

IVec pt1=surfC.pt((i+randamA)*uinc,(j+randamA)*vinc);
IVec pt2=surfC.pt((i+randamB)*uinc,(j+randamA)*vinc);
IVec pt3=surfC.pt((i+randamB)*uinc,(j+randamB)*vinc);
IVec pt4=surfC.pt((i+randamA)*uinc,ICurve profile = new ICurve(pts, 2, true).clr(1., 0, 0);
ICurve flatProfile = IG.flatten(profile);
circlesC[i][j] = flatProfile;// Treat SurfD
ICurve[][] circlesD= new ICurve[unum][vnum];// Treat SurfC
ICurve[][] circlesC= new ICurve[unum][vnum];

IVec pt1=surfA.pt((i+randamA)*uinc, (j+randamA)*vinc);
IVec pt2=surfA.pt((i+randamB)*uinc, (j+randamA)*vinc);
IVec pt3=surfA.pt((i+randamB)*uinc, (j+randamB)*vinc);
IVec pt4=surfA.pt((i+randamA)*uinc, (j+randamB)*vinc);int randH = IRandom.getInt(0,unum-2);
int randG = IRandom.getInt(0,vnum-2);
int randF = IRandom.getInt(0,unum-3);
int randE = IRandom.getInt(0,vnum-3);

Elevation

2

Make Surfaces and devide in to10
x10

randI = IRandom.getInt(0,unum-1);
Makeintclosed
crv
int randJ = IRandom.getInt(0,vnum-1);

IVec[] ptsa = new IVec[2];ptsa[0] =spt1;
ptsa[1] =spt2;
ICurve outline1 = new ICurve (ptsa,1);

Create controal points to makecirclesIG.squarePipe(outline1,.2).clr(0,0,1,0.3);
on surfaces

2

devide in to10

Create controal points to make

11Make1 Surfaces and circles
devideon
insurfaces
to10 x10
Make
Make
Surfaces
Surfacesand anddevide
devidein to10in to10x10 x103

2 22

Createcontroalpoints
make circles on surfaces
CreateCreatecontroal
controalpoints
pointsto maketotomake
circlescircleson surfaces
on surfaces

1
Pick up Surface from the privious geometry.

3Make closed crv
Make closed crv

2Devide to 10x8.

4Make 3 to 4 layers. controal diameter, andlocations with “if” and “randam”.

3 3

Make
Make
closedclosedcrv crv

43
Put 4 points on the grid, and create
surface.

4
Made image map to controal surface.

Make 3 to 4 layers. controal diameter, andlocations with “if” and “randam”.

44

Make 3 to 4 layers. controal diameter,Make
3 to 4 layers. controal diameter, andand locations with “if” and “randam”.

5

5

LoftLoft
thosecircles
thosecircles

locations with “if” and “randam”. 4 4MakeMake3 to 34 tolayers.
4 layers.
controal
controal
diameter,diameter,and andlocations
locationswithwith“if” and“if” “randam”.
and “randam”.

5
Push up the surf according to the image infort.

6
Create structure with conecting points
Takashi Ohira