Newell Teapot, Cup and Spoon-阿里云开发者社区

开发者社区> 杨粼波> 正文

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
8477 0
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
26492 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
2777 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10277 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
12148 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
11761 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
4548 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
6548 0
+关注
杨粼波
网游的老兵
1135
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载