Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Топ:
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Интересное:
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
2021-04-19 | 59 |
5.00
из
|
Заказать работу |
|
|
Программа написана в конструкторе Vrmlpad. В заголовке указана версия программы-просмотра кода - 2.0, в кодировке Юникод.
С помощью объекта Shape и его свойства geometry Box нарисован прямоугольник с размерами ширина - 1, длина - 1, высота - 1. Свойство diffuseColor окрашивает прямоугольник в зеленый цвет.
Файл имеет расширение *.vrml и может быть просмотрен в любом плагине для браузера, например в CORTONA3D
ЗАКЛЮЧЕНИЕ
В курсовой работе разработана программа, которая выполняет вращение куба, параметры которого задаются из файла, с учетом перспективы.
Несколько планов на доработку кода программы:
¾ Фигуру куба можно доработать до модели здания. Для этого нужно куб разбить на необходимое количество горизонтально расположенных прямоугольников-этажей. Такая программа может выполнять задачи, связанные необходимостью сэкономить материалы, то есть, например, будет рисовать наиболее короткий путь проложения электрической проводки
¾ Так же фигуру куба можно использовать как склад. Для этого нужно разбить куб на необходимое количество кубиков, которые будут соответствовать ящикам на складе. Такая программа будет выполнять задачи с поиском необходимого ящика, который, возможно, будет лежать в самой труднодоступной области.
Язык трехмерный инженерный графика
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ
1. Трусов M. А. VisualBasic.NET. Создание графических объектов и основы программирования- M.: HT Пресс, 2006. - 160 с.
2. Джамбруно М..Трёхмерная графика и анимация. В 2 т. Т. 2 - М.: Вильямс, 2002. - 640 с.
. Сайлер Б. Использование VisualBasic 6. / Брайан Сайлер, ДжеффСпоттс- М.: Вильямс, 2007. - 832 с.
. ИвановВ. П.. Трёхмерная компьютерная графика /В. П. Иванов, А. С. Батраков; под ред. Г. М. Полищука. - М.:Радио и связь, 1995. - 224 с.
|
. Жарков В.А. Компьютерная графика, мультимедиа и игры на VisualC#2005.-М.:Жарков Пресс,2005.-812с.
. Сафронов И. Visual Basic в задачах и примерах./ И.Сафронов- БХВ-Петербург. - СПб: «БХВ-Петербург», 2008. - 400 с.
. Ананьев А. Самоучитель VisualBasic 6.0/А.Ананьев,А.Федоров-М.: BHV - Санкт - Петербург,2000.- 624 с.
8. Графические форматы [Электронный ресурс]: Свободная экциклопедия - Режим доступа к энциклопедии.: <http://ru.wikipedia.org/wiki> - Загл. с экрана.- яз. рус.,англ. и др.
. Visual Basic.NET [Электронный ресурс]: Свободная экциклопедия - Режим доступа к энциклопедии.: <http://ru.wikipedia.org/wiki> - Загл. с экрана.- яз. рус., англ. и др.
10. VRML-с чего начать [Электронный ресурс]: Свободный ресурс- Режим доступа: <http://vrml.org.ru/htm/first/>- Загл. с экрана- яз. рус.
ПРИЛОЖЕНИЯ
ПРИЛОЖЕНИЕ 1
Программа на языке VisualBasic.NET “Вращение куба”
Class Form1CenterPX, CenterPY, CenterPZ As Single 'центрcPX, cPY As Singleangle As Singleangle1 As Singleax1, ay1, az1, ax1R, ay1R, az1R, ax1D, ay1D, az1D As Single 'координатывершинкубаax2, ay2, az2, ax2R, ay2R, az2R, ax2D, ay2D, az2D As Singleax3, ay3, az3, ax3R, ay3R, az3R, ax3D, ay3D, az3D As Singleax4, ay4, az4, ax4R, ay4R, az4R, ax4D, ay4D, az4D As Singleax5, ay5, az5, ax5R, ay5R, az5R, ax5D, ay5D, az5D As Singleax6, ay6, az6, ax6R, ay6R, az6R, ax6D, ay6D, az6D As Singleax7, ay7, az7, ax7R, ay7R, az7R, ax7D, ay7D, az7D As Singleax8, ay8, az8, ax8R, ay8R, az8R, ax8D, ay8D, az8D As SingleCHIR, VIC, GLUB As Integer 'параметрыкубаar(1000) As Integer 'массивдлявводачиселсфайлаx1, y1, z1 As Singlen As Integer = 300z0 As Single = 300Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadSubSub vvod() ''вводчиселсфайла
'открываетфайлдлячтенияsw As IO.StreamReader = New IO.StreamReader("D:\22.txt", True)a As Stringj As Long, st As String, c As Integer = 0, i As Integer
= sw.ReadLine()
= 1 ' первый пробел в строкеj = 1 To Len(a) 'Mid(a, j, 1) = " " Then= c + 1Preserve ar(c) ' изменение размера массива числами()(c) = Mid(a, st, 3)= j + 1If
.Close()Sub
val()()= ar(2)= ar(3)= ar(4)
'координатыцентра= 300: CenterPY = 300: CenterPZ = 300
''экранныекоординат= 300 * CenterPX / CenterPZ= 300 * CenterPY / CenterPZ= 40= 40= 40= angle + 2= angle1 - 2Subval1()()= ar(2)= ar(3)= ar(4)
'координатыцентра= 300: CenterPY = 300: CenterPZ = 300
''экранныекоординат= 300 * CenterPX / CenterPZ= 300 * CenterPY / CenterPZ= 40= 40= 40= angle - 2= angle1 + 2Sub
Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
|
''вниз()
'координаты вершин верхней грани= -0.5 * CHIR: ay1 = -0.5 * GLUB: az1 = 0.5 * VIC= 0.5 * CHIR: ay2 = -0.5 * GLUB: az2 = 0.5 * VIC= 0.5 * CHIR: ay3 = 0.5 * GLUB: az3 = 0.5 * VIC= -0.5 * CHIR: ay4 = 0.5 * GLUB: az4 = 0.5 * VIC
'координатывершиннижнейграни= -0.5 * CHIR: ay5 = -0.5 * GLUB: az5 = -0.5 * VIC= 0.5 * CHIR: ay6 = -0.5 * GLUB: az6 = -0.5 * VIC= 0.5 * CHIR: ay7 = 0.5 * GLUB: az7 = -0.5 * VIC= -0.5 * CHIR: ay8 = 0.5 * GLUB: az8 = -0.5 * VIC
'вращение вершин вокруг OX
'верхняя граньR = ax1R = az1 * Math.Sin(angle1) + ay1 * Math.Cos(angle1)R = az1 * Math.Cos(angle1) - ay1 * Math.Sin(angle1)
R = ax2R = az2 * Math.Sin(angle1) + ay2 * Math.Cos(angle1)R = az2 * Math.Cos(angle1) - ay2 * Math.Sin(angle1)
R = ax3R = az3 * Math.Sin(angle1) + ay3 * Math.Cos(angle1)R = az3 * Math.Cos(angle1) - ay3 * Math.Sin(angle1)
R = ax4R = az4 * Math.Sin(angle1) + ay4 * Math.Cos(angle1)R = az4 * Math.Cos(angle1) - ay4 * Math.Sin(angle1)
R = ax5R = az5 * Math.Sin(angle1) + ay5 * Math.Cos(angle1)R = az5 * Math.Cos(angle1) - ay5 * Math.Sin(angle1)
R = ax6R = az6 * Math.Sin(angle1) + ay6 * Math.Cos(angle1)R = az6 * Math.Cos(angle1) - ay6 * Math.Sin(angle1)
R = ax7R = az7 * Math.Sin(angle1) + ay7 * Math.Cos(angle1)R = az7 * Math.Cos(angle1) - ay7 * Math.Sin(angle1)
R = ax8R = az8 * Math.Sin(angle1) + ay8 * Math.Cos(angle1)R = az8 * Math.Cos(angle1) - ay8 * Math.Sin(angle1)
' в экранные координаты вершинD = cPX + n * ax1R / (z0 + az1R)D = cPY + n * ay1R / (z0 + az1R)
D = cPX + n * ax2R / (z0 + az2R)D = cPY + n * ay2R / (z0 + az2R)
D = cPX + n * ax3R / (z0 + az3R)D = cPY + n * ay3R / (z0 + az3R)
D = cPX + n * ax4R / (z0 + az4R)D = cPY + n * ay4R / (z0 + az4R)
D = cPX + n * ax5R / (z0 + az5R)D = cPY + n * ay5R / (z0 + az5R)
D = cPX + n * ax6R / (z0 + az6R)D = cPY + n * ay6R / (z0 + az6R)D = cPX + n * ax7R / (z0 + az7R)D = cPY + n * ay7R / (z0 + az7R)
D = cPX + n * ax8R / (z0 + az8R)D = cPY + n * ay8R / (z0 + az8R)
'Создаем объект p класса Graphics:p As Graphics = Me.CreateGraphics.Clear(Color.White)
pont() As Point = {New Point(ax1D, ay1D), New Point(ax2D, ay2D), New Point(ax3D, ay3D), New Point(ax4D, ay4D)}.DrawPolygon(New Pen(Drawing.Color.Green, 1), pont)
pont1() As Point = {New Point(ax5D, ay5D), New Point(ax6D, ay6D), New Point(ax7D, ay7D), New Point(ax8D, ay8D)}.DrawPolygon(New Pen(Color.Green, 1), pont1)
pont3() As Point = {New Point(ax1D, ay1D), New Point(ax5D, ay5D), New Point(ax8D, ay8D), New Point(ax4D, ay4D)}.DrawPolygon(New Pen(Color.Green, 1), pont3)
pont4() As Point = {New Point(ax2D, ay2D), New Point(ax6D, ay6D), New Point(ax5D, ay5D), New Point(ax1D, ay1D)}.DrawPolygon(New Pen(Color.Green, 1), pont4)
pont5() As Point = {New Point(ax3D, ay3D), New Point(ax7D, ay7D), New Point(ax6D, ay6D), New Point(ax2D, ay2D)}.DrawPolygon(New Pen(Drawing.Color.Green, 1), pont5)
pont6() As Point = {New Point(ax8D, ay8D), New Point(ax4D, ay4D), New Point(ax3D, ay3D), New Point(ax7D, ay7D)}.DrawPolygon(New Pen(Drawing.Color.Green, 1), pont6)
Sub
Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
'вправо
()
'координаты вершин верхней грани= -0.5 * CHIR: ay1 = -0.5 * GLUB: az1 = 0.5 * VIC= 0.5 * CHIR: ay2 = -0.5 * GLUB: az2 = 0.5 * VIC= 0.5 * CHIR: ay3 = 0.5 * GLUB: az3 = 0.5 * VIC= -0.5 * CHIR: ay4 = 0.5 * GLUB: az4 = 0.5 * VIC
'координатывершиннижнейграни= -0.5 * CHIR: ay5 = -0.5 * GLUB: az5 = -0.5 * VIC= 0.5 * CHIR: ay6 = -0.5 * GLUB: az6 = -0.5 * VIC= 0.5 * CHIR: ay7 = 0.5 * GLUB: az7 = -0.5 * VIC= -0.5 * CHIR: ay8 = 0.5 * GLUB: az8 = -0.5 * VIC
'вращение вершин вокруг Oy
'верхняя грань
R = ax1 * Math.Cos(angle) - az1 * Math.Sin(angle)R = ax1 * Math.Sin(angle) + az1 * Math.Cos(angle)R = ay1
R = ax2 * Math.Cos(angle) - az2 * Math.Sin(angle)R = ax2 * Math.Sin(angle) + az2 * Math.Cos(angle)R = ay2
|
R = ax3 * Math.Cos(angle) - az3 * Math.Sin(angle)R = ax3 * Math.Sin(angle) + az3 * Math.Cos(angle)R = ay3
R = ax4 * Math.Cos(angle) - az4 * Math.Sin(angle)R = ax4 * Math.Sin(angle) + az4 * Math.Cos(angle)R = ay4
'нижняяграньR = ax5 * Math.Cos(angle) - az5 * Math.Sin(angle)R = ax5 * Math.Sin(angle) + az5 * Math.Cos(angle)R = ay5
R = ax6 * Math.Cos(angle) - az6 * Math.Sin(angle)R = ax6 * Math.Sin(angle) + az6 * Math.Cos(angle)R = ay6
R = ax7 * Math.Cos(angle) - az7 * Math.Sin(angle)R = ax7 * Math.Sin(angle) + az7 * Math.Cos(angle)R = ay7
R = ax8 * Math.Cos(angle) - az8 * Math.Sin(angle)R = ax8 * Math.Sin(angle) + az8 * Math.Cos(angle)R = ay8
' в экранные координаты вершинD = cPX + n * ax1R / (z0 + az1R)D = cPY + n * ay1R / (z0 + az1R)D = cPX + n * ax2R / (z0 + az2R)D = cPY + n * ay2R / (z0 + az2R)
D = cPX + n * ax3R / (z0 + az3R)D = cPY + n * ay3R / (z0 + az3R)
D = cPX + n * ax4R / (z0 + az4R)D = cPY + n * ay4R / (z0 + az4R)
D = cPX + n * ax5R / (z0 + az5R)D = cPY + n * ay5R / (z0 + az5R)
D = cPX + n * ax6R / (z0 + az6R)D = cPY + n * ay6R / (z0 + az6R)
D = cPX + n * ax7R / (z0 + az7R)D = cPY + n * ay7R / (z0 + az7R)
D = cPX + n * ax8R / (z0 + az8R)D = cPY + n * ay8R / (z0 + az8R)
'Создаем объект p класса Graphics:p As Graphics = Me.CreateGraphics.Clear(Color.White)
pont() As Point = {New Point(ax1D, ay1D), New Point(ax2D, ay2D), New Point(ax3D, ay3D), New Point(ax4D, ay4D)}.DrawPolygon(New Pen(Drawing.Color.Green, 1), pont)
pont1() As Point = {New Point(ax5D, ay5D), New Point(ax6D, ay6D), New Point(ax7D, ay7D), New Point(ax8D, ay8D)}.DrawPolygon(New Pen(Color.Green, 1), pont1)
pont3() As Point = {New Point(ax1D, ay1D), New Point(ax5D, ay5D), New Point(ax8D, ay8D), New Point(ax4D, ay4D)}.DrawPolygon(New Pen(Color.Green, 1), pont3)
pont4() As Point = {New Point(ax2D, ay2D), New Point(ax6D, ay6D), New Point(ax5D, ay5D), New Point(ax1D, ay1D)}.DrawPolygon(New Pen(Color.Green, 1), pont4)
pont5() As Point = {New Point(ax3D, ay3D), New Point(ax7D, ay7D), New Point(ax6D, ay6D), New Point(ax2D, ay2D)}.DrawPolygon(New Pen(Drawing.Color.Green, 1), pont5)
pont6() As Point = {New Point(ax8D, ay8D), New Point(ax4D, ay4D), New Point(ax3D, ay3D), New Point(ax7D, ay7D)}.DrawPolygon(New Pen(Drawing.Color.Green, 1), pont6)
Sub
Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
''вниз()
'координаты вершин верхней грани= -0.5 * CHIR: ay1 = -0.5 * GLUB: az1 = 0.5 * VIC= 0.5 * CHIR: ay2 = -0.5 * GLUB: az2 = 0.5 * VIC= 0.5 * CHIR: ay3 = 0.5 * GLUB: az3 = 0.5 * VIC= -0.5 * CHIR: ay4 = 0.5 * GLUB: az4 = 0.5 * VIC
'координатывершиннижнейграни= -0.5 * CHIR: ay5 = -0.5 * GLUB: az5 = -0.5 * VIC= 0.5 * CHIR: ay6 = -0.5 * GLUB: az6 = -0.5 * VIC= 0.5 * CHIR: ay7 = 0.5 * GLUB: az7 = -0.5 * VIC= -0.5 * CHIR: ay8 = 0.5 * GLUB: az8 = -0.5 * VIC
'вращение вершин вокруг OX
'верхняя граньR = ax1R = az1 * Math.Sin(angle1) + ay1 * Math.Cos(angle1)R = az1 * Math.Cos(angle1) - ay1 * Math.Sin(angle1)
R = ax2R = az2 * Math.Sin(angle1) + ay2 * Math.Cos(angle1)R = az2 * Math.Cos(angle1) - ay2 * Math.Sin(angle1)
R = ax3R = az3 * Math.Sin(angle1) + ay3 * Math.Cos(angle1)R = az3 * Math.Cos(angle1) - ay3 * Math.Sin(angle1)
R = ax4R = az4 * Math.Sin(angle1) + ay4 * Math.Cos(angle1)R = az4 * Math.Cos(angle1) - ay4 * Math.Sin(angle1)
R = ax5R = az5 * Math.Sin(angle1) + ay5 * Math.Cos(angle1)R = az5 * Math.Cos(angle1) - ay5 * Math.Sin(angle1)
R = ax6R = az6 * Math.Sin(angle1) + ay6 * Math.Cos(angle1)R = az6 * Math.Cos(angle1) - ay6 * Math.Sin(angle1)
R = ax7R = az7 * Math.Sin(angle1) + ay7 * Math.Cos(angle1)R = az7 * Math.Cos(angle1) - ay7 * Math.Sin(angle1)
|
R = ax8R = az8 * Math.Sin(angle1) + ay8 * Math.Cos(angle1)R = az8 * Math.Cos(angle1) - ay8 * Math.Sin(angle1)
' в экранные координаты вершинD = cPX + n * ax1R / (z0 + az1R)D = cPY + n * ay1R / (z0 + az1R)
D = cPX + n * ax2R / (z0 + az2R)D = cPY + n * ay2R / (z0 + az2R)
D = cPX + n * ax3R / (z0 + az3R)D = cPY + n * ay3R / (z0 + az3R)
D = cPX + n * ax4R / (z0 + az4R)D = cPY + n * ay4R / (z0 + az4R)
D = cPX + n * ax5R / (z0 + az5R)D = cPY + n * ay5R / (z0 + az5R)
D = cPX + n * ax6R / (z0 + az6R)D = cPY + n * ay6R / (z0 + az6R)
D = cPX + n * ax7R / (z0 + az7R)D = cPY + n * ay7R / (z0 + az7R)
D = cPX + n * ax8R / (z0 + az8R)D = cPY + n * ay8R / (z0 + az8R)
'Создаем объект p класса Graphics:p As Graphics = Me.CreateGraphics.Clear(Color.White)
pont() As Point = {New Point(ax1D, ay1D), New Point(ax2D, ay2D), New Point(ax3D, ay3D), New Point(ax4D, ay4D)}.DrawPolygon(New Pen(Drawing.Color.Green, 1), pont)
pont1() As Point = {New Point(ax5D, ay5D), New Point(ax6D, ay6D), New Point(ax7D, ay7D), New Point(ax8D, ay8D)}.DrawPolygon(New Pen(Color.Green, 1), pont1)
pont3() As Point = {New Point(ax1D, ay1D), New Point(ax5D, ay5D), New Point(ax8D, ay8D), New Point(ax4D, ay4D)}.DrawPolygon(New Pen(Color.Green, 1), pont3)
pont4() As Point = {New Point(ax2D, ay2D), New Point(ax6D, ay6D), New Point(ax5D, ay5D), New Point(ax1D, ay1D)}.DrawPolygon(New Pen(Color.Green, 1), pont4)
pont5() As Point = {New Point(ax3D, ay3D), New Point(ax7D, ay7D), New Point(ax6D, ay6D), New Point(ax2D, ay2D)}.DrawPolygon(New Pen(Drawing.Color.Green, 1), pont5)
pont6() As Point = {New Point(ax8D, ay8D), New Point(ax4D, ay4D), New Point(ax3D, ay3D), New Point(ax7D, ay7D)}.DrawPolygon(New Pen(Drawing.Color.Green, 1), pont6)Sub
Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
'вправо()
'координаты вершин верхней грани= -0.5 * CHIR: ay1 = -0.5 * GLUB: az1 = 0.5 * VIC= 0.5 * CHIR: ay2 = -0.5 * GLUB: az2 = 0.5 * VIC= 0.5 * CHIR: ay3 = 0.5 * GLUB: az3 = 0.5 * VIC= -0.5 * CHIR: ay4 = 0.5 * GLUB: az4 = 0.5 * VIC
'координатывершиннижнейграни= -0.5 * CHIR: ay5 = -0.5 * GLUB: az5 = -0.5 * VIC= 0.5 * CHIR: ay6 = -0.5 * GLUB: az6 = -0.5 * VIC= 0.5 * CHIR: ay7 = 0.5 * GLUB: az7 = -0.5 * VIC= -0.5 * CHIR: ay8 = 0.5 * GLUB: az8 = -0.5 * VIC
'вращение вершин вокруг Oy
'верхняя грань
R = ax1 * Math.Cos(angle) - az1 * Math.Sin(angle)R = ax1 * Math.Sin(angle) + az1 * Math.Cos(angle)R = ay1
R = ax2 * Math.Cos(angle) - az2 * Math.Sin(angle)R = ax2 * Math.Sin(angle) + az2 * Math.Cos(angle)R = ay2R = ax3 * Math.Cos(angle) - az3 * Math.Sin(angle)R = ax3 * Math.Sin(angle) + az3 * Math.Cos(angle)R = ay3
R = ax4 * Math.Cos(angle) - az4 * Math.Sin(angle)R = ax4 * Math.Sin(angle) + az4 * Math.Cos(angle)R = ay4
'нижняяграньR = ax5 * Math.Cos(angle) - az5 * Math.Sin(angle)R = ax5 * Math.Sin(angle) + az5 * Math.Cos(angle)R = ay5
R = ax6 * Math.Cos(angle) - az6 * Math.Sin(angle)R = ax6 * Math.Sin(angle) + az6 * Math.Cos(angle)R = ay6
R = ax7 * Math.Cos(angle) - az7 * Math.Sin(angle)R = ax7 * Math.Sin(angle) + az7 * Math.Cos(angle)R = ay7
R = ax8 * Math.Cos(angle) - az8 * Math.Sin(angle)R = ax8 * Math.Sin(angle) + az8 * Math.Cos(angle)R = ay8
' в экранные координаты вершинD = cPX + n * ax1R / (z0 + az1R)D = cPY + n * ay1R / (z0 + az1R)
D = cPX + n * ax2R / (z0 + az2R)D = cPY + n * ay2R / (z0 + az2R)D = cPX + n * ax3R / (z0 + az3R)D = cPY + n * ay3R / (z0 + az3R)
D = cPX + n * ax4R / (z0 + az4R)D = cPY + n * ay4R / (z0 + az4R)
D = cPX + n * ax5R / (z0 + az5R)D = cPY + n * ay5R / (z0 + az5R)
D = cPX + n * ax6R / (z0 + az6R)D = cPY + n * ay6R / (z0 + az6R)
D = cPX + n * ax7R / (z0 + az7R)D = cPY + n * ay7R / (z0 + az7R)
D = cPX + n * ax8R / (z0 + az8R)D = cPY + n * ay8R / (z0 + az8R)
'Создаем объект p класса Graphics:p As Graphics = Me.CreateGraphics.Clear(Color.White)
pont() As Point = {New Point(ax1D, ay1D), New Point(ax2D, ay2D), New Point(ax3D, ay3D), New Point(ax4D, ay4D)}.DrawPolygon(New Pen(Drawing.Color.Green, 1), pont)
pont1() As Point = {New Point(ax5D, ay5D), New Point(ax6D, ay6D), New Point(ax7D, ay7D), New Point(ax8D, ay8D)}.DrawPolygon(New Pen(Color.Green, 1), pont1)pont3() As Point = {New Point(ax1D, ay1D), New Point(ax5D, ay5D), New Point(ax8D, ay8D), New Point(ax4D, ay4D)}.DrawPolygon(New Pen(Color.Green, 1), pont3)
pont4() As Point = {New Point(ax2D, ay2D), New Point(ax6D, ay6D), New Point(ax5D, ay5D), New Point(ax1D, ay1D)}.DrawPolygon(New Pen(Color.Green, 1), pont4)
pont5() As Point = {New Point(ax3D, ay3D), New Point(ax7D, ay7D), New Point(ax6D, ay6D), New Point(ax2D, ay2D)}.DrawPolygon(New Pen(Drawing.Color.Green, 1), pont5)
pont6() As Point = {New Point(ax8D, ay8D), New Point(ax4D, ay4D), New Point(ax3D, ay3D), New Point(ax7D, ay7D)}.DrawPolygon(New Pen(Drawing.Color.Green, 1), pont6)SubClass
ПРИЛОЖЕНИЕ 2
Программа на языке VRML “Вращение куба”
#VRML V2.0 utf8
Shape {Box {1 1 1
}Appearance {Material {
diffuseColor 0 1 0
}
}
}
|
|
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!