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

Вниз

Задачка на Pascal   Найти похожие ветки 

 
Pascal96   (2009-10-20 15:07) [0]

Треугольник задается координатами своих вершин на плоскости: А(х1, у1), В(х2, у2), С(х3, y3).
Найти точку пересечения биссектрис треугольника ABC (центр вписанной в него окружности).

Не могу врубиться, как эту точку найти.


 
Игорь Шевченко ©   (2009-10-20 15:08) [1]

школьная геометрия не помогает ?


 
Pascal96   (2009-10-20 15:15) [2]

Нарыл
http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%86%D0%B5%D0%BD%D1%82%D1%80


> школьная геометрия не помогает ?

Именно в этой задачке не пойму )))
Остальные зачачки решаю нормально


 
Сергей М. ©   (2009-10-20 15:17) [3]


> Именно в этой задачке не пойму


Что не поймешь ?


 
Pascal96   (2009-10-20 15:25) [4]


> Что не поймешь ?

Как эту точку найти.
Хорошо, по координатам нахожу длины стварон треугольника. а что дальше?


 
Сергей М. ©   (2009-10-20 15:33) [5]


> Как эту точку найти


Эта точка есть решение системы из двух линейных уравнений, задающих прямые, на которых лежат две произвольно выбранные биссектрисы.


 
Сергей М. ©   (2009-10-20 15:38) [6]

А бисектриса угла треугольника делит противолежащую сторону в пропорции, равное отношению длин сторон треугольника, образующих этот угол.

Отсюда и пляши.


 
Fenik ©   (2009-10-20 17:04) [7]


function CenterCircleInTriang(const P1, P2, P3: TPoint): TPoint;
{ Возвращает центр вписанной в треугольник окружности }

 function LineSize(const X0, X1, Y0, Y1: Integer): Extended;
 begin
   if X0 = X1 then
     Result := Abs(Y0 - Y1)
   else if Y0 = Y1 then
     Result := Abs(X0 - X1)
   else
     Result := Sqrt(Sqr(X1 - X0) + Sqr(Y1 - Y0));
 end;

var
 a, b, c, Perim: Extended;
begin
 a := LineSize(P1.X, P2.X, P1.Y, P2.Y);
 b := LineSize(P2.X, P3.X, P2.Y, P3.Y);
 c := LineSize(P3.X, P1.X, P3.Y, P1.Y);
 Perim := a + b + c;
 if Round(Perim) > 0 then
 begin
   Perim := 1 / Perim;
   Result := Point(Round((b * P1.x + c * P2.x + a * P3.x) * Perim),
                   Round((b * P1.y + c * P2.y + a * P3.y) * Perim));
 end
 else
   Result := P1;
end;


На Паскаль несложно перевести.


 
Dennis I. Komarov ©   (2009-10-20 17:44) [8]


> На Паскаль несложно перевести.

А зачем?


 
Pascal96   (2009-10-20 17:53) [9]


> Fenik


Большое спасибо! Выручили.


> А зачем?


В Паскале нет (относительно примера): Result, TPoint и некот. типов.

З.Ы. В DRKB надо чаще заглядывать. )))))


 
Dennis I. Komarov ©   (2009-10-20 17:56) [10]


> В Паскале нет (относительно примера): Result, TPoint и некот.
>  типов.
>
> З.Ы. В DRKB надо чаще заглядывать. )))))

Ты не познал суть вопроса...


 
Pascal96   (2009-10-20 18:00) [11]


> Ты не познал суть вопроса...


Это специфическая задачка с уклоном на геометрию, за которую я дааавно не брался )))))


 
Dennis I. Komarov ©   (2009-10-20 18:12) [12]


> > Ты не познал суть вопроса...
>
>
> Это специфическая задачка с уклоном на геометрию, за которую
> я дааавно не брался )))))

Вопрос был в [8] потому как [7] зло...


 
Pascal96   (2009-10-20 18:22) [13]


> Вопрос был в [8] потому как [7] зло...

Каюсь ))) Но Это был осмысленный копипаст. Я узнал нахождение этой точки через периметр, такого я не видел. Если что, Мне не в лом учиться.


 
Pascal96   (2009-10-20 18:34) [14]

ещё задачка:

Переправа. Чапаеву надо под прямым углом к фарватеру преодолеть реку Урал шириной b м.
Его скорость в стоячей воде v1, м/с; скорость течения реки - v2 м/с.
Под каким углом к фарватеру он должен плыть, чтобы его "не снесло"?
Сколько времени займет переправа?
Как изменится решение, если посредине
реки Чапаева ранили в руку, и его скорость с v1 м/с упала до v3 м/с?

2, 3 пункы я понятно. а первый, про угол, как его вычислить даже ума не приложу.


 
palva ©   (2009-10-20 18:56) [15]

Какая-то садистская задача...
Под каким углом к горизонту находился Александр Матросов, когда в него попала третья пуля, если он падал со скоростью...


 
Pascal96   (2009-10-20 19:03) [16]


> Какая-то садистская задача...


Да. И их надо решать.  
Мне кажется, что при любом угле его снесёт нафиг и по диогонали тож.


 
palva ©   (2009-10-20 19:16) [17]

Мы уже все забыли. Посмотри, здесь примеры таких задач с решениями.
http://stalex.exponenta.ru/phisics/mechanics/lin_motion.htm
http://afportal.kulichki.com/index.files/index10_z9_u1_1.htm


 
Pascal96   (2009-10-20 19:21) [18]

Спасибо, palva.

> Мы уже все забыли.
Все или всё? )))

Ветку можно прикрыть.


 
Fenik ©   (2009-10-20 19:32) [19]

> Dennis I. Komarov ©   (20.10.09 18:12) [12]
> Вопрос был в [8] потому как [7] зло...


Почему зло?



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

Форум: "Начинающим";
Текущий архив: 2009.12.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.004 c
2-1255984913
ratatui
2009-10-20 00:41
2009.12.06
Записываются ли в EXE не использующиеся константы и функции?


2-1256018021
Джон Сильвер
2009-10-20 09:53
2009.12.06
Назначение прав доступа NTFS для групп


4-1224487927
worldmen
2008-10-20 11:32
2009.12.06
Вывести список компонент чужого окна.


15-1254855575
TRSteep
2009-10-06 22:59
2009.12.06
Смена хеша пароля


15-1254831159
Kolan
2009-10-06 16:12
2009.12.06
Как тестировать не публичные методы?





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