Аватар для Hrethgir
266 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,345
Записей в блоге: 196

3D графика в Lazarus

29.10.2017, 22:06. Показов 11991. Ответов 83
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Такое дело, написал тулзу успешно, конические шестерни печатает, в общем она просто вносит корректировку в G-код.
Но аппетиты растут, после русификации, для себя и 3dtoday чисто, Kisslicer 1.5 отруссифицировал, но что-то обламываюсь руссифицировать 1.6, есть задумка, точнее - огромное желание, и алгоритмы генерации свои тоже есть, написать свой слайсер.
Всё это дело я собираюсь состряпать между основными своими делами, которыми сейчас занят.
Ну и вопрос снижения трудозатрат. Вопрос такой -
допустим я научился визуализировать STL модель в окне программы соответствующем. А можно получить с этого отображения имеющимися средствами GLUT или другими, сечение модели, проходящее в координатах X,Y, на высоте Z? Мне это сильно сократит работу, раз в 10 наверное.
Заранее благодарен.

Добавлено через 53 минуты
Теоретически можно, нужно только удалить камеру на определённое расстояние сверху, и задать ей дальность отображения и расстояние на котором модель будет прозрачной - будет получен контур...но тогда станет неясно, где внутреннее пространство контура, а где наружнее. В общем это вопрос к спецам конечно. Слайсер нужен свой позарез.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.10.2017, 22:06
Ответы с готовыми решениями:

Lazarus - Компьтерная графика
Создан графический редактор в лазарусе. Как сделать так, чтобы канва, при раскрытии на весь экран формы, подгонялась под размер окна?? ...

Lazarus - Компьютерная графика
Очень нужна помощь!!! Написать программы в Лазарусе. 1. Изобразить на экране гармонические колебания шара, подвешенного на нити, т.е. по...

Создание графика в Lazarus
Как вывести точку на график в Lazarus?

83
 Аватар для Hrethgir
266 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,345
Записей в блоге: 196
11.03.2022, 20:19  [ТС]
Студворк — интернет-сервис помощи студентам
выключил в инспекторе объектов онпаинт , а в отладке всё равно работает. виндовс одним словом. полный виндовс. я даже не желаю разбираться что с ним у меня не так.
это запущено в отладчике, мне нет смысла лгать. сели не верите - убедитесь через удалённого помошника. я пока подожду 3 минуты, не стану выключать Lazarus и windows.
Миниатюры
3D графика в Lazarus  
0
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
11.03.2022, 20:26
Цитата Сообщение от Hretgir Посмотреть сообщение
GLBox.OnPaint := @GLboxPaint;
А в чём смысл такого присваивания вручную? Я эту строку в том проекте убрал.

Добавлено через 4 минуты
Цитата Сообщение от Hretgir Посмотреть сообщение
выключил в инспекторе объектов онпаинт , а в отладке всё равно работает
Ну так вы вручную присвоили обработчик, вот и работает. Только не понятно, зачем вручную.

И то, что присвоено вручную подменяет то, что указано в инспекторе объектов. То есть, создали обработчик в инспекторе объектов, вписали туда код, а потом в OnCreate формы переопределили обработчик - будет работать тот последний.
0
 Аватар для Hrethgir
266 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,345
Записей в блоге: 196
11.03.2022, 20:43  [ТС]
Цитата Сообщение от AzAtom Посмотреть сообщение
А в чём смысл такого присваивания вручную? Я эту строку в том проекте убрал.
я этого присваивания не делал. это с примера на сайте. ну по крайней мере сегодня пример этот такой был там.
Цитата Сообщение от AzAtom Посмотреть сообщение
Ну так вы вручную присвоили обработчик, вот и работает.
нет я ничего вручную не делал.
я скопировал код, при компиляции выскочила ошибка, тогда я нажал в инспекторе объектов онпаинт, что делал всегда.
откомпилировалось и запустилось. тогда я отключил онапинт в инспекторе объектов - и оно всё равно рабтает.

Добавлено через 1 минуту
Цитата Сообщение от AzAtom Посмотреть сообщение
вписали туда код
я ничего там руками не трогал, и даже не копипастил, кроме кода целиком.
А нет, там нет процедуры вот этой
Pascal
1
2
3
4
procedure TForm1.OpenGLControl1Paint(Sender: TObject);
begin
 
end;
это добавилось через инспектор объектов.
в примере этого нет. но что интересное, что когда я отключаю это в инспекторе объектов - оно работает всё равно, так как есть в коде.
вот код примера
Кликните здесь для просмотра всего текста
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
unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, OpenGLContext, gl;
 
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure GLboxPaint(Sender: TObject);
  private
    GLBox: TOpenGLControl;
  public
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.lfm}
 
