0 / 0 / 0
Регистрация: 07.05.2012
Сообщений: 9

Поворот вокруг точки

07.05.2012, 18:50. Показов 8066. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
всем доброго времени суток, целый час ломал голову как сделать поворот вокруг точки, а не вокруг начла координат, чего я только не пробовал, у меня получился поворот лишь вокруг начала координат,
помогите дополнить прогу

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
program moiseew;
uses graphabc;
var x,y,x1,y1,i: integer;
    f: real;
begin
 
for i:=1 to 1000 do begin
setPenWidth(6);
SetWindowSize(10000,10000);
SetBrushColor(clwhite);
FillRect(0,0,WindowWidth,WindowHeight);
 
f:=-0.01*i;
 
x:=150;
y:=300;
 
 
x1:=Round(x*cos(f)-y*sin(f));
y1:=Round(x*sin(f)+y*cos(f));
 
line(0,0,x1,y1);
Sleep(100);
end;
 
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.05.2012, 18:50
Ответы с готовыми решениями:

Переделать грибок на снеговика(поворот вокруг заданной точки)
uses graphabc,crt; const center=windowwidth div 2; p=10; var ygol,d,xt,yt,th,tn,ox5,ox6,ox7,ox8,oy5,oy6,oy7,oy8,ox9,oy9,ox10,oy10,...

Вращение прямоугольника вокруг точки
Помогите пожалуйста, прямоугольник вращается, Но, "след" за собой оставляет, не стирается предыдущее положение прямоугольника. Вроде должна...

Графика: Движение точки вокруг квадрата
Здраствуйте. Никак неполучается написать программу в которой бы точка двигалась вокруг квадрата. Нижний левый угол квадрата нужно взять...

16
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
09.05.2012, 19:25
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
uses graphabc;
var x,y,x1,y1,i: integer;
    f: real;
begin
SetWindowSize(700,500);
lockdrawing;
setPenWidth(6);
    x:=350;
    y:=250;
for i:=1 to 1000 do
    begin
    clearwindow;
    f:=-0.01*i;
    x1:=x+Round(50*cos(f)-50*sin(f));
    y1:=y+Round(50*sin(f)+50*cos(f));
    line(x,y,x1,y1);
    Sleep(10);
    redraw;
    end;
end.
1
0 / 0 / 0
Регистрация: 07.05.2012
Сообщений: 9
10.05.2012, 00:08  [ТС]
большое спасибо)
вообще мне задали чтобы буква крутилась , думал с разъяснением первого моего вопроса смогу дальше сам, но вот уже час не могу продвинуться
пытался задавать координаты точек букв из массива но не не смог, записать записал и открыл, но вот чтобы потом из массива нарисвать букву да чтоб она еще вертелась.....
0
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
10.05.2012, 00:15
sergei11b, какая буква? только не говорите, что Б или В...
впрочем, вот В в меру моих...
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
uses graphabc;
var x,y,x1,y1,i,x2,y2: integer;
    f: real;
begin
SetWindowSize(700,500);
lockdrawing;
setPenWidth(6);
    x:=350;
    y:=250;
for i:=1 to 1000 do
    begin
    clearwindow;
    f:=-0.01*i;
    x1:=x+Round(50*cos(f)-50*sin(f));
    y1:=y+Round(50*sin(f)+50*cos(f));
    x2:=x-10+Round(50*cos(f)-50*sin(f));
    y2:=y-20+Round(50*sin(f)+50*cos(f));
    circle(x1,y1,10);
    circle(x1,y2,8);
    line(x2,y1+10,x2,y2-10);
    Sleep(10);
    redraw;
    end;
end.
2
0 / 0 / 0
Регистрация: 07.05.2012
Сообщений: 9
10.05.2012, 11:05  [ТС]
в задании было, чтобы буква крутилась относительно своего центра
например буква "М", для удобства можно счиатать 3ю точку центром,
но чета никак не могу допилить

Добавлено через 15 минут
вообще у меня есть пример моего другана, тока он у меня чета не работает
program LMV;
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
uses GraphABC,CRT;
var Graphdriver, Graphmode, Grapherror,i,j,k: integer;
masx: array [1..41] of integer;
masy: array [1..41] of integer;
mas1: array [1..41] of integer;
mas2: array [1..41] of integer;
f:text;
begin
 
assign(f, 'COOR.txt');
reset (f);
for i:=1 to 41 do
begin
readln (f,masx[i]);
readln (f,masy[i]);
end;
close (f);
for i:=1 to 41 do begin
mas1[i]:=masx[i];
mas2[i]:=masy[i];
end;
repeat
k:=0;
j:=0;
repeat
SetWindowSize(640,480);
SetBrushColor(clred);
FillRect(0,0,WindowWidth,WindowHeight-1);
k:=k+5;
j:=j+1;
for i:=1 to 33 do begin
if i=12 then i:=13;
if i=21 then i:=22;
if i=25 then i:=26;
line(mas1[i],mas2[i],mas1[i+1],mas2[i+1]);
end;
//line(30,130,300,130);
if(j>36)then
for i:=1 to 12 do begin
mas1[i]:=Round(masx[i]*cos(k*pi/180)-masy[i]*sin(k*pi/180)-85*cos(k*pi/180)+125*sin(k*pi/180)+120);//-175
mas2[i]:=Round(masx[i]*sin(k*pi/180)+masy[i]*cos(k*pi/180)-85*sin(k*pi/180)-125*cos(k*pi/180))+200;//+220
end;
if(j<=36)then
for i:=1 to 12 do begin
mas1[i]:=Round(masx[i]*sin(k*pi/180)-masy[i]*cos(k*pi/180)-85*sin(k*pi/180)+125*cos(k*pi/180)+120);//-175
mas2[i]:=Round(masx[i]*cos(k*pi/180)+masy[i]*sin(k*pi/180)-85*cos(k*pi/180)-125*sin(k*pi/180))+200;//+220
end;
 
if(j=36)then
begin
for i:=13 to 25 do begin
mas1[i]:=masx[i];
mas2[i]:=masy[i];
end;
end;
 
if(j>36)then
for i:=26 to 34 do begin
mas1[i]:=Round(masx[i]*cos(k*pi/-(180))-masy[i]*sin(k*pi/-(180))-330*cos(k*pi/-(180))+125*sin(k*pi/-(180))+480);
mas2[i]:=Round(masx[i]*sin(k*pi/-(180))+masy[i]*cos(k*pi/-(180))-330*sin(k*pi/-(180))-125*cos(k*pi/-(180))+200);
end;
if(j<=36)then
for i:=26 to 34 do begin
mas1[i]:=Round(masx[i]*cos(k*pi/(180))-masy[i]*sin(k*pi/(180))-330*cos(k*pi/(180))+125*sin(k*pi/(180))+480);
mas2[i]:=Round(masx[i]*sin(k*pi/(180))+masy[i]*cos(k*pi/(180))-330*sin(k*pi/(180))-125*cos(k*pi/(180))+200);
end;
 
if(j<=20)then
for i:=13 to 25 do begin
mas1[i]:=Round(0.98*(mas1[i]-200)+200);
mas2[i]:=Round(0.98*(mas2[i]-125)+125);
end;
if(j>36)then
for i:=13 to 25 do begin
mas1[i]:=Round(1.02*(mas1[i]-200)+200);
mas2[i]:=Round(1.02*(mas2[i]-125)+125);
end;
 
delay(100);
 
if keypressed then halt;
until j=72;
for i:=1 to 41 do begin
mas1[i]:=masx[i];
mas2[i]:=masy[i];
end;
until Keypressed;
 
end.
Добавлено через 45 секунд
вот координаты из файла
70 200 100 130 100 200 120 200 120 50 100 50 100 80 70 150 70 50 50 50 150 200 170 200 185 160 215 160 230 200 250 200 210 50 190 50 150 200 192 140 206 140 199 120 192 140 280 200 380 200 380 180 300 180 300 70 380 70 380 50 280 50 280 200
0
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
10.05.2012, 11:45
sergei11b, не вижу надобности в массиве... вот вращение буквы М вокруг центральной точки (на основе программы Pupоreva), все, что могу...
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
uses graphABC,crt;
 
procedure Vrash(a:real;var x,y:integer;x0,y0,d:integer);
begin
a:=a*pi/180;
x:=x0+round(d*cos(a));
y:=y0-round(d*sin(a));
end;
 
var x0,y0,lx1,lx2,px1,px2,ly1,ly2,py1,py2,d:integer;
    u1,u2,u3,u4:real;
begin
hidecursor;
setwindowsize(500,500);
x0:=windowwidth div 2;
y0:=windowheight div 2;
u1:=135;u2:=225; u3:=45; u4:=315;
d:=100;
lx1:=x0+round(d*cos(pi*u1/180));
ly1:=y0-round(d*sin(pi*u1/180));
lx2:=x0+round(d*cos(pi*u2/180));
ly2:=y0-round(d*sin(pi*u2/180));
px1:=x0+round(d*cos(pi*u3/180));
py1:=y0-round(d*sin(pi*u3/180));
px2:=x0+round(d*cos(pi*u4/180));
py2:=y0-round(d*sin(pi*u4/180));
Setpencolor(clRed);
setpenwidth(3);
lockdrawing;
repeat
clearwindow;
Vrash(u1,lx1,ly1,x0,y0,d);
Vrash(u2,lx2,ly2,x0,y0,d);
Vrash(u3,px1,py1,x0,y0,d);
Vrash(u4,px2,py2,x0,y0,d);
line(x0,y0,lx1,ly1);
line(lx1,ly1,lx2,ly2);
line(x0,y0,px1,py1);
line(px1,py1,px2,py2);
redraw;
sleep(50);
u1:=u1+2;u2:=u2+2;
u3:=u3+2;u4:=u4+2;
until keypressed;
end.
1
0 / 0 / 0
Регистрация: 07.05.2012
Сообщений: 9
10.05.2012, 12:55  [ТС]
я не понимаю почему у меня когда я нажимаю shift-f9 паскаль чуток задумывается и ничего не показав прекращает работу
уже пробовал на 2х своих компах, ни один не хочет включать прог с модулем crt, даже самую простую
и переустанавливал уже и тут и там
единственное к чему я пришел это обойтись без crt но не знаю как(((
чтоза чертовщина, кстати у Вас КонецСвета мой пример заработал?
у меня вообще ничего с crt посмотреть не получается(((
0
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
10.05.2012, 13:06
sergei11b, у вас PascalABC.NET? тогда вам так...
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
uses graphABC;
 
procedure Vrash(a:real;var x,y:integer;x0,y0,d:integer);
begin
a:=a*pi/180;
x:=x0+round(d*cos(a));
y:=y0-round(d*sin(a));
end;
 
var x0,y0,lx1,lx2,px1,px2,ly1,ly2,py1,py2,d,i:integer;
    u1,u2,u3,u4:real;
begin
setwindowsize(500,500);
x0:=windowwidth div 2;
y0:=windowheight div 2;
u1:=135;u2:=225; u3:=45; u4:=315;
d:=100;
lx1:=x0+round(d*cos(pi*u1/180));
ly1:=y0-round(d*sin(pi*u1/180));
lx2:=x0+round(d*cos(pi*u2/180));
ly2:=y0-round(d*sin(pi*u2/180));
px1:=x0+round(d*cos(pi*u3/180));
py1:=y0-round(d*sin(pi*u3/180));
px2:=x0+round(d*cos(pi*u4/180));
py2:=y0-round(d*sin(pi*u4/180));
Setpencolor(clRed);
setpenwidth(3);
lockdrawing;
for i:=1 to 10000 do
  begin
clearwindow;
Vrash(u1,lx1,ly1,x0,y0,d);
Vrash(u2,lx2,ly2,x0,y0,d);
Vrash(u3,px1,py1,x0,y0,d);
Vrash(u4,px2,py2,x0,y0,d);
line(x0,y0,lx1,ly1);
line(lx1,ly1,lx2,ly2);
line(x0,y0,px1,py1);
line(px1,py1,px2,py2);
redraw;
sleep(50);
u1:=u1+2;u2:=u2+2;
u3:=u3+2;u4:=u4+2;
  end;
end.
1
0 / 0 / 0
Регистрация: 07.05.2012
Сообщений: 9
10.05.2012, 19:52  [ТС]
спасибо теперь все понял)
кстати заметил что если удалить строчки 18-25 программа всеравно работает) (по последнему варианту)
0
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
10.05.2012, 19:58
sergei11b, действительно =) но если заменить значения lx1... и т.д.на 0 (чему они вроде и равны по умолчанию), программа работать отказывается
а... теперь я вижу, по любому вычисление этих точек происходит в подпрограмме, так что они и правда излишни, эти начальные координаты...
1
0 / 0 / 0
Регистрация: 07.05.2012
Сообщений: 9
10.05.2012, 20:08  [ТС]
u1,u2 и тд это координаты точек буквы М?

Добавлено через 4 минуты
мне не понятно как добавить в букву а горизонталь, проходящую по середине
добавить добавил, но она крутится чудно
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
uses graphABC;
 
procedure Vrash(a:real;var x,y:integer;x0,y0,d:integer);
begin
a:=a*pi/180;
x:=x0-round(d*cos(a));
y:=y0+round(d*sin(a));
end;
 
procedure Vrash1(a:real;var x,y:integer;x0,y0,d:integer);
begin
a:=a*pi/180;
x:=x0+round(d*cos(a));
y:=y0+round(d*sin(a));
end;
 
var x01,y01,lx11,lx21,px11,px21,ly11,ly21,py11,py21,d,i:integer;
    u11,u21,u31,u41:real;
 
    x0,y0,lx1,lx2,px1,px2,ly1,ly2,py1,py2:integer;
    u1,u2,u3,u4:real;
begin
setwindowsize(1000,1000);
x0:=300;
y0:=200;
u1:=135;u2:=225; u3:=45; u4:=315;
x01:=900;
y01:=200;
u11:=135;u21:=225; u31:=45; u41:=315;
d:=100;
 
setpenwidth(3);
lockdrawing;
for i:=1 to 91 do
  begin
clearwindow;
Vrash(u1,lx1,ly1,x0,y0,d);
Vrash(u2,lx2,ly2,x0,y0,d);
Vrash(u3,px1,py1,x0,y0,d);
Vrash(u4,px2,py2,x0,y0,d);
 
Vrash1(u11,lx11,ly11,x01,y01,d);
Vrash1(u21,lx21,ly21,x01,y01,d);
Vrash1(u31,px11,py11,x01,y01,d);
Vrash1(u41,px21,py21,x01,y01,d);
 
line(x0,y0,lx1,ly1);
line(lx1,ly1,lx2,ly2);  //буква м
line(x0,y0,px1,py1);
line(px1,py1,px2,py2);
 
line(px11,py11,px21,py21);  //буква а
line(px11,py11,lx11,ly11);
line(lx11,ly11,lx21,ly21);
 
 
redraw;
sleep(50);
u1:=u1+2;u2:=u2+2;
u3:=u3+2;u4:=u4+2;
 
u11:=u11+2;u21:=u21+2;
u31:=u31+2;u41:=u41+2;
 
  end;
end.
0
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
10.05.2012, 20:09
u - это угол "ключевых" точек или концов отрезков, из которых составлена буква, относительно оси х против часовой стрелки
1
0 / 0 / 0
Регистрация: 07.05.2012
Сообщений: 9
10.05.2012, 20:13  [ТС]
Цитата Сообщение от КонецСвета Посмотреть сообщение
u - это угол "ключевых" точек или концов отрезков, из которых составлена буква, относительно оси х против часовой стрелки
блин так и знал цифры типовые, под градусы косят

Добавлено через 2 минуты
ща голову ломаю как избавиться от лишних объявленных lx1,....
0
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
10.05.2012, 20:23
sergei11b, нене, они не лишние =) попробуй... а я попробую А..
но лучше придумать другие названия точкам, а то у меня "левая первая х", "правая вторая у"
или .. в массив?...
1
0 / 0 / 0
Регистрация: 07.05.2012
Сообщений: 9
10.05.2012, 20:33  [ТС]
Цитата Сообщение от КонецСвета Посмотреть сообщение
sergei11b, нене, они не лишние =) попробуй... а я попробую А..
но лучше придумать другие названия точкам, а то у меня "левая первая х", "правая вторая у"
или .. в массив?...
в массив видимо желательно, но у меня уже мозги спеклись не знаю как)
0
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
10.05.2012, 20:58
готово...
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
uses graphABC;
const umn: array [1..4] of integer=(135,225,45,315);
      uan: array [1..5] of integer=(220,90,315,0,180);
      x0=300; y0=200; x01=700; y01=200; d=100;
 
procedure Vrash(a:real;var x,y:integer;x0,y0,d:integer);
begin
a:=a*pi/180;
x:=x0-round(d*cos(a));
y:=y0+round(d*sin(a));
end;
 
procedure Vrash1(a:real;var x,y:integer;x0,y0,d:integer);
begin
a:=a*pi/180;
x:=x0+round(d*cos(a));
y:=y0+round(d*sin(a));
end;
 
var i,j:integer;
  mx,my,um: array [1..4] of integer;
  ax,ay,ua: array [1..5] of integer;
 
begin
setwindowsize(900,500);
setpenwidth(3);
for i:=1 to 4 do
  um[i]:=umn[i];
for i:=1 to 5 do
  ua[i]:=uan[i];
lockdrawing;
for i:=1 to 91 do
  begin
clearwindow;
Vrash(um[1],mx[1],my[1],x0,y0,d);
Vrash(um[2],mx[2],my[2],x0,y0,d);
Vrash(um[3],mx[3],my[3],x0,y0,d);
Vrash(um[4],mx[4],my[4],x0,y0,d);
 
Vrash1(ua[1],ax[1],ay[1],x01,y01,d);
Vrash1(ua[2],ax[2],ay[2],x01,y01,d);
Vrash1(ua[3],ax[3],ay[3],x01,y01,d);
Vrash1(ua[4],ax[4],ay[4],x01,y01,d-50);
Vrash1(ua[5],ax[5],ay[5],x01,y01,d-50);
 
