Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];
ВнизРисование дуги Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.036 c