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

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

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

2021-04-19 58
Принцип работы программы «Вращение куба» на языке 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

}

}

}


Поделиться с друзьями:

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.04 с.