Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by Ali Chamas, posted on April 23, 2001

Image Description, by Ali Chamas

Here are some nice images which i produced for my first University assignment. I am studying computer graphics at the UTS Sydney Australia, we do raytracing next semester - i can't wait.

Our assignment was to define a 2D polygon, apply some transformation to it (using matrices), draw it, and then repeat those steps again (to the resulting polygon). We were encouraged to change it's colour over the iterations, and use an outline colour too. I implemented alpha transparency, sub-division, and shape distortion - i guess i've been hanging around this site too long ;).

I was the only guy in the class who wrote it in Smalltalk (Squeak). I put up a site, you can see these snap shots plus others here.

This is by no means a complicated project, so please don't look for the vertex lighting, BSP, or 1000 fps (not that there's anything wrong with that!). I was just really happy with the results, and thought i'd begin my first humble IOTD with these guys...

Ali Chamas.

Image of the Day Gallery


Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.

April 23, 2001, 02:04 AM


Joachim Hofer

April 23, 2001, 02:34 AM

This is a really nice IOTD!
Even though your algorithm seems in no way usefull for anything "serious", I am happy to see something different from all the terrain engines from time to time.
It really looks good and it was probably a very good practice to write your own transformation and rendering unit. Or did you use DX / OGL in Smalltalk?


April 23, 2001, 04:22 AM

hey, it could do a cool screensaver or a demo-part :)

Tobias Franke

April 23, 2001, 04:41 AM

Yeah, those images look pretty cool... I looked up the code on your page, Smaltalk seems to be a weird language =)

Stefan Karlsson

April 23, 2001, 09:55 AM

HAHAHAH... honestly.. that was NOT impressive .. ;))
Looks like some basic thing from the 80s or so ;)

John Jensen

April 23, 2001, 10:19 AM

Although it has been explained several times, to all the other idiots posting the same brain dead messages, it appears that people do not understand the purpose of IOTD.

In his description, Ali himself says that this is not meant to be impressive, he was just happy about it and wanted to share....

So why do you have to post something as stupid as that?


April 23, 2001, 10:56 AM

UTS eh? You probably play CS down at the Istar then ;)
Nice work on that for your first semester project - but just wait till you get to the 'tracer - the gratification is ENOURMOUS.


April 23, 2001, 11:24 AM

Very weird language indeed (Smalltalk). Still nice project, next step is making Flash 6 :)


April 23, 2001, 12:14 PM

Just as stupid as people who post "great work" or simply "nice" and nothing else, however, those people never have anyone mention what a brain dead response that is.

I suggest people stop playing moderator and leave that to kurt.

Oh yes, this is a brain dead response too :-)

I find the IOTD pretty damn cool considering it was done in smalltalk..

Joachim Hofer

April 23, 2001, 01:08 PM

I think itīs quite OK to simply write "nice" or "good work" if it was not yet posted. You know, when posting an IOTD, you are happy about basically any reply. This at least shows some interest by the people who posted. I even prefer a "Thats damn shit" posting, rather than no posting at all, as it shows that the people seeing it at least noticed what youīve done, and not just ignored it.
I think there is not that much to discuss about this IOTD. It looks cool, itīs something new, and so on, but there seems not to be the new genious effect in there. One could only talk about the problems/advantages of writing a renderer in Smalltalk, but I know nothing about Smalltalk, and so it concerns me little.
The conclusion is: I would never post anything that only states "nice" or "well done", but I think that posting is superior to no posting at all (if there are not yet 40 postings about this IOTD)

I am sorry for this posting, as it doesnīt fit here, but I just wanted to mention this.

Btw, this IS a nice IOTD, even though I donīt know much more to say about it.


April 23, 2001, 01:59 PM

Interesting Images. What is smalltalk?

I'm curious as to what school you're attending, is it specifically a programming school?


April 23, 2001, 02:01 PM

very nice indeed
I love smalltalk, as I love all small things in the world. Why ? Well... do not ask me, cuz this is WEIRD question, even veider than smalltalk. Do you know prolog ? You'd all go crazy. You only know C++ and nothing more. Everything else is weird ...

However, I do not see much sense in these pictures. It seems like slighty mysterious things. What they do ? What is sense in those pics ? What author tries to show us ? I've never seen such things in my weirdest nightmare. So it's simply too weird to be weird



April 23, 2001, 05:12 PM

Go Smalltalkers !!!

Heh, I like the "urchine" :)

Re: Smalltalk - to anyone appreciative of good language design, you may (almost certainly) find Smalltalk a pleasure to learn - although it may indeed look somewhat 'weird' at first.

And in learning Smalltalk one might even learn something new about programming - and especially object orientation - as a result: (And learning new languages is a good thing anyway, right?) For those unfamiliar its history, Smalltalk is widely regarded as the first general-purpose object-oriented programming language. (It was invented in 1972, or thereabouts.) Heck, the inventor of the language, Alan Kay, is the guy who coined the term "object-oriented" in the first place for instance!!

