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

Вниз

Рисование дуги   Найти похожие ветки 

 
Kosha80   (2004-07-26 18:10) [0]

Требуется нарисовать дугу. Есть метод у TCanvas ARC.
В качестве параметров там передаются начало, конец и координаты центров эллипса.

А у меня даются Координаты начала, конца и радиус окружности.
Начало - (x1,y1)
Конец - (x2,y2)
Радиус - R

Голова уже опухла, может есть математики которые могут это разрешить?


 
Ega23 ©   (2004-07-26 18:18) [1]

Окружность - частный вид эллипса, у которого оба фокуса находятся в одной точке.


 
Kosha80   (2004-07-26 18:37) [2]

Это понятно, только как найти эту точку. Нужны ее координаты.


 
Ega23 ©   (2004-07-26 18:41) [3]

Решить уравнение тебе надо.
(X1-X)^2+(Y1-Y)^2=R^2
(X2-X)^2+(Y2-Y)^2=R^2

Решаем уравнение, получаем центр с координатами (X,Y)


 
kosha80   (2004-07-26 20:06) [4]

Короче я понял что учеба в школе и универе мне ничего не дала :)
Не могу я это решить, трехэтажные формулы получаются...


 
Kagp   (2004-07-27 00:24) [5]

Дожиллись граждане програмисты, систему из двух квадратных уравнение с двумя неизвестными решить не можем?


 
PKT   (2004-07-27 02:13) [6]

to:Kagp   (27.07.04 00:24) [5]
<<решить не можем?
Тоже не смог ?


 
kosha_ubitij_gorem   (2004-07-27 02:29) [7]

Вообщето решение где-о то рядом, но формулы трехтажные не дают пробиться мне к долгожданному Х. Я его не могу ухватить руками, а если и хватаю, то он как сказочный змей распадается на две головы. Вообщем мистика мужики. Кто-то, где-то сказал, что книга рекордов Гинеса обещала 1 миллион за решения данного уравнения, а может и не обещала... Все равно, разденьте эти прекрасные переменные от корней и квадратов, найдите заветные X и Y.


 
PKT   (2004-07-28 02:25) [8]

Разве что через геометрию :)
1. Длина хорды S=SQRT((X1-X2)^2 + (Y1-Y2)^2)
2. Координаты центра хорды
   Xs=(X1+X2)/2
   Ys=(Y1+Y2)/2
3. Расст.от центра хорды до центра окружности
   D=SQRT(R^2-1/4*S^2)
4. Проекции D на оси
   Dx=D*sin(A)
   Dy=D*cos(A),
   где A, естественно из arctg(A)=(Y2-Y1)/(X2-X1)
5. Далее ясно, что условий задачи недостаточно, т.к.
   через две точки можно провести две окружности радиуса R
   (в лучших традициях Arc - из 2 в 1 против часовой стрелки).
   Поэтому плюс/минус
   Xr=Xs+(-)Dx
   Yr=Ys+(-)Dy



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

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

Наверх




Память: 0.48 MB
Время: 0.038 c
3-1089725783
IXT
2004-07-13 17:36
2004.08.08
TDBLookupListBox


6-1086871978
Softal
2004-06-10 16:52
2004.08.08
Сеть в DOS


4-1088044556
nick_mas
2004-06-24 06:35
2004.08.08
Имитировать нажатие Button в чужом окне.


14-1090726590
Gero
2004-07-25 07:36
2004.08.08
Вопрос по HTML: реалистичная тень


1-1090490393
sAge
2004-07-22 13:59
2004.08.08
Помощь c ListView