Detta var min individuella j-uppgift i Datalogi som jag läste på KTH och redovisade år 2000. Det var första gången jag någonsin hållit på med Java.
Rotation av 3D-punkter samt perspektiv-transformationen spelar de viktigaste rollerna för att få se saker tre-dimmensionellt.
Programmet tar reda på tre saker om de trianglar som ska ritas:
Notera att appleten saknar rättigheter att läsa filer på DIN dator om inte du har oförsiktiga inställningar för din Browser/JRE/appletviewer. Däremot kan innehållet från filer valfria texter/filer kopieras och klistras in i textrutan. Några exempel för att begripa formatet finns nedan:
Syntaxen som beskriver objekt är enkel, och om den inte framgår av exemplen nedan så är detta grund-dragen:
// Orienteringsskärm Object3D { Triangle { color=<255,255,255>; <-50,-50,50>,<-50,50,50>,<50,-50,50>} Triangle { color=<255,200,100>; <-50,50,50>,<50,-50,50>,<50,50,50>} Triangle { color=<255,200,100>; <50,-50,50>,<50,50,50>,<50,50,-50>} Triangle { color=<255,255,255>; <50,-50,50>,<50,50,-50>,<50,-50,-50>} Triangle { color=<255,255,255>; <50,50,-50>,<50,-50,-50>,<-50,-50,-50>} Triangle{ color=<255,255,0>; <-50,-50,-50>,<50,50,-50>,<-50,50,-50>} Triangle{ color=<255,255,0>; <-50,-50,-50>,<-50,50,50>,<-50,50,-50>} Triangle{ color=<255,255,255>;<-50,-50,-50>,<-50,50,50>,<-50,-50,50>} }
// En pyramid Object3D{ // Bottenytan //Triangle{<50,50,0>,<50,-50,0>,<-50,50,0>} //Triangle{<-50,-50,0>,<-50,50,0>,<50,-50,0>} // De fyra sidorna Triangle{<50,50,0>,<50,-50,0>,<0,0,80>} Triangle{<-50,50,0>,<50,50,0>,<0,0,80>} Triangle{<-50,-50,0>,<-50,50,0>,<0,0,80>} Triangle{<-50,-50,0>,<50,-50,0>,<0,0,80>} }
// Lite komplex kub Object3D { Triangle { color=<255,255,255>; <-50,-50,50>,<-50,50,50>,<50,-50,50>} Triangle { color=<255,200,100>; <-50,50,50>,<50,-50,50>,<50,50,50>} Triangle { color=<255,200,100>; <50,-50,50>,<50,50,50>,<50,50,-50>} Triangle { color=<255,255,255>; <50,-50,50>,<50,50,-50>,<50,-50,-50>} Triangle { color=<255,255,255>; <50,50,-50>,<50,-50,-50>,<-50,-50,-50>} Triangle{ color=<255,255,0>; <-50,-50,-50>,<50,50,-50>,<-50,50,-50>} Triangle{ color=<255,255,0>; <-50,-50,-50>,<-50,50,50>,<-50,50,-50>} Triangle{ color=<255,255,255>;<-50,-50,-50>,<-50,50,50>,<-50,-50,50>} Triangle{ color=<0,128,255>;<-50,-50,-50>,<-50,-50,50>,<50,-50,-50>} Triangle{ color=<128,255,255>;<-50,-50,50>,<50,-50,-50>,<50,-50,50>} Triangle{ color=<0,128,255>;<-50,50,-50>,<-50,50,50>,<50,50,-50>} Triangle{ color=<128,255,255>;<-50,50,50>,<50,50,-50>,<50,50,50>} }
Källkoden och javadoc-dokumentationen finns som zip-fil.
Copyright © 2000-2007 Simon Gustafsson (www.simong.se)