Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

две линии   Найти похожие ветки 

 
blaster   (2004-03-25 13:38) [0]

Как на форме нарисовать две линии между которыми будет определенный угол?


 
Ega23 ©   (2004-03-25 13:42) [1]

Линии выходят (не выходят) из одной точки, система координат совпадает (не совпадает) с СК формы, какой длины линии и т.п.
А вообще-то это, скорее, курс линейной алгебры, а не программирования.


 
blaster   (2004-03-25 13:44) [2]

выходт из одной точки. Сисема координат - координаты мышки на форме. Как сделать?


 
MBo ©   (2004-03-25 13:49) [3]

Canvas.MoveTo
Canvas.LineTo


 
blaster   (2004-03-25 13:51) [4]

А можно более конкретный пример. Про эти процедуры я знаю. Как их применить для того,  что бы между прямыми был определенный угол?


 
Anatoly Podgoretsky ©   (2004-03-25 13:54) [5]

По Canvas.MoveTo.LineTo есть пример в справке. По математике учебник по геометрии


 
KapitanSerg ©   (2004-03-25 13:56) [6]

Вопрос явно для "Орешника"!!!!!!!!!!


 
Юрий Зотов ©   (2004-03-25 14:03) [7]

> Ega23 ©   (25.03.04 13:42) [1]
> А вообще-то это, скорее, курс линейной алгебры, а не
> программирования.

А еще скорее, это курс школьной геометрии. Синус обыкновениус.


 
Digitman ©   (2004-03-25 14:05) [8]


> Сисема координат - координаты мышки на форме


эдак ты далеко уедешь)

мышка-то елозит по экрану непрерывно, что ж получается по-твоему -  из-за этого и/или в связи с этим меняется "система координат" ?

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


 
Ega23 ©   (2004-03-25 14:17) [9]

А еще скорее, это курс школьной геометрии. Синус обыкновениус.

Тут ещё поворот СК нужно учитывать. Хотя может и из школы. Во всяком случае, не выше первого семестра ВУЗа.


 
blaster   (2004-03-25 14:18) [10]

Народ я конечно понимаю, что я задаю глупые вопросы, но как-то надо учится... Ткните хотя бы в пример какой-нибудь. Я прекрасно понимаю какие функции исползуются для рисования, но как нарисовать угол в упор понять не могу :(


 
Ega23 ©   (2004-03-25 14:27) [11]

Ответь по порядку:
1. Система координат Декартова или нет (сси под прямым углом).
2. Где находится центр координат.
3. Имеет ли СК угол поворота, или нет.
4. Куда направлены орты.


 
MBo ©   (2004-03-25 14:28) [12]

procedure TForm1.Button9Click(Sender: TObject);
var
 dx,dy,Len,Angle:Integer;
begin
Len:=100;
Angle:=30;
Canvas.MoveTo(10,10);
Canvas.LineTo(10+Len,10);
Canvas.MoveTo(10,10);
dx:=Round(Len*Cos(DegToRad(Angle)));
dy:=Round(Len*Sin(DegToRad(Angle)));
Canvas.LineTo(10+dx,10+dy);
end;


 
Digitman ©   (2004-03-25 14:29) [13]


> как нарисовать угол в упор понять не могу


а никак !

он сам по себе "нарисуется", когда ты нарисуешь два пересекающихся отрезка прямых ... а чтобы их нарисовать, нужно знать координаты пар точек, определяющих начала и концы обоих отрезков ... а чтобы знать эти координаты, нужно их расчитать .. а чтобы их расчитать, нужно засунуть на время комп в чулан, взять лист бумаги, учебник по тригонометрии, разрисовать все это дело на бумаге c полными формульными выкладками ... вот как только это будет осмыслено и готово, тогда из чулана достается комп, и все эти формулы (являющие собой алгоритм расчета) просто-напросто кодируются в синтаксисе Паскаля


 
Ega23 ©   (2004-03-25 14:32) [14]

Digitman ©   (25.03.04 14:29) [13]
Так точно!


 
Романов Р.В. ©   (2004-03-25 14:39) [15]

procedure DrawLine(C: TCanvas; X, Y, L: Integer; Fi: Double);
var
 X1, Y1: Integer;
begin
 X1 := Trunc(L * cos(Fi));
 Y1 := Trunc(L * sin(Fi));
 C.MoveTo(X, Y);
 C.LineTo(X+X1, Y-Y1);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 DrawLine(Form1.Canvas, 100, 100, 80, 0/180*Pi);
 DrawLine(Form1.Canvas, 100, 100, 40, 45/180*Pi);
end;


 
blaster   (2004-03-25 14:45) [16]

Огромное спасибо всем!!!!!


 
Digitman ©   (2004-03-25 15:02) [17]

резюме : курс тригонометрии успешно пройден ... программные перлы как результат "ускоренных курсов" не заставят себя ждать


 
Ega23 ©   (2004-03-25 15:20) [18]

Оффтоп:
У нас в универе был курс компьютерной графики, ну там в основном математика - повороты, перспективы и т.п. Фишка была кружку кофеную нарисовать.



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.076 c
1-1080100990
Лысый
2004-03-24 07:03
2004.04.11
Дата и время


1-1082678989
Бегун
2004-04-23 04:09
2004.04.11
TListBox


1-1082628607
alextov
2004-04-22 14:10
2004.04.11
Нужно запустить ХП в отдельном потоке


1-1082374017
cort33
2004-04-19 15:26
2004.04.11
Разбитие текста


7-1080207963
aleXXoft
2004-03-25 12:46
2004.04.11
Как менять яркость/контраст и т.п. на видюхе?