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
目录
相关文章
|
3月前
|
C++
【PAT甲级 - C++题解】1011 World Cup Betting
【PAT甲级 - C++题解】1011 World Cup Betting
27 0
|
5月前
World Final? World Cup (I)(模拟)
World Final? World Cup (I)(模拟)
36 0
Tian Ji -- The Horse Racing 田忌赛马
Tian Ji -- The Horse Racing 田忌赛马
129 0
【1011】World Cup Betting (20 分)
【1011】World Cup Betting (20 分) 【1011】World Cup Betting (20 分)
58 0
1011. World Cup Betting (20)
简析:关键是W T L的对应。 #include using namespace std; int main(int argc, const char * argv[]) { char c1 = '\0', c...
652 0
|
机器学习/深度学习 人工智能
|
C++
Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals)爆零记
昨晚一个瓜皮说今晚有cf,听说是晚间场,我瞅了一眼,娃,VK Cup,上分的好机会,看着比赛时间就有点心酸了,0:35,当时一直在纠结要不要打的问题,当时想着应该不难吧,要不打一下吧,要不还是看看题先,如果容易就打,难的话就不打了好的吧!于是就这样愉快的决定了。
1043 0
相关产品
云迁移中心
推荐文章
更多