www.pudn.com > glGraph.rar > Histogram.cpp
// Histogram.cpp: implementation of the CHistogram class. // ////////////////////////////////////////////////////////////////////// #include "Histogram.h" #include "gl/glut.h" #include////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CHistogram::CHistogram() { type = 3; } CHistogram::~CHistogram() { } void CHistogram::Draw() { glColor3fv(color); glBegin(GL_LINES); glVertex2f(m_origin[0],m_origin[1]+110); glVertex2f(m_origin[0],m_origin[1]); glVertex2f(m_origin[0]+250,m_origin[1]); glVertex2f(m_origin[0],m_origin[1]); glEnd(); for(int i = 0;i<12;i++) { glBegin(GL_POLYGON); glVertex2f(m_origin[0]+20*(i+1)-10,m_origin[1]); glVertex2f(m_origin[0]+20*(i+1),m_origin[1]); glVertex2f(m_origin[0]+20*(i+1),m_origin[1]+height[i]); glVertex2f(m_origin[0]+20*(i+1)-10,m_origin[1]+height[i]); glEnd(); } } void CHistogram::SetOrigin(float x, float y,double width,double height) { m_origin[0] = x-width/2; m_origin[1] = height/2-y; } void CHistogram::SetHeight() { for(int i = 0;i<12;i++) { height[i] = rand()%100; if(height[i] < 10) height[i] += 10; } }