Принцип работы программы «Вращение куба» на языке VRML — КиберПедия 

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

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

Принцип работы программы «Вращение куба» на языке VRML

2021-04-19 59
Принцип работы программы «Вращение куба» на языке VRML 0.00 из 5.00 0 оценок
Заказать работу

 

Программа написана в конструкторе 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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.039 с.