小学生画的东东^^

这是我用C++画的东西^^

好幼稚^^

超难画。。。。

(Picture 1 source code)

#include <windows.h>
#include <gl/glut.h>

void rectangle()
{
glRectf(0,0,4,4);
}

void triangle()
{
glBegin (GL_TRIANGLES);
glVertex2f(0,0);
glVertex2f(4,0);
glVertex2f(2,4);
glEnd();
}

void line()
{
glBegin (GL_LINES);
glVertex2f(0,0);
glVertex2f(4,0);
glEnd();

}

void diamond()
{
glBegin (GL_POLYGON);
glVertex2f(0,0);
glVertex2f(2,2);
glVertex2f(0,5);
glVertex2f(-2,2);
glEnd();
}

void circle()
{
GLUquadric *quadric = gluNewQuadric();
gluDisk (quadric , 0 , 4 , 20 , 20);
}

void drawScene(void)
{
float invT[16], invS[16];

glClear(GL_COLOR_BUFFER_BIT);

glLoadIdentity();

glPushMatrix();
glColor3f(0.87,0.72,0.53);
glScalef(10,1,1);
glTranslatef(-2,-4.5,0);
rectangle();
glPopMatrix();

glPushMatrix();
glColor3f(0.0f,1.0f,1.0f);
glScalef(1.3,1.3,1);
glTranslatef(-0.6,-1.7,0);
triangle();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,1.0f);
glScalef(0.45,0.45,1);
glTranslatef(4,7.5,0);
diamond();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,1.0f);
glScalef(0.45,0.45,1);
glRotatef(-90,0,0,1);
glTranslatef(-7,4.5,0);
diamond();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,1.0f);
glScalef(0.45,0.45,1);
glRotatef(90,0,0,1);
glTranslatef(7,-3.5,0);
diamond();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,1.0f);
glScalef(0.45,0.45,1);
glRotatef(180,0,0,1);
glTranslatef(-4,-6.5,0);
diamond();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,0.0f,1.0f);
glScalef(0.15,0.15,1);
glTranslatef(12,20.5,0);
circle();
glPopMatrix();

glPushMatrix();
glColor3f(0.0f,0.0f,1.0f);
glScalef(0.25,0.4,1);
glTranslatef(5,-5.5,0);
rectangle();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,0.0f);
glScalef(0.4,0.3,1);
glTranslatef(20,23,0);
circle();
glPopMatrix();

glPushMatrix();
glColor3f(0.0f,0.0f,0.0f);
glScalef(0.4,0.3,1);
glTranslatef(17.5,23,0);
circle();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,0.0f);
glScalef(0.1,0.1,1);
glTranslatef(50,60,0);
diamond();

glColor3f(1.0f,1.0f,0.0f);
glRotatef(-90,0,0,1);
glTranslatef(1,1,0);
diamond();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,0.0f);
glScalef(0.1,0.1,1);
glRotatef(90,0,0,1);
glTranslatef(59,-49,0);
diamond();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,0.0f);
glScalef(0.1,0.1,1);
glRotatef(180,0,0,1);
glTranslatef(-50,-58,0);
diamond();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,0.0f);
glScalef(0.1,0.1,1);
glTranslatef(115,77,0);
diamond();

glColor3f(1.0f,1.0f,0.0f);
glRotatef(-90,0,0,1);
glTranslatef(1,1,0);
diamond();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,0.0f);
glScalef(0.1,0.1,1);
glRotatef(90,0,0,1);
glTranslatef(76,-114,0);
diamond();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,0.0f);
glScalef(0.1,0.1,1);
glRotatef(180,0,0,1);
glTranslatef(-115,-75,0);
diamond();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,0.0f);
glScalef(0.1,0.1,1);
glTranslatef(100,50,0);
diamond();

glColor3f(1.0f,1.0f,0.0f);
glRotatef(-90,0,0,1);
glTranslatef(1,1,0);
diamond();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,0.0f);
glScalef(0.1,0.1,1);
glRotatef(90,0,0,1);
glTranslatef(49,-99,0);
diamond();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,0.0f);
glScalef(0.1,0.1,1);
glRotatef(180,0,0,1);
glTranslatef(-100,-48,0);
diamond();
glPopMatrix();

glPushMatrix();
glColor3f(0.0f,1.0f,0.0f);
glScalef(0.3,0.3,1);
glTranslatef(20,0,0);
triangle();

glColor3f(0.0f,1.0f,0.0f);
glTranslatef(0,-2,0);
triangle();
glPopMatrix();

glPushMatrix();
glColor3f(0.0f,1.0f,0.0f);
glScalef(0.1,0.4,1);
glTranslatef(64,-3,0);
rectangle();
glPopMatrix();

glPushMatrix();
glColor3f(0.0f,1.0f,0.0f);
glScalef(0.3,0.3,1);
glTranslatef(27,0,0);
triangle();

glColor3f(0.0f,1.0f,0.0f);
glTranslatef(0,-2,0);
triangle();
glPopMatrix();

glPushMatrix();
glColor3f(0.0f,1.0f,0.0f);
glScalef(0.1,0.4,1);
glTranslatef(85,-3,0);
rectangle();
glPopMatrix();

glPushMatrix();
glColor3f(0.0f,1.0f,0.0f);
glScalef(0.3,0.3,1);
glTranslatef(34,0,0);
triangle();

glColor3f(0.0f,1.0f,0.0f);
glTranslatef(0,-2,0);
triangle();
glPopMatrix();

glPushMatrix();
glColor3f(0.0f,1.0f,0.0f);
glScalef(0.1,0.4,1);
glTranslatef(106,-3,0);
rectangle();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,1.0f);
glScalef(0.35,0.35,1);
glTranslatef(20,0,0);
triangle();

glColor3f(1.0f,1.0f,1.0f);
glTranslatef(0,-2,0);
triangle();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,1.0f);
glScalef(0.1,0.4,1);
glTranslatef(75,-3,0);
rectangle();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,1.0f);
glScalef(0.35,0.35,1);
glTranslatef(26,0,0);
triangle();

glColor3f(1.0f,1.0f,1.0f);
glTranslatef(0,-2,0);
triangle();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,1.0f);
glScalef(0.1,0.4,1);
glTranslatef(96,-3,0);
rectangle();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,1.0f);
glScalef(0.35,0.35,1);
glTranslatef(32,0,0);
triangle();

glColor3f(1.0f,1.0f,1.0f);
glTranslatef(0,-2,0);
triangle();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,1.0f);
glScalef(0.1,0.4,1);
glTranslatef(117,-3,0);
rectangle();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,0.98f,0.8f);
glScalef(0.3,0.25,1);
glTranslatef(0,28,0);
circle();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,0.98f,0.8f);
glScalef(0.25,0.2,1);
glTranslatef(-6,35,0);
circle();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,0.98f,0.8f);
glScalef(0.25,0.2,1);
glTranslatef(6,35,0);
circle();
glPopMatrix();

glPushMatrix();
glColor3f(0.0f,0.0f,0.0f);
glScalef(0.2,0.2,1);
glTranslatef(10,-2,0);
rectangle();
glPopMatrix();

glPushMatrix();
glColor3f(0.0f,0.0f,0.0f);
glScalef(0.2,0.2,1);
glTranslatef(4,-2,0);
rectangle();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,1.0f);
glScalef(0.1,0.1,1);
glTranslatef(10,-2,0);
rectangle();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,1.0f);
glScalef(0.1,0.1,1);
glTranslatef(22,-2,0);
rectangle();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,0.98f,0.8f);
glScalef(0.3,0.25,1);
glTranslatef(20,36,0);
circle();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,0.98f,0.8f);
glScalef(0.25,0.2,1);
glTranslatef(17,45,0);
circle();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,0.98f,0.8f);
glScalef(0.25,0.2,1);
glTranslatef(30,45,0);
circle();
glPopMatrix();

glPushMatrix();
glColor3f(0.0f,0.55f,0.27f);
glScalef(0.3,1,1);
glTranslatef(20,-1.7,0);
glRotatef(-15,0,0,1);
glLineWidth(5.0);
line();
glPopMatrix();

glPushMatrix();
glColor3f(0.55f,0.27f,0.07f);
glScalef(0.2,0.1,1);
glTranslatef(30,-14,0);
circle();
glPopMatrix();

glPushMatrix();
glColor3f(0.6f,1.0f,0.6f);
glScalef(0.3,0.2,1);
glTranslatef(18,-11,0);
triangle();
glPopMatrix();

glPushMatrix();
glColor3f(0.6f,1.0f,0.6f);
glScalef(0.3,0.2,1);
glRotatef(180,0,0,1);
glTranslatef(-20,7,0);
triangle();
glPopMatrix();

glPushMatrix();
glColor3f(0.6f,1.0f,0.6f);
glScalef(0.3,0.2,1);
glRotatef(180,0,0,1);
glTranslatef(-24,7,0);
triangle();
glPopMatrix();

glPushMatrix();
glColor3f(0.0f,0.0f,0.0f);
glScalef(0.15,0.1,1);
glTranslatef(37,-24,0);
circle();
glPopMatrix();

glPushMatrix();
glColor3f(1.0f,1.0f,1.0f);
glScalef(0.07,0.05,1);
glTranslatef(79,-48,0);
circle();
glPopMatrix();

glPushMatrix();
glColor3f(0.6f,1.0f,0.6f);
glScalef(0.3,0.05,1);
glTranslatef(23,-32,0);
rectangle();
glPopMatrix();

glPushMatrix();
glColor3f(0.0f,0.0f,0.0f);
glScalef(0.15,0.05,1);
glTranslatef(50,-32,0);
rectangle();
glPopMatrix();

glFlush();
}

void init(void)
{
glClearColor(0.0f,0.0f,0.0f,0.0f);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(-4,14,-3,9);
glMatrixMode ( GL_MODELVIEW );
}

void main(void)
{
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize (600,600);
glutInitWindowPosition (50,50);
glutCreateWindow(“Geometri Transformation”);
init();
glutDisplayFunc(drawScene);

glutMainLoop();
}


很鲜明的颜色配搭。。。

以前试过用Qbasic画。。。。 [s:21]

美美哦…

C++ coding 来计算出来的?
就拿图1来说…大概要有多久才完成?

teach me how to use C++ draw

keke…cute…

厲害~
我不會呢~

引用第4楼ufo2006-09-15 07:24 PM发表的“”:
C++ coding 来计算出来的?
就拿图1来说…大概要有多久才完成?

我大概用了4小时^^是用OPENGL function 画的

引用第8楼eden2006-09-15 08:29 PM发表的“”:

我大概用了4小时^^是用OPENGL function 画的

[s:29] … 用coding来画我真的是没研究
原码是怎样的?
可以post一点看看吗?

原来c++可以画画。。。。

我以为只可以用来做一些software …

li hai li hai
i learn c++ before but dont know how to use [s:29]

still ok loh ^^

颜色配得很不错哦!!!

引用第4楼ufo2006-09-15 07:24 PM发表的“”:
C++ coding 来计算出来的?
就拿图1来说…大概要有多久才完成?

terminator 1 里的cg 也是用programming 来画的,变态到~~~

有很多看不到哦~~

好像很难哦。。。。