procedure TForm1.GLboxPaint(Sender: TObject);
begin
  glClearColor(0.27, 0.53, 0.71, 1.0); // Set blue background
  glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  glLoadIdentity;
  glBegin(GL_TRIANGLES);
    glColor3f(1, 0, 0);
    glVertex3f( 0.0, 1.0, 0.0);
    glColor3f(0, 1, 0);
    glVertex3f(-1.0,-1.0, 0.0);
    glColor3f(0, 0, 1);
    glVertex3f( 1.0,-1.0, 0.0);
  glEnd;
  GLbox.SwapBuffers;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  GLbox := TOpenGLControl.Create(Self);
  GLbox.AutoResizeViewport := true;
  GLBox.Parent             := Self;
  GLBox.MultiSampling      := 4;
  GLBox.Align              := alClient;
  GLBox.OnPaint            := @GLboxPaint; // for "mode delphi" this would be "GLBox.OnPaint := GLboxPaint"
  GLBox.invalidate;
end;
 
end.

я сейчас посмотрю как это в линукс. в общем я выхожу с windows.
0
 Аватар для Hrethgir
266 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,345
Записей в блоге: 196
11.03.2022, 20:55  [ТС]
А вот как это выглядит в Linux
Кликните здесь для просмотра всего текста
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
unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, OpenGLContext, gl;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    OpenGLControl1: TOpenGLControl;
    procedure FormCreate(Sender: TObject);
    procedure GLboxPaint(Sender: TObject);
  private
       GLBox: TOpenGLControl;
  public
 
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.lfm}
 procedure TForm1.GLboxPaint(Sender: TObject);
begin
  glClearColor(0.27, 0.53, 0.71, 1.0); // Set blue background
  glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  glLoadIdentity;
  glBegin(GL_TRIANGLES);
    glColor3f(1, 0, 0);
    glVertex3f( 0.0, 1.0, 0.0);
    glColor3f(0, 1, 0);
    glVertex3f(-1.0,-1.0, 0.0);
    glColor3f(0, 0, 1);
    glVertex3f( 1.0,-1.0, 0.0);
  glEnd;
  GLbox.SwapBuffers;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  GLbox := TOpenGLControl.Create(Self);
  GLbox.AutoResizeViewport := true;
  GLBox.Parent             := Self;
  GLBox.MultiSampling      := 4;
  GLBox.Align              := alClient;
  GLBox.OnPaint            := @GLboxPaint; // for "mode delphi" this would be "GLBox.OnPaint := GLboxPaint"
  GLBox.invalidate;
end;
Миниатюры
3D графика в Lazarus  
0
 Аватар для Hrethgir
266 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,345
Записей в блоге: 196
11.03.2022, 20:59  [ТС]
В общем так:
в windows у меня код вот так выглядит, выше код примера в предыдущем сообщении. а в самом виндовс код совсем не такой как в примере.
Сейчас в винду перезайду.
0
 Аватар для Hrethgir
266 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,345
Записей в блоге: 196
11.03.2022, 21:10  [ТС]
сорь за задержку - винда обновы ставила, уже не выключалась без них.
код не привожу, он скриншоте.
вот так это в виндовс.
Миниатюры
3D графика в Lazarus  
0
 Аватар для Hrethgir
266 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,345
Записей в блоге: 196
11.03.2022, 21:11  [ТС]
в виндовс вообще левая пустая процедура, и без неё никак. и соответственно код, и в инспекторе объектов разное.
ну в общем как-то так. и если я в инспекторе объектов в виндовс отключаю онпаинт - то всё равно работает. хотя может оно и должно работать. но в общем по разному, и в линукс правдоподобнее - без лепнины лишней в коде.
поэтому уж если что-то делать, то я лучше в линукс буду это делать.
0
 Аватар для Hrethgir
266 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,345
Записей в блоге: 196
12.03.2022, 11:41  [ТС]
Есть небольшой вопрос.
Создаю на этой форме TPageControl, перетаскиваю в инспекторе объектов в него компонент
TOpenGLControl, собираю проект, но увы - треугольник рисуется на всю форму.
Это вообще реализуемо?
0
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
12.03.2022, 12:01
Нормально работает.
Надо проект смотреть. Что-то не так там.
0
 Аватар для Hrethgir
266 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,345
Записей в блоге: 196
12.03.2022, 12:14  [ТС]
Это в Linux
Вложения
Тип файла: 7z OpenGLExpirement (1-я копия).7z (264.7 Кб, 3 просмотров)
0
 Аватар для Hrethgir
266 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,345
Записей в блоге: 196
12.03.2022, 13:02  [ТС]
Такое впечатление что что-то не доделано мной.
Где-то что-то надо подключать.
0
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
12.03.2022, 13:03
Hretgir, что-то, проект не открывается в Lazarus под Windows...

В процедуре OnFormCreate надо почистить:
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.FormCreate(Sender: TObject);
begin
  GLbox := TOpenGLControl.Create(Self);
  GLbox.AutoResizeViewport := true;
//  GLBox.Parent             := Self; // Эта строка пересаживает GLBox на форму
  GLBox.MultiSampling      := 4;
  GLBox.Align              := alClient;
  GLBox.OnPaint            := @GLboxPaint; // for "mode delphi" this would be "GLBox.OnPaint := GLboxPaint"
  GLBox.invalidate;
end;
1
 Аватар для Hrethgir
266 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,345
Записей в блоге: 196
12.03.2022, 13:18  [ТС]
У меня так ошибку выдает при запуске
"Control "" has no parent window
0
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
12.03.2022, 13:24
Hretgir, точно, это же ты создаёшь новый TOpenGLControl, не смотря на то, что на форме, вернее, на TabSheet1 уже есть один.
Вот так можно попробовать:
Delphi
1
2
3
4
5
6
7
8
procedure TForm1.FormCreate(Sender: TObject);
begin
  OpenGLControl1.AutoResizeViewport := true;
  OpenGLControl1.MultiSampling      := 4;
  OpenGLControl1.Align              := alClient;
  OpenGLControl1.OnPaint            := @GLboxPaint; // Можно назначить обработчик через инспектор объектов, а эту строку убрать
//  OpenGLControl1.Invalidate; // Вроде, это не нужно
end;
Вообще, все эти действия можно сделать через инспектор объектов, и убрать FormCreate.
0
 Аватар для Hrethgir
266 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,345
Записей в блоге: 196
12.03.2022, 15:20  [ТС]
попробую, но больше похоже что не нужно это
GLBox.Align := alClient;

Добавлено через 5 минут
//OpenGLControl1.Invalidate; - вообще никакой роли не сыграло
//GLBox.Align := alClient; - открыло в левом верхнем углу игнорировав TPageControl
У меня такое ощущение что надо где-то привязать к странице.

Добавлено через 11 минут
GLBox.OnPaint := @GLboxPaint; // for "mode delphi" this would be "GLBox.OnPaint := GLboxPaint"
GLBox.invalidate;
убирал и вместе и по отдельности - тогда не рисует просто.

Добавлено через 1 час 35 минут
Цитата Сообщение от AzAtom Посмотреть сообщение
Hretgir, точно, это же ты создаёшь новый TOpenGLControl,
Цитата Сообщение от AzAtom Посмотреть сообщение
TForm1.FormCreate
у меня такое ощущение, что эта процедура создаёт новую форму, на которой нет ни TPageControl ни в кладок, есть только OpenGL контрол, и она его рисует с размахом на всю форму, и никакого нового OpenGLControl она не создаёт.
0
 Аватар для Hrethgir
266 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,345
Записей в блоге: 196
12.03.2022, 15:31  [ТС]
Цитата Сообщение от Hretgir Посмотреть сообщение
у меня такое ощущение, что эта процедура создаёт новую форму, на которой нет ни TPageControl ни в кладок, есть только OpenGL контрол, и она его рисует с размахом на всю форму, и никакого нового OpenGLControl она не создаёт.
ЧТД
Кликните здесь для просмотра всего текста
procedure TForm1.FormCreate(Sender: TObject);
begin
GLbox := TOpenGLControl.Create(Self);
GLbox.AutoResizeViewport := true;
GLBox.Parent := Self;
GLBox.MultiSampling := 4;
GLBox.Align := alClient;
GLBox.Parent :=TabSheet1;//----------------------------------------------------------------------------------------------------вот это
GLBox.OnPaint := @GLboxPaint; // for "mode delphi" this would be "GLBox.OnPaint := GLboxPaint"
GLBox.invalidate;
Миниатюры
3D графика в Lazarus  
0
 Аватар для Hrethgir
266 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,345
Записей в блоге: 196
12.03.2022, 15:35  [ТС]
Рейтинг темы я вернул на место, потому что он куда-то исчез после того как я решил проблему.
0
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
12.03.2022, 15:39
Цитата Сообщение от Hretgir Посмотреть сообщение
у меня такое ощущение, что эта процедура создаёт новую форму, на которой нет ни TPageControl ни в кладок, есть только OpenGL контрол, и она его рисует с размахом на всю форму, и никакого нового OpenGLControl она не создаёт.
Нет. Эта процедура создает новый объект TOpenGLControl, который находится прямо на форме и занимает всю клиентскую область, закрывая собой все остальные PageControl и т.д.

Вот строка GLBox.Parent :=TabSheet1; теперь "селит" этот объект на TabSheet1.

В дизайне на TabSheet уже стоит один объект TOpenGLControl под названием OpenGLControl1. А потом при запуске программы в рантайме создаётся второй объект GLBox типа TOpenGLControl и перекрывал собой всё, что есть на форме. О чём я и толкую уже которое сообщение.
1
 Аватар для Hrethgir
266 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,345
Записей в блоге: 196
12.03.2022, 15:42  [ТС]
Решения я не знал, оно найдено мной после обнаружения поисковиком вот этого
При запуске выводится сообщение 'Class "TOpenGLControl" not found'
Pascal
1
2
3
4
5
6
7
8
9
10
procedure TForm1.FormCreate(Sender: TObject);
 
begin
  // Создание контекста воспроизведения OpenGL и привязка его к панели на форме
  OpenGLControl1:=TOpenGLControl.Create(Self);
  with OpenGLControl1 do begin
    Name:='OpenGLControl1';
    Align:=alClient;
    Parent:=Panel1;
  end;
Добавлено через 1 минуту
Цитата Сообщение от AzAtom Посмотреть сообщение
Нет. Эта процедура создает новый объект TOpenGLControl, который находится прямо на форме и занимает всю клиентскую область, закрывая собой все остальные PageControl и т.д.
Вот строка GLBox.Parent :=TabSheet1; теперь "селит" этот объект на TabSheet1.
ясно, спасибо за пояснение.
0
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
12.03.2022, 15:45
Лучший ответ Сообщение было отмечено Hretgir как решение

Решение

Вот этот код нормально работает. Не надо вручную создавать ничего, просто в design-time поставить на форму TOpenGLControl и всё:
Delphi
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
unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
// Подключение библиотек. Для работы C OpenGL необходимы OpenGLContext, GL, GLU
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  ExtCtrls, ComCtrls, OpenGLContext, GL, GLU;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    OpenGLControl1: TOpenGLControl;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    procedure FormCreate(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure OpenGLControl1Paint(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
    fleft, fright, ftop, fbottom: GLdouble;
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.lfm}
 
{ TForm1 }
 
procedure TForm1.FormCreate(Sender: TObject);
 
begin
  fleft := -1;
  fright := 1;
  ftop := 1;
  fbottom := 0;
end;
 
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState
  );
begin
  if Key = ord('Q') then fleft := fleft + 0.1;
  if Key = ord('W') then fleft := fleft - 0.1;
  if Key = ord('O') then fright := fright + 0.1;
  if Key = ord('P') then fright := fright - 0.1;
 
  Caption := Format('%.2f, %.2f, %.2f, %.2f', [fleft, fright, fbottom, ftop]);
 
  OpenGLControl1.Invalidate;
end;
 
procedure TForm1.OpenGLControl1Paint(Sender: TObject);
begin
//  OpenGLControl1.
  glClearColor (0.2, 0.4, 0.6, 0); // цвет фона
  glClear (GL_COLOR_BUFFER_BIT);      // очистка буфера цвета
  glMatrixMode(GL_MODELVIEW);  // Выбор видовой матрицы
  glLoadIdentity();   //  Установка в единичные значения
//  glOrtho(-0.5, 1, 0, 1, -1 ,1); // Установка проекции окна
  glOrtho(fleft, fright, fbottom, ftop, -1 ,1); // Установка проекции окна
  //glTranslatef(0.5,0.5,0);  // Сдвиг
  //glRotatef(10, 0, 0, 0);   // Вращение
  glBegin(GL_TRIANGLES);      // Рисование треугольника
    glColor3f(1, 0, 0);     // Красный
    glVertex3f(0.0, 1.0, 0.0 ); // Верх треугольника (Передняя)
    glColor3f(0, 1, 0);
    glVertex3f( -1.0, -1.0 , 0.0);
    glColor3f(0, 0, 1);
    glVertex3f( 1.0, -1.0, 0.0);
  glEnd;
  OpenGLControl1.SwapBuffers; // Отрисовка из буффера
end;
 
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.03.2022, 15:45

Построение графика кубической функции в Lazarus
Помогите, пожалуйста, написать программу для построения графика функции y=x^3

Установка ZEOS в Lazarus, работа с PostgressSQL в Lazarus
Не получается никак установить компонент ZEOS в Lazarus открываю пакет с Zeos, нажимаю компилировать, потом установить в течение...

В чём разница между Lazarus Linux i386 RPM и Lazarus Linux i386 DEB
Здравствуйте. Установил в виртуалке Ubuntu и хочу "покрутить" в ней Lazarus. Судя по отзывам, менее проблематичной является установка...

Не инициализируется графика в Lazarus
Вот пример обычного кода: Uses Graph; Var GraphDriver, GraphMode: integer; Begin GraphDriver:=detect; ...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru