![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() мне нужно не delpi решить задачу:
даны координаты 3 точек на плоскости.если они могут быть вершинами остроугольного треугольника, вычислите их буду очень признательна! |
#2
|
||||
|
||||
![]() Если координаты даны, что вычислять?
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#3
|
|||
|
|||
![]() Цитата:
Углы??? Собственно, тут прогрпммирования то никакого, сплошная математика. |
#4
|
||||
|
||||
![]() |
#5
|
|||
|
|||
![]() Вот программа которая считает углы (в радианах) по заданным координатам вершин
Но причем здесь программирование???????????? Теорема косинусов............. Код:
program Project1; {$APPTYPE CONSOLE} uses Math; var Ax,Ay,Bx,By,Cx,Cy, SqLenA,SqLenB,SqLenC: extended; begin writeln('‚ўҐ¤ЁвҐ Є®®а¤Ё**вл ўҐаиЁ*'); write('A: '); readln(Ax,Ay); write('B: '); readln(Bx,By); write('C: '); readln(Cx,Cy); SqLenB:=(Ax-Cx)*(Ax-Cx) + (Ay-Cy)*(Ay-Cy); SqLenA:=(Bx-Cx)*(Bx-Cx) + (By-Cy)*(By-Cy); SqLenC:=(Ax-Bx)*(Ax-Bx) + (Ay-By)*(Ay-By); writeln('”Ј«л'); writeln('C: ',ArcCos((SqLenA+SqLenB-SqLenC)/2/Sqrt(SqLenA*SqLenB))); writeln('B: ',ArcCos((SqLenA+SqLenC-SqLenB)/2/Sqrt(SqLenA*SqLenC))); writeln('A: ',ArcCos((SqLenC+SqLenB-SqLenA)/2/Sqrt(SqLenC*SqLenB))); readln; end. Последний раз редактировалось chainik, 11.09.2011 в 13:38. |
#6
|
|||
|
|||
![]() ну там сначала нужно проверить являются ли эти точки вершинами, а потом вычислить по координатам по формуле эти точки!!
вроде я так поняла) |
#7
|
||||
|
||||
![]() Цитата:
Если на плоскости поставить три точки, то всегда можно по ним построить треугольник. Кроме случая, когда они будут лежать на одной прямой. (хотя можно посчитать что это треугольник с углами 0, 0, 180 град.) |
#8
|
||||
|
||||
![]() Ну йопт-тыть (это если без матов). 3 точки... координаты известны... расстояния расчитаны... "сумма двух любых сторон треугольника всегда больше третьей" - достаточно.
ЗЫЖ как дети. Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#9
|
|||
|
|||
![]() ну вот именно этот случай и нужно исключить.
тока не ругайтесь)) |
#10
|
|||
|
|||
![]() Цитата:
Ну так исключай. Тебе уже все разжевали. Вообще, проверять стороны не обязательно, т.к. по трем точкам (кстати, не важно на плоскости они или нет, т.к. плоскость тоже можно опрежелить через 3 точки) всегда можно построить треугольник. Может только быть вырожденный случай, когда они, точки, лежат на одной прямой. |
#11
|
|||
|
|||
![]() Выгодский. Справочник по высшей математике
Открываем: 3 точки лежат на 1 прямой тогда и только тогда (X2-X1)*(Y3-Y1) - (X3-X1)*(Y2-Y1) = 0 т.е. определитель |x2-x1 y2-y1| |x3-x1 y3-y1| = 0 |
#12
|
|||
|
|||
![]() напишите прогу то.
я профан!!) |
#13
|
|||
|
|||
![]() а вот с этим в раздел "Работа".
либо пытаешься сам и задаешь КОНКРЕТНЫЕ вопросы с ТЕМ, ЧТО НЕ ПОЛУЧАЕТСЯ с приведением СВОЕГО кода. |
#14
|
|||
|
|||
![]() Благодарю)
|