Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Объектно-ориентированное программирование на C++ с использованием библиотеки OpenGL

Тип Реферат
Предмет Информатика и программирование
Просмотров
1411
Размер файла
351 б
Поделиться

Ознакомительный фрагмент работы:

Объектно-ориентированное программирование на C++ с использованием библиотеки OpenGL

Краткоеописание библиотекиOpenGl


БиблиотекаOpenGl предназначенадля моделированиякомпьютернойграфики навысоком уровне,и являетсяпрограммныминтерфейсомк аппаратномуобеспечению.Главное назначениебиблиотеки-–преобразовывать2-х и 3-хмерныеобъекты в специальныйформат в специальномбуфере. Этиобъекты описываютсякак последовательноститочек в пространстве,которые определяютгеометрическиеобъекты, илипикселов, которыеопределяютизображения.OpenGl производитнесколькопоследовательныхопераций обработкиэтих данных,чтобы сконвертироватьих в пикселыдля формированияокончательноготребуемогоизображенияв буфере.

OpenGl предоставляетВам прямойдоступ к контролюфундаментальныхопераций 2-х и3-хмерной графики.Это включаетспецификациютаких параметровкак трансформационныематрицы, коэффициентыуравненияосвещения,методы сглаживанияи операторымодифицированияпикселов. Однако,OpenGl не предоставляетВам способыописания илимоделированиясложных геометрическихобъектов. Такимобразом, командыOpenGl, которые Выиспользуете,определяюткак определенныйрезультатдолжен бытьвыработан(какие процедурыдолжны использоваться),а не как именнодолжен выглядетьрезультат. Тоесть OpenGl – библиотекапроцедурная,а не описательная.


[Документв стадии разработки.Примерно 5% отполного объема.]


========================================================================
MICROSOFT FOUNDATION CLASS LIBRARY : Polyhedron
========================================================================


AppWizard has created this Polyhedron application for you. This application
not only demonstrates the basics of using the Microsoft Foundation classes
but is also a starting point for writing your application.

This file contains a summary of what you will find in each of the files that
make up your Polyhedron application.

Polyhedron.h
This is the main header file for the application. It includes other
project specific headers (including Resource.h) and declares the
CPolyhedronApp application class.

Polyhedron.cpp
This is the main application source file that contains the application
class CPolyhedronApp.

Polyhedron.rc
This is a listing of all of the Microsoft Windows resources that the
program uses. It includes the icons, bitmaps, and cursors that are stored
in the RES subdirectory. This file can be directly edited in Microsoft
Developer Studio.

resPolyhedron.ico
This is an icon file, which is used as the application's icon. This
icon is included by the main resource file Polyhedron.rc.

resPolyhedron.rc2
This file contains resources that are not edited by Microsoft
Developer Studio. You should place all resources not
editable by the resource editor in this file.

Polyhedron.clw
This file contains information used by ClassWizard to edit existing
classes or add new classes. ClassWizard also uses this file to store
information needed to create and edit message maps and dialog data
maps and to create prototype member functions.

/////////////////////////////////////////////////////////////////////////////

For the main frame window:

MainFrm.h, MainFrm.cpp
These files contain the frame class CMainFrame, which is derived from
CFrameWnd and controls all SDI frame features.


/////////////////////////////////////////////////////////////////////////////

AppWizard creates one document type and one view:

PolyhedronDoc.h, PolyhedronDoc.cpp - the document
These files contain your CPolyhedronDoc class. Edit these files to
add your special document data and to implement file saving and loading
(via CPolyhedronDoc::Serialize).

PolyhedronView.h, PolyhedronView.cpp - the view of the document
These files contain your CPolyhedronView class.
CPolyhedronView objects are used to view CPolyhedronDoc objects.



/////////////////////////////////////////////////////////////////////////////
Other standard files:

StdAfx.h, StdAfx.cpp
These files are used to build a precompiled header (PCH) file
named Polyhedron.pch and a precompiled types file named StdAfx.obj.

Resource.h
This is the standard header file, which defines new resource IDs.
Microsoft Developer Studio reads and updates this file.

/////////////////////////////////////////////////////////////////////////////
Other notes:

AppWizard uses "TODO:" to indicate parts of the source code you
should add to or customize.

If your application uses MFC in a shared DLL, and your application is
in a language other than the operating system's current language, you
will need to copy the corresponding localized resources MFC40XXX.DLL
from the Microsoft Visual C++ CD-ROM onto the system or system32 directory,
and rename it to be MFCLOC.DLL. ("XXX" stands for the language abbreviation.
For example, MFC40DEU.DLL contains resources translated to German.) If you
don't do this, some of the UI elements of your application will remain in the
language of the operating system.

