Image Filter Experiments Part 1

July 23, 2009 at 11:47 pm (Computer Science, Graphics)


I decided to play around with an image filter program I whipped up last week. It’s still very raw but the intentions are to have my own suite for making plug-in image filters that can be stacked up similar to audio filters work. I wanted a system that would work in a visual and intuitive way so I could experiment with digital art.

Anyway, the point of this post is about some of the results I got from playing. I’ll talk briefly about each one because I think they’re really interesting. The image is called Shermech and was created by an amazing artist named FlyingDebris on deviantART.

JS_ImageFilterTests_A

A. This uses a colour mapping from the image pixels’ luminance value to a blue-to-yellow interpolated gradient.

B. Same as A. but only every other pixel is displayed to create an old printing or Pointillism effect.

C. The pixels are multiplied by scaled gradient values

D. Same as C. but the gradient is inverse

E. Similar to C. but the colours are added instead and clamped

F. Gradient modulation, and then a scaled addition. This means the pixel luminance values will change between filters.

G. Same as F. but the luminance values will not be recalculated between effects.

Permalink 2 Comments

Tic-Tac-Toe Laptop

July 23, 2009 at 2:49 pm (Computer Science, Games) (, , , )


So yesterday over coffee I wrote up a minimax tree implementation for tic tac toe and today I finished it off and added a GUI. This thing is nifty; it’ll decide what the best move is and try to counter it in order to be a good player. So my laptop is self-aware now, it may try to destroy humanity but we’ll see how that goes.

Next stop; robotic girlfriend

Permalink 3 Comments

Learning Disability Rants

July 20, 2009 at 8:10 pm (Uncategorized) (, , , )


So during my first year of college I learned that I have ADHD (Inattentive, not Hyperactive). It really explains a lot of trouble I had growing up, but in addition I’m dyslexic as well. This makes it near impossible to keep up with several of my interests; especially math.

For any readers that weren’t aware, my field is computer science. To be successful in this field, a lot of reading is involved. However, it’s taken a LOT of effort to read through my library of books. It doesn’t matter if the topic is one of my favourites, the words will usually move around on me and I’ll lose focus. Generally I have to read through something several times before I can get it to stick, making reading an irritating past time.

I used to take classical piano lessons and make it to grade 6 sheet music and grade 8 scales, but that generally consisted of memorizing hand positions and notes. The sheet music would usually get jumbled up and I could never read it fast enough to play it on the fly.

One of the benefits of these conditions it seems though, is that once I can get the stuff in my head, it’s very easy to manipulate concepts and models. Things have to be rearranged in a specific way for me to remember it properly which can take time, however I’ve been very happy with some of the results once that organization takes place.

Permalink Leave a Comment

Retrospect

July 17, 2009 at 11:44 pm (Uncategorized)


So after writing a program on a napkin to solve a puzzle at a Cracker Barrel restaurant in Michigan, I realized how different I am now.
During and after I finished college, I focused a lot on implementation and grunt work when it came to software development. I got a great job in development when I finished (thanks Jason), and I thought that the hardest part of programming was mastering an API.
Now that I’ve graduated from university with a degree, I think things have changed quite a bit. I didn’t really enjoy a lot of my time while I was there, but looking back I picked up a handful of new tricks. I didn’t used to appreciate things like algorithm analysis or calculus or linear algebra and now I end up thinking about this stuff on road trips. Weird, eh?

Permalink Leave a Comment

I Win at Insurgency mod for HalfLife 2

July 17, 2009 at 1:43 am (Games) (, , , , , , )


So I’ve been improving my skills in this mod for a while, but every now and then I convince my team to get creative. Here’s a screenshot of me convincing them to form a pyramid. Why? Because the pyramid is the most stable structure, that’s why. That means there’s no way we can lose! At one point I snuck into the enemy base with a pistol and my whole team spectating the event. Definitely a high point in my gaming career as I took out the enemy soldiers one by one. Here’s a screenshot of the pyramid:

My leadership is unstoppable

My leadership is unstoppable

Permalink Leave a Comment

Test Harness Program for Graphing Algorithms

July 15, 2009 at 10:50 pm (Computer Science, Graphics) ()


I spent part of the day working on a program to create graphs that I can test algorithms with. Things like shortest path, minimum spanning tree, and others. I added in a bunch of tools that let a user create sets of nodes and connect them into networks easily.Here’s a couple screenshots showing a trisection triangulation run with a cleanup applied right after.

Permalink Leave a Comment

Awesome Rendering

July 15, 2009 at 4:43 pm (Computer Science, Graphics) (, , , , , )


I started playing with the ray tracer Adam Stirtan and I made at university. I plugged in a post processing pass that I had made but never added to the final product. Here’s some of the screenshots from it.

Permalink 1 Comment

New Blog, Old Ideas

July 14, 2009 at 5:28 pm (Computer Science) (, , , )


So here’s my new blog/website/string of data on the internet. I’m not a fan of blogs so I probably won’t post much here, but every now and then I feel like ranting so we’ll see.

Anyway, last night I started experimenting with an open source library called OpenMP which is a great help for multithreaded programs. I decided to remake my convex hull and triangulation algorithms with a bit more quality so I figured that was something that could be enhanced by OpenMP. I only ran a few basic tests, but MAN! adding concurrency to this thing was a nice improvement on runtime. I may or may not decide to post some images, but here is some screenshots of my original results.

75,000 point cluster hull peel

75,000 point cluster hull peel

100 point trisection triangulation

100 point trisection triangulation

Permalink Leave a Comment

Welcome

July 14, 2009 at 3:03 pm (Uncategorized)


Projects and Experiences  Overviews of some of the side projects I’ve worked on. 

Graphics Projects

Graphics Projects

Game Projects

Game Projects

Art Projects

Art Projects

Permalink Comments Off on Welcome