Разработка программы "Моделирование вращения трехмерных объектов"

Понятие трехмерного моделирования. Его назначение и область применения. Описание функций составных частей алгоритма программы и связей между ними. Блок-схемы программных процедур. Принципы моделирования вращения трехмерных объектов. Листинг скрипта.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 18.12.2013
Размер файла 577,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

НОУ ВПО "Региональный открытый социальный институт"

АНО НССУЗ "Региональный открытый социальный техникум"

Форма обучения: очная

Специальность: 230103.51

Курсовая работа

по дисциплине: "Программирование на языках высокого уровня"

на тему: "Разработка программы "Моделирование вращения трехмерных объектов""

Выполнил: студент 3 курса группы АСУ-3

Лукьянчиков Филипп Александрович

Научный руководитель:

преподаватель компьютерных дисциплин

Гладких Александр Иванович

Курск - 2012

Содержание

Введение

Глава 1. Трехмерное моделирование

1.1 Понятие трехмерного моделирования

1.2 Назначение и область применения

Глава 2. Описание алгоритма программы

2.1 Описание функций составных частей и связи между ними

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

2.3 Блок-схемы

Заключение

Список литературы

Приложение 1. Листинг программы

Приложение 2. Результат работы

Введение

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

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

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

Разрешение монитора задается в виде: (количество пикселей на экране по горизонтали) x (количество пикселей по вертикали).

Размер пикселя (он определяет степень детализации изображения) можно получить, разделив геометрический размер экрана на разрешение. Минимально допустимое значение размера пикселя определяется техническими параметрами монитора ("размер зерна").

Любое изображение формируется из достаточно простых геометрических фигур. Это точки, отрезки прямых, окружностей и т.д.

Графические координаты задают положение точки на экране дисплея. В качестве графических координат используются порядковые номера пикселей. Точкой отсчета является верхний левый угол экрана. Значения X-координаты отсчитываются слева направо, а Y-координаты - сверху вниз как на рис. 1.

Размещено на http://www.allbest.ru/

Рис. 1. Графические координаты

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

1. Графические координаты принимают только целочисленные значения;

2. Графические координаты принимают значения, ограниченные как снизу (нулевым значением), так и сверху (значением разрешения);

3. Графическая координата Y отсчитывается сверху вниз.

Чтобы работа в графическом режиме была возможна, видеоадаптер должен поддерживать работу дисплея в графическом режиме. Турбо Паскаль обеспечивает работу со следующими видеоадаптерами: CGA, MCGA, EGA, VGA, Hercules, AT&T 400, 3270 PC, IBM-8514.

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

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

Начиная с версии 4.0, в состав Турбо Паскаля включена мощная библиотека графических подпрограмм Graph, остающаяся практически неизменной во всех последующих версиях. Библиотека содержит в общей сложности более 50 процедур и функций, предоставляющих программисту самые разнообразные возможности управления графическим экраном.

Целью курсовой работы является углубление знаний и расширение навыков по разработке моделирования вращения трехмерного объекта. Курсовая работа выполняется в среде Турбо Паскаль и предполагает использование графических возможностей языка.

Глава 1. Трехмерное моделирование

1.1 Понятие трехмерного моделирования

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

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

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

Существует огромное количество областей, где применяется трёхмерное моделирование и анимация. Например, при испытании программы 3D Studio MAX пользователи проделали колоссальную работу, применяя эту программу в различных областях: от создания статической рекламы и динамических заставок для телеканалов до моделирования катастроф и трёхмерной анимации. До недавнего времени работу по созданию спецэффектов в кинематографии выполняли в специальных павильонах с использованием физических моделей, методов прозрачной фотографии и дорогих оптических принтеров. Теперь эта проблема решена с помощью современных программ.

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

Нашествию визуальных эффектов уже никто не удивляется. Эффекты в блокбастерах (боевиках) и романтических сказках, играх и мультимедийных презентациях, броские и незаметные, в кино и на телевидении, трёхмерные и мультипликационные. Всех их объединяет только одно: они созданы с помощью компьютеров. Сегодня мы уже можем говорить о результатах труда не только заокеанских, но российских разработчиков. С 19 по 23 мая в Центре международной торговли проходил ежегодный Российский фестиваль компьютерной графики и анимации. На выставке была представлена новинка - телевизионная виртуальная студия.

Перед режиссёрами и продюсерами открываются неограниченные возможности: можно обойтись без огромных павильонов и дорогостоящих декораций и сделать оригинальную передачу. Можно снимать актёра или ведущего телепрограммы на синем или зелёном фоне, а затем поместить его в компьютерное пространство и позволить взаимодействовать с ним. С сентября 1997 года компания " Б.С. Графика" оформляет московский канал "ТВ Центр" и выпускает там две телепередачи: "Интернет КАФЕ" и "Виртуальный мир". Это самая технически оснащённая студия в России. Работа в реальном времени, когда "живой" ведущий свободно перемещается внутри трёхмерной сцены, ходит вокруг объектов и может взаимодействовать с ними, - это уже неотъемлемый признак современной виртуальной студии. Например, ведущий может заходить в "виртуальные" двери, Брать "виртуальные" предметы и т.д. Причём часть компьютерной сцены может готовиться заранее, а часть - просчитываться одновременно со съёмкой живого персонажа (здесь уже требуются значительные вычислительные мощности).

Применение трёхмерной анимации и виртуальных технологий в кинематографе, оформлении телевизионных передач и в различных частях шоу-бизнеса стало обязательным, однако существуют и другие примеры применения новейших технологий: 6-8 мая 1998 года в г. Осло проходил Первый международный симпозиум по визуализации, организованный компаниями Silicon Graphics и Telenor. На данной конференции широкой аудитории были продемонстрированы различные технические средства для представления виртуальных объектов, Особый интерес представили проекты по созданию так называемых виртуальных городов - содержащих не один, а десятки тыс. яч виртуальных объектов. С момента возникновения такого понятия, как коллективное планирование городского строительства, все его участники - специалисты по планированию, проектировщики, инвесторы, представители власти и просто заинтересованные горожане - стремились найти новую методологию обсуждения строительных проектов, позволяющих оценить их влияние на городской ландшафт ещё до реального воплощения.

Требовался эффективный способ, позволяющий зримо представить и проанализировать "физические последствия" проекта до начала его реализации и инвестирования средств. Со временем появился проект "Виртуальный город". Группа городского моделирования UCLA воспользовалась данной технологией визуального трёхмерного моделирования для развития интегрированной среды городского моделирования. С помощью уникальной системы и методологии компьютерного моделирования группа строит виртуальные модели реального времени городских районов. Эти модели, с точностью до надписей на стенах и занавесок в окнах, конструируются путём сочетания фотографий, полученных с помощью аэрофотосъёмки, со стереометрическими "представлениями" улиц для реалистичного трёхмерного моделирования.

Другой пример: до недавнего времени такие серьёзные проекты как строительство мостов, дамб, плотин не проходило без каких-либо неожиданностей даже в странах с очень развитыми строительными технологиями. В наше время строительные компании многих государств стали пользоваться системами инженерного проектирования с визуальным отображением. Современные программы инженерной графики не только совершают различные строительные расчёты (впрочем, это могли делать и программы предыдущего поколения), но и визуализировать происходящие строительные процессы. Программы показывают не только возможную нагрузку на отдельные части конструкций, но и рассчитывают различные непредвиденные явления, связанные, например, с явлениями резонанса в процессе строительства. Пример из совершенно бытовой сферы: компании по продаже квартир, а также дизайну и связанным с ним ремонтом стали использовать компьютерные программы трёхмерного моделирования для представления клиенту наиболее точной информации о будущем проекте.

Тем самым доход этих компаний стал увеличиваться за счёт экономия времени, затрачиваемого на бесполезные чертежи. Преимущество компьютерного моделирования оценили не только люди, связанные с недвижимостью, но и крупные компании, желающие сократить свои расходы за счёт применения современных программ компьютерного конструирования, а также автоматизирования процесса производства. Так компания IBM предлагает систему автоматизации дизайнерской и конструкторской деятельности Catia (об этом продукте будет рассказано в следующей главе). Скажем только, что система поможет создать плоские чертежи, провести объёмное твердотельное моделирование, спроектировать сложные поверхности, многокомпонентные сборки, трубо-, пневмопроводы, электросеть, рассчитать прочность.

Вот конкретный пример работы системы: на разработку автомобиля Neon, выпущенного в конце 1994 года, американская компания Chrysler Motors затратила всего 31 месяц, опередив японские компании, долгое время державшие планку на отметке в 36 месяцев. Так же системой были полностью созданы электронные прототипы автомобилей Jeep Cherokee, Volvo-960, SAAB-900, ВАЗ 2110 и самолёта Boeing 777. Кстати в последнем случае система позволила сэкономить 15 процентов от всей суммы средств - примерно 8 млн. долларов. Можно ещё долго приводить примеры применения этих программ, но лучше рассмотреть их с точки зрения пользователя, их производительность, актуальность в различных отраслях.

Компания Autodesk разработала 3D Studio. наибольшее распространение этот продукт получил в версии 4.0 для DOS. Данная программа использовалась для создания реалистичных игр, а также первых моделей и спецэффектов в фильмах. Программа хороша своим исполнением, небольшой требовательностью к аппаратным ресурсам, а также сравнительно низкой ценой (ок. 400 дол.) Конечно со временем эта программа стала неактуальной из-за несовместимости с современными системами и довольно слабых возможностей для воплощения мысли. Пришло время мощнейшей системы трёхмерного моделирования и анимации 3D Studio MAX для Windows NT. трехмерное моделирование алгоритм программа

Данный продукт используется для создания современных фильмов, компьютерных программ с применением сложнейшей графики и спецэффектов. Конечно аппаратные средства для этого продукта должны быть исключительными, да и цена не для рядового пользователя (ок. 800 дол. за стандартную версию, 2000 дол. за более профессиональную версию и ок. 4000 дол. за сетевую версию). Подразделение Kinetix создавало этот продукт для профессиональных пользователей, хотя любитель, позволивший себе приобретение этого продукта, может воплотить незатейливые мечты в реальность, изучив некоторые тонкости работы с программой. Для таких пользователей будет достаточно IBM совместимого компьютера с процессором MMX или Pentium II с частотой от 166 и более Мгц. Понадобится мощная графическая карта. Кстати графические карты для программ 3D моделирования имеют совсем иные характеристики нежели мощные карты для современных игр.

Например, профессионалы используют дорогостоящие карты Elsa Gloria или эксклюзивные карты компании Diamond. Естественно 3D Studio MAX не предназначена для инженерных работ. Для этих задач компания Autodesk создала AutoCAD. Данный продукт занимает лидирующую позицию в мировом списке программ такого класса. Неудивительно, ведь он способен выполнять практически все операции, связанные с инженерными системами. Работа этой программы обслуживается тысячами узлов всемирной сети Internet. Система предназначена для профессионалов CAD. Работа в системе рассматривается как совместная работа нескольких компьютеров, выполняющих отдельные функции. Под аппаратные средствами подразумеваются мощнейшие персональные системы, а также компьютеры на базе RISC процессоров.

Известная компания по производству CAD программ Bentley Systems представила программу MicroStation (система интерактивного графического проектирования IGDS), которая занимает второе место после выше описанного AutoCAD. Основное назначение MicroStation - выполнение высокопрофессиональных проектных работ в машиностроении, транспорте, электронике, геодезии и картографии, архитектуре и управлении. Продукт реализован для платформ Intel PC, Apple PowerMac, IBM Power PC и RS/6000, SPARCStation, DEC Alpha и могут использоваться в средах DOS, Windows, OS/2 Warp и Unix.

Вышеприведённая программа Catia рассчитана на платформы S/390, UNIX, AS/400 и PC. Продукт разработан французской авиационной компанией Dassault Aviation и предлагается компанией IBM для проектирования и изготовления деталей на станках с ЧПУ. В шоу-бизнесе ведущую роль в создании рекламных роликов и видеоклипов занимает компания Glassworks. Ядро этой команды составляют специалисты по 3D-моделированию и анимации. Своим успехом они считают использование SoftImage. Программа класса 3D Studio, но более приспособленная для создания видеоклипов. Для использования этой программы компания оснащена рабочими станциями Impact, а также двумя машинами Onyx с графическими картами RE2+ 1 GB RAM и 90 GB дискового пространства.

Выше рассказывалось о проекте "Виртуальный город". Этот уникальный продукт создан с помощью пакета трёхмерного моделирования в реальном времени MultiGen II Pro. Интерфейс и программное обеспечение, реализующее собственно моделирование, функционируют на всей линии оборудования Silicon Graphics, O2, рабочих станций Octane и Onyx. Сейчас на мировом рынке начинает прочно укрепляться программа проектирования компании CAD house подразделения Consistent Software - Pro/Engineer (Про -инженер). Программа выигрывает в цене (1000 дол. с рабочего места) у других аналогичных программ, но её нераскрученность оставляет её на третьем месте после двух вышеприведённых программ компьютерного конструирования. Все приведённые программы относятся к ряду высокопрофессиональных, дорогостоящих, требующих больших аппаратных ресурсов программ. Далее приведены программы, не уступающие по своим возможностям профессиональным программам, для рядового пользователя, желающего заняться 3D моделированием.

Например, компания Fractal Design разработала Fractal Design Detailer - программу обработки поверхностей трёхмерных объектов. Программа помогает создать вполне реалистичные объекты из созданных в других программах, где обработать их сложно по каким-либо причинам. Цена продукта вполне приемлемая (300 дол.).

Аппаратные требования: Pentium 6-го поколения, 20 мб. RAM. Иногда создание отдельных объектов для желающих немного поэкспериментировать становится невозможным из-за неумения использовать ту или иную систему, а у умеющего делать что-либо не всегда есть средства для быстрой обработки хотя бы десятка объектов несложной формы. Для пользователей таких категорий компания MetaTools создала нехитрый генератор ландшафтов

Bryce 2, а затем и Bryce 3D. С помощью этих программ можно создавать вполне реалистичные пейзажи, управлять временами суток, погодными условиями и т.д. Основным плюсом данного продукта является незатейливое управление, понятное если не с первого, то со второго общения с интерфейсом. Возможность анимации, взгляда с разных точек на проекцию. Всё очень удобно и красиво, а главное доступно. При цене в 300-400 дол. программа требует Pentium процессор с графической картой, поддерживающей 3D рендеринг, и около 32 Мб. RAM.

Последнее время на арене появились сразу два продукта, поразившие воображения не только любителей, но и профессионалов. Animatek's World Builder 2.0 - пакет, создающий поистине реалистичные пейзажи, с набором функций, присущем только профессиональным программам. Отличная интеграция с 3D Studio MAX позволяет полностью реализовать плот воображения. Тем не менее продукт считается полупрофессиональным и доступен многим любителям. Основное аппаратное требование - мощная видеокарта.

Второй продукт - World Construction Set 3.0. Пакет опять же генерирует ландшафты, но в такой степени, что кроме него уже не потребуются другие пакеты 3D моделирования, хотя и используется поддержка 3D Studio MAX. Пакет рассчитан на профессионального пользователя и оставляет далеко позади Bryce 3D, находясь на равных разве что с Animatek's World Builder. Превосходит все предыдущие пакеты в степени интеграции с 3D Studio MAX, а также по наличию собственных высокотехнологичных средств визуализации. Пакет работает на платформах PC/ DEC ALPHA/ MAC/ SGI. Данный продукт возвращает нас к профессиональным системам трёхмерного моделирования, а точнее к аппаратным средствам для этих систем. Аппаратные средства на RISC- платформе.

Платформа Silicon Graphics Inc. (SGI) обновилась производством модели PowerONYX, относящейся к старшему семейству выпускаемых компанией графических станций. В этих компьютерах устанавливаются процессоры R8000 (другое название - TFP), выпускаемые Mips Technologies. По предварительным данным, их производительность в четыре раза превосходит быстродействие самого мощного из ранее разработанных процессоров фирмы Mips - R4400.В результате показатели производительности модели PowerONYX с одной микросхемой R8000 (тактовая частота 75 МГц) приблизительно аналогичны таковым для графической станции ONYX Extreme Deskside с двумя процессорами R4400, каждый из которых работает на частоте 150 МГц, а цена её даже несколько ниже: 102 тыс. против 107 тыс. долл. - в конфигурации с 64 Мбайт ОЗУ, жёстким диском объёмом 2 Гбайт и графической системой Extreme.

При этом новая станция явно превосходит своих предшественников по возможностям расширения аппаратной конфигурации, а заявленная компанией производительность при установке в этот компьютер 12 процессоров (максимально возможное число) составляет 3.6 Гфлоп. Модель PowerONYX поставляется с графической системой Reality Engine 2 (RE2) или Extreme. Наращивая вычислительные мощности высокопроизводительных графических станций, SGI не забывает и о младших моделях. Так, фирма анонсировала перенос на компьютеры Indy графического ускорителя XZ и предложила вниманию посетителей демонстрационный вариант новой системы. Был показан и жидкокристаллический экран для станций Indy, обеспечивающий разрешение 1280*1024 точек при 24- разрядном кодировании цвета. В целом эти разработки явно указывают на стремление SGI реализовать быструю высококачественную графику на сравнительно недорогих моделях рабочих станций.

Между тем вопрос о том, насколько успешным будет продвижение на рынок компьютеров Indy, пока остаётся открытым: стоимость системы при наличии графического ускорителя XZ составляет 33 тыс. долл., тогда как за 38 тыс. долл. уже можно приобрести станцию следующего класса- Indigo 2, которая выгодно отличается от Indy широкими возможностями расширения (посредством установки дополнительных плат), а также наличием специальной системы охлаждения. Indigo 2 допускает и использование нового процессора R8000. Была продемонстрирована также видеосистема Sirius Video для платформы Silicon Graphics, которая способна взаимодействовать с графическими ускорителями VTX и RE2, обеспечивающими наложение текстур на трёхмерные объекты с возможностью последующего просчёта кадров в реальном времени, причём все эти функции реализованы на аппаратном уровне.

Новая плата в качестве текстуры "предлагает" системам VTX и RE2 "живое" видео, которое затем можно подвергнуть любым операциям, применимым к обычной текстуре. Из других отличительных особенностей Sirius Video следует упомянуть поддержку любых типов видеосигналов, включая цифровые, а также одновременное обслуживание при их вводе и выводе двух внешних устройств. Единственная проблема, связанная с применением этой видеосистемы, заключается в отсутствии на сегодняшний день специального ПО, которое обеспечило бы выполнение всего спектра операций с видеосигналами и сделало ненужным монтажное оборудование, загромождающее современные студии.

Подводя итог обзору аппаратного обеспечения класса high-end, следует подчеркнуть явное доминирование платформы SGI. Несмотря на наличие отдельных разработок у других известных производителей (IBM, DEC), господство компании Silicon Graphics в данном секторе рынка остаётся незыблемым. Об этом свидетельствует постоянный рост объёмов продаж продукции фирмы, который, в 1993 г. составил 36 % (по отношению к 1992 г.). Тем не менее Silicon Graphics стремиться распространить своё влияние и на другие области вычислительной индустрии, выпуская серверы для локальных сетей, а также предлагая решения для САПР. Несмотря на это ПК с процессором Intel продолжает оставаться наиболее распространённой платформой в сфере компьютерной графики и анимации.

1.2 Назначение и область применения

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

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

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

Глава 2. Описание алгоритма программы

2.1 Описание функций составных частей и связи между ними

Схема проекта в "крупном плане":

§ описание новых типов, констант, переменных;

§ инициализация графики;

§ процедура вращение по оси x;

§ процедура вращение по оси y;

§ процедура вращение по оси z;

§ процедура рисования куба на экране;

§ основная программа.

Описание новых типов, констант, переменных:

§ тип "point_position" представляет запись из трех полей x, y, z с типом "real", используется для координаты точки;

§ тип "plane_position" это массив из пяти элементов с типом состоящий из трех полей типа "real", используется для точек грани;

§ тип "cube_cordinates" это двух мерный массив, состоящий из 30 элементов в каждом по 3 поля.

В глобальных переменных "cosp", "sinp", "sinm" будут храниться числа углов поворота вычисляемой процедурой "alpha".

Константа "mashtabm" для удобства задания масштаба куба.

Константа "colorbkdispley" для цвета фона, на котором будет рисоваться куб и цвета закрашивание ребер куба, чтобы не было его видно.

Cube это двух мерный массив в нем записаны координаты вершин куба состоящий из шести граней в каждой грани по пять точек вершины и центр.

Инициализация графики. Инициализацию графики выполняет процедура "opengraph".

Переменная "driver" используется для хранения драйвера, "mode" для кода разрешения экрана данного графического драйвера, error для кода ошибки.

Переменная "exit" типа "boolean" используется для выхода из цикла выбора пунктов меню.

Переменная "key" для хранения символа пункта меню.

Алгоритм процедуры "opengraph;":

1. Для переменной "driver" указываем значение "detect". Благодаря этому Паскаль определит драйвер адаптера автоматически. Для переменной "mode", которая отвечает за режим работы адаптера, мы не будем указывать значение. Поэтому режим работы адаптера будет выбираться с самым высоким разрешением (по умолчанию);

2. Выводим сообщения (меню) процедурой вывода "writeln();"

3. Задаем цикл для меню. Условием выхода из цикла "exit = true" т.е пока не будет выбрано предложенное действие меню цикл будет повторятся. Задаем оператор выбора "case" состоящий из двух вариантов. Для первого присваиваем переменной "exit" значение "true" для выхода из цикла. В 2-ом варианте завершаем работу программы процедурой "halt". Если нажата клавиша, несоответствующая пункту меню, выводим сообщение об ошибке и присваиваем переменной "exit" значение "false", начинаем цикл заново;

4. Переключаем дисплей в графический режим работы адаптера процедурой initgraph(driver, mode, ' '). Где: Первый параметр определяет тип графического драйвера; второй параметр, задающий режим графического адаптера значение переменной "mode" c соответствием выбора пользователя; третий параметр для маршрута поиска графического драйвера в данном случае без указания драйвер должен находиться в корневом каталоге программы;

5. Возвращаем код ошибки инициализации графического режима функцией "graphresult" (если ошибки нет, результат будет равняться 0, если есть, то результат будет от -1 до -14) и присваиваем его переменной error;

6. Проверяем инициализацию на ошибку, сравнивая переменную "error" c нулем и зависимости от результата, условным оператором "if" выбираем дальнейшие действия:

Ш если есть ошибка (результат не равен 0) выводим несколько сообщений (информация об ошибке) и завершаем работу программы процедурой "halt";

Ш если ошибки нет (результат равен 0) заканчиваем работу данной процедуры.

Процедуры вращения по осям x,y,z. Процедуры вращения перебирают все элементы массива и меняют координаты куба матрицами поворота:

Что бы при вызовах этих процедур каждый раз не делать вычисление: , и .

Делать будет эти вычисления процедура alpha.

угол поворота равен .

процедура "rotx" - поворот по оси "x":

;

;

.

Переменные "y, z" для запоминания новых координат, а "i, j" для работы цикла перебора массива куба.

Алгоритм процедуры "rotx":

1. Задаем цикл от 1 до 6 оператором for;

2. Задаем цикл от 1 до 5 оператором for;

3. Вычисляем новые координаты по оси "y" согласно формуле и присваиваем переменной "y";

4. Вычисляем новые координаты по оси "z" согласно формуле и присваиваем переменной "z";

5. Записываем новые координаты в массив "cub" с компонентой "y", присваивая значение переменной "y";

6. записываем новые координаты в массив "cub" с компонентой "z", присваивая значение переменной "z".

Процедура "rotz" - поворот по оси "y":

;

.

Переменные "x, z" для запоминания новых координат, а "i, j" для работы цикла перебора массива куба.

Алгоритм процедуры "rotx":

1. Задаем цикл от 1 до 6 оператором for;

2. Задаем цикл от 1 до 5 оператором for;

3. Вычисляем новые координаты по оси "x" согласно формуле и присваиваем переменной "x";

4. Вычисляем новые координаты по оси "z" согласно формуле и присваиваем переменной "z";

5. Записываем новые координаты в массив "cub" с компонентой "x", присваивая значение переменной "x";

6. Записываем новые координаты в массив "cub2 с компонентой "z", присваивая значение переменной "z".

Процедура "rotz" - поворот по оси "z":

,

.

Переменные "x, y" для запоминания новых координат, а "i, j" для работы цикла перебора массива куба.

Алгоритм процедуры "rotx":

1. Задаем цикл от 1 до 6 оператором for;

2. Задаем цикл от 1 до 5 оператором for;

3. Вычисляем новые координаты по оси "x" согласно формуле и присваиваем переменной "x";

4. Вычисляем новые координаты по оси "y" согласно формуле и присваиваем переменной "y";

5. Записываем новые координаты в массив "cub" с компонентой "x", присваивая значение переменной "x";

6. Записываем новые координаты в массив "cub" с компонентой "y", присваивая значение переменной "y".

Процедура alpha. Процедура вычисляет углы поворота:

, , .

и присваивает результат внешним переменным "cosp", "sinp", "sinm".

Алгоритм процедуры "alpha;":

1. Вычисляем и присваиваем результат глобальной переменной "cosp":

;

2. Вычисляем и присваиваем результат глобальной переменной "sinp":

;

3. Вычисляем и присваиваем результат глобальной переменной "sinm":

.

Процедура mashtab. "mashtab" (m: real) увеличивает размер куба, где параметр "m" число, на которое нужно увеличить куб в данной программе он равняется константе "mashtabm".

Эта процедура перебирает элементы массива и умножает каждый компонент (x,y,z) элемента на константу "mashtabm".

Переменные "x, z, y" используются для хранения новых координат.

Переменные "i, j" используются для работы оператора повтора "for".

Алгоритм процедуры "mashtab" (m: real):

1. Задаем цикл от 1 до 6 оператором for;

2. Задаем цикл от 1 до 5 оператором for;

3. Умножаем значение элемента массива с полем "x" (cube [i,j].x) на значения параметра m процедуры "mashtab" (m) и присваиваем результат переменной "x";

4. Умножаем значение элемента массива с полем "y" (cube [i,j].y) на значения параметра "m" процедуры "mashtab" (m) и присваиваем результат переменной "y";

5. Умножаем значение элемента массива с полем "z" (cube [i,j].z) на значения параметра m процедуры "mashtab" (m) и присваиваем результат переменной "z";

6. Присваиваем значение "x" в элемент массива с полем "x" (cube [i,j].x);

7. Присваиваем значение "y" в элемент массива с полем "y" (cube [i,j].y);

8. Присваиваем значение "z" в элемент массива с полем "z" (cube [i,j].z).

Процедура display_cube. "display_cube" (displeytf: boolean) рисует куб на экране.

Здесь параметр "displeytf", если он равен "true" - рисует куб белым цветом, "false" - цветом фона для удаления рисунка куба.

Переменные "i" и "j" используются для работы оператора повтора "for", переменная c используется для хранения кода цвета.

"Vertex" массив, состоящий из 4-х элементов с типом "pointtype", представляющего собой запись с двумя полями типа integer, то есть в каждом элементе два поля типа "integer". Используется для записи координат одной плоскости куба.

Алгоритм процедуры display_cube (displeytf):

1. Задаем цикл от 1 до 6 оператором for;

2. Сравниваем центральную точку первой грани с полем "z" cube [1,5], z с числом ноль и в зависимости от результата, условным оператором "if" выбираем дальнейшие действия:

Ш если cube [1,5].z равно или меньше 0 то грань куба невидно, переходим к следующей грани cube [2,5].z и т. д;

Ш если cube [i,5].z больше нуля грань видно тогда переходим к третьему пункту.

3. Проверяем параметр "displeytf" процедуры "display_cube()" и в зависимости от результата, условным оператором "if" выбираем дальнейшие действия:

Ш если "displeytf= true" грани куба рисуем белым цветом, к переменной "с" присваиваем код цвета белый;

Ш если "displeytf= false" грани куба рисуем цветом фона экрана, к переменной "с" присваиваем значения глобальной переменной "colorbkdispley";

4. Устанавливаем цвет линий процедурой "setcolor(c);" (с - в зависимости от результата 3-го пункта);

5. Задаем цикл от 1 до 4 оператором for;

6. Вычисляем центр по горизонтали и перемещаем точку относительно центра и записываем координату в массив "vertex" с элементом "j" и полем "x". Здесь используется функция "getmaxx", которая возвращает максимальные координаты экрана в текущем режиме работы по горизонтали, далее делим с помощью "div" (целочисленное деление) на 2 и прибавляем округленное значение вещественного типа до значения целочисленного типа функцией "round(cube [i,j].x)" (где cube [i,j].x элемент массива куба с полем "x" - координата x элемента "i, j");

7. Вычисляем центр по вертикали и перемещаем точку относительно центра и записываем координату в массив "vertex" с элементом "j" и полем "y". Здесь используется функция "getmaxy", которая возвращает максимальные координаты экрана в текущем режиме работы по вертикали, далее делим с помощью "div" (целочисленное деление) на 2 и прибавляем округленное значение вещественного типа до значения целочисленного типа функцией "round(cube [i,j].y)" (где cube [i,j].y элемент массива куба с полем "y" - координата y элемента "i, j");

8. Рисуем 4 линии по точкам, записанным в массиве "vertex" процедурами line(vertex [j].x, vertex [j].y, vertex [j].x, vertex [j].y). Первые и вторые параметры, начальные координаты "x, y," третьи и четвертые параметры, конечные координаты "x, y".

Основная программа:

1. Переключаем дисплей в графический режим (процедура opengraph;);

2. После нажатие на клавишу "Enter" очищаем экран процедурой "cleardevice;" модуля "graph;"

3. Процедурой "setbkcolor" задаем цвет фона, используя константу "colorbkdispley", которая одновременно задает цвет закрашивание ребер куба, чтоб не было его видно;

4. Потом вычисляем углы поворота и присваиваем их глобальным переменным "cosp", "sinp", "sinm" процедурой "alpha;"

5. Задаем размер куба процедурой "mashtab"; для удобства используем константу "mashtabm", изначально размер куба равен двум пикселям от -1 до 1;

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

· рисуем куб процедурой "display_cube" с условием истина (белым цветом);

· приостанавливаем выполнение программы на указанные миллисекунды процедурой "delay(600)" (с параметром задержки в миллисекундах) используется как замедлитель вращения;

· удаляем куб закраской цветом фона этажей процедурой "display_cube" с параметром ложь;

· поворачиваем по оси "z" процедурой "rotz";

· поворачиваем по оси "x" процедурой "rotx";

· поворачиваем по оси "y" процедурой "roty";

· повторяем цикл заново, пока не будет нажата любая клавиша.

7. Переводим дисплей с графического режима в текстовый режим, процедурой "closegraph".

Конец программы.

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

· При компиляции, листинг программы должен находиться в одном каталоге с драйвером адаптера.

· После запуска будет предложено два пункта меню "Запуск" (клавиша 1) и "Выход" (клавиша 2). Пункт 1 запускает программу в графическом режиме и отображает вращение трехмерного куба. Пункт 2 возвращает программу в начало.

· Завершает работу программы любая нажатая клавиша.

2.3 Блок-схемы

Процедура rotx

Процедура roty

Процедура rotz

Процедура alpha

Процедура mashtab

Процедура display_cube

Процедура program

Заключение

Данный курсовой проект предназначен для демонстрации основных принципов моделирования вращения трехмерных объектов. Для примера выбрана одна из наиболее не сложных задач: продемонстрировать на экране трехмерный куб, вращающийся по осям x, y, z. Как следствие детально обсуждался ряд основных сложностей, возникающих при реализации построения сложных графических объектов. Кроме того, был рассмотрен ряд алгоритмов и путей реализации задач моделирования. В ходе выполнения курсовой работы были углублено, изучены модуль "graph" и "crt".

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

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

Список литературы

1. Вирт Н. Алгоритмы и структуры данных, 2009.

2. Зуев Е. Язык программирования TurboPascal, 2003.

3. Иванова Г.С. Основы программирования, 2005.

4. Культин Н. TurboPascal в задачах и примерах, 2009.

5. Лукин С.Н. TurboPascal 7.0 Самоучитель, 2006.

6. Меженный О. Самоучитель TurboPascal, 2006.

7. Немнюгин С.А. TurboPascal Программирование на языке высокого уровня. - Питер, 2007.

8. Немнюгин С.А. TurboPascal, 2002.

9. Окулов С. Основы программирования, 2009.

10. Павловская Т.А. Программирование на языке высокого уровня, 2005.

11. Рапаков Г.Г. Ржеуцкая С.Ю. Программирование на языке Pascal, 2009.

12. Сафьянова Е.Н. "Основы алгоритмизации и программирования". - Томск, 2000.

13. Фаронов Валерий. TurboPascal - наиболее полное руководство.

14. Эйнджел Эдвард "Интерактивная компьютерная графика на базе OpenGL". - Москва, 2001.

15. Справочник по модулям TurboPascal с примерами переведенный на русский язык.

Приложение 1. Листинг программы

program cub_3d;

uses crt, graph; {подключение модулей}

type

point_position = record {тип с 3 полями типа real}

x, y, z: real;

end;

plane_position = array [1..5]of point_position; {тип массив для точек грани}

cube_cordinates = array [1..6]of plane_position; {двух мерный массив 30 элементов в каждом по три поля}

var

cosp, sinp, sinm: real; {переменные для углов поворота}

const

mashtabm=60;

colorbkdispley=0; {для цвета фона дисплея и удаление объекта}

cube: cube_cordinates = (

((x: -1; y: -1; z: +1),

(x: +1; y: -1; z: +1),

(x: +1; y: +1; z: +1),

(x: -1; y: +1; z: +1),

(x: 0; y: 0; z: +1)),

((x: -1; y: -1; z: -1),

(x: +1; y: -1; z: -1),

(x: +1; y: -1; z: +1),

(x: -1; y: -1; z: +1),

(x: 0; y: -1; z: 0)),

((x: -1; y: +1; z: +1),

(x: +1; y: +1; z: +1),

(x: +1; y: +1; z: -1),

(x: -1; y: +1; z: -1),

(x: 0; y: +1; z: 0)),

((x: -1; y: -1; z: -1),

(x: -1; y: -1; z: +1),

(x: -1; y: +1; z: +1),

(x: -1; y: +1; z: -1),

(x: -1; y: 0; z: 0)),

((x: +1; y: -1; z: +1),

(x: +1; y: -1; z: -1),

(x: +1; y: +1; z: -1),

(x: +1; y: +1; z: +1),

(x: +1; y: 0; z: 0)),

((x: -1; y: +1; z: -1),

(x: +1; y: +1; z: -1),

(x: +1; y: -1; z: -1),

(x: -1; y: -1; z: -1),

(x: 0; y: 0; z: -1))); {координаты куба}

procedure opengraph; {процедура инициализация графики}

var

driver, mode, error: integer; {driver для выбора драйвера, mode для выбора режима, error для кода ошибки}

exit: boolean; {для выхода из цикла меню}

key: char; {для выбора пунктов меню}

begin

driver:= detect;

{меню для выбора разрешение экрана}

writeln('Выберите одно из следующих действий':57);

writeln;

writeln('1. Запуск':31);

writeln('2. Выход':30);

{цикл для меню}

repeat

key:=readkey;{ввод с клавиатуры и присваивание символа без записи его на экране}

case key of {присваивает переменной mode разряд (разрешение экрана)}

'1': begin

exit:= true;

end;

'2': begin

halt; {процедура останавливает работу программы}

end;

else

writeln('Ошибка! Выберите запуск (клавиша 1) или выход из программы (клавиша 2)!');

exit:= false;

end;

until exit = true;

initgraph(driver, mode, ''); {Процедура инициирует графический режим работы адаптера}

error:= graphresult; {функция возвращает код ошибки}

if error <> 0 then {проверка на ошибку}

begin

writeln('Ошибка инициализации графического режима');

writeln(grapherrormsg (error)); {функция grapherrormsg (error) выводит текстовое сообщение ошибки}

writeln('код ошибки = ', error);

writeln('нажмите "Enter" для завершения работы программы');

readln;

halt; {процедура останавливает работу программы}

end;

end;

procedure rotx; {процедура поворачивает объект по оси x}

var

y, z: real;

i, j: integer;

begin

for i:= 1 to 6 do

for j:= 1 to 5 do

begin

y:= cosp * cube [i,j].y + sinp * cube [i,j].z; {вычисляет новые координаты y,z}

Z:= sinm * cube [i,j].y + cosp * cube [i,j].z;

cube [i,j].y:=y; {присваиваем новые координаты}

cube [i,j].z:=z;

end

end;

procedure roty; {процедура поворачивает объект по оси y}

var

x, z: real;

i, j: integer;

begin

for i:= 1 to 6 do

for j:= 1 to 5 do

begin

x:= cosp * cube [i,j].x + sinm * cube [i,j].z; {вычисляет новые координаты x,z}

Z:= sinp * cube [i,j].x + cosp * cube [i,j].z;

cube [i,j].x:=x; {присваиваем новые координаты}

cube [i,j].z:=z;

end

end;

procedure rotz; {процедура поворачивает объект по оси z}

var

x, y: real;

i, j: integer;

begin

for i:= 1 to 6 do

for j:= 1 to 5 do

begin

x:= cosp * cube [i,j].x + sinp * cube [i,j].y; {вычисляет новые координаты x,y}

y:= sinm * cube [i,j].x + cosp * cube [i,j].y;

cube [i,j].x:=x; {присваиваем новые координаты}

cube [i,j].y:=y;

end

end;

procedure alpha; {процедура вычисляет углы поворота}

begin

cosp:= cos(6 * 2 * pi / 360);

sinp:= sin(6 * 2 * pi / 360);

sinm:= sin(-6 * 2 * pi / 360);

end;

procedure mashtab (m: real); {процедура изменяет масштаб объекта}

var

x,z,y: real;

i,j: integer;

begin

for i:=1 to 6 do

for j:=1 to 5 do

begin

x:=cube [i,j].x*m;

y:=cube [i,j].y*m;

z:=cube [i,j].z*m;

cube [i,j].x:=x;

cube [i,j].y:=y;

cube [i,j].z:=z;

end;

end;

procedure display_cube (displeytf: boolean); {процедура выводит объект на экран (true - белым цветом, false - цветом фона)}

var

i,j: integer;

c: byte;

vertex: array [1..4]of pointtype;

begin

for i:= 1 to 6 do

if cube [i,5].z > 0 then

begin

if displeytf = true then

c:= white

else

c:= colorbkdispley;

setcolor(c);

for j:= 1 to 4 do

begin

vertex [j].x:= getmaxx div 2 + round(cube [i,j].x);

vertex [j].y:= getmaxy div 2 + round(cube [i,j].y);

end;

line(vertex [1].x, vertex [1].y, vertex [2].x, vertex [2].y);

line(vertex [2].x, vertex [2].y, vertex [3].x, vertex [3].y);

line(vertex [3].x, vertex [3].y, vertex [4].x, vertex [4].y);

line(vertex [4].x, vertex [4].y, vertex [1].x, vertex [1].y);

end;

end;

{основная программа}

begin

clrscr;

opengraph;

cleardevice; {процедура очищает графический экран}

setbkcolor (colorbkdispley); {задает цвет фона дисплея}

alpha;

mashtab (mashtabm);

repeat

display_cube(true);

delay(600); {процедура приостанавливает выполнение программы на указанные миллисекунды}

display_cube(false);

rotz;

roty;

rotx;

until keypressed;

closegraph;

end.

Приложение 2. Результат работы

После выбора пункта меню "Запуск" будет выведен на экран трехмерный куб, который будет вращаться по осям x, y, z как показано ниже.

Размещено на Allbest.ru

...

Подобные документы

  • Основы программирования на языке VB.NET. Область применения трехмерных изображений. Форматы хранения пакетов инженерной графики. Преимущества трехмерного моделирования. Разработка программы по вращению трехмерных изображений на языках VB.NET и VRML.

    курсовая работа [195,1 K], добавлен 11.03.2013

  • Определение понятия трехмерной компьютерной графики. Особенности создания 3D-объектов при помощи булевых операций, редактируемых поверхностей, на основе примитивов. Моделирование трехмерных объектов при помощи программного пакета Autodesk 3ds Max.

    дипломная работа [4,2 M], добавлен 13.04.2014

  • Характеристика программы для реализации проектов, созданных в формате трехмерного моделирования. Классификация кривых 2-го порядка. Построение окружности, эллипса, гиперболы и параболы в системе координат с помощью программного обеспечения 3D MAX.

    контрольная работа [667,7 K], добавлен 18.01.2014

  • Моделирование объектов САР, объекта управления. Особенности параметрической оптимизации. Описание пакета ИМОДС: назначение и функции, система файлов, структура меню пользователя. Описание программы и моделируемых объектов. Оценка параметров системы.

    курсовая работа [1,3 M], добавлен 16.02.2013

  • Значение вербальных и знаковых информационных моделей для исследования объектов, процессов, явлений. Роль метода формализации в процессе создания компьютерной модели. Использование программы AutoCAD для трехмерного моделирования и визуализации объекта.

    курсовая работа [866,5 K], добавлен 08.01.2015

  • Моделирующие программы системы GPSS WORLD. Блоки и транзакты - типы объектов системы. Событийный метод моделирования. Проект моделирования работы в библиотеке, его анализ с помощью среды GPSS WORLD. Описание процесса и метода моделирование системы.

    курсовая работа [227,4 K], добавлен 16.08.2012

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

    курсовая работа [159,8 K], добавлен 26.01.2010

  • Назначение компьютерной графики. Особенности трехмерной анимации. Технология создания реалистичных трехмерных изображений. Компьютерная графика для рисования на SGI: StudioPaint 3D. Пакет PowerAnimator как одна из программ трехмерной анимации на SGI.

    реферат [25,7 K], добавлен 31.03.2014

  • Основные показатели, используемые для оценки тормозных свойств автомобиля. Расчет длины тормозного пути. Описание структуры и принципа работы программы для моделирования торможения автомобиля, реализованной на языке C#. Блок-схема и листинг программы.

    курсовая работа [535,5 K], добавлен 22.05.2013

  • Необходимость создания моделируемой системы. Описание моделируемой системы и задание моделирования. Структурная схема модели системы. Блок–диаграмма. Текст программы. Описание текста программы. Результаты моделирования. Эксперимент, его результаты.

    курсовая работа [35,9 K], добавлен 19.11.2007

  • Разработка эскизного и технического проектов программы "Шифр Цезаря": назначение и область применения, описание алгоритма, организация входных и выходных данных. Выбор состава технических и программных средств, разработка, тест и внедрение программы.

    курсовая работа [563,7 K], добавлен 15.07.2012

  • Анализ существующих программ трехмерного моделирования. Сравнение программ для создания трехмерной графики. Технологии трехмерного моделирования в Cinema 4D. Проект создания текстовой анимации на основе инструментов "Organicball", "Formula" и "Cloud".

    дипломная работа [2,4 M], добавлен 14.11.2017

  • Основные принципы моделирования систем массового обслуживания (СМО) на ЭВМ. Разработка моделирующего алгоритма и составление блок-схемы имитации торгового центра на ПЭВМ. Программа моделирования торгового центра на одном из языков программирования.

    лабораторная работа [77,4 K], добавлен 15.06.2010

  • Преобразование матрицы по заданным правилам. Методика работы с массивами, основанная на классических алгоритмах. Разработка и описание блок-схемы алгоритма. Листинг программы, экраны работы и отладки программы. Инструкция для пользователей программы.

    контрольная работа [338,4 K], добавлен 29.01.2013

  • Описание логической структуры программы "perevod" для перевода числа из одной системы счисления в другую. Блок-схема алгоритма обработчика события Button1Click. Разработка и испытание приложений. Назначение и условия применения программы, листинг.

    курсовая работа [945,5 K], добавлен 03.01.2011

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

    курсовая работа [700,6 K], добавлен 26.01.2010

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

    курсовая работа [209,7 K], добавлен 28.06.2011

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

    курсовая работа [1,3 M], добавлен 26.04.2015

  • Разработка функциональной и принципиальной схемы. Выбор управляющего контроллера. Описание МК PIC16F626, МК AVR, МК 51. Выбор элементной базы. Разработка управляющей программы. Описание алгоритма работы программы. Схема устройства, листинг программы.

    курсовая работа [492,9 K], добавлен 28.12.2012

  • Основы классификации объектов, их типы и подходы к моделированию. Программные и технические средства, используемые в данном процессе. Этапы моделирования, их общее описание и значение: постановка задачи, разработка модели, компьютерный эксперимент.

    реферат [36,3 K], добавлен 23.12.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.