/////////////////////////////////////////////////////////////////////////////

Реферат.


Программныйпродукт позволяетнаглядно изучитьстроение исвойства платоновыхтел, а такжепозволяетначинающимпрограммистамреализоватьпринцип обученияна примерах.Продукт разработанна языке программированияМicrosoft Visual C++ 5.0 с использованиемобъектно-ориентированнойметодологии.При разработкебыла задействованабиблиотекамоделированиятрехмернойграфики OpenGL. Запускпрограммывозможен тольков операционнойсреде Microsoft Windows 95. Диалогпользователяс программой,а именно введениепараметров,осуществляетсяпосредствомдиалоговыхокон программы.Диапазон вводимыхзначений программноограничен, сцелью недопущениянекорректнойработы иливозникновенияошибки.


Содержание.


  1. Теоретическаячасть……………………………………………………..3

    1. Введение…………………………………………………………………3

    2. Аналитическийобзор…………………………………………………...3

    3. Описаниематематическогоаппаратааналитическойгеометрии……4

  2. Техническийи рабочий проектыпрограммногопродукта………...…5

    1. Уточнениетехническихтребований,сфрмулированныхв теоретическомзадании…………………………………………………5

    2. Постановказадачи………………………………………………………5

    3. Подходк решениюзадачи………………………………………...……5

    4. Выборпрограммнойсреды, инструментальныхсредств разработки.6

    5. Разработкафункциональнойструктуры ПС,требованийк отдельнымподсистемам,системныхсоглашения……………………7

    6. Реализациядиалоговогоинтрефейсаи выдачи результатов…………8

    7. Описаниеалгоритмоврешения функциональныхзадач………….….9

  3. Экспериментальнаячасть…………………………………………….…9

    1. Эксплуатационнаядокументацияна ПС………………………………9

      1. Описаниеприменения……………………………………………….9

      2. Руководствопользователя…………………………………………..9

      3. Руководствопрограммиста………………………………………...12

      4. Контрольныйпример……………………………………………....12


  1. Теоретическаячасть.

1.1Введение.

Платоновымителами (правильнымимногогранниками)называютсятакие выпуклыемногогранники,все грани которых- правильныемногоугольникии все многогранныеуглы при вершинахравны междусобой.

Актуальностьразработкипрограммногопродукта,позволяющегооперироватьс платоновымителами в качествеграфическихобъектов,подтверждаетсятем, что в современномпрограммированииграфики частов качествеобъектов используютсяименно многогранники.Современноепрограммноеобеспечениепредоставляетпользователюбольшое количестворешений этойпроблемы. Нопреимуществоданного программногопродукта передними заключаетсяв простотеиспользования,а именно:

  • нетребуетсябольших затратресурсов;

  • нетребуетсядлительногоизучениявозможностейпрограммы дляполученияжелаемогорезультата.

Также программапозволяетреализоватьпринцип обученияна примерах,т.е. начинающийпрограммистимеет возможностьпросмотретьвсе исходныетексты программы,содержащиенеобходимыепояснения, иразобратьсяв ее работенаглядно.

1.2Аналитическийобзор.

Существуетровно пятьправильныхмногогранников.Их основныехарактеристикиприведены вследующейтаблице:


Название

Многогранника

ЧислогранейЧислореберЧисловершин
Тетраэдр464
Гексаэдр6128
Октаэдр8126
Додекаэдр123020
Икосаэдр203012

Вывод изображенияна экран дисплеяи разнообразныедействия с ним,в том числе ивизуальныйанализ, требуютот программистаопределеннойгеометрическойграмотности.Геометрическиепонятия, формулыи факты, относящиесяпрежде всегок плоскому итрехмерномуслучаям, играютв задачахкомпьютернойграфики особуюроль. Геометрическиесоображения,подходы и идеив соединениис постояннорасширяющимисявозможностямивычислительнойтехники являютсяисточникомсущественныхпродвиженийна пути развитиякомпьютернойграфики, ееэффективногоиспользованияв научных ииных исследованиях.

Современноепрограммноеобеспечениепредоставляетпрограммистуширокий спектрвозможностейпо работе скомпьютернойграфикой, причем,как с двумерной,так и с трехмерной.В зависимостиот поставленнойперед программистомзадачи и уровняего подготовки,у него есть рядвозможностейпри разработкепрограммы дляработы с графикой.Во-первых,программистможет разработатьпрограммныйпродукт припомощи прямогопрограммированияаффинныхпреобразованийна плоскостии в пространстве.Во-вторых, онможет воспользоватьсяуже созданнымибиблиотекамидля моделированияграфическихобъектов (например,библиотекаOpenGL). В-третьих,существуютпрограммныепродукты, посвященныеграфическомумоделированиюи не требующиенаписания кодапрограммы дляработы с графикой(например,3D-Studio).

    1. Описаниематематическогоаппаратааналитическойгеометрии.

Движениеграфическихобъектов впространствеосуществляетсяпосредствомаффинныхпреобразований.Любое аффинноепреобразованиев трехмерномпространствеможет бытьпредставленов виде суперпозициивращений, растяжений,отражений ипереносов.Каждая точкапространства(кроме начальнойточки О) можетбыть заданачетверкойодновремменоне равных нулючисел (hx, hy,hz,h); этачетверка чиселопределенаоднозначнос точностьюдо общего множителя.

Рассмотримматрицы преобразований.

1) Матрицывращения впространстве

Матрицавращения вокругоси абсциссна угол :



М
атрицавращения вокругоси ординатна угол :

Матрицавращения вокругоси аппликатна угол :



2) Матрицарастяжения(сжатия):

г
де

>0 –коэффициентрастяжения(сжатия) вдольоси абсцисс;

>0 –коэффициентрастяжения(сжатия) вдольоси ординат;

>0 – коэффициентрастяжения(сжатия) вдольоси аппликат.

3) Матрицыотражения.

М
атрицаотраженияотносительноплоскости xy:

М
атрицаотраженияотносительноплоскости yz:

М
атрицаотраженияотносительноплоскости zx:

4
)Матрица переноса

где (- вектор переноса.

  1. Техническийи рабочий проектыпрограммногопродукта.

    1. Уточнениетехническихтребований,сформулированныхв теоретическомзадании.

Для успешногозапуска программыи работы с нейнеобходимовыполнениениже перечисленныхтребований:

  • IBM-совместимыйкомпьютер спроцессоромPentium 90;

  • VGA видеокарта;

  • 16 МВоперативнойпамяти;

  • операционнаясистема Microsoft Windows95;

  • 4 МВ нажестком диске.

    1. Постановказадачи.

Разработатьраздел графическойбиблиотеки,описывающийплатоновы телаи функции дляработы с ними,а также средствоработы с ней.Программныйпродукт долженосуществлятьмониторингвращения графическогообъекта (платонователа) вокругосей координат(OX, OY, OZ).

    1. Подходк решению задачи.

Подход крешению задачиоснован наобъектно-ориентированнойметодологии.Но следуетотметить, чтообъектно-ориентированноепрограммированиеможно эффективноиспользовать,если ему предшествуютобъектно-ориентированныйанализ задачии объективно-ориентированноепроектированиепрограммногокомплекса. Безобъектно-ориентированногопроекта попыткипримененияобъектно-ориентированногопрограммированияявляются поменьшей меремалоэффективнымии весьма трудоемкими.

Исходнаязадача разбиваетсяна следующиеподзадачи:

  • разработкаинтерфейсапрограммы;

  • разработкакласса многогранников;

  • разработкакласса функций,позволяющихпроизводитьпреобразованиемногогранниковв пространстве;

    1. Выборпрограммнойсреды, инструментальныхсредств разработки.

В качествепрограммнойсреды выбранязык программированияMicrosoft Visual C++ 5.0, посколькуон основан нановейших технологияхпрограммирования(например: С++,программированиеграфическогоинтерфейсаWindows, фундаментальныеклассы фирмыMicrosoft (MicrosoftFoundation Classes) и генераторыкода Wizard).

Microsoft Visual C++обеспечиваетнесколькоразличных путейнаписанияпрограмм дляGUI Windows (graphical user interface).Во-первых, можнописать программыGUI на С и С++,напрямую обращаяськ функциям,которые обеспечиваютсянаходящимсявнутри Win32программныминтерфейсомприложений(API), и являетсячастью операционныхсистем Windows95 и Windows NT. Однако,используя этотподход, необходимомножество строккода перед тем,как появитсявозможностьсосредоточитьсяна задаче, котораяявляется особеннойв приложении.

Во-вторых,можно писатьпрограммы дляGUI Windows на С++,используя МFC(Microsoft Foundation Classes). MFCобеспечиваетбольшой наборнаписанныхклассов, каки код поддержки,который можетвыполнять многостандартныхзадач припрограммированиидля Windows (таких,как созданиеокон с обработкойсообщений).Также можноиспользоватьMFC, чтобыбыстро добавитьк вашим программамтакие сложныеэлементы, какпанель инструментов,разделенныеокна представлений.MFC можетупроститьпрограммы GUIи сделать работупри программированиизначительнопроще.

В-третьих,можно писатьGUI Windows программына С++, используяи MFC и мастер-блокиMicrosoft Wizard. МожноиспользоватьAppWizard, чтобысгенерироватьосновные исходныефайлы дляразнообразныхтипов программGUI. Затемможно использоватьинтсрументClassWizard, чтобысоздать большуючасть кода,необходимогодля порожденияклассов; определитьфункции-членыдля обработкисообщений илинастройкиповедения MFC;управлятьблоками диалогаи выполнитьдругие задачи.Код, сгенерированныйс использованиеммастер-блоковWizard, полностьюиспользуетMFC. Причем,мастер-блокиWizard не ограничиваютсятолько генерациейоболочек простыхпрограмм, а,напротив, можетбыть использовандля созданияпрограмм, содержащихбольшой наборсложных компонентов.

Используяэтот третийподход, можнополучить пользуне только откода, уже написанногов MFC, но и отсгенерированногоисходного кода,который используетMFC и решаетмножество задачпрограммирования.MFC и мастер-блокиWizard облегчаютусилия по созданиювизуальногоинтерфейсапрограммы ипомогают убедиться,что этот интерфейссогласуетсяс описаниями(guidelines) Microsoft.

Разработкапрограммывелась на базетретьего исамого высокоуровневогоспособа написанияпрограмм дляGUI Windows.

    1. Разработкафункциональнойструктурыпрограммногопродукта,требованийк отдельнымподсистемам,системныхсоглашений.

Функциональнаяструктурапрограммногопродукта содержитследующиеклассы:

  • CpolyhedronApp– основнойкласс приложения,наследуемыйот CWinApp

  • CmainFraim– классокна, наследуемыйот CframeWnd иконтролирующийвсе свойстваи особенностиокна приложения

  • CpolyhedronDoc– классдокументаприложения,наследуемыйот CDocument.Документ – этосовокупностьвсех или частиданных, используемыхприложением,в том числезначения параметров,указываемыхпользователеми т.д. Приложениеможет иметьнесколькодокументов,хотя в нашемслучае документвсего один.

  • CpolyhedronView– класс,позволяющийотображатьсодержимоекласса CPolyhedronDoc.Наследуетсяот Cview. Внашем случаеслужит в томчисле и дляотображенияплатоновыхтел по параметрамиз CpolyhedronDoc.

  • CpolyhedronAction– класс,содержащийфункции длясоздания идействий надплатоновымителами.

  • CpolySet,CaboutDlg – классы,наследуемыеот Cdialog ислужащие дляпостроенияи работы сдиалоговымокном настроекпрограммы идиалоговымокном About.

Подробноедерево классовпрограммногопродукта сперечислениемвсех функцийи переменныхприлагается.


Системныесоглашения:

  1. Заданиевсех параметровтребуемых втехническомзадании операций,таких как координатыточек, уравненияпрямых и т.п.ведет к значительномуусложнениюработы с программойи требуетдополнительныхзнаний и усилийот пользователя.Всвязи с этимвводятся ограниченияна производимыеоперации: например,вращение вокруглинии реализуетсятолько вокругкоординатныхосей. Но результатомвведения подобныхограниченийявляется то,что операциивращения вокругточки и облетатела сводятсяк уже реализованномувращению вокруглинии.

На примереоблета тела:при допущении,что облет телапроизводитсяпо окружностизаданногорадиуса, существуютдва принципиальныхварианта облета:с камерой,направленнойпостоянно натело, и с камерой,направленнойпо касательнойк траекториидвижения. Первыйиз этих вариантовсводится квращению телавокруг собственнойоси на определенномрасстоянииот камеры прирасположениитела по центруэкрана, второй– к вращениютела вокругсобственнойоси при расположениитела с краюэкрана так, чтовидна лишь егочасть.

В связи свышеизложеннымоперации вращениявокруг точкии облета телане представляютинтереса и небудут реализованы.Также становятсяненужныминекоторыепараметры изпредусмотренныхранее, которыетакже не будутреализованы.

  1. Вводпараметрарасстояниядо камеры позволяетзрительнозадать длинуребра тела, ивместе с темрасширяетвозможностипрограммы.Всвязи с этимпараметр длиныребра тела впрограммезаменен вышеуказаннымпараметром.

  2. В
    связис изменениемнабора функцийи параметровпрограммы, атакже введениемдополнительныхэлементовинтерфейса,таких как панельинструментов,изменен первоначальныйпроект интерфейса.Подробное егоописание содержитсяв руководствепользователя.

  3. Выбранныепрограмныесредства позволяютмоделироватьдвижение телаза пределамивидимогопространства,тем самымограниченияна выход телаза пределыэкрана представляетсялишним и суживающимвозможностипрограммы.Контроль входныхданных не будетзаключатьсяв недопущенииэтого, однакобудет производитьсяконтроль,предотвращающийпоявлениеошибок.


    1. Реализациядиалоговогоинтерфейсаи выдачи результатов.

Структурадиалоговогоинтерфейсапрограммногопродукта показанана рис. 4.6.1.


рис.4.6.1. Структурадиалоговогоинтерфейса.

Интерфейспредставляетсобой стандартноеокно Windows, состоящееиз панели меню,панели интсрументови окна представления.На панели менюпредставленоменю Polyhedron.Это меню представляетсобой списокиз 5 правильныхмногогранникови пункта Settings,открывающегоменю параметровпрограммы.Выбранныймногогранниквыделяетсяв этом менюгалочкой. Напанели инструментовимеется 3 кнопки.Первая кнопкаосуществляетзапуск движениямногогранника,вторая – егоостановку, атретья – непосредственноеоткрытие менюпараметровSettings.

Выдачарезультатовосуществляетсяв окне представления.Результатомработы программыявляется движениеплатонова телас учетом заданныхпользователемпараметров.

    1. Описанияалгоритмоврешения функциональныхзадач.

Реализация3-хмерной графикис помощью библиотекиOpenGL базируетсяна основе принциповаффинныхпреобразованийв пространстве.Также оченьважно понятиекамеры – образноговоря, некоговиртуальногоокна в трехмерномпространстве.Все то, чтоотображаетсяв графическомокне приложения,мы видим посредствомкамеры. Ещеодно важноепонятие – этопонятие матрицы,описывающейобъекты впространстве– фактически,некой трехмерноймодели пространства.На основе этихпонятий решаетсяосновнаяфункциональнаязадача проекта– вращениеплатоновыхтел.

Алгоритмрешения этойзадачи строитсяследующимобразом:

Вначаледвигаем камеруна заданноерасстояние“к пользователю”по оси OZ длятого, чтобыиметь возможностьсмотреть наплатоновоетело “состороны”,т.к. изначальнокамера находитсяв начале координат,где впоследствиии создаетсятело. Затемсдвигаем началокоординат назаданное расстояниеотносительнозаданной оси– оси вращения– для того, чтобыось вращениябыла от телаудалена, и создаемплатоновоетело. Решениефункциональнойзадачи созданияплатоновоготела интересане представляет,т.к. с помощьюбиблиотекиOpenGL это делаетсявызовом всеголишь однойопределеннойфункции. Телосоздается вначале координат.После созданияплатоновоготела оно поворачиваетсяотносительнооси вращенияна определенныйугол, значениекоторого постоянноувеличиваетсяили уменьшаетсяв зависимостиот направлениявращения. Таккак даннаяпоследовательностьдействий выполняетсяв цикле, телопостоянносдвигаетсяна все больший(меньший) угол,чем и достигаетсявращение, в товремя как всеостальныепараметрыостаются неизменными.

Все процедурысдвига началакоординат,поворота и т.п.достигаются,как это и былоописано ранее,с помощью аффинныхпреобразований,путем умноженияматрицы, описывающейтрехмерноепространство,на матрицыповорота, сдвигаи т.п. Для каждоготакого действияпредусмотреныфункции библиотекиOpenGL.


3.Экспериментальнаячасть.

    1. Эксплуатационнаядокументацияна программныйпродукт.

      1. Описаниеприменения.

Программныйпродукт "Polyhedron"может применяться:

  • длянаглядногоизучения строенияи свойств платоновыхтел;

  • дляобучения напримерах начинающихпрограммистов.

      1. Руководствопользователя.

Внимание!


За возможныеошибки, сбои,возможныйпричиненныйморальный илиматериальныйущерб и т.д., авторыответственностине несут. Выиспользуетепрограмму насвой страх ириск!

Если вы несогласны сэтим, то неиспользуйтеданную программу!


Введение


Авторы руководствапользователяприглашаютвас познакомитьсяс основнымивозможностями«Polyhedron». Мыпредоставляемсовершенноновую возможностьдля изученияплатоновыхтел в пространствена персональномкомпьютере.Результатомразработкиявляется болеепростой и наглядныйспособ изученияплатоновыхтел в пространстве.Руководствопользователянаписано длявсех, кто незнаком с платоновымителами. ЕслиВы являетесьопытным пользователемперсональногокомпьютера,то нижеследующийтекст, возможно,будет Вам неинтересен.Руководствопользователяявится для Васобширным справочнымруководством,помогающимразобратьсяв программномпродукте«Polyhedron».

Для того,чтобы запуститьпрограммныйпродукт необходимоналичие навашем персональномкомпьютере:

  • операционнойсистемы Windows95;

  • FloppyDisk Drive 3,5”.

Вставте нашудискету в свойдисковод. Затемскопируйтевсе файлы взаранее созданнуюдиректорию.

Поместитеострие стрелкина файл Polyhedron.ехе,затем щелкнителевой кнопкоймыши два раза.Перед вамипоявится окнопрограммногопродукта «Polyhedron»(см. рис. 1).


р
ис.3.1.2.1.Окнопрограммногопродукта.

Д
ляначала Вы можетепросмотретьконтрольныйпример, наведякурсор мышина кнопку “Play”и нажать левуюкнопку мыши.Чтобы поменятьплатоново телоподведитекурсор мышына слово Polyhedron. Затемнажмите левуюкнопку мыши,чтобы открытьменю (см. рис.2).


рис. 3.1.2.2.Меню Polyhedron.

Обратитевнимание нато, что рядомс пунктами менюуказаны клавиши,которые позволяютсразу выбратьсоответствующийпункт, не открываяподменю, илинажать клавишусоответствующейпервой буквепункта.

Выбрав пунктSettings откроетсядиалоговоеокно (см. рис.3).


р
ис.3.1.2.3. Диалоговоеокно.

В этом диалоговомокне Вы можетепоменять следующиепараметры:

  • длинуребра платоновоготела (Length of edge);

  • дистанциядо камеры (Distanceto the camera);

  • расстояниедо оси вращения(Distance to the axis);

  • осьвращения (Rotationaxis):

  • вращениевокруг оси OX,

  • вращениевокруг оси OY,

  • вращениевокруг оси OZ;

  • направлениевращения(Direction):

  • почасовой стрелке(clockwise),

  • противчасовой стрелки(counterclockwise);

  • структурутела – решетчатуюили сплошную(флажок Wired)

Закончиввыбор, нажмитена кнопку OK.

После завершениявыбора параметров,результат можнопросмотреть,подведя курсормыши на кнопку“Play” и нажав левуюкнопку мыши.


Функциональныеклавиши

Ctrl+1 илиAlt+P и Т –Тетраэдр(Tetrahedron);

Ctrl+2 или Alt+P иН – Гексаэдр(Hexahedron);

Ctrl+3 или Alt+P иО – Октаэдр(Octahedron);

Ctrl+4 или Alt+P иD – Додекаэдр(Dodecahedron);

Ctrl+5 или Alt+P иI – Икосаэдр(Icosahedron);

Ctrl+P или Alt+P иS – Установки(Settings).


      1. Руководствопрограммиста.

      2. Контрольныйпример.

Контрольныйпример предоставленв виде заданныхпо умолчаниюзначений параметровзадачи:

Осуществляетсявращение почасовой стрелкене решетчатоготетраэдравокруг оси ОХна расстоянии10 и при расположениикамеры на расстоянии50 до оси вращения.


Списокиспользуемойлитературы.


  1. ЯнгМ. Microsoft Visual C++ 4 дляпрофессионалов.- М.:ЭНТРОП, 1997.

  2. ШикинА.В., БоресковА.В. Компьютернаяграфика. Динамика,реалистическиеизображения.-М.:ДИАЛОГ-МИФИ,1996.

  3. ПодбельскийВ.В. Язык С++. –М.:Финансы истатистика,1996.


13



Техническоезадание

  1. Введение.

Платоновымителами (правильнымимногогранниками)называютсятакие выпуклыемногогранники,все грани которыхправильныемногоугольникии все многогранныеуглы при вершинахравны междусобой.

Существуетровно пятьправильныхмногогранников.Их основныехарактеристикиприведены вследующейтаблице.

Название

многогранника

ЧислогранейЧислореберЧисловершин
Тетраэдр464
Гексаэдр6128
Октаэдр8126
Додекаэдр123020
Икосаэдр203012

Описываемыйпрограммныйпродукт состоитиз разделабиблиотеки,посвященногоплатоновымтелам, и приложениядля графическогоинтерфейсапользователя(graphicaluser interface – GUI)Windows, позволяющегопри помощираздела библиотекивыполнятьследующиеоперации надправильнымимногогранниками:

  • вращениетела вокругзаданной точки;

  • вращениетела вокругзаданной оси;

  • облеттела.

Актуальностьразработкизаключаетсяв возможностинаглядногоизучения платоновыхтел сиспользованиемразработанногораздела.

Платоновытела выбраныпотому, чтоявляются частоиспользуемымипри анимацииразличныхграфическихизображенийи т.д.

2. Основаниедля разработки.

Основаниемдля разработкикурсовогопроекта послужилплан специальности220100 "Вычислительныемашины, системы,комплексы исети" по дисциплине"Алгоритмическиеязыки и программирование"за второй курс.

3.Назначениеразработки.

Назначениемразработкиявляются разделграфическойбиблиотеки,описывающийплатоновы телаи функции дляработы с ними,а также средствоработы с этимразделом,представляющеесобой приложениеWindows,разработанноена основеграфическогоинтерфейсапользователя.

4. Требованияк программеи программномупродукту.

4.1. Функциональныехарактеристики.

Программныйпродукт позволяетпользователювыполнятьследующиефункции:

  • выбортипа ГРО;

  • созданиеграфическогообъекта;

  • вводпараметровобъекта ивыполняемойим функции;

  • демонстрацияобъектом выбраннойпользователемфункции.

Созданиеграфическогообъекта происходитв момент выборапользователемтипа многогранникаиз спискамногогранников,появляющегосяпосле "нажатия"пользователемкнопки Polyhedron.Ввод параметровмногогранника,а именно длиныего ребра,осуществляетсяв диалоговомокне, открываемомпри "нажатии"кнопки Settings,находящейсяв меню Polyhedron.Выбор функции,выполняемоймногогранником,производитсяиз меню Action.При "нажатии"кнопки Settings вэтом же меню,открываетсядиалоговоеокно, позволяющееввести параметрыфункций. Просмотрначинаетсяпосле "нажатия"кнопки Start иостанавливаетсяпосле "нажатия"кнопки Stop.Просмотр можноосуществлятьбез изменениякаких-либопараметров,т.е. в началеработы программывсе необходимыепараметрыпредустановленныи не требуютобязательногоописания.

4.2. Организациявходных/выходныхданных.

Входнымиданными являютсяпараметрымногоугольника(тип, длина ребра),тип выполняемойим функции,параметрывыбраннойфункции, а такжеразмер окнапредставления.Описание входныхданных содержитсяв следующейтаблице.

Имя

Семантика

Тип

Размерпамяти

Диапазон

изменения

m_Polyhedronтипмногоугольникацелое1-5
m_Edgeдлинаребрацелое*
m_Actionтипфункциицелое1-3
m_RotPoint_Dirнаправлениепри движениивокруг точкицелое*
m_RotPoint_Distрасстояниеот объектадо точкицелое*
m_RotLine_Dirнаправлениепри движениивокруг линиицелое*
m_RotLine_Disposрасположениелинии в пространствецелое*
m_RotLine_Distрасстояниеот объектадо линиицелое*
m_FlyRound_Distрасстояниедо объектапри облетецелое*
Cxтекущеемаксимальноезначение Хокна представленияцелое**
Cyтекущеемаксимальноезначение Yокна представленияцелое**

*Диапазонизмененияпараметра неопределен, т.к.он зависит отразмера окнапредставления.

**Диапазонизмененияпараметра неопределен, т.к.он определяетсярежимом работывидеоадаптера.

Выходнымиданными являетсяпостроенныйграфическийобъект, по параметрампользователяи демонстрацияего в движении.

4.3. Требованияк надежности.

Дляобеспеченияустойчивойработы программынеобходимовыполнениеконтролявходной/выходнойинформации.Контроль заключаетсяв проверкевводимых данныхна возникновениеошибки. Причинойвозникновенияошибок могутпослужитьневерно введенныеданные, например,значения параметров,повлекшие выходизображенияза пределы окнапредставления.

Времявосстановленияпосле отказаопределяетсявременем перезагрузкиоперационнойсистемы Windowsи повторногозапуска программы.

4.4. Требованияк составу ипараметрамтехническихсредств.

Дляуспешноговыполненияпрограммынеобходимовыполнениениже перечисленныхтребований:

- IBM-совместимыйкомпьютер;

  • VGAвидеоадаптер;

  • 16 МВоперативнойпамяти;

  • 10 МВна жесткомдиске;

  • операционнаясистема Microsoft Windows95.

4.5. Требованияк информационнойи программнойсовместимости.

Выполнениепрограммынеобходимоосуществлятьв операционнойсистеме MicrosoftWindows 95.

5. Требованияк программнойдокументации.

Программнаядокументациясодержит:

  • описаниеприменения;

  • руководствопользователя(оператора);

  • руководствопрограммиста.

6. Стадиии этапы разработки.

6.1.Стадия аналитическойразработки:

  • ознакомлениес теоретическимматериалом;

  • аналитическаяобработкатеоретическойинформации.

6.2.Стадия программнойразработки:

  • формированиепрограммы какотдельныхструктур;

  • разработкаи отладка полученныхструктур;

  • объединениеструктур иформированиеединой программы.

7. Порядоксдачи работы.

7.1. Присдаче работыпроизводитсядемонстрацияна ЭВМ разработаннойпрограммы наконтрольномпримере.

7.2.Копиивсех документоввключают:

  • исходныйтекст программы;

  • загрузочныемодули;

  • текстовуюдокументацию.

Копиипередаютсяна магнитномносителе накафедру непозднее, чемза 3 дня до защиты.


Утверждаю:___________________


__________________


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
150547
рейтинг
icon
3156
работ сдано
icon
1368
отзывов
avatar
Математика
Физика
История
icon
145688
рейтинг
icon
5938
работ сдано
icon
2680
отзывов
avatar
Химия
Экономика
Биология
icon
102026
рейтинг
icon
2067
работ сдано
icon
1289
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
58 141 оценка star star star star star
среднее 4.9 из 5
МИИГАиК
Работа выполнена крайне быстро! Запрашивал уникальность работы как минимум 75 (Алена сдела...
star star star star star
МИП
Благодарю Елену, очень хороший реферат. Она хорошо раскрыла тему, использовалась профессио...
star star star star star
ИМ.ВИТТЕ
Спасибо!!! Работа выполнена в короткий срок! Оценка высокая!!! Всем рекомендую!!!
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Решить задачу

Решение задач, Управленческий учет

Срок сдачи к 28 янв.

только что

Написать реферат

Реферат, Управленческий учет

Срок сдачи к 28 янв.

2 минуты назад

Здравствуйте нужно будет решить билет в нем будет 4 задачи решение...

Решение задач, Дискретная математика

Срок сдачи к 27 янв.

2 минуты назад

Решить четыре задачи

Решение задач, Математика

Срок сдачи к 28 янв.

2 минуты назад

Вариант 8

Контрольная, Спец курс по решению задач по бухгалтерскому учёту и составлению отчетности в 1с

Срок сдачи к 26 янв.

4 минуты назад

Лабораторные 8шт

Лабораторная, Процессы и аппараты нефтегазовых технологий

Срок сдачи к 31 янв.

5 минут назад

задача

Решение задач, конституционное право

Срок сдачи к 26 янв.

6 минут назад

Расширить реферат до 20 страниц и оформить в соответствие с...

Реферат, история государства и права

Срок сдачи к 26 янв.

6 минут назад

Я Колледж Будущее

Эссе, Педагогика и психология

Срок сдачи к 1 мар.

6 минут назад

Пирамиду пересекает плоскость R?. Показать в ортогональной проекции...

Решение задач, начертательная геометрия и инженерная графика

Срок сдачи к 27 янв.

7 минут назад

Онлайн-помощь по физике. Л-00927

Онлайн-помощь, Физика

Срок сдачи к 27 янв.

8 минут назад

Выполнить задания из текста

Другое, международное право

Срок сдачи к 28 янв.

8 минут назад
9 минут назад

стандарты качества которые есть на сегодняшний день по бережливому...

Презентация, Бережливое производство

Срок сдачи к 28 янв.

9 минут назад

Презентация к речи, по защите диплома

Презентация, Проектирование ракетных двигателей

Срок сдачи к 26 янв.

10 минут назад

Найти информацию по трём вопросам и структурировать

Поиск информации, Основы российской государственности

Срок сдачи к 29 янв.

10 минут назад

Лабораторная в SiminTech

Лабораторная, ТАУ

Срок сдачи к 27 янв.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно