I learned a little about tries, or prefix tries, this month. I checked out the Wikipedia article, a Top Coder article, and saw a forum post about Patricia tries. There is a basic C# implementation of a trie at my Github account. In that case, each node has a lookup array for 26 letters that leads to a subtrees or leaf. Adding to the tree involves traversing each node's array for each character in a word until the last letter is reached. A flag in the node marks the end of a word. When a string needs testing as to whether it is in the trie, the test can possibly stop after only traversing a small number of the leading characters of the word. However, keeping 26 references on each node could use up a lot of space, depending on the data. There is a lot more for me to learn about the subject, such as how it relates to edit distance and spell-checking.
However, I'm currently checking out hash tables as an alternative. I also read some people use suffix arrays as another choice.
Wednesday, January 26, 2011
Thursday, January 20, 2011
Thursday, October 21, 2010
Pulverize Effect
There is a video tutorial on creating a pulverize effect with Side Effect's Houdini 11. Sample .hip files are available for downloading.
Friday, July 23, 2010
GPU Ray Tracing
Just a note that it looks like there will be a GPU ray tracing birds-of-a-feather session at this year's SIGGRAPH. This year the convention is being held in L.A. I'm not planning on going to the convention, but it looks interesting.
Monday, July 12, 2010
3-D with Javascript
Sunday, July 11, 2010
Mac OS X OpenCV
Tonight I tried out the Mac OS X OpenCV port, version 2.0.1. An installation walkthrough specifically for Macs is available at http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port. I deviated from their instructions by downloading the tar directly from Sourceforge. I didn't have Mac Ports so I downloaded it next. Then I used the port command to retrieve cmake and built OpenCV by following the settings at the site above. Building it with cmake rather than the easier path they mentioned seemed like the path to enable the use of a webcam I'd like to try it on. However, the sample FaceTracker app chose the iSight camera.
To get the FaceTracker sample to compile, I needed to make some changes to the include files in the FaceTracker.cpp file. I changed #include<OpenCV/OpenCV.h> to #include <cv.h> and added #include <highgui.h> for the window calls. The Willow Garage site already had the instructions on setting the header search path so that these new header files could be found.
Also, I needed to update the OpenCV frameworks group in the given X-code project to include libcv.dylib, libcvaux.dylib, etc. This again was covered at Willow Garage under the section titled Using OpenCV libraries in an X Code project.
So in the end, OpenCV worked. I'd like to cross compile for the iPhone next. Some places on the web with more information about this topic include Yoshimasa Niwa's site and Info dan's site.
To get the FaceTracker sample to compile, I needed to make some changes to the include files in the FaceTracker.cpp file. I changed #include<OpenCV/OpenCV.h> to #include <cv.h> and added #include <highgui.h> for the window calls. The Willow Garage site already had the instructions on setting the header search path so that these new header files could be found.
Also, I needed to update the OpenCV frameworks group in the given X-code project to include libcv.dylib, libcvaux.dylib, etc. This again was covered at Willow Garage under the section titled Using OpenCV libraries in an X Code project.
So in the end, OpenCV worked. I'd like to cross compile for the iPhone next. Some places on the web with more information about this topic include Yoshimasa Niwa's site and Info dan's site.
Template change
The template for this blog was updated today. This is the first template update since the start of it. The new template has some features I didn't notice in the previous blog, but I didn't really look much before now. For instance, it has a gadget manager.
Tuesday, June 15, 2010
A Technical Director's personal website
I looked over a personal website of a fx td named Hosuk today. He has posted many pictures and some videos of some of his projects. He has examples that were created with Houdini and python as well as other software.
Monday, June 14, 2010
Scott Squires Bio
Some biographical information about the creator of the iphone Squiggles paint app.
Tuesday, May 04, 2010
Another post at real-time rendering
More interesting links posted at the real-time rendering blog.
The OpenGL 3.2 and GLSL 1.5 tutorial programs he mentions sound like they could be useful. I started to investigate the shader language part of OpenGL recently but didn't get very far. Using a gpu to speed up the drawing of computer graphics sounds like it could be useful thing to know. It seems the new features of OpenGL are encouraging that direction. At the least, I'm planning on reading the code for a phong shaded sphere at the tutorial site to compare with some the code of a toy ray tracer in Python.
The OpenGL 3.2 and GLSL 1.5 tutorial programs he mentions sound like they could be useful. I started to investigate the shader language part of OpenGL recently but didn't get very far. Using a gpu to speed up the drawing of computer graphics sounds like it could be useful thing to know. It seems the new features of OpenGL are encouraging that direction. At the least, I'm planning on reading the code for a phong shaded sphere at the tutorial site to compare with some the code of a toy ray tracer in Python.
Sunday, May 02, 2010
Image Convolution
A tutorial on image convolution is available on a page at Arizona State University.
Thursday, April 29, 2010
introduction to ray tracing
Eric Haines descibes on his blog a book called Another Introduction to Ray Tracing. It is a collection of articles about different aspects of ray tracing. The different articles describe a variety of topics and have reference links like wikipedia.
Tuesday, April 27, 2010
overview of ray tracing
An overview of ray tracing is available at a siggraph web site. I'm looking into it as a way to learn some 3-d graphics math by applying it in a simple program. Unfortunately I'm expecting the images produced by such a simple program not to be very interesting.
The pictures at this site about terrain generation with ray marching do look interesting though, and the author claims that the code is simple as well. Also, the explanation of the method involves techniques similar to ray tracing.
The pictures at this site about terrain generation with ray marching do look interesting though, and the author claims that the code is simple as well. Also, the explanation of the method involves techniques similar to ray tracing.
Saturday, April 03, 2010
First iPhone Application tutorial
With the wifi version of the iPad now available, I decided to try again to make my first iPhone app. Also, fortunately I had some extra time off from work with this being Easter weekend. So, I went over this tutorial for making a Hello World type of iPhone application. It has a bunch of stuff with gui building that seems to make it a worthwhile exercise. That is, it should be more useful than a tutorial that just displays some words on the screen. There are text boxes that take in strings, and a button that responds to tapping by displaying a message in a label control. In other words, it does some basic input and output together with event handling.
Saturday, March 20, 2010
Jansen walking machine animation
An animation of a Jansen walking machine is on sidefx software's website. The artist used Houdini and its support of expressions to create it.
Wednesday, March 10, 2010
Rendering Tips
This blog has a bunch of tips on how to avoid bad renders: Stopping Bad Renders...By Per Andres.
It is a Cinema 4D specific blog, but it looks like some of the tips could apply to Houdini as well.
It is a Cinema 4D specific blog, but it looks like some of the tips could apply to Houdini as well.
OpenCL blog post
A blog describes possible Blender improvements using OpenCL. It also has some tips on installing it in Ubuntu 9.10, 32 bits, Ati 4770.
Subscribe to:
Posts (Atom)