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

Вниз

Школьная геометрия   Найти похожие ветки 

 
Vaitek ©   (2005-01-27 12:15) [0]

Хелп люди, помогите задачку решить.

Дан произвольный треугольник на плоскости (XY). Известны координаты углов этого треугольника. Через каждый угол треугольника проходит прямая. Всего их - 3. Известно что эти прямые пересекаются друг сдругом в одной точке и под улом 120гр друг к другу (или 60 - смотря как смотреть). Надо найти эту точку пересечения.


 
Ozone ©   (2005-01-27 12:23) [1]

>> Известны координаты углов этого треугольника.

Это как? Мне не понятно... обьясни.


 
Fikus ©   (2005-01-27 12:26) [2]

Известны координаты углов этого треугольника. Через каждый угол треугольника проходит прямая. Всего их - 3.

LOL. А почему не 5? :)


 
Vlad Oshin ©   (2005-01-27 12:30) [3]

уравнение прямой по 2 точкам
угол м/д векторами
приравнять
лень


 
Vaitek ©   (2005-01-27 13:10) [4]

И как я вектор получу? У меня же только точка есть.


 
MBo ©   (2005-01-27 13:10) [5]

отношение скалярного произведение векторов OA и ОB к произведению их модулей равно 1/2 (косинус Pi/3)
То же самое для OA и OC
2 уравнения, 2 неизвестных.


 
Alx2 ©   (2005-01-27 13:23) [6]

Пользуйся :)

(x1,y1),(x2,y2),(x3,y3) - вершины

x = 1/3*(-6*x1*x3*x2+3*y1*x2*y2-3*y1*x2*y3+3*y3^2*x2+3*x1*x3^2+3*y1*x3*y3+3*x3*y2^2-3*y1*x3*y2+3*x1*x2^2-3*x3*y3*y2-3*y3*x2* y2-sqrt(3)*x3*y3*x2-sqrt(3)*x3*y2*x2-sqrt(3)*x1*y3*x2+sqrt(3)*y2*x3^2+sqrt(3)*y3*x2^2+2*sqrt(3)*y1*x3*x2+sqrt(3)*x1*y3*x 3-sqrt(3)*x1*y2*x3+sqrt(3)*x1*y2*x2-sqrt(3)*y1*x2^2-sqrt(3)*y1*x3^2)/(x3^2-2*x3*x2+x2^2+y3^2-2*y3*y2+y2^2),

y = 1/3*(-6*y3*x3*y2^2-2*sqrt(3)*x1*y2^2*x2-9*x1*y3^2*y2+9*x1*y3*y2^2-6*y2*x1*x3*x2-3*y3*x1*x3^2+6*y3*x1*x3*x2-12*y3*y1*x2*y 2+12*y3*y1*x3*y2+3*x3*y2^3+6*y1*x2*y2^2-6*y1*x3*y2^2-3*y3*x2*y2^2-3*y3*x1*x2^2+3*y2*x1*x3^2+3*y2*x1*x2^2-3*y3^3*x2-6*y1* x3*y3^2+6*y1*x2*y3^2+3*x3*y3^2*y2+6*y3^2*x2*y2+3*x2^3*y3-3*x3^3*y2+3*x3^2*y3*x2-3*x2^2*x3*y2-6*x3*y3*x2^2+6*x3^2*y2*x2-3 *x1*y2^3+3*x1*y3^3-3*y1*y2^3*sqrt(3)+4*y3*sqrt(3)*x1*y2*x2-9*y1*sqrt(3)*y3^2*y2+3*y1*sqrt(3)*y3^3+y3*sqrt(3)*y1*x2^2+9*y 1*sqrt(3)*y3*y2^2-2*x3^2*sqrt(3)*y2^2-2*x3*sqrt(3)*y1*x2*y3-x3^2*sqrt(3)*y1*y2+2*x3^2*sqrt(3)*y3*y2+2*x3*sqrt(3)*y1*x2*y 2+x3^2*sqrt(3)*y1*y3-4*y3*sqrt(3)*x1*y2*x3-2*x2^2*sqrt(3)*y3*y2+2*sqrt(3)*x1*y3^2*x3-x2^2*sqrt(3)*y1*y2-2*sqrt(3)*x1*y3^ 2*x2-2*x3*sqrt(3)*y3^2*x2+2*sqrt(3)*x1*y2^2*x3+2*x2*sqrt(3)*x3*y2^2+2*sqrt(3)*y3^2*x2^2)/((-x3+y3*sqrt(3)+x2-y2*sqrt(3)) *(x3^2-2*x3*x2+x2^2+y3^2-2*y3*y2+y2^2))


 
Ega23 ©   (2005-01-27 13:32) [7]

