Форум программистов, компьютерный форум, киберфорум
Delphi: Графика, звук, видео
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 09.11.2019
Сообщений: 125
1

Как поворачивать фигуру не изменяя её размер?

24.05.2020, 11:25. Показов 424. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Скажите,как можно поворачивать фигуру не изменяя её размер?

Delphi
1
2
3
4
anvas.Pen.Color:=clBlack;    
     Canvas.Brush.Color:=clYellow;
 
     Canvas.Chord(195,200,275,160,150,180,725,180);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2020, 11:25
Ответы с готовыми решениями:

Клавишами управления курсором поворачивать фигуру вокруг своей оси
Задать цвета фона - синий. цвет фигуры - жёлтый.(фигура в виде буквы<<H>>)Клавишами управления...

запись в файл, не изменяя размер самого файла
int stream::write(block blocks, int numOfBlocks,const char *data){ int filesize=strlen(data);...

Как поворачивать фигуры отдельно
Я создал две фигуры void Display() { glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_LINES);...

Как поворачивать объекты shape
как поворачивать объекты shape? не просто перерисовывать , а именно поворачивать сам объект....

2
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
24.05.2020, 11:56 2
Фигуры типа rectangle, ellipse можно повернуть только на угол пропорциональный 90 градусам, меняя значения осей.
На другие углы только рисовать.
Например повернутый эллипс.
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
procedure TForm1.FormPaint(Sender: TObject);
 {поворот по Х}
function rot_x(x,y:integer;t:real):integer;
begin
rot_x:=round(x*cos(t)-y*sin(t));
end;
{поворот по Y}
function rot_y(x,y:integer;t:real):integer;
begin
rot_y:=round(x*sin(t)+y*cos(t));
end;
{рисование эллипса под заданным углом u}
var a,b,x,y,n,sx,sy,rx,ry,i:integer;
    u,du:real;
begin
//центр эллипса
x:=clientwidth div 2;
y:=clientheight div 2;
u:=pi/4;//угол поворота
//полуоси эллипса
a:=100;
b:=50;
n:=50; //количество точек на эллипсе
//координаты начальной точки рисования
sx:=x+rot_x(a,0,u);
sy:=y+rot_y(a,0,u);
//рисование
with Canvas do
 begin
  pen.color:=clRed;
  moveto(sx,sy);
  du:=0;//угол поворота точек
  for i:=1 to 4*n do //4 четверти
   begin
    du:=du+2*pi/n;
    rx:=round(a*cos(du));
    ry:=round(b*sin(du));
    lineto(x+rot_x(rx,ry,u),y+rot_y(rx,ry,u));
   end;
  lineto(sx,sy);
 end;
end;
2
884 / 586 / 179
Регистрация: 28.02.2017
Сообщений: 2,359
Записей в блоге: 1
24.05.2020, 16:00 3
Под Windows можно использовать WinAPI - SetWorldTransform().
2
24.05.2020, 16:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2020, 16:00
Помогаю со студенческими работами здесь

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

Как Vector.up поворачивать на каждые 60 градусов
Здравствуйте! как можно поворачивать объект относительно Y, чтобы он поворачивался на 60 градусов....

Как поворачивать направление движения? (Java)
У меня есть движение по осям (X, Y, Z) за 1 такт, мне надо сделать так, что-бы вектор направления...

Как поворачивать объекты клавиатурой (юнити 2д)?
Есть такой скрипт using System.Collections; using System.Collections.Generic; using...

Как в Timage поворачивать изображение или рисунок
Я делаю графический редактор, не подскажите как в Timage поворачивать мое изображение или рисунок...

Как поворачивать камеру отсносительно осей X, Z с ограничением?
Всем доброго времени суток! Я, долго мучаясь, все же смог написать работающий класс камеры(С# и...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru