opengl画会动的木头人(stick man)

本文介绍了如何使用OpenGL创建并让一个由立方体组成的stick man动起来。通过矩阵栈进行坐标变换,实现各部分的相对位置,并通过glRotatef进行旋转以实现动态效果。详细步骤和实验源码可在作者的GitHub找到。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

具体详情及实验源码请参考:我的github

Assignment:

Last class,we have learn many knowledge about transformation.
Now you need to complete the project II this week,I guess teacher has
introduced the detail about this project,please create your stick man and
let it move like a real man,I believe you can complete it perfectly.

Analysis:

  stickman是由一段一段的cubes组合起来的,首先先在草稿纸上画出模型,确定每一个cubes的长宽高,使stickman看起来不那么别扭。然后在opengl中使用glvertex3f(x,y,z)函数确定四个点,glBegin(GL_QUADS)函数将使这四个点画出一个面,将长方体的6个面依次画出组成一个长方体,注意这些长方体都是在自己的坐标系画出的。接下来的问题是将这些长方体叠起来,叠起来需要有个层次,opengl中有个矩阵栈,存储的是坐标系变换的矩阵,glPushMatrix()将矩阵入栈,glPopMatrix()将矩阵出栈。栈底部的矩阵(坐标系)所做的变换都会影响栈上部的矩阵(坐标系)。
  如图,我们以body中心为原点A,gltranslatef(0.0,1.2,0.0)即将坐

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值