Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Turbo Pascal Массив: элементы, следующие за максимумом, заменить на минимум http://www.cyberforum.ru/turbo-pascal/thread56257.html
В массиве из 10 элементов, элементы следующие за максимомум заменить на минемум.
Turbo Pascal Найти максимум среди нечетных отрицательных элементов каждого столбца матрицы У кого есть время, решите пожал. задачу!!! Заранее спасибо!!!))) Дана матрица 4Х5. Найти max среди нечетных отрицательных элементов каждого столбца. http://www.cyberforum.ru/turbo-pascal/thread56253.html
Turbo Pascal найти
if s='001' then write ('1'); В S выводится число вещественное. как то нужно сделать если встретили 001 то заменяем его на 1 . и так во всей строке..
Числа Turbo Pascal
if (s4=1) then insert('00',s,s1); нужно переписать чтоб вместо 1 были все нечетные числа .. if (s4=2) then insert('00',s,s1); нужно переписать чтоб вместо 2 были все четные числа ..
Turbo Pascal Перевод из двоичной системы в десятеричную. http://www.cyberforum.ru/turbo-pascal/thread56144.html
дано число в двоичной системе проверить правильность ввода этого числа(в его записи должны быть 0 и 1).если число введено неверно повторить ввод.при правильном вводе перевести число в десятичную...
Turbo Pascal Строки и телефонные номера. Задачка на строки и дин.массивы Номера мобильных телефонов могут выглядеть по-разному: 8-111-1111111 +7 111 1111111 +71111111111 8(111)111-1111 и т д Написать программу, приводящую... подробнее
mus
52 / 51 / 19
Регистрация: 22.03.2009
Сообщений: 173
10.12.2009, 19:53 0

Графика в Турбо Паскаль

10.12.2009, 19:53. Просмотров 210839. Ответов 157
Метки (Все метки)

Ответ

Задача из своих инициалов нарисовать буквы и преобразовывать их на плоскости при помощи афинных преобразований.

Хотелось бы узнать а как это сделать в пространстве ?


Программа считывает координаты точек, для построения букв, из файлов.
Также для лучшего отображения использован 2-х страничный режим экрана.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
program Iniziali;
 uses graph,crt;
 const m=13; d=16; v=18;  pi=3.14;
 var mx,my,mx1,my1:array[1..m] of integer;
 dx,dy,dx1,dy1:array[1..d] of integer;
 vx,vy,vx1,vy1:array[1..v] of integer;
 a,b,i,j,n,l,GraphDriver,GraphMode,GraphError:integer;
 alpha,beta:real;
 f:text;
begin
  GraphDriver :=  9;
   GraphMode := 1;
  InitGraph(GraphDriver, GraphMode,'');
  GraphError := GraphResult;
  if GraphError <> grOk then begin
    writeln ('osibka pri inizializazii graph');
    writeln(GraphErrorMsg(GraphError));
     halt(1);
    end;
    setbkcolor(15);
    setcolor(1);
 
    a:=450;
    b:=100;
 
    assign(f,'c:\projects\graphika\lab2\m.pas');
    reset(f);
    for i:=1 to m do
     readln(f,mx[i],my[i]);
 
    assign(f,'c:\projects\graphika\lab2\d.pas');
    reset(f);
    for i:=1 to d do
     readln(f,dx[i],dy[i]);
 
     assign(f,'c:\projects\graphika\lab2\v.pas');
    reset(f);
    for i:=1 to v do
     readln(f,vx[i],vy[i]);
 
 
    for i:=2 to m do
     begin
      line(mx[i-1],my[i-1],mx[i],my[i]);
     end;
 
    for i:=2 to d do
     begin
      if i<=12 then line(dx[i-1],dy[i-1],dx[i],dy[i])
       else
       while i<16 do
        begin
         i:=i+1;
         line(dx[i-1],dy[i-1],dx[i],dy[i]);
        end;
     end;
 
    for i:=2 to v do
     begin
      line(vx[i-1],vy[i-1],vx[i],vy[i]);
     end;
 
 
    for j:=1 to 72 do {216}
    begin
 
 
    SetActivePage(j);
 
    cleardevice;
 
       if j < 38 then alpha := alpha + 0.1 else alpha := alpha - 0.1;
       if j < 38 then beta := beta + 0.1 else beta := beta - 0.1;
 
      for i:=1 to v do
      begin
 
 
       vx1[i]:=round(alpha*vx[i]+(1-alpha)*a);
 
       vy1[i]:=round(beta*vy[i]+(1-beta)*b);
 
 
      end;
 
      setcolor(green);
     for i:=2 to v do
 
      begin
       {if (i <> 9) and (i <> 14) then line(vx1[i-1],vy1[i-1],vx1[i],vy1[i]);}
 
       setfillstyle(1,red);
 
       if (i<>9) and (i<>14) then  line(vx1[i-1],vy1[i-1],vx1[i],vy1[i]);
       if i > 17 then floodfill(round((vx1[12]+vx1[15])/2),round((vy1[12]+vy1[15])/2),green);
 
 
 
      end;
 
 
     setcolor(blue);
     for i:=1 to m do
      begin
       mx1[i]:=round(mx[i]*cos(j*5*pi/180)+my[i]*sin(j*5*pi/180)-100*cos(j*5*pi/180)-125*sin(j*5*pi/180)+125);
 
       my1[i]:=round(-mx[i]*sin(j*5*pi/180)+my[i]*cos(j*5*pi/180)+100*sin(j*5*pi/180)-125*cos(j*5*pi/180)+100);
 
      end;
 
     for i:=2 to m do
     begin
      line(mx1[i-1],my1[i-1],mx1[i],my1[i]);
     end;
     setfillstyle(1,yellow);
     floodfill(125,100,blue);
 
     for i:=1 to d do
      begin
       dx1[i]:=round(dx[i]*cos(j*(-5)*pi/180)+dy[i]*sin(j*(-5)*pi/180)-270*cos(j*(-5)*pi/180)-115*sin(j*(-5)*pi/180)+270);
 
 
       dy1[i]:=round(-dx[i]*sin(j*(-5)*pi/180)+dy[i]*cos(j*(-5)*pi/180)+270*sin(j*(-5)*pi/180)-115*cos(j*(-5)*pi/180)+115);
      end;
 
     for i:=2 to d do
      begin
       if i < 13 then  line(dx1[i-1],dy1[i-1],dx1[i],dy1[i]);
      if i = 13 then
         begin
           setfillstyle(1,5);
           floodfill(270,115,blue);
         end;
       if i > 13 then line(dx1[i-1],dy1[i-1],dx1[i],dy1[i]);
      end;
     setfillstyle(1,white);
     floodfill(270,115,blue);
 
    SetVisualPage(j);
    delay(5000);
 
    end;
 
    readln;
    closegraph;
end.


Вернуться к обсуждению:
Графика в Турбо Паскаль
1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2009, 19:53
Готовые ответы и решения:

Графика в Турбо Паскаль
(b+\sqrt{b-4ac}/2a)-a*a*a*c - помогите как это записать в турбо паскале...

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

Графика в Турбо Паскаль
Не могли бы вы посоветовать книгу или дать ссылку на форуме где подробно...

Графика в Турбо Паскаль не работает
Люди помогите плиз. У меня windows 7 когда я пытаюсь запустить программу с...

построение графика на Турбо Паскаль
Помогите пожалуйста Y=(x*(3-x))/(1-x)*sqr(1-x)

157
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru