四棱锥

#pragma comment( linker, "/subsystem:/"windows/" /entry:/"mainCRTStartup/"" )
#include<GL/glut.h>
void Init(void){
   glMatrixMode(GL_PROJECTION);
   glLoadIdentity();
   glFrustum(-1.0f,1.0f,-1.0f,1.0f,2.0f,100.0f);//为透视投影定义一个矩阵//
   glTranslatef(0.0f,0.0f,-4.0f);
   glMatrixMode(GL_MODELVIEW);
   glLoadIdentity();
   glEnable(GL_DEPTH_TEST);//启用深度缓存//
   glDepthFunc(GL_LEQUAL);//所作测试深度的类型//
}
void Reshape(GLsizei w,GLsizei h)
{
   glViewport(0,0,w,h);
}
void Display(void){
   glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
   glBegin(GL_TRIANGLE_FAN);//连接成扇形的三角形系列//
   glColor3f(1.0f,0.0f,0.0f);glVertex3f(0.0f,1.0f,0.0f);
   glColor3f(0.0f,1.0f,0.0f);glVertex3f(-1.0f,-1.0f,-1.0f);
   glColor3f(0.0f,0.0f,1.0f);glVertex3f(1.0f,-1.0f,-1.0f);
   glColor3f(0.0f,1.0f,0.0f);glVertex3f(1.0f,-1.0f,1.0f);
   glColor3f(0.0f,0.0f,1.0f);glVertex3f(-1.0f,-1.0f,1.0f);
   glColor3f(0.0f,1.0f,0.0f);glVertex3f(-1.0f,-1.0f,-1.0f);
   glEnd();
   glBegin(GL_QUADS);
   glColor3f(1.0f,1.0f,0.0f);glVertex3f(-1.0f,-1.0f,-1.0f);
   glColor3f(0.0f,0.0f,1.0f);glVertex3f(1.0f,-1.0f,-1.0f);
   glColor3f(0.0f,1.0f,0.0f);glVertex3f(1.0f,-1.0f,1.0f);
   glColor3f(0.0f,1.0f,1.0f);glVertex3f(-1.0f,-1.0f,1.0f);
   glEnd();
   glRotatef(0.05f,1.0f,-1.0f,0.0f);
}
void Idle(void)
{
   Display();
   glFlush();
   glutSwapBuffers();//请求双缓存模式,是一个glut函数非opengl函数???交换的过程涉及与窗口系统的交互必须在初始化阶段启用双缓存模式//
}
int main(int argc,char**argv)
{
   glutInit(&argc,argv);
   glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
   glutInitWindowSize(600,600);
   glutInitWindowPosition(100,100);
   glutCreateWindow("OpenGL四棱锥");
   Init();
   glutDisplayFunc(Display);
   glutReshapeFunc(Reshape);
   glutIdleFunc(Idle);//空闲回调函数,当事件队列为空时才得到执行//
   glutMainLoop();
   return 0;
}

以下是使用 Blender 软件创建棱锥的一般方法: ### 1. 启动 Blender 并进入 3D 视图 打开 Blender 软件后,默认界面会显示 3D 视图,场景中可能已有一个默认的立方体。 ### 2. 删除默认立方体 在 3D 视图中选中默认的立方体(鼠标左键点击),然后按下键盘上的 `X` 键,在弹出的确认框中选择“删除”,将默认立方体移除。 ### 3. 创建棱锥的底面 - **创建平面**:在 3D 视图的操作界面中,按下 `Shift + A` 组合键,在弹出的菜单中选择“网格” -> “平面”。此时场景中会创建出一个平面,这个平面将作为棱锥的底面。 - **调整平面形状为正方形**:使用 `S` 键(缩放工具)、`G` 键(移动工具)和 `R` 键(旋转工具)对平面进行调整,使其成为一个合适大小的正方形。也可以在右侧的“变换”面板中精确输入数值来控制平面的尺寸和位置。 ### 4. 挤出创建棱锥 - **进入编辑模式**:选中创建好的正方形平面,按下 `Tab` 键进入编辑模式,此时平面的顶点、边和面会以可编辑状态显示。 - **选择底面所有顶点**:按下 `A` 键全选平面的所有顶点。 - **挤出顶点形成棱锥**:按下 `E` 键进行挤出操作,然后移动鼠标将顶点向上挤出,形成棱锥的形状。在合适的高度位置点击鼠标左键确定挤出的高度。 - **退出编辑模式**:再次按下 `Tab` 键退出编辑模式。 ### 5. 细化和调整 - 可以使用各种工具对棱锥进行进一步的细化和调整,如调整顶点的位置、平滑表面等。 以下是简单的 Python 脚本示例来创建棱锥: ```python import bpy # 创建一个新的网格对象 mesh = bpy.data.meshes.new(name="PyramidMesh") obj = bpy.data.objects.new("Pyramid", mesh) # 将对象添加到场景中 scene = bpy.context.scene scene.collection.objects.link(obj) # 定义棱锥顶点 verts = [ (-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0), (0.0, 0.0, 1.0) ] # 定义棱锥的面 faces = [ (0, 1, 2, 3), (0, 1, 4), (1, 2, 4), (2, 3, 4), (3, 0, 4) ] # 更新网格数据 mesh.from_pydata(verts, [], faces) mesh.update() ``` 将上述脚本复制到 Blender 的文本编辑器中,点击“运行脚本”即可在场景中创建一个棱锥
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值