Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Врашение эллипса


Автор: lacost 18.12.2008, 17:20
Как можно нарисовать элипс под углом?

его оси я рисовал так:
где с1, с2  - его центр, h,h1 - длина большой и малой оси, al - угол относительно ОХ 
Код

  Form.Canvas.MoveTo(c1,c2);
  form.Canvas.LineTo(c1+Round(h*cos(al)),c2-Round(h*sin(al)));

  Form.Canvas.MoveTo(c1,c2);
  form.Canvas.LineTo(c1-Round(h*cos(al)),c2+Round(h*sin(al)));

  x:=90*Pi/180;

  Form.Canvas.MoveTo(c1,c2);
  Form.Canvas.LineTo(c1+Round(h1*cos(al+x)),c2+Round(h1*sin(al-x)));

  Form.Canvas.MoveTo(c1,c2);
  Form.Canvas.LineTo(c1-Round(h1*cos(al+x)),c2-Round(h1*sin(al-x)));

Автор: WaReZMEN 20.12.2008, 11:06
Ну а угол поменять не помогает?

Автор: Alexeis 20.12.2008, 12:28
Есть функция SetWorldTransform которая вводит преобразования при рисовании, в том числе и преобразование поворота.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)