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

Вниз

Найти величины углов   Найти похожие ветки 

 
Студент   (2007-10-23 21:59) [0]

Треугольник на плоскости задан координатами своих врешин. Нужно определить велчины углов. Как это сделать?
Я думаю, что можно определить через векторное или скалярное произведение. А как получить угол, если в паскале нет функции arcsin?
Заранее благодарен!


 
@!!ex ©   (2007-10-23 22:02) [1]

Есть такая функция.
в библиотке Math.
Help принципиально не читаем?

P.s.
Как тебе поможет векторное произведение я слабо понимаю, а вот скаляр - то что нужно.


 
@!!ex ©   (2007-10-23 22:08) [2]


function DotVector(const Vector1, Vector2: TVector): Single;
begin
 Result := (Vector1.X * Vector2.X) + (Vector1.Y * Vector2.Y) + (Vector1.Z * Vector2.Z);
end;

function MagnitudeVector(const Normal: TVector): Single;
begin
Result := Sqrt((Normal.x * Normal.x) + (Normal.y * Normal.y) + (Normal.z * Normal.z));
end;

function AngleBetweenVectors(const Vector1, Vector2: TVector): Double;
var dotProduct,vectorsMagnitude:real;
begin
 dotProduct:= DotVector(Vector1, Vector2);
 vectorsMagnitude:= MagnitudeVector(Vector1) *
                    MagnitudeVector(Vector2);
 if vectorsMagnitude<>0 then
   Result := ArcCos(dotProduct/vectorsMagnitude)
 else
   Result :=0;
end;


Радуйся, студент. ;)


 
Юрий Зотов ©   (2007-10-23 22:57) [3]

> Студент   (23.10.07 21:59)

> Треугольник на плоскости задан координатами своих врешин. Нужно
> определить велчины углов. Как это сделать?
> Я думаю, что можно определить через векторное или скалярное
> произведение.

А ведь буквально сегодня некий человек с ником Студент жаловался, что в ВУЗе его заставляют изучать ненужные для программирования предметы...

> А как получить угол, если в паскале нет функции arcsin?

А еще этот Студент говорил, что программистом стать нельзя, если не заниматься самому. И возникает вопрос: читать справку - это заниматься самому, или как?


 
Petr V.Abramov   (2007-10-23 23:17) [4]

> А как получить угол, если в паскале нет функции arcsin?
писать на C#
ШУТКА!!!


 
Галинка ©   (2007-10-23 23:37) [5]

теорему косинусов проходил? а теорему Пифагора? Так вот с помощью второй, находишь длины сторон, а с помощью первой - величины углов. Используя модуль Math разумеется. Он упоминается в секции uses.


 
Petr V.Abramov   (2007-10-23 23:43) [6]

> Галинка ©   (23.10.07 23:37) [5]
> Используя модуль Math разумеется.
а модуль Math при компиляции лабы скорее всего будет не найден, т.к. преподы - козлы, но не настолько дураки


 
нормальный человек   (2007-10-23 23:55) [7]

да написано же что паскаль! соответственно нет никакого mach! no delphi


 
нормальный человек   (2007-10-23 23:56) [8]

да написано же что паскаль! соответственно нет никакого math! no delphi


 
@!!ex ©   (2007-10-24 00:01) [9]

А дельфи - это не паскаль? ЛОЛ...
Вот у меня в хелпе к 7 дельфе написано, что это Object Pascal... у вас не так?


 
@!!ex ©   (2007-10-24 00:05) [10]

В любом случае ArcSin и ArcCos легко находятся через ArcTan.
И если студент не может до этого сам допереть, то грош цена такому студенту.

P.S.
Кстати, узнал я о том, что
ArcSin(x) = ArcTan(x/sqrt(1-sqr(x)))
ArcCos(x) = ArcTan(sqrt(1-sqr(x))/x)
все из того же хелпа, только на этот раз по Borland Pascal 7.0....
Так что все вышесказанное остается в силе.


 
Галинка ©   (2007-10-24 00:07) [11]

Тогда лекции по вышмату, раздел тригонометрия. Формулы приведения различных тригон. функций. А именно выражение арксинуса/арккосинуса, через арктангенс. Гугл сказал в паскале есть arctan.


 
Mystic ©   (2007-10-24 11:42) [12]

> Галинка ©   (24.10.07 00:07) [11]

Тригонометрия это элементарная математика, а не высшая ;)


 
Сергей М. ©   (2007-10-24 12:10) [13]


> как получить угол, если в паскале нет функции arcsin


На то на бумаге есть таблицы Брадиса, а в Паскале массивы)

Учись, студент, а то так всю жизнь и будешь ключи подавать !)


 
Galinka ©   (2007-10-26 21:24) [14]

Mystic ©   (24.10.07 11:42) [12]

у студентов есть предмет "Высшая математика". Кажется во втором семестре есть блок тригонометрии. (в первом вроде матрицы, определители, метод Крамера для решения систем лин. уравнений.)

А еще все эти формулы есть в толстых справочниках, например у Бронштейна.


 
@!!ex ©   (2007-10-26 22:43) [15]

продублирую свое сообщение:
[14] @!!ex ©   (25.10.07 21:32)
Кстати, вот в целях общего развития сегодня написал. Работает на 30% быстрее стандартной реализации.
function FastArcCos(const X: Extended): Extended;
asm
fld    X
fld    X
fmul
fld1
fsubr
fsqrt
fld    X
fpatan
fwait
end;


ТОже смое для ArcSin пишется на раз.


 
Dimaxx ©   (2007-10-27 02:29) [16]


> А дельфи - это не паскаль?

Именно что не паскаль как ни странно! Дельфи - это среда программирования, а паскаль - язык программирования.


 
Думкин ©   (2007-10-27 06:11) [17]

> Galinka ©   (26.10.07 21:24) [14]

У каких студентов?
Я не знаю ни одного курса в Высшей школе (СССР, Россия), разве что для душевнобольных, где бы изучали тригонометрию. Это школьный курс элементарной математики. Это первое.
Второе, это то что нельзя говорить о курсе высшей математики для студентов вообще. Потому что этих курсов масса - одни для математиков(опять же для разных разные), другие для почти - физиков там всяких, третьи для технарей, четвертые для типа экономистов и т.д и т.п. и разбивка по семестрам разнообразна, как и содержание курсов. У математиков вообще нет предмета - Высшая математика.
Третье, если где и изучают тригонометрические функции более менее серьезно в ВШ, то это разделы матана и ТФКП, но там такая другая песня...

> Dimaxx ©   (27.10.07 02:29) [16]

Это уже баяном - уже Дельфи 7 это не Паскаль - это язык Дельфи. Прошло столько лет, а народ все еще про Паскаль....


 
Denis__ ©   (2007-10-27 18:10) [18]


> @!!ex ©   (26.10.07 22:43) [15]

Но ему же надо в паскале, какой там асм?


 
@!!ex ©   (2007-10-27 18:20) [19]

> [18] Denis__ ©   (27.10.07 18:10)

Как это не паскаль??? В каком ассемблере вы видели такое описание функций??


 
Galinka ©   (2007-10-27 19:02) [20]

Думкин ©   (27.10.07 06:11) [17]

значит у нас был технический университет для душевно больных. )) А точнее минвуз утвердил программу для душевно больных ))) Формулы зависимости различных тригон. функций не то чтобы проходят. Но у нас, например, был блок, когда мы решали тригон. уравнения разных степеней. Там были метод замен и всего такого. Так вот именно в конспекте лекций были формулы по преобразованию тригон. ф-ций. А потом кажется когда дифуры пошли был способ тригон. замены. И опять же в конспектах таки были эти формулы.

Ну а вообще, конечно лучше взять Бронштейна. Там точно есть.



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

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

Наверх




Память: 0.52 MB
Время: 0.024 c
15-1193379486
bva
2007-10-26 10:18
2007.12.02
Создание инсталяции программы


2-1194193488
WFS
2007-11-04 19:24
2007.12.02
Как создать компонент Edit динамически?


2-1194608983
DimOk
2007-11-09 14:49
2007.12.02
GetActiveOLEObject касательно v77.application


4-1179813270
новичок2
2007-05-22 09:54
2007.12.02
Вызов ConvertStringSecurityDescriptorToSecurityDescriptor


2-1194593200
Kolan
2007-11-09 10:26
2007.12.02
Как проверить реализацию интерфейса и привести к нему?