МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
/
Лабораторна робота №1
з курсу
«Програмування комп’ютерної графіки»
ПОБУДОВА ЕЛЕМЕНТАРНИХ ГЕОМЕТРИЧНИХ ЗОБРАЖЕНЬ
В СЕРЕДОВИЩІ MICROSOFT VISUAL STUDIO C++ 2008
Підготував ст. гр. СІ-21
Прийняв
Іванюк О.О
Львів-2012
ЗАВДАННЯ
Варіант №17
Намалювати п’ять олімпійських кілець радіусом 40.
Блок схема
Список ідентифікаторів констант, змінних, процедур і функцій, використаних в програмі, та їх пояснення
Are – малює дугу еліпса .
X1,Y1- задають координати верхнього лівого кута .
X2,Y2- задають координати правого нижнього кута прямокутника , який визначає розмір еліпса .
X3,Y3 – задають координати початку дуги .
X4,Y4 - задають координати кінця дуги .
Остаточно від лагоджений текст програми відповідно до отриманого завдання
// ChildView.cpp : implementation of the CChildView class
//
#include "stdafx.h"
#include "Tect1.h"
#include "ChildView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CChildView
CChildView::CChildView()
{
}
CChildView::~CChildView()
{
}
BEGIN_MESSAGE_MAP(CChildView, CWnd)
ON_WM_PAINT()
END_MESSAGE_MAP()
// CChildView message handlers
BOOL CChildView::PreCreateWindow(CREATESTRUCT& cs)
{
if (!CWnd::PreCreateWindow(cs))
return FALSE;
cs.dwExStyle |= WS_EX_CLIENTEDGE;
cs.style &= ~WS_BORDER;
cs.lpszClass = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS,
::LoadCursor(NULL, IDC_ARROW), reinterpret_cast<HBRUSH>(COLOR_WINDOW+1), NULL);
return TRUE;
}
void CChildView::OnPaint()
{
CPaintDC dc(this);// device context for painting
dc.Arc(230,100,310,180,360,360,360,360);
dc.Arc(165,100,245,180,360,360,360,360);
dc.Arc(100,100,180,180,360,360,360,360);
dc.Arc(132.5,150,212.5,230,360,360,360,360);
dc.Arc(197.5,150,277.5,230,360,360,360,360);
// TODO: Add your message handler code here
// Do not call CWnd::OnPaint() for painting messages
}
Результати виконання програми