2 Alx2 ©   (27.01.05 13:23) [6]

Ух-ты! Это где-это ты такое надыбал?


 
Alx2 ©   (2005-01-27 13:35) [8]

>Ega23 ©   (27.01.05 13:32) [7]
Тупо в Maple закатал условие задачи. :))
Если подставить выражения для длин сторон треугольника, да выделить полные квадраты - получится достойная картинка, а не этот "черный квадрат" :)


 
Vaitek ©   (2005-01-27 13:36) [9]

А теперь рассказывай, как?


 
Vlad Oshin ©   (2005-01-27 13:38) [10]


> И как я вектор получу? У меня же только точка есть.

вторая т. искомая


 
Alx2 ©   (2005-01-27 13:47) [11]

Наврал :)
мой предыдущий пост - выкидыш :)


 
Vaitek ©   (2005-01-27 14:12) [12]

Ну что ж ты... 8-)


 
Alx2 ©   (2005-01-27 14:14) [13]

>Vaitek ©   (27.01.05 14:12) [12]
:)))
Вот исправленный вариант:

x = 1/6*sqrt(3)*(sqrt(3)*x3*x1^2+sqrt(3)*x3*x2^2+x1^2*sqrt(3)*x2+x1*sqrt(3)*x2^2+y1^2*sqrt(3)*x3+y1^2*sqrt(3)*x2-6*sqrt(3)*x 3*x2*x1-2*sqrt(3)*x1*y3*y2+4*y2*x2*x1-4*y3*x1*x3-4*y2*x3*x2+4*y3*x3*x2-y2*x3^2-3*y3*y2^2+3*y2*y3^2+y2*x1^2+3*y3*y1^2-3*y 2*y1^2+y1*x3^2+3*y1*y2^2-3*y1*y3^2-y3*x1^2+y3*x2^2+y2^2*sqrt(3)*x1+y2^2*sqrt(3)*x3+x2*sqrt(3)*y3^2+x1*y3^2*sqrt(3)+x3^2* sqrt(3)*x1+x2*sqrt(3)*x3^2-2*x2*sqrt(3)*y3*y1-y1*x2^2+4*y1*x3*x1-4*y1*x2*x1-2*y1*y2*sqrt(3)*x3)/(y1^2+x1^2-x1*y3*sqrt(3) -y3*y2+y3*sqrt(3)*x2-x3*y2*sqrt(3)+x1*y2*sqrt(3)+x3*sqrt(3)*y1-x2*sqrt(3)*y1-x3*x2+y3^2+y2^2+x3^2+x2^2-x1*x2-x1*x3-y2*y1 -y3*y1),
y = 1/6*(-12*x1*y1*x2*x3+18*x1*y1*y3^2+21*x1*y3*x2^2+6*x1*y1*x3^2+18*x1*y1*y2^2+21*x1*y2*x3^2+6*x1*y2*y1^2+6*x1*y3*y1^2+6*x1 *y3*x3*x2-9*x1*y2*x2^2+6*x1*y2*x3*x2-24*y2*x1^2*x3-24*y3*x2*x1^2+6*y3*x1^2*x3+6*y2*x2*x1^2+3*x1*y2^3+3*x1*y3^3-3*y1*x2^3 -60*y1*y2*y3*x1-15*y1*y3^2*x3-3*y1*y3^2*x2-15*y1*y2^2*x2-3*y1*x3*y2^2-6*y1^2*y3*x3-6*x2*y2*y1^2+30*y1*y3*y2*x2+30*y1*y3* y2*x3+3*x1*y3^2*y2-12*x2*y2*x3^2+9*x2*y3*y2^2-12*x2*y2*y3^2+9*x2^2*y2*x3+9*y3*x2*x3^2+9*x3*y2*y3^2-3*x3^3*y2-3*x2*y3^3+3 *y1*x3*x2^2-12*y3*x3*x2^2+3*y1*x2*x3^2+3*y3*y2^2*x1-9*x1*y3*x3^2+6*x1*y1*x2^2-sqrt(3)*x2^2*y3*y2-5*sqrt(3)*y3^2*x1^2-8*s qrt(3)*y3*x1^2*y1+5*sqrt(3)*y2^2*x1^2-3*sqrt(3)*y3^2*y1^2-21*sqrt(3)*y2^2*y3*y1+9*x3^2*sqrt(3)*x1^2-6*sqrt(3)*x3*x1^3+6* x1^3*sqrt(3)*x2+9*x1*x2*sqrt(3)*y3^2+12*sqrt(3)*x1*x3*y3*y1-12*sqrt(3)*x1*x2*y2*y1-4*sqrt(3)*x1*x3*y2*y1-7*sqrt(3)*y1*x3 ^2*y3-2*sqrt(3)*y1^2*x1*x2+2*sqrt(3)*y1^2*x1*x3+4*sqrt(3)*y3*y1*x1*x2+21*sqrt(3)*y2*y1*y3^2-sqrt(3)*x3*x2*y3^2+4*sqrt(3) *x3^2*y2^2+7*sqrt(3)*y2*y1*x2^2+sqrt(3)*x3^2*y3*y2-3*sqrt(3)*y3^3*y1+3*sqrt(3)*y2^3*y3-3*sqrt(3)*y3^3*y2-sqrt(3)*x3^2*y1 ^2+sqrt(3)*x2^2*y1^2+3*sqrt(3)*y2^2*y1^2+3*sqrt(3)*y2^3*y1+2*sqrt(3)*x3*y1*y3*x2-2*sqrt(3)*x2*x3*y2*y1-3*sqrt(3)*x2^2*y1 *y3+sqrt(3)*x3*x2*y2^2+8*sqrt(3)*y2*x1^2*y1+3*sqrt(3)*x3^2*y2*y1-sqrt(3)*y2^2*x1*x2-4*sqrt(3)*x2^2*y3^2-9*x3*sqrt(3)*y2^ 2*x1-2*x3*sqrt(3)*x1*y3*y2+x3*sqrt(3)*x1*y3^2-9*x2*sqrt(3)*x3^2*x1+3*x2^3*sqrt(3)*x1+3*x3^3*sqrt(3)*x2-9*x2^2*sqrt(3)*x1 ^2-3*x2^3*sqrt(3)*x3-3*x3^3*sqrt(3)*x1+9*x2^2*sqrt(3)*x3*x1+2*x2*sqrt(3)*x1*y3*y2+6*y2*x1^3+6*y3*x1^3-3*y1*x3^3-3*y2^3*x 3-3*x2^3*y3-12*y3*y2^2*x3)/((2*x1-x3-x2+y2*sqrt(3)-y3*sqrt(3))*(y1^2+x1^2-x1*y3*sqrt(3)-y3*y2+y3*sqrt(3)*x2-x3*y2*sqrt(3 )+x1*y2*sqrt(3)+x3*sqrt(3)*y1-x2*sqrt(3)*y1-x3*x2+y3^2+y2^2+x3^2+x2^2-x1*x2-x1*x3-y2*y1-y3*y1))


 
Vaitek ©   (2005-01-27 15:18) [14]

О Господи...


 
MBo ©   (2005-01-27 15:29) [15]

Геометрический метод:
На каждой стороне треугольника наружу строится равносторонний трегольник. От его вершины проводится прямая к противоположной вершине исходного треугольника. Точка пересечения прямых - искомая. Посчитать несложно. Иллюстрация:

procedure TForm1.Button1Click(Sender: TObject);
var
 A: array[0..2] of TPoint;
 B: array[0..2] of TPoint;
 dx, dy: Integer;
 i, j, k: Integer;
begin
 A[0] := Point(100, 100);
 A[1] := Point(200, 100);
 A[2] := Point(190, 250);
//A[2]:=Point(390,250); //òóïîóãîëüíûé c óãëîì áîëåå 120
 Canvas.Pen.Color := clBlue;
 Canvas.Polygon(A);
 for i := 0 to 2 do begin
   j := (i + 1) mod 3;
   k := (j + 1) mod 3;
   dx := A[j].X - A[i].X;
   dy := A[j].Y - A[i].Y;
   B[i].X := A[i].X + Round(dx * 0.5 + dy * Sqrt(3) / 2);
   B[i].Y := A[i].Y + Round(-dx * Sqrt(3) / 2 + dy * 0.5);
   Canvas.Pen.Color := clRed;
   Canvas.MoveTo(A[i].X, A[i].Y);
   Canvas.LineTo(B[i].X, B[i].Y);
   Canvas.LineTo(A[j].X, A[j].Y);
   Canvas.Pen.Color := clYellow;
   Canvas.MoveTo(B[i].X, B[i].Y);
   Canvas.LineTo(2*A[k].X-B[i].X, 2*A[k].Y-B[i].Y);
 end;
end;



 
MBo ©   (2005-01-27 15:31) [16]

испорченный комментарий: //тупоугольный с углом более 120 градусов


 
Marser ©   (2005-01-27 16:07) [17]

Maple это сила...


 
default ©   (2005-01-27 16:11) [18]

Marser ©   (27.01.05 16:07) [17]
наверно в этом зашифравано наше будущее


 
Alx2 ©   (2005-01-27 16:29) [19]

Привел более-менее в божеский вид:

x=x1+((2*x1-x3-x2+y2*sqrt(3)-y3*sqrt(3)))*Alpha,
y=y1+Alpha*(-y3+2*y1-x2*sqrt(3)+x3*sqrt(3)-y2)

где

Alpha = -1/6*(3*(y1-1/2*y3-1/2*y2-1/6*x2*sqrt(3)+1/6*x3*sqrt(3))^2-(y3-y2)^2-(x2-x3)^2+3*(x1-1/2*x2-1/2*x3-1/6*y3*sqrt(3)+1/6*y2 *sqrt(3))^2)/((y1-1/2*x2*sqrt(3)+1/2*x3*sqrt(3)-1/2*y3-1/2*y2)^2+(x1-1/2*x3-1/2*x2+1/2*y2*sqrt(3)-1/2*y3*sqrt(3))^2);


 
msguns ©   (2005-01-27 16:37) [20]

Как говаривал Соловьев, засстрелиться !


 
Alx2 ©   (2005-01-27 20:36) [21]

Подробно про задачку:
уравнение прямой, проходящей через точку x1,y1 (вершина номер 1 в тр-ке) под углом phi к оси ОХ есть
(y-y1)*cos(phi)+(-x+x1)*sin(phi) = 0
Аналогично, прямые проходящие через x2,y2 и x3,y3:
(-x+x2)*cos(phi+1/6*Pi)+(-y+y2)*sin(phi+1/6*Pi)=0
(-y+y3)*cos(phi+1/3*Pi)+(x-x3)*sin(phi+1/3*Pi)=0

Сложив их все вместе и раскрыв синусы и косинусы сумм получим:

(-y1+1/2*x2*sqrt(3)+1/2*y2-1/2*x3*sqrt(3)+1/2*y3)*cos(phi)+(x1-1/2*x2+1/2*y2*sqrt(3)-1/2*x3-1/2*y3*sqrt(3))*sin(phi)=0

Откуда немедленно находится угол phi, показывающий направление прямой из отчки x1,y1.

Phi= -arctan((x3*sqrt(3)-y3-x2*sqrt(3)-y2+2*y1)/(-2*x1+x2-y2*sqrt(3)+x3+y3*sqrt(3)))+Pi*Z

Аналогично находятся прямые для остальных точек.
Точка их пересечения даст искомое.
Следует учесть, что вершины треугольника нужно обходить против часовой стрелки.


 
SergP ©   (2005-01-27 21:47) [22]


>  Vaitek ©   (27.01.05 12:15)
> Хелп люди, помогите задачку решить.
>
> Дан произвольный треугольник на плоскости (XY). Известны
> координаты углов этого треугольника. Через каждый угол треугольника
> проходит прямая. Всего их - 3. Известно что эти прямые пересекаются
> друг сдругом в одной точке и под улом 120гр друг к другу
> (или 60 - смотря как смотреть). Надо найти эту точку пересечения.


А почему ты решил что такая точка одна?

Таких точек несколько. Я например вижу что в отдельных ситуациях их может быть даже 7 штук.


 
Alx2 ©   (2005-01-27 22:48) [23]

>SergP ©   (27.01.05 21:47) [22]
2/3*Pi угол между тремя лучами - покрываем всю окружность.
Почему несколько таких точек, если тр-к невырожденный?


 
SergP ©   (2005-01-27 23:09) [24]


>  [23] Alx2 ©   (27.01.05 22:48)
> >SergP ©   (27.01.05 21:47) [22]
> 2/3*Pi угол между тремя лучами - покрываем всю окружность.
> Почему несколько таких точек, если тр-к невырожденный?


потому что это не лучи, а прямые. И согласно задаче:


> ... Через каждый угол треугольника проходит прямая
> ...
> Известно что эти прямые пересекаются друг сдругом
> в одной точке и под улом 120гр друг к другу (или 60 - смотря
> как смотреть).



 
Alx2 ©   (2005-01-27 23:15) [25]

>SergP ©   (27.01.05 23:09) [24]
В формулировке "120 или 60" - согласен. Есть простор.


 
SergP ©   (2005-01-27 23:15) [26]


>  [23] Alx2 ©   (27.01.05 22:48)
> >SergP ©   (27.01.05 21:47) [22]
> 2/3*Pi угол между тремя лучами - покрываем всю окружность.
> Почему несколько таких точек, если тр-к невырожденный?


Потому что согласно задаче:


> ... Через каждый угол треугольника проходит прямая
> ...
> Известно что эти прямые пересекаются друг сдругом
> в одной точке и под улом 120гр друг к другу (или 60 - смотря
> как смотреть).



Максимум - 7 точек может быть если треугольник равносторонний. 1 точка в центре треугольника, 3 точки совпадают с вершинами, и еще 3 находятся за пределами треугольника (они симметричны центру треугольника относительно каждой из его сторон). В других случаях (неправильный треугольник) точек вроде бы меньше, но все равно более одной.


 
SergP ©   (2005-01-27 23:18) [27]

Блин. У меня тут инет глючило. Я думал что предыдущее не запостилось, поэтому подправил пост и еще раз запостил.


 
SergP ©   (2005-01-27 23:19) [28]


> [25] Alx2 ©   (27.01.05 23:15)
> >SergP ©   (27.01.05 23:09) [24]
> В формулировке "120 или 60" - согласен. Есть простор.


Хотя собственно говоря если говорить о прямых то нет разницы что 60 что 120


 
Alx2 ©   (2005-01-27 23:36) [29]

>SergP ©   (27.01.05 23:19) [28]
Я уж лучше по углу между направляющими векторами :)
Не люблю "веники".


 
Vaitek ©   (2005-01-28 11:48) [30]

Спасибо всем! Работает. Я знал что мне здесь помогут!


 
Alx2 ©   (2005-01-28 11:55) [31]

>Vaitek ©   (28.01.05 11:48) [30]
Эта...
А где пиво?



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

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

Наверх




Память: 0.55 MB
Время: 0.072 c
1-1107778004
snowkam
2005-02-07 15:06
2005.02.20
консоль


10-1080597324
GanibalLector
2004-03-30 01:55
2005.02.20
MDAC и DCOM


9-1100363056
Creep
2004-11-13 19:24
2005.02.20
Округления GLFloat


1-1107726341
Dwarf
2005-02-07 00:45
2005.02.20
про тип Single


14-1106780098
VID
2005-01-27 01:54
2005.02.20
Токио (или Tokyo) - Индира Ганди.mp3