Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Топ:
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Интересное:
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Дисциплины:
2021-04-19 | 88 |
5.00
из
|
Заказать работу |
|
|
После открытия программы Microsoft VisualStudio 2005 нужно создать новый проект, выбрав среди языков программированияVisualBasic, затем WindowsApplication.
На экране появилось окно- форма, на который в дальнейшем будет отображаться и вращаться куб. Теперь с помощью TextBox создаются четыре кнопки, с помощью которых будет вращаться куб вверх, вниз, вправо и влево.
Сначала в самом теле программы необходимо объявить все глобальные переменные(до стандартной функции Form_Load).
В программе объявлены глобальные переменные, определяющие центр экрана, угол поворота куба, все координаты вершин куба (в двумерном и трехмерном пространстве), параметры куба (ширина, высота, глубина), массив для считывания данных с файла.
Далее, после Form_Load, создается функция vvod() для считывания параметров куба с текстового файла формата *.txt.
В этой функции считывание строк с файла осуществляет оператор sw.ReadLine(), а разбиение Mid(a, j, 1), гдеa-строка, j-номер символа, с которого записывать.
Функция val() осуществляет присвоение значений переменным, так же вычисляет координаты центра в трехмерных координатах, используя формулы.
(22)
(23)
Вместо половины ширины экрана использовано произвольное значение 300.
Функция val() позволяет вращать влево и вправо куб при помощи формул
(24)
(25)
Таким образом, переменная angle1 отвечает за поворот вниз, а angle за поворот вверх.
Функция val1() используется при повороте вправо и влево, соответственно переменными angle1 и angle, которые при каждом нажатии на кнопки, либо увеличиваются, либо уменьшаются.
С помощью кнопок Button_Click составлены четыре процедуры, в которых происходит вращение.
В Button1_Click и Button3_Click вызывается функция val() для присвоения значений переменным и изменения угла. Затем в функции вычисляются координаты всех вершин куба с помощью формул. Рассмотрим одну из вершин:
|
(26)
(27)
(28)
Все координаты отсчитываются относительно центра экрана, с использованием заданных с файла параметров куба (ширины, высоты и глубины).
Далее осуществляется вращение каждой вершины с помощью формул вращения вокруг осей, описанных в предыдущей главе.
Далее создается объект p для рисования и очистка экрана.
Dim p As Graphics = Me.CreateGraphics
p.Clear(Color.White)
Затем с помощь DrawPolygon выводится изображение куба на форму в виде 6 прямоугольников.
В Button2_Click и Button4_Click отличается от предыдущего тем, что вначале вызывается функция val1(), которая осуществляет поворот влево и вправо.
Так как программа считывает данные с файла, необходимо создать текстовый файл в каталоге программы WindowsApplication7\bin\Debug\. В этом файле в первой строке требуется указать три координаты прямоугольника через пробел (строку необходимо начать с пробела и после написания трех координат тоже поставить пробел). Например: 234 250 300.
|
|
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!