ETH Zuerich - Startseite
Professur für CAAD

 


caad d-arch


Caad Teaching
 

 
Bachelor of Architecture: CAAD II ss07

 
Master of Advanced Studies
in Architecture, CAAD


 
DWF-Processing
Programmieren statt Zeichnen


 
Graustufen - Ein Atlas
Schweizer Wohngebäude als XML Daten


 
DWF- Denken in Systemen:
In Collaboration with the Technical University Vienna


 
Seminarwoche:
BlowUp


 
Archiv

 
Caad Projects
 

 
Theory
 
Design
 
Building
 
Practice

 
Related pages
 

 
Swiss Federal Institute of Technology Zurich
 
Institute of Building Technology
 
Faculty of Architecture

 
Other pages

 










hbt d-arch

MAS ETH ARCH/CAAD - 2005/06 - STUDENT PAGES
Master of Advanced Studies in Architecture, Specialization in Computer Aided Architectural Design | 065-0005/6
Supervision: Prof. Dr. Ludger Hovestadt, Philipp Schaerer
Chair of CAAD, ETH Zurich





Tobias Wendt

Translating


Klaus K
graustufen_1.JPG graustufen_2.JPG dunkel.JPG Endbild.JPG jealosie.JPG Polygone.JPG Hilfspunkteraster.jpg

LayerHintergrund.JPG Layerrot.JPG LayerGelb.JPG Layerlila.JPG Layergrn.JPG Layervier.JPG allelayergross.JPG checktheneighbourKlaus28.jpg


Procedure klaus;
VAR
   spx,spy,npx,npy,linie: Real;
   str,newStrIndex, newStrCol: STRING;
   Viereckhandle1,Viereckhandle2,Punkthandle : Handle; 
   loc0,loc1,loc2,l,a,b,c,d,e,f,g,h,i,selbst,m,k: Integer;

   farbwerte : array[1..10000] of Real;
   Punktetabelle: Array[1..10000] of Point;
   Farbe: Array[1..10000,1..6] of Real;
   Vektor:vector;
   Red,Green,Blue: Longint;
   
   Procedure analizegrid; 
   Begin
      Loc0:=1;
      Loc1:=Pos('I',str);
      Loc2:=Pos('P',str);
      newStrIndex:=copy(str,Loc0,Loc1-2);
      newStrCol:=Copy(str,Loc1+2,Loc2-3-Loc1);
      i:=Str2Num(newStrIndex);
   End;


   Begin   
      closepoly;
      Layer('Hilfspunkte');
      Punkthandle:=FActlayer;
      str := GetName(FActLayer);
      setselect(Punkthandle);         
      analizegrid;
      For k:=1 to 9999 DO Begin   
         Layer('Hilfspunkte');
         Punkthandle:=NextDObj(punkthandle);
         GetLocPt(Punkthandle,Punktetabelle[k].x,Punktetabelle[k].y);
         str:=Getname(Punkthandle);
         analizegrid;
         Farbwerte[k]:=Str2Num(newStrCol);   
         Farbwerte[k]:=Trunc(Farbwerte[k]);
         If Farbwerte[k]<10000 Then Begin 
         (***Farbwerte[k]:=60000;***)
            Farbe[k,1]:=7;   
         End Else 
             If Farbwerte[k]<20000 Then Begin 
         (***Farbwerte[k]:=50000;***)
            Farbe[k,2]:=4; 
         End Else
            If Farbwerte[k]<30000 Then Begin
         (***Farbwerte[k]:=40000;***)
            Farbe[k,3]:=2; 
         End Else
            If Farbwerte[k]<40000 Then Begin
         (***Farbwerte[k]:=30000;***)
            Farbe[k,4]:=6; 
         End Else
             If Farbwerte[k]<50000 Then Begin
         (***Farbwerte[k]:=50000;***)
            Farbe[k,5]:=3;
         End Else
            If Farbwerte[k]>50000 Then Begin
         (***Farbwerte[k]:=10000;***) 
            Farbe[k,6]:=5;
            setselect(Punkthandle);
            Message(Farbe[k,6]);
            message(newstrindex,'_',Farbwerte[k],'-',Punktetabelle[k].x,'_',Punktetabelle[k].y);
         End;   
      End;
      
      Dselectall;   
      
      moveto(0,0);
      Layer('Bild');
         
      For k:=1 To 6 Do Begin
         For m:=2 To 9998 Do Begin      
            If ((Farbe[m,k]=7) or (Farbe[m,k]=5) or (Farbe[m,k]=2) or (Farbe[m,k]=4) or (Farbe[m,k]=6) or (Farbe[m,k]=3)) Then Begin
            closepoly;
            smooth(10);
            moveto(Punktetabelle[m].x,Punktetabelle[m].y);
             Fillpat(0);
            ColorIndexToRGB(Farbe[m,k],Red,Green,Blue);
            Fillback(Red,Green,Blue);         
            Penfore(Red,Green,Blue);
            If Farbe[m,k]=7 Then Layer('Rot') Else
            If Farbe[m,k]=6 Then Layer('sechs') Else
            If Farbe[m,k]=3 Then Layer('drei') Else
            Moveto(Punktetabelle[m].x,Punktetabelle[m].y);
            Lineto(5+Punktetabelle[m].x,Punktetabelle[m].y+0);
            Hrotate(LnewObj,Punktetabelle[m].x,Punktetabelle[m].y,Farbe[m,k]*30);
            
            If Farbe[m,k]=2 Then Layer('vier');
            If Farbe[m,k]=2 Then Begin 
               Penfore(Red,Green,Blue);
               Moveto(Punktetabelle[m].x,Punktetabelle[m].y);
               Lineto(Punktetabelle[m].x+5,Punktetabelle[m].y);
               If Farbe[m+1,k]<>Farbe[m,k] Then
               Lineto(Punktetabelle[m].x,Punktetabelle[m].y+5); 
            
               IF (Farbe[m,k])<>(Farbe[m-1,k]) Then Begin
                  Moveto(Punktetabelle[m].x,Punktetabelle[m].y);
                  Lineto(Punktetabelle[m].x,Punktetabelle[m].y+5)
               End;
            End;


            If Farbe[m,k]=4 Then Layer('vier');
            If Farbe[m,k]=4 Then Begin 
               Penfore(Red,Green,Blue);
               Moveto(Punktetabelle[m].x,Punktetabelle[m].y);
               Lineto(Punktetabelle[m].x+5,Punktetabelle[m].y);
               If Farbe[m+1,k]<>Farbe[m,k] Then
               Lineto(Punktetabelle[m].x,Punktetabelle[m].y+5); 
            
               IF (Farbe[m,k])<>(Farbe[m-1,k]) Then Begin
                  Moveto(Punktetabelle[m].x,Punktetabelle[m].y);
                  Lineto(Punktetabelle[m].x,Punktetabelle[m].y+5)
               End;
            End;
            If Farbe[m,k]=5 Then Layer('Gelb');
            If Farbe[m,k]=5 Then Begin 
               Penfore(Red,Green,Blue);
               Moveto(Punktetabelle[m].x,Punktetabelle[m].y);
               Lineto(5+Punktetabelle[m].x,Punktetabelle[m].y+0);
               Hrotate(LnewObj,Punktetabelle[m].x,Punktetabelle[m].y,Farbe[m,k]*30+90);
            End;
         End;   
         If k=1 Then Begin
            FillPat(255);
            Colorindextorgb(255,Red,Green,Blue);
            Layer('Hintergrund');
            Penfore(Red,Green,Blue);
            Moveto(Punktetabelle[m].x,Punktetabelle[m].y);
            Lineto(Punktetabelle[m].x+5,Punktetabelle[m].y+0);
            Hrotate(LnewObj,Punktetabelle[m].x,Punktetabelle[m].y,Farbwerte[m]/1000);
            Lineto(Punktetabelle[m].x+5,Punktetabelle[m].y+0);
            Hrotate(LnewObj,Punktetabelle[m].x,Punktetabelle[m].y,Farbwerte[m]/1000+90);      
            Lineto(Punktetabelle[m].x+5,Punktetabelle[m].y+0);
            Hrotate(LnewObj,Punktetabelle[m].x,Punktetabelle[m].y,Farbwerte[m]/1000+45);   
   
         End;
            
      End;
   End;   
End;   
      
Run(klaus);

-- NDSTobiasWendt - 21 Dec 2005

Revision r1.2 - 18 Feb 2006 - 17:38 - NDSTobiasWendt
Parents: WebHome > NDSTobiasWendt
Copyright © 1999-2003 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.

This website has been archived and is no longer maintained.