Тригонометрични функции VB 6
  Натъкнах се на следния проблем - при използването на тригонометричните функции sin и cos във VB 6 се получават грешни резултати т.е. например при изпълнение на кода :
 
Private Sub Command1_Click()
Label1.Caption = Cos(90)
Label2.Caption = Sin(90)
End Sub
 
резултатът за cos(90) => - 0,4480736161 ,а трябва да е 0
резултатът за sin(90) =>  0,893996663600 ,а трябва да е 1.
 
Някой може ли да каже на какво се дължи това неправилно изчисляване на функциите.
     Re: Тригонометрични функции VB 6
  radians <-> degree
 
    Const PI = 3.1415926535897932
    Result = Sin(90 * PI / 180)
    Result = Cos(90 * PI / 180)
 
     Re: Тригонометрични функции VB 6
    Re: Тригонометрични функции VB 6
   Цитат:
  
 
				Първоначално публикувано от shanto  
 Натъкнах се на следния проблем - при използването на тригонометричните функции sin и cos във VB 6 се получават грешни резултати т.е. например при изпълнение на кода :
 
Private Sub Command1_Click()
Label1.Caption = Cos(90)
Label2.Caption = Sin(90)
End Sub
 
резултатът за cos(90) => - 0,4480736161 ,а трябва да е 0
резултатът за sin(90) => 0,893996663600 ,а трябва да е 1.
 
Някой може ли да каже на какво се дължи това неправилно изчисляване на функциите.
 
    Ами ти правилно си ги получил. Косинус от 90 е точно -0.448. Смята се в радиани. 
     Re: Тригонометрични функции VB 6
  Това е така,аз го знам,но аз се опитвам да получа резултата в degree ,т.е при sin(90) да получавам 1, а не 0,44807....
Както се получава при изчисление с калкулатор.Мъчих се да открия зависимостта между радиани и дегрий,но не успявам да постигна точен резултат.
1 радиан е 180 дегрий
1 градус е Pi/180 радиана
не мога да получа точно съотношението между градус и дегрий.
     Re: Тригонометрични функции VB 6
  Ето връзките между трите мерни единици (радиан, градус и град):
 http://bg.wikipedia.org/wiki/%D0%98%...B3%D1%8A%D0%BB
 
Направи си функция мySin(число,мярка), в която първо да преобразуваш зададеното число в радиани, в зависимост от мярката. Функцията да връща синус от получените радиани.
И ползвай нея, вместо вградената.