长方体

/* 

* 程序的版权和版本声明部分 

* Copyright (c)2013, 烟台大学计算机学院学生 

* All rightsreserved. 

* 文件名称:score.cpp                            

* 作    者:董慧                             

* 完成日期:2013年4月5日 

* 版本号: v1.0       

* 输入描述:略  

* 问题描述:略  

* 输出:  

*/  
#include <iostream>

using namespace std;
class Bulk
{
private:
    double length;
    double width;
    double heigth;
public:
    Bulk(int l=1,int w=1, int h=1);
    void get_value()
    {
        length=1;
        width=1;
        heigth=1;
    };
    void input()
    {
        cout<<"请输入长方体的长宽高 "<<endl;
        cin>>length>>width>>heigth;
    };
    void area();
    void volume();
};
Bulk::Bulk(int l,int w,int h)
{
    length=l;
    width=w;
    heigth=h;
}
void Bulk::area()
{
    cout<<"表面积为"<<length*width+length*heigth+width*heigth;
}
void Bulk::volume()
{
    cout<<"体积为"<<length*width*heigth<<endl;
}
int main()
{
    Bulk b[5]= {Bulk(2.3,4.5,6.7),Bulk(1.5,3.4),Bulk(10.5)};
    b[3].get_value();
    b[4].input();
    //下面分别输出这5个长方柱的体积和表面积
    for(int i=0; i<5; i++)
    {
        cout<<"第"<<i+1<<"个长方体的";
        b[i].area();
        b[i].volume();
    }
    return 0;
}



 

OpenGL是一种广泛使用的图形库,用于渲染计算机图形,包括创建三维模型。绘制长方体的基本步骤如下: 1. **设置模式**:首先需要启用顶点数组对象(VAO)并绑定它,这将简化数据的管理。 ```glsl glBindVertexArray(vertexArrayObject); ``` 2. **准备顶点数据**:创建一个包含长方体顶点的缓冲区,通常每个面有4个顶点,表示长方体的六个面。顶点结构可能包括位置、颜色等信息。 ```cpp std::vector<GLfloat> vertices = { // 长方体的顶点坐标... }; glGenBuffers(1, &vertexBuffer); glBindBuffer(GL_ARRAY_BUFFER, vertexBuffer); glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(GLfloat), vertices.data(), GL_STATIC_DRAW); ``` 3. **定义顶点属性**:告诉OpenGL如何处理这些数据,例如位置、纹理坐标或法线。 ```glsl glEnableVertexAttribArray(0); // 位置属性 glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, (void*)0); glEnableVertexAttribArray(1); // 可选的颜色或纹理坐标 glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 0, (void*)(sizeof(float) * 3)); ``` 4. **启用渲染状态**:设置颜色材质、深度测试等。 5. **绘制模型**:使用`glDrawArrays`或`glDrawElements`函数绘制几何体,这里一般使用`GL_TRIANGLES`,因为长方体由多个三角形组成。 ```cpp glDrawArrays(GL_TRIANGLES, 0, numVertices); // 或 glDrawElements(GL_TRIANGLES, numIndices, GL_UNSIGNED_INT, 0); ``` 6. **清理**:最后记得关闭VAO、绑定到默认缓冲和清除颜色缓冲。 完成以上步骤后,你就可以看到在窗口上渲染出的长方体了。需要注意的是,这只是基本的长方体绘制,实际应用可能还需要配合着纹理映射、光照和阴影效果等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值