http://www.cnblogs.com/graphics/archive/2010/08/09/1795348.html
http://www.cnblogs.com/graphics/archive/2009/10/17/1585281.html
http://www.cnblogs.com/graphics/archive/2010/08/09/1795348.html
http://www.cnblogs.com/graphics/archive/2009/10/17/1585281.html