Области применения трехмерной графики — КиберПедия 

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

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

Области применения трехмерной графики

2021-04-19 113
Области применения трехмерной графики 0.00 из 5.00 0 оценок
Заказать работу

Области применения трехмерной графики

 

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

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

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

Компьютерная графика стала основным средством взаимодействия человека с ЭВМ. Важнейшими сформировавшимися областями приложений являются:

· компьютерное моделирование, которое явилось исторически первым широким приложением компьютерной графики,

·   системы автоматизации научных исследований, системы автоматизации проектирования, системы автоматизации конструирования, системы автоматизации производства, автоматизированные системы управления технологическими процессами,

·   бизнес,

·   искусство,

·   средства массовой информации,

·   досуг.

 

1.3 Преимущества трехмерного моделирования

 

Преимуществ у трехмерного моделирования перед другими способами визуализации довольно много. Трехмерное моделирование дает точную модель, максимально приближенную к реальности.

В трехмерную модель очень легко вносить любые изменения. Можно изменять проект, убирать одни детали и добавлять новые.

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

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

В некоторых ситуациях необходимо заменить исследуемую систему (оригинал) каким-то объектом, сходную с оригиналом по поведению или описанию (моделью). В этом случае можно использовать трехмерную графику.

 

Пакеты инженерной графики для работы с трехмерными объектами

 

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

¾ Rhinoceros 3D

(Преимущественно используется в промышленном дизайне, архитектуре, корабельном проектировании, ювелирном и автомобильном дизайне, в CAD/CAM проектировании, быстром прототипировании, реверсивной разработке, а также в мультимедиа и графическом дизайне)

¾ NevercenterSilo

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

¾ AutoCADCivil 3D

(Среди новых возможностей продукта - работа с напорными трубопроводными сетями, улучшенная топосъемка, создание основных карт и проектирование железнодорожных путей. Улучшена работа многих функций проектирования транспортных сооружений - формирования коридоров, 3D-навигации, выполнения запросов и определения границ поверхностей. AutoCADCivil 3D позволяет оптимизировать проекты инфраструктуры.)

¾ AutoCAD

(Двух- и трёхмерная система автоматизированного проектирования и черчения, разработанная компанией Autodesk.Программа включает в себя полный набор инструментов для комплексного трёхмерного моделирования)

Движение объектов.

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

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

                                                                                         (7)

                                          (8)

 

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

 

       (9)

(10)

 

Вращение вершин фигуры вокруг OX

 

(11)

(12)

(13)

 

Вращение вокруг OY

 

(14)

  (15)

(16)

 

Вращение вокруг Oz

 

(17)

   (18)

(19)

 

Затем их необходимо перевести в экранные координаты вершин, учитывая ось Z

 

  (20)

  (21)

ПРИЛОЖЕНИЯ

 

ПРИЛОЖЕНИЕ 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

}

}

}

Области применения трехмерной графики

 

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

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

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

Компьютерная графика стала основным средством взаимодействия человека с ЭВМ. Важнейшими сформировавшимися областями приложений являются:

· компьютерное моделирование, которое явилось исторически первым широким приложением компьютерной графики,

·   системы автоматизации научных исследований, системы автоматизации проектирования, системы автоматизации конструирования, системы автоматизации производства, автоматизированные системы управления технологическими процессами,

·   бизнес,

·   искусство,

·   средства массовой информации,

·   досуг.

 

1.3 Преимущества трехмерного моделирования

 

Преимуществ у трехмерного моделирования перед другими способами визуализации довольно много. Трехмерное моделирование дает точную модель, максимально приближенную к реальности.

В трехмерную модель очень легко вносить любые изменения. Можно изменять проект, убирать одни детали и добавлять новые.

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

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

В некоторых ситуациях необходимо заменить исследуемую систему (оригинал) каким-то объектом, сходную с оригиналом по поведению или описанию (моделью). В этом случае можно использовать трехмерную графику.

 


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

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

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

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

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



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

0.093 с.