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

Вниз

Координаты окружности   Найти похожие ветки 

 
LongIsland   (2003-01-04 14:03) [0]

Кто-нибудь знает, как определить координаты центра вписанной в треугольник окружности, если известны координаты его вершин? Как на зло ни одного спавочника под рукой:О(
ЗЫ: А лет пять назад такой вопрос у меня и не возник бы. Ну ФСЁ забыл:(


 
MBo   (2003-01-04 14:36) [1]

центр этой окружности есть пересечение биссектрис (достаточно двух)


 
LongIsland   (2003-01-04 14:39) [2]


> MBo © (04.01.03 14:36)

Это я, к счастью, еще не забыл:-) Меня интересует, как определить именно координаты центра


 
MBo   (2003-01-04 14:39) [3]

P.S. наверно, удобно для получения уравнения биссектрисы использовать тот факт, что она делит сторону треугольника на отрезки, пропорциональные двум другим сторонам. Сa/a=Cb/b


 
MBo   (2003-01-04 14:39) [4]

именно координаты центра
точка пересечения двух прямых - система лин. уравнений


 
LongIsland   (2003-01-04 14:59) [5]

Однако, я выкрутился проще:-)


 
Alx2   (2003-01-04 15:07) [6]

>LongIsland © (04.01.03 14:39)

x1,y1
x2,y2
x3,y3 - Вершины.
x0,y0 - центр.

Имхо
y0=(L23*y1+L13*y2+L12*y3)/(L23+L13+L12)
x0=(L23*x1+L13*x2+L12*x3)/(L23+L13+L12)

Где
L23 - длина стороны (x2,y2) (x3,y3)
L13 - длина стороны (x1,y1) (x3,y3)
L12 - длина стороны (x1,y1) (x2,y2)

Посчитал навскидку. Может, где-то и налажал :)


 
LongIsland   (2003-01-04 15:22) [7]


> Alx2 © (04.01.03 15:07)

Налажал:-)


 
Alx2   (2003-01-04 15:25) [8]

>LongIsland © (04.01.03 15:22)

Ну вот :(

Ну и фиг с ним... Рутинно перепроверять :)


 
LongIsland   (2003-01-04 15:36) [9]

Ладно, на досуге сделаю, сюда выложу.
То, чё надо уже сделал:-)


 
Alx2   (2003-01-04 16:47) [10]

И все-таки я, скорее, не нагнал :)


 
LongIsland   (2003-01-04 22:05) [11]


> Alx2 © (04.01.03 16:47)
> И все-таки я, скорее, не нагнал :)

А я все-таки скорее проверил:-) Ладно, не важно:-)


 
Alx2   (2003-01-05 07:48) [12]

>LongIsland © (04.01.03 22:05)
>А я все-таки скорее проверил:-) Ладно, не важно:-)

Та-а-а-к. Это уже дело принципа :))
Все-таки проверил и я.

Вот пример для проверки:

A,B,C : TPoint; - вершины треугольника

with Canvas do
begin
MoveTo(A.x, A.y); // Рисуем клятый треугольник
LineTo(B.X, B.Y);
LineTo(C.X, C.Y);
LineTo(A.x, A.y);

L12 := sqrt(sqr(A.X - B.X) + sqr(A.Y - B.Y)); // Находим длины сторон
L23 := sqrt(sqr(B.X - C.X) + sqr(B.Y - C.Y));
L13 := sqrt(sqr(C.X - A.X) + sqr(C.Y - A.Y));
y0 := (L23 * A.y + L13 * B.y + L12 * C.y) / (L23 + L13 + L12); // Находим координаты центра вписанной окружности
x0 := (L23 * A.x + L13 * B.x + L12 * C.x) / (L23 + L13 + L12);
R := (B.x*A.y+A.x*y0-A.y*x0-B.x*y0-B.y*A.x+B.y*x0)/sqrt(sqr(A.X-B.x)+sqr(A.Y-B.y)); // Находим радиус вписанной окружности
Ellipse(Round(x0-R),Round(y0-R),Round(x0+R),Round(y0+R)); // Рисуем вписанную окружность
end;



Все красиво рисуется :)
Так-что ты чего-то при проверке неправильно сделал.



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

Форум: "Потрепаться";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.009 c
3-62367
oleon
2002-12-23 18:48
2003.01.20
Как написать запрос к таблице (


6-62718
Filat
2002-11-19 21:35
2003.01.20
Socket - что это такое?


1-62457
Артём К
2003-01-10 04:53
2003.01.20
Запись и чтение файла из определённого места


14-62734
Fenik
2002-12-29 17:49
2003.01.20
гады-программисты


7-62885
VladTen
2002-11-05 03:56
2003.01.20
Помогите разобраться





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