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

Вниз

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

 
Студент   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.049 c
2-1194685836
Виктор007
2007-11-10 12:10
2007.12.02
Настройки программы


15-1194322708
Slider007
2007-11-06 07:18
2007.12.02
С днем рождения ! 6 ноября 2007 вторник


15-1192084197
de.
2007-10-11 10:29
2007.12.02
to Delphi 7


2-1194439191
F@T@L_Err0r
2007-11-07 15:39
2007.12.02
POverlapped


15-1193901205
Slider007
2007-11-01 10:13
2007.12.02
С днем рождения ! 1 ноября 2007 четверг





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