[Here's a Google search for Alan Kay + Object Oriented + Smalltalk to back up these claims]

There is a dangerous aspect to learning Smalltalk too, though, because although you may still program in C++ for high-performance applications like games (as Smalltalk uses a virtual machine and performs similarly to Java), you'll never look at (so-called) object-oriented languages like C++ and Java the same way again. ;-)

(For anyone curious, here's a Smalltalk Tutorial for Programmers Who Hate Tutorials.)

Have fun - and always, always keep learning languages. Ruby is very nice, by the way. =-D


April 23, 2001, 05:15 PM

Hey guys just one silly question!

I looked up the source of the Pic
and I thought what this is smalltalk??
I heard the name smalltalk several times but I never saw any sources
can somebody please explain me the basic concepts ??
One thing In know it hasn't much to do with my honey C/C++,
my Ex Girlfriend Asm or my first chick QBasic



April 23, 2001, 05:49 PM

Yes I know prolog. It is a wonderful extermely powerful language!
You haven't lived till you've mastered prolog.
Though I wouldn't recommend writing any final product in it.

Smalltalk is good too and highly OO.

Why don't you make that popup list contain your other alias names?


April 23, 2001, 06:02 PM

Something tells me MC BAXTON smokes more weed than the entire western hemisphere combined.



April 23, 2001, 06:20 PM



April 23, 2001, 06:33 PM

Oh, that's nice idea :)

Richard Szalay

April 23, 2001, 06:34 PM

Nice to see another Sydney/Australian on Flipcode :)

I know some guys @ UTS :o)

Richard Szalay

April 23, 2001, 06:48 PM

UTS is the University of Technology, Sydney.
Its not a programming/games University. It has all subjects (law, commerce, blah, blah). But most computer courses in Sydney Uni's will require you write a raytracer (or so it seems :)

Doug Way

April 23, 2001, 07:34 PM

If anyone wants to try out a free open-source Smalltalk to play around with, check out Squeak/Smalltalk at It's been ported to lots of platforms. (Ali's examples above were created with Squeak.)

One of the cool things about Squeak is that it's a great high-level programming language (C++ is much more low-level), but it doesn't limit the areas that you can explore or change, unlike something like Visual Basic. You're even free to explore or change the virtual machine code, unlike something like Java. It's not quite as high-performance as C++, it's probably in the same ballpark as Java... but it's great for handling complexity. (I bet the Smalltalk source code needed to create Ali's examples is less than would be needed for C++, Java or Basic.)

Also, the Squeak development environment does some unique things... e.g. its user interface Morphic lets you rotate any window or UI element, and it's still useable. Definitely fun for experimenting. (Warning... the Squeak UI currently looks a bit primitive at first glance, but that's being worked on.)


April 23, 2001, 07:48 PM

Thanks guys, i knew i could count on a flipcode post for some cool feedback!

Joachim Hofer: You're right, this code is good for nothing more than creating strange, colourful images. Mind you, that was all the project was for, a lesson in Matrix algebra and transformation. There is no DX or OpenGL here, Squeak Smalltalk
contains a totally cross-platformed environment, it has a great set of it's own Graphics and Audio classes. Write once, port anywhere!

Tobias Franke: Smalltalk is a weird language, but it's my favourite. 100% pure OO, clean, fast, and seems to support the creative engineering process ideas better than any other language i know (Java, C/C++).

Numero27: I play guitar like a demon, and drums like an animal.

[-WD40-]: Flash 6, heh. I am working on a 2D Smalltalk game engine though.

Vorteks: I'm attending the UTS @ Sydney. I've picked three graphics subjects from a Masters in IT, giving me a Graduate Certificate. My lecturer is Kevin Suffern, you guys should do a search for his name, he is a master raytracer.

MC BAXTON: Your first paragraph is cool, as is your second one. ;)

SigmundSEGV: A FELLOW SMALLTALKER!!! You're right about how you can never look at any other language the same way, once you've written a few things in Smalltalk.

maddoc: For a great / free / highly portable Smalltalk environment, try Squeak Smalltalk. Alan Kay is on the mailing list, and there is a great community around Smalltalk, especially Squeak. Some of it's basic features are: 3D Balloon Graphics Engine, Flash support, GIF/JPEG read/write, AIFF/WAV read/write, full Network support, Telnet, ... It is packed with programming goodness, and it's a beautiful language.

Thanks all for your comments, rock on.


John Jensen

April 24, 2001, 03:16 AM

While I agree that "nice" and "great work" aren't inspiring or constructive comments, they don't have the same disregard for the persons feelings as Stefan's post does.
My intentions weren't to elevate myself to the level of moderator, but simply to point out that I found his post offensive. In retrospect, the use of the word brain dead wasn't the smartest move and maybe I should just ignore post like that, but sometimes I can't. Stefan's IOTD posting history didn't help either. It seems that he never has any constructive comments, to anything. He only posts to tell the world that he could code that with his mouse tied around his hands or that in plainly sucks and that he can't see the point.
Anyway I'll stop posting about this topic no, since this is not what IOTD is about either...

Trough all this I totally forgot to comment on the picture... so I better post somthing top-level.


Peter Mackay

April 24, 2001, 08:07 AM

I think most people here know more languages than C or C++. They choose to use the language they prefer.

I find that C++ is best suited for me and for what I do than other languages I've tried, so I use it.

- Peter


April 24, 2001, 03:50 PM

I think that if anyonw wants to critices an IOTD then that is fine, after all if everyone simply said nice or cool or great or something along those lines then it would be useless and the person who posted the IOTD wouldn't learn anything. HOWEVER I don't think it is right that people should disregard other peoples work and insult them by saying that their picture is cr*p or that they did that in 2 minutes when they were 2 typing it with their feet. Criticisms are fine as long as they are constructive and sensible. Just becuase you don't like the picture because it isn't visualy stunning isn't an excuse to post such replies, maybe it was an image from a game made for a palmtop that is black and white with a res of 80*40. I would want someone however to say that my shadowing in my landscape engine isn't right because of such and such.

This thread contains 25 messages.
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.