Главная страница
    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.46 MB
Время: 0.039 c
1-1090565921
Jaxtor
2004-07-23 10:58
2004.08.08
Уничтожение всех объектов данного класса


14-1090648539
STALKER
2004-07-24 09:55
2004.08.08
Всем привет!Как в XP запустить ScanDisk?


14-1090307859
Undert
2004-07-20 11:17
2004.08.08
Правила пользования (компьютерной) техникой


4-1088445344
4dept
2004-06-28 21:55
2004.08.08
Перехват API-функций на Delphi


3-1089630354
Artem123
2004-07-12 15:05
2004.08.08
Разъясните еще раз про DBGrid (рисунки, Canvas и т.д.)





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