Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Math cos wth

 
Dajka Ferenc
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hey there
Why do i get :
3.5083546492674384E-15
6.123233995736766E-17
as output?
 
Tim Moores
Bartender
Posts: 2733
36
 
Dajka Ferenc
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
no its not
 
Jeff Verdegan
Bartender
Posts: 6109
6
Android IntelliJ IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Dajka Ferenc wrote:no its not


No, it definitely is. toRadians() is giving you an approximation of pi / 2, but with some error in it for the reasons stated in the FAQ, and then Math.cos() is adding more error, for the same reasons.

That's why when doing floating point calculations, we need to take those errors into account. For example when comparing for equality, we don't test if x == y but rather if Math.abs(x - y)< epsilon.
 
Matthew Brown
Bartender
Posts: 4566
8
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
"and other arithmetic inaccuracies"...yes it is. In particular, 90 degrees = PI/2 radians, and Java cannot hold the value exactly in a floating point value. So when you take the cosine you end up with something very close to zero, instead of exactly zero.
 
Jeff Verdegan
Bartender
Posts: 6109
6
Android IntelliJ IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
And this line here makes no sense:



You're taking degrees, converting to radians, which is fine, getting the cosine, which is fine, but then doing a radian ⇒ degree conversion on the cosine. That last step is trying to convert a unitless scalar into an angular measure, and that's not valid.

You're going deg ⇒ rad ⇒ scalar ⇒ deg. You'd need to add a call to Math.acos() in there for it to make sense.
 
Dajka Ferenc
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
yeah really, i didn't see it, looks like i'm tired a bit. thank you very much
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic