Главная страница
    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.48 MB
Время: 0.039 c
3-1081580315
Алексей Комлев
2004-04-10 10:58
2004.04.11
Подскажите SQL запрос


3-1079348960
Alexa_777
2004-03-15 14:09
2004.04.11
Программное создание таблицы Dbase


9-1065175641
alx1979
2003-10-03 14:07
2004.04.11
Алгоритм хождения шашки в игре монополия


3-1079361821
ceval
2004-03-15 17:43
2004.04.11
ComboBox се отбражалось одно а поиск шел по


3-1081877364
nika_ufc
2004-04-13 21:29
2004.04.11
проблема с АДО и TFileStream





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский