Newell Teapot, Cup and Spoon

简介:
I learned Bezier curve and surface in 2001 when I studied the Advanced Computer Graphics paper in The University of Auckland. I drew a teapot lid. One year later, Richard wrote "The teapot is the classic icon of computer graphics. To find out more about its history, check out http://sjbaker.org/teapot/index.html" in an assignment specification that was for the Computer Graphics paper. I was so interested in this that I checked the "A Brief History of The Teapot" web page by Steve Baker, and knew the teapot is from Martin Newell and his wife, and got the entire Newell teapot data set from the web page linker.

I have already known what the teapot looks like, but wondered what the Newell tea cup and spoon look like. I asked Steve Baker, who said in his email that "I wonder how many years it's been since the less famous parts of the tea set have been rendered? The only images of the cup and spoon that I've ever seen were Newell's original rendering." I became fussy with Newell cup and spoon, so I decided to render them myself.

First I implemented a template using VS .Net MFC and OpenGL, which can render any Bezier patches if the patches and vertices are in array format. I tested my template using the teapot data set from Richard's assignment, which works fine. Then I moved on rendering the tea cup and spoon.

To render the cup and spoon, the data set needs to be changed in array format. In order to that, a c++ program ReadAndWrite.cpp was coded using iosteam, which reads the data from the original text files and writes the data to three text files in array format. Then the array data is copied to NewellTeasetData.h header file.

I rendered the cup and spoon data and got very funny images. I assumed the data my programm retrieves from the arrays was not correct. After testing and checking the data many times, I found that the vertices' index stored in Newell's cup and spoon patches arrays start from 1, not from 0. Finally, I knew what Newell's tea cup and spoon look like.

Here is the screen shot of my template, you can download the execute file to play with it.

opengltemplate.jpg


Here are some images from Newell tea set rendering using my MFC+Open Bezier curve template

NewellCup.jpg
Newell tea cup from different views
NewellSpoon.jpg
Newell tea spoon from different views
目录
相关文章
|
5月前
|
传感器
|
5月前
|
存储 算法 编译器
xv6(17) 进程三:代码部分
进程三:代码部分
129 0
|
C++
【PAT甲级 - C++题解】1011 World Cup Betting
【PAT甲级 - C++题解】1011 World Cup Betting
56 0
ICPC North Central NA Contest 2018 G . Tima goes to Xentopia(最短路 空间优化 剪枝)
ICPC North Central NA Contest 2018 G . Tima goes to Xentopia(最短路 空间优化 剪枝)
72 0
洛谷P1596-[USACO10OCT]湖计数Lake Counting(DFS)
洛谷P1596-[USACO10OCT]湖计数Lake Counting(DFS)
【1011】World Cup Betting (20 分)
【1011】World Cup Betting (20 分) 【1011】World Cup Betting (20 分)
92 0
1011. World Cup Betting (20)
简析:关键是W T L的对应。 #include using namespace std; int main(int argc, const char * argv[]) { char c1 = '\0', c...
682 0