Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.048 c
6-1075705511
genek84
2004-02-02 10:05
2004.04.11
Как разделить слипание сообщений?


3-1081851727
CyBeR
2004-04-13 14:22
2004.04.11
Как вставить результат запроса Query в таблицу???.


3-1079033536
Gregory
2004-03-11 22:32
2004.04.11
Как создать виртуальный SQL


14-1079331760
ИМХО
2004-03-15 09:22
2004.04.11
Насколько опасен MS Outlook Express


4-1075411194
pirat
2004-01-30 00:19
2004.04.11
как поставить TrackMouseEvent ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский