1. Напишите программу вывода графика функции y = tg ( x )+5* cos ( x ), с помощью точек, а затем с помощью линий.
1.1 С помощью точек
Решение :
#include <windows.h>
#include <glgl.h>
#include <glglu.h>
#include <glglaux.h>
#include <math.h>
GLint windW, windH;
void CALLBACK Reshape(int width, int height)
{ glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-15,15,-15,15);
glMatrixMode(GL_MODELVIEW);
}
void CALLBACK Draw(void)
{
glClearColor(1.0,1.0,1.0,1);
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_LINES);
glColor3ub(190,190,190);
for (int i=-4; i<=4; i++)
{
glVertex2f(float(i), -6);//явное преобразование типа
glVertex2f(float(i), 15);
}
for (i=-6; i<=15; i++)
{
glVertex2f(-4, float(i));
glVertex2f(4, float(i));
}
glEnd();
glColor3ub(0,0,0);
glBegin(GL_LINES);
glVertex2f (-5, 0);
glVertex2f(5, 0);
glVertex2f(0,16);
glVertex2f(0,-7);
glEnd();
glPointSize(2);
glBegin(GL_POINTS);
glColor3ub(0,0,255);
int n;
double a,b,dx,x,y;
a=-1.415;
b=1.5;
n=20;
dx=(b-a)/(n-1);
x=a;
y=0;
for (i=1; i<=n; i++)
{
y=float(tan(x)+5*cos(x));
glVertex2d (x, y);
x=x+dx;
}
glEnd();
glFinish();
auxSwapBuffers();
}
void main(int argc, char **argv)
{
windW = 800;
windH = 800;
auxInitPosition(100, 100, windW, windH);
auxInitDisplayMode(AUX_RGB | AUX_DOUBLE);
auxInitWindow("v11_01_1");
glTranslated(0,-4,0);
auxReshapeFunc(Reshape);
auxMainLoop(Draw);
}
Результат:
2.2 с помощью линий
Решение :
#include <windows.h>
#include <glgl.h>
#include <glglu.h>
#include <glglaux.h>
#include <math.h>
GLint windW, windH;
void CALLBACK Reshape(int width, int height)
{ glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-15,15,-15,15);
glMatrixMode(GL_MODELVIEW);
}
void CALLBACK Draw(void)
{
glClearColor(1.0,1.0,1.0,1);
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_LINES);
glColor3ub(190,190,190);
for (int i=-4; i<=4; i++)
{
glVertex2f(float(i), -6);//явное преобразование типа
glVertex2f(float(i), 15);
}
for (i=-6; i<=15; i++)
{
glVertex2f(-4, float(i));
glVertex2f(4, float(i));
}
glEnd();
glColor3ub(0,0,0);
glBegin(GL_LINES);
glVertex2f (-5, 0);
glVertex2f(5, 0);
glVertex2f(0,16);
glVertex2f(0,-7);
glEnd();
glBegin(GL_LINE_STRIP);
glColor3ub(0,0,255);
int n;
double a,b,dx,x,y;
a=-1.415;
b=1.5;
n=100;
dx=(b-a)/(n-1);
x=a;
y=0;
for (i=1; i<=n; i++)
{
y=float(tan(x)+5*cos(x));
glVertex2d (x, y);
x=x+dx;
}
glEnd();
glFinish();
auxSwapBuffers();
}
void main(int argc, char **argv)
{
windW = 800;
windH = 800;
auxInitPosition(100, 100, windW, windH);
auxInitDisplayMode(AUX_RGB | AUX_DOUBLE);
auxInitWindow("v11_01_1");
glTranslated(0,-4,0);
auxReshapeFunc(Reshape);
auxMainLoop(Draw);
}
Результат:
2. Нарисуйте каркас призмы, в основании которой лежит правильный 14-угольник
Решение :
//v11_02
#include <windows.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glaux.h>
#include <math.h>
void CALLBACK resize (int width, int height)
{
glViewport (0,0,width, height);
glMatrixMode (GL_PROJECTION);
glLoadIdentity();
glOrtho(-15,15,-10,10, -10,20);
gluLookAt(1,-1,1, 0,0,0, 0,0,1);
glMatrixMode(GL_MODELVIEW);
}
void CALLBACK display (void)
{
GLUquadricObj *quadObj;
quadObj = gluNewQuadric();
glClearColor(1.0,1.0,1.0,1);
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor3d(0,0,1);
// каркас
gluQuadricDrawStyle(quadObj, GLU_SILHOUETTE);
//призма в основании которой лежит правильный 14-угольник
gluCylinder(quadObj, 2, 2, 5, 14, 14);
glBegin(GL_LINES);
glColor3ub(0, 0, 0);
glVertex2f(6, 0);
glVertex2f(-6, 0);
glVertex2f(0, 6);
glVertex2f(0, -6);
glVertex3f(0, 0, 0);
glVertex3f(0, 0, 8);
for (int i=-5; i<=5; i++)
{
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.