Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
КН
Кафедра:
Кафедра САПР

Інформація про роботу

Рік:
2005
Тип роботи:
Розрахункова робота
Предмет:
Моделювання

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Національний університет “Львівська політехніка” Кафедра САПР Розрахункова робота по курсу “Геометричне моделювання у конструюванні інженерних об’єктів і систем” . ЛЬВІВ 2005 Національний університет “Львівська політехніка” /назва вищого учбового закладу/ Кафедра  ”Системи автоматизованого проектування” Дисципліна “Геометричне моделювання у конструюванні інженерних об’єктів та систем” Спеціальність інформаційні технології проектування Курс 4 Група КН-46 Семестр 8 Завдання на графічно-розрахункову роботу студента Кривого Ростислава Зіновійовича /прізвище, ім’я, по батькові/ 1. Тема проекту /роботи/ Розробка комплексної геометричної моделі просторового об’єкта та її реалізація програмними засобами Термін здачі студентом закінченого проекту /роботи/ 20.05.2005 Вихідні дані для проекту /роботи/ ескізне видове зображення просторового інженерного об’єкта 4. Зміст розрахунково-пояснюючої записки /перелік питань, які підлягають розробці/ Алгоритм розв’язку завдання (словесний покроковий опис чи блок-схеми). Комбінаційна модель геометричного об’єкта з графічною побудовою. Каркасна модель геометричного об’єкта з графічною побудовою. Матриця суміжності з відповідною нумерацією вершин графа та зазначенням її на графічній побудові. Матриця інцеденції з відповідною нумерацією вершин та дуг графа та зазначенням її на графічній побудові. Визначення придатної для розробки та реалізації розробленої моделі системи координат та перетворення системи координат. Математичне задання класичних кривих (окружність, еліпс, гіпербола, парабола, кардіоїда тощо), які використовуються у геометричному моделюванні. Побудувати криву Без’є на основі шести вершин багатокутника, яка описує елемент геометрії об’єкта побудови. Здійснити опис визначених колірних областей об’єкту засобами колірних моделей, здійснити перевід кольору з одної колірної моделі в іншу. Реалізувати програмно побудову кривих засобами графічних функції Windows-інтерфейса (WinAPI). Розробити алгоритм афінних перетворень геометричних елементів об’єкту та запрограмувати анімацію. Реалізувати програмно з використанням OpenGL 5. Перелік графічного матеріалу /з точним зазначенням обов’язкових креслень/ Комбінаційна модель геометричного об’єкта. Каркасна модель геометричного об’єкта. Графічні побудови кривих у визначеній системі(-ах) координат. Результати графічної програмної побудови. 6. Дата видачі завдання 22.02.2005 Календарний план № п-п Назва етапів роботи Термін виконання етапів роботи Примітка   Ознайомитися зі засобами опису та задання моделей геометрії просторових об’єктів 22.02.2005 - 14.05.2005    Критичне опрацювання інформаційних джерел за напрямками     Критичний аналіз та обрання напрямку реалізації завдання     Виокреслення задач, розробка плану-алгоритму розробки     Побудова комбінаційної моделі геометричного об’єкта з графічною побудовою     Побудова каркасної моделі геометричного об’єкта з графічною побудовою     Побудова матриці суміжності з відповідною нумерацією вершин графа та зазначенням її на графічній побудові     Побудова матриці інцеденції з відповідною нумерацією вершин та дуг графа та зазначенням її на графічній побудові     Визначення придатної для розробки та реалізації розробленої моделі системи координат та перетворення системи координат.     Математичне задання класичних кривих (окружність, еліпс, гіпербола, парабола, кардіоїда тощо), які використовуються у геометричному моделюванні     Побудова кривої Без’є на основі шести вершин багатокутника, яка описує елемент геометрії об’єкта побудови     Опис визначених колірних областей об’єкту засобами колірних моделей, здійснення переводу кольору з одної колірної моделі в іншу.     Реалізація програмної побудови кривих засобами графічних функції Windows-інтерфейса (WinAPI).     Розробка алгоритму афінних перетворень геометричних елементів об’єкту та програмування анімації     Програмна реалізація з використанням OpenGL     Оформлення звіту до роботи     Студент /підпис/ /прізвище, ім’я, по батькові/ Керівник /підпис/ /прізвище, ім’я, по батькові/ “22” 02 2005_ р. Вступ Машинна графіка ще відносно молода, і відповідним тут є стандарт, що саме розвивається. Тиск головним чином відчувається з боку виробників CAD систем - кошти просторового моделювання вже стали повсякденним інструментом для багатьох інженерів і проектувальників. Однак протягом останніх 15-20 років складність моделей постійно зростала, і на сьогодні склалася ситуація, при якій прогресивні форми організації проектування (робота з великим збиранням) лімітуються можливостями сучасного графічного обладнання і ПО інтерактивній візуалізаціи. Комп'ютерна графіка - авангард комп'ютерних технологій - нараховує в своєму розвитку не більше за десятку років. А її комерційним додаткам - і того менше. Андриес ван Дам вважається одним з батьків комп'ютерної графіки, а його книги - фундаментальними підручниками по всьому спектру технологій, встановлених в основу машинної графіки. Також в цій області відомий Айвен Сазерленд, чия докторська дисертація з'явилася теоретичною основою машинної графіки. Така зміна ситуації зумовлена декількома причинами. Передусім, внаслідок різкого поліпшення співвідношення вартість/продуктивність для деяких компонент апаратури комп'ютерів. Крім того, стандартне програмне забезпечення високого рівня для графіки стало широкодоступным, що спрощує написання нових прикладних програм, переносимих з комп'ютерів одного типу на інші. Наступна причина зумовлена впливом, який дисплеї надають на якість інтерфейсу - кошти спілкування між людиною і машиною, - забезпечуючи максимальні зручності для користувача. Нові, зручні для користувача системи побудовані в основному на підході WYSIWYG(абревіатура від англійського вираження "What you see is what you get" - "Що бачите, то і маєте"), відповідно до якого зображення на екрані повинне бути як можна більш схожим на те, яке в результаті друкується. Більшість традиційних додатків машинної графіки є двомірними. Останнім часом, однак, відмічається зростаючий комерційний інтерес до трьохмірних додатків. Він викликаний значним прогресом, досягнутим в минулому десятиріччі в розв'язанні двох взаємопов'язаних проблем: моделювання трьохмірних сцен і побудови як можна більш реалістичного зображення. Наприклад, в імітаторах польоту особливе значення додається часу реакції на команди, що вводяться пілотом і інструктором. Щоб створювалася ілюзія плавного руху, імітатор повинен породжувати надзвичайно реалістичну картину "світу", що динамічно змінюється з частотою як мінімум 30 кадрів в секунду. У протилежність цьому зображення, що застосовуються в рекламі і індустрії розваг, обчислюють автономно, нерідко в течії годин, з метою досягнути максимального реалізму або справити сильне враження. Завдання Просторовий об’єкт – спортивний тренажер.  а) Визначити полярні координати точки що симетрична відносно полярної вісі точки А(1;П/4); б) Задані точки А(+2), В(-7). Визначити координати цих точок при умові, що одиниця довжини буде взята так, що е’:e=3:8 в) Полярна вісь полярної системи координат паралельна вісі абсцис декартової прямокутної системи та направлення однаково з нею. Задані декартові прямокутні координати полюса О(-1;1) та полярні координати точки D(2;2/3П). Визначити координати цієї точки у декартовій прямокутній системі. г) Перевести координати точки Р з однорідного представлення у вигляді (4,4,4,4) в систему афінних координат. д) Вісі декартової системи координат повернути на кут (=500. Координати точок В((6;-5) та С(-4*(3;4) визначено у новій системі координат. Обчислити координати цих точок у старій системі координат. Скласти рівняння окружності, яка проходить через три точки: А(0;+2), В(+1;+1), С(+2;-2). Побудувати криву Без’є на основі шести вершин багатокутника, що заданий точками з координатами: P0[7,16], Р1[15,16], Р2[5,12], Р3[2,7], Р4[6,3], Р5[10,2]. Змішати два кольори: перший - номер варіанту; другий – номер варіанту +35 у рівних співвідношеннях і провести перетворення кольору з RGB => HLS; Написати програму із застосуванням графічних функцій WinApi, яка дозволяє візуалізувати графіки функцій з можливостями маштабування у вікні на певному інтервалі. Застосувати функції зміни кольору, штриховки, зафарбувати замкнутих областей, текстових підписів, виводу координатної сітки. Організувати вивід графіки у зовнішній метафайл. Побудувати в різних областях екрана графіки функцій Y(x) і YN(x).Графік функції YN(x) будується для трьох і чотирьох членів розкладання функцій Y(x) у ряд Тейлора. Y(x)=ch(x); Y3(x)=1+x2/2(+x4/4; Y4(x)=1+x2/2(+x4/4(+x6/6; x=[/3;3]. Написати імітаційну програму з застосуванням афінних перетворень,яка дозволяє в автоматичному режимі та при ручному керуванні створювати динамічно змінну візуалізацію при якій моделюється набір кіл випадкового радіуса і розташування. Потім радіуси кіл починають зростати. При торкані кіл менша знищується, при торкані краю екрану центр кола починає зростати. Написати програму із застосуванням 2D графічних функцій Open GL, яка дозволяє візуалізувати у одиничній віконній формі програми гроно винограду з листком. Розв’язки В основі 3D моделювання лежать певні принципи побудови моделей, зокрема побудова об’єкта повинна здійснюватися від глобальних елементів зображення до локальних, тобто деталізація загального об’єкту пустопово повинна збільшуватися. Звичайно даного правило не завжди дотримуються, але як при створеннях ігор, так і при моделюванні сцен високого рівня, всюди йде мова про якість зображення уявного світу, якість уявного світу формують не тільки деталізація об’єктів, з яких він складається, але і «гра» світла. Кожна поверхня повинна бути наділена властивостями поводження із світлом яке на неї падає, наприклад у мультимедійних зйомках приділяють досить таки багато уваги, наприклад якщо проводити зйомку темному приміщені без освітлення результат буде 0. Якщо проводити зйомку навпроти джерела світла, відповідно джерело світла заглушить відбите світло від інших об’єктів. Щоб більш краще показати в якому порядку повино створюватися під об’єкти нашого об’єкту, на малюнку присвоєно їм порядковий номер. Комбінаційна модель геометричного об’єкта з графічною побудовою     …   П1 П2 П3 … Пn   І таким методом ми розбиваємо складну деталь на комбінацію більш простіших елементів. Оскільки в нашому випадку усі деталі необхідно додавати, відповідно це можна записати наступною формулою.  Каркасна модель геометричного об’єкта з графічною побудовою В найпростішому випадку, більшу частину побудови ми складаємо із циліндрів, відповідно основна фігура є циліндр.   Ознайомитись із моделями, які використовуються при геометричному проектуванні. Вивчити методи опису поверхонь складних форм. Матриця інцеденції і суміжності R1 R2 R3  V1 V2  V1 V2 V1  R1 R2  - - V2  R3 R3     в нас є три точки , через які проходить дане коло : A[0;2] B[1;1] С[2;-2]           (x+3)2+(y+2)2=25 a) Визначаємо полярні координати точки що симетрична відносно полярної вісі точки А(1;П/4); А(1;П/4)(А’(1;7П/4)  б) Визначаємо координати точок А(+2), В(-7) при умові, що одиниця довжини буде взята так, що е’:e=3:8 А(+2), В(-7) x/2=3/8 A ( x=3/4 B ( x=-2,625  в) Визначити координати точки D(2;2/3П) у декартовій прямокутній системі. AO=DO*cos300 DA=DO*sin300 x=-2 AO=(3 DA=2*1/2=1 y=(3+1=2,7 D(-2;2,7)  г) Переводимо координати точки Р з однорідного представлення у вигляді (4,4,4,4) в систему афінних координат і обчислюємо координати точок В((6;-5) та С(-4*(3;4) у старій системі координат. Вісі декартової системи координат повертаємо на кут (=500 (4,4,4,4)=(1,1,1) W=4 B((6;-5) x=x’*cos(-y’*sin( C(-4(3;4) y=x’*sin(+ y’cos( (=500 X=(6*cos500-(-5)sin500=(6*0.64 + 5*0.77=5.4 Y=(6*sin500-5*cos500=(6*0.77 - 5*0.64=1.9-3.2=-1.3 Координати точки В у старій системі координат: В(5.4; -1.3) X=-4(3*cos500-4*sin500=-6,9*0.64 - 4*0.77=-7.5 Y=-4(3*sin500-4*cos500=-4(3*0.77 + 4*0.64=-2.7 Координати точки C у новій системі координат: С(-7,5; -2,7)  Побудувати криву Без’є на основі шести вершин багатокутника, що заданий точками з координатами: P0[8,4], P1[1,6], P2[4,12], P3[9,14], P4[15,6], P5[11,16]. РОЗВЯЗОК ЗАВДАННЯ    Програма для змішування двох будб-яких кольорів: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; Panel1: TPanel; Button2: TButton; Panel2: TPanel; Edit1: TEdit; Edit2: TEdit; Button3: TButton; Panel3: TPanel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; Col1,Col2:TColor; function darker(color:TColor; Per:Byte):Tcolor; function lighter(color:TColor; Per:Byte):Tcolor; function mix(c1,c2:Tcolor):TColor; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var x:integer; r,g,b:byte; S_r,S_g,S_b:string; begin x:=StrToInt(Edit1.Text); Col1:=darker(clDkGray,x); Panel1.color:=Col1; r:=GetRValue(Col1); g:=GetGValue(Col1); b:=GetBValue(Col1); S_r:=IntToHex(r,2); S_b:=IntToHex(b,2); S_g:=IntToHex(g,2); Panel1.Caption:=S_r+' '+S_g+' '+S_b end; Function darker(color:TColor; Per:Byte):Tcolor; var r,g,b:byte; Begin color:=colorToRGB(color); r:=GetRValue(Color); g:=GetGValue(Color); b:=GetBValue(Color); r:=r-muldiv(r,Per,100); g:=g-muldiv(g,Per,100); b:=b-muldiv(b,Per,100); Result:=RGB(r,g,b); End; procedure TForm1.Button2Click(Sender: TObject); var x:integer; r,g,b:byte; S_r,S_g,S_b:string; begin x:=StrToInt(Edit2.Text); Col2:=darker($00FAE6E6,x); Panel2.color:=Col2; r:=GetRValue(Col2); g:=GetGValue(Col2); b:=GetBValue(Col2); S_r:=IntToHex(r,2); S_b:=IntToHex(b,2); S_g:=IntToHex(g,2); Panel2.Caption:=S_r+' '+S_g+' '+S_b end; Function lighter(color:TColor; Per:Byte):Tcolor; var r,g,b:byte; Begin color:=colorToRGB(color); r:=GetRValue(Color); g:=GetGValue(Color); b:=GetBValue(Color); r:=r+muldiv(255-r,Per,100); g:=g+muldiv(255-g,Per,100); b:=b+muldiv(255-b,Per,100); Result:=RGB(r,g,b); End; procedure TForm1.Button3Click(Sender: TObject); var r,g,b:byte; x:integer; S_r,S_g,S_b:string; begin x:=mix(Col1,Col2); panel3.Color:=x; r:=GetRValue(x); g:=GetGValue(x); b:=GetBValue(x); S_r:=IntToHex(r,2); S_b:=IntToHex(b,2); S_g:=IntToHex(g,2); Panel3.Caption:=S_r+' '+S_g+' '+S_b end; function mix(c1,c2:Tcolor):TColor; Begin result:= RGB ( trunc((1/3)*GetRValue(c1)+(2/3)*GetRValue(c2)), trunc((1/3)*GetGValue(c1)+(2/3)*GetGValue(c2)), trunc((1/3)*GetBValue(c1)+(2/3)*GetBValue(c2)) ) End; end. Будуємо в різних областях екрану графіки функцій, YN(x) . Графік функції YN(x) будується до трьох і чотирьох членів розкладання функції YN(x) у ряд Тейлора. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls; type TForm1 = class(TForm) Button1: TButton; ColorBox1: TColorBox; ComboBox1: TComboBox; TrackBar1: TTrackBar; ColorBox3: TColorBox; ComboBox3: TComboBox; ColorBox2: TColorBox; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} const z_y=150; z_x=10; procedure TForm1.Button1Click(Sender: TObject); var dc,dc2:hdc; pn:hPen; br:hbrush; dov,vus,x,y:integer; t:real; begin dov:=300; vus:=300; dc:=GETdc(0); createMetaFile('File_Roman_Vova.wmf'); pn:=CreatePen(ps_solid,comboBox1.ItemIndex,colorBox1.Selected); br:=CreateHatchBrush(6,colorBox2.Selected); selectObject(dc,pn); selectObject(dc,br); rectangle(dc,z_x,z_y,z_x+dov,z_y+vus); pn:=CreatePen(ps_solid,1,rgb(255,0,0)); selectObject(dc,pn); //--------Координатна сітка movetoex(dc,z_x,z_y+(vus div 2),nil); lineto(dc,z_x+dov,z_y+(vus div 2)); movetoex(dc,z_x+(dov div 2),z_y,nil); lineto (dc,z_x+(dov div 2),z_y+vus); //------------------------- t:=-3; case combobox3.ItemIndex+1 of 1:begin x:=round(t*trackbar1.Position); y:=round(((exp(t)+exp(-t))/2)*trackbar1.Position); end; 2:begin x:=round(t*trackbar1.Position); y:=round((1+t*t/2+t*t*t*t/(2*3*4))*trackbar1.Position); end; 3:begin x:=round(t*trackbar1.Position); y:=round((1+t*t/2+t*t*t*t/(2*3*4)+t*t*t*t*t*t/(2*3*4*5*6))*trackbar1.Position); end; end; pn:=CreatePen(ps_solid,1,colorbox3.Selected); selectObject(dc,pn); movetoex(dc,x+z_x+dov div 2,y+z_y+vus div 2,nil); while t<3 do begin case combobox3.ItemIndex+1 of 1:begin x:=round(t*trackbar1.Position); y:=round(((exp(t)+exp(-t))/2)*trackbar1.Position); end; 2:begin x:=round(t*trackbar1.Position); y:=round((1+t*t/2+t*t*t*t/(2*3*4))*trackbar1.Position); end; 3:begin x:=round(t*trackbar1.Position); y:=round(1+t*t/2+t*t*t*t/(2*3*4)+t*t*t*t*t*t/(2*3*4*5*6))*trackbar1.Position; end; end; lineto(dc,x+z_x+dov div 2,y+z_y+vus div 2); t:=t+0.1; end; closemetafile(dc); releaseDC(handle,dc); deleteDC(dc); end; procedure TForm1.FormCreate(Sender: TObject); begin form1.Left:=0; form1.Top:=0; end; end. Програма з застосуванням афіних перетворень, яка дозволяє в автоматичному режимі та при ручному керуванні створювати динамічно змінну візуалізацію при якій моделюється обертання чотирикутної зірки. Program aaa; uses graph,crt; var Gm,Gd,n,i,j,k,xc,yc:integer; xa,ya:array[1..50] of real; x,y:array [1..50] of integer; a, b, r:array [1..3,1..3] of real; c:char; {--------------------------------------------------------------} Procedure I_R; var i,j:integer; begin for i:=1 to 3 do begin for j:=1 to 3 do r[i,j]:=0 ; r[i,i]:=1 end; end; {--------------------------------------------------------------} Procedure MULT; var z:real; i,j,k:integer; Begin for i:=1 to 3 do for j:=1 to 3 do begin z:=0; for k:=1 to 3 do z:=z+a[i,k]*r[k,j]; b[i,j]:=z; end; for i:=1 to 3 do for j:=1 to 3 do r[i,j]:=b[i,j] end; {--------------------------------------------------------------} Procedure NEW_XY; var i:integer; Begin for i:=1 to n do begin x[i]:=round(xa[i]*r[1,1]+ya[i]*r[1,2]+r[1,3]); y[i]:=round(xa[i]*r[2,1]+ya[i]*r[2,2]+r[2,3]) end End; {-------------------------------------------------------------} Procedure TRAN(dx,dy:real); var i,j:integer; Begin for i:=1 to 3 do begin for j:=1 to 3 do a[i,j]:=0; a[i,i]:=1; end; a[1,3]:=dx; a[2,3]:=dy; MULT end; {------------------------------------------------------------} Procedure SCALE(sx,sy:real); var i,j:integer; Begin for i:=1 to 3 do for j:=1 to 3 do a[i,j]:=0; a[1,1]:=sx; a[2,2]:=sy; a[3,3]:=1; MULT; End; {-----------------------------------------------------------} Procedure ROTATE(alfa:real); var c,s:real; i,j:integer; Begin for i:=1 to 3 do for j:=1 to 3 do a[i,j]:=0; a[3,3]:=1; c:=cos(alfa); a[1,1]:=c; a[2,2]:=c; s:=sin(alfa); a[1,2]:=-s; a[2,1]:=s; MULT; End; {---------------------------------------------------------} Procedure LOOK(alfa, dx, dy, sx, sy :real); var xx, yy:real; i:integer; Begin I_R; ROTATE(alfa); TRAN(dx,dy); SCALE(sx,sy); for i:=1 to n do Begin xx:=xa[i]*r[1,1]+ya[i]*r[1,2]+r[1,3]; yy:=xa[i]*r[2,1]+ya[i]*r[2,2]+r[2,3]; xa[i]:=round(xx); ya[i]:=round(yy); End; I_R; End; {--------------------------------------------------------} Procedure PICT(color:word); var i:integer; Begin setcolor(color); if (color>0) then NEW_XY; moveto(x[n],y[n]); for i:=1 to n do lineto(x[i],y[i]); End; {-------------------------------------------------------} Procedure RS(beta, kx, ky:real); var xm,ym:real; i:integer; Begin xm:=0; ym:=0; for i:=1 to n do begin xm:=xm+x[i]; ym:=ym+y[i]; end; xm:=xm/n; ym:=ym/n; TRAN(-xm,-ym); ROTATE(beta); SCALE(kx,ky); TRAN(xm,ym); End; {------------------------------------------------------} Procedure ROT_XY(xc,yc,beta:real); begin TRAN(-xc,-yc); ROTATE(beta); TRAN(xc,yc); end; {-----------------------------------------------------} Procedure AXES(alfa,beta:real); var i,j:integer; begin for i:=1 to 3 do begin for j:=1 to 3 do a[i,j]:=0; a[i,i]:=1; end; a[1,2]:=sin(beta)/cos(beta); a[2,1]:=sin(alfa)/cos(alfa); MULT; end; {----------------------------------------------------} procedure MIRROR(delta:real; index:byte); var i,j:integer; Begin for i:=1 to 3 do begin for j:=1 to 3 do a[i,j]:=0; a[i,i]:=1; end; a[index,index]:=-1; a[index,3]:=2*delta; MULT end; {*****************************************************} procedure cir; begin PICT(0); PICT(14); TRAN(3,2); ROT_XY(xc,yc,-0.1); delay(5000); end; {*****************************************************} Begin n:=9; xa[1]:=310; ya[1]:=160; xa[2]:=320; ya[2]:=130; xa[3]:=330; ya[3]:=160; xa[4]:=360; ya[4]:=170; xa[5]:=330; ya[5]:=180; xa[6]:=320; ya[6]:=210; xa[7]:=310; ya[7]:=180; xa[8]:=280; ya[8]:=170; xa[9]:=310; ya[9]:=160; Gd:=Detect; InitGraph(Gd,Gm,''); LOOK(0,0,-200,1,-1); PICT(14); I_R; xc:=320; yc:=240; repeat c:=readkey; if c=#32 then cir else repeat cir until keypressed; until c=#27; End. Програма із застосуванням 2D графічних функцій бібліотеки OpenGL , яка дозволяє візуалізувати у одиночному вікні програми штангельциркуль. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OpenGL, StdCtrls, ExtCtrls, ComCtrls; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormPaint(Sender: TObject); procedure FormDestroy(Sender: TObject); private
Антиботан аватар за замовчуванням

02.10.2020 20:10-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!