line(x0,y0,mx[1],my[1]);       //буква м
line(mx[1],my[1],mx[2],my[2]);  
line(x0,y0,mx[3],my[3]);
line(mx[3],my[3],mx[4],my[4]);
 
line(ax[1],ay[1],ax[2],ay[2]);
line(ax[2],ay[2],ax[3],ay[3]);
line(ax[4],ay[4],ax[5],ay[5]);
 
redraw;
sleep(50);
for j:=1 to 4 do
  um[j]:=um[j]+2;
for j:=1 to 5 do
  ua[j]:=ua[j]+2;  
  end;
end.
конфетка...
1
0 / 0 / 0
Регистрация: 07.05.2012
Сообщений: 9
10.05.2012, 21:34  [ТС]
Цитата Сообщение от КонецСвета Посмотреть сообщение
готово...
...
конфетка...
ваще идеал) спасибо огромное
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.05.2012, 21:34
Помогаю со студенческими работами здесь

Вращение многоугольника вокруг произвольной точки
Всем здравствуйте. Прошу помощи. Суть задания:написать программу, реализующую вращение многоугольника вокруг произвольной точки. Моя...

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

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

Поворот фигуры вокруг оси
Здравствуйте.Снова нужна помощь.Вот отрисовал треугольник.Нужно четыре цикла repeat чтобы полностью повернуть его.Обяъясните пожалуйста...

Поворот куба вокруг оси координат
АНАЛИЗ ТА РОЗРОБКА ПРОГРАМи ДЛЯ РИШЕНИЭ ЗАДАЧИ ОБЕРТАННЯ КУБА ВАКРУГ ОСИ ОРДИНАТ (Оли X) ПЛИЗ:sorry:


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

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

Новые блоги и статьи
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
Многопоточное программировани­е в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
Образование и практика
Igor3D 21.03.2025
Добрый день А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
Lazarus. Таблица с объединением ячеек.
Massaraksh7 21.03.2025
Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в. . .
Async/await в Swift: Асинхронное программировани­е в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
Колмогоровская сложность: Приёмы упрощения кода
ArchitectMsa 20.03.2025
Наверное, каждый программист хотя бы раз сталкивался с кодом, который напоминает запутанный лабиринт — чем дальше в него погружаешься, тем сложнее найти выход. И когда мы говорим о сложности кода, мы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru