Canada
Asked — Edited
Resolved Resolved by Rich!

Cos( )---Wrong Value Result

may be I am doing it wrong

cos(20) should result as .93969262078591 not .408082061813392 unless there is an extra conversion to do?

User-inserted image


ARC Pro

Upgrade to ARC Pro

Elevate your robot's capabilities to the next level with Synthiam ARC Pro, unlocking a world of possibilities in robot programming.

United Kingdom
#1  

COS calculates in radians not degrees.

Cos20 in radians is 0.408082061813392

If you want to work in degrees I guess you need to convert degrees to radians before carrying out the calculation. 1 radian = 57.2957795 (180/pi) degrees.

PRO
Synthiam
#2  

Take a look at one of the examples under EZ-Script Functions called "SketchPad" - I have code on how to create a circle using Sin and Cos, if that's what you are looking for.

Otherwise, look into EZ-Script Function Syntax folder at the project named "SIN COS"

Canada
#3  

I realy appreciate your quick response.

Merci beaucoup

PRO
Synthiam
#4  

There are ACos and ASin as well - the math functions that ARC supports are:

. Sin() . Cos() . Tan() . Sec() . Csc() . Cot() . ASin() . ACos() . ATan() . SinH() . CosH() . TanH() . Abs() . Sqrt() . Ciel() . Floor() . Exp() . Log10() . Log() . Max() . Min() . Round() . E() . Pi()

#5  

Holy mathematics Rich! Next time I cut the birthday cake I'll be sure to use these functions! I am somewhat familiar with DJ's listed math functions ......except Floor() ?

Canada
#6  

I gess floor() and ciel() are reserved for AR Drone

United Kingdom
#7  

Floor and Ceiling are math functions, not specifically for the drone.

This will probably explain it better than I can...

Or just run the following script I just knocked up...

Print("Floor: " + Floor($pi))
Print("Ceiling: " + Ciel($pi))
Canada
#8  

Floor () takes the decimals off ex: 1.234 will end as 1

Ciel () will add lyke if it will consider 1.234 be 1.9 + .1 = 2

Am i right?

United Kingdom
#9  

Technically it's taught that floor is the greatest integer that is less than or equal to x and ceiling is the least integer that is greater than or equal to x.

So if x was 2.739492 Floor(x) would be the largest previous integer, which would be 2. Ceiling(x) would be the smallest following integer, which would be 3.

If the number is already an integer then there is no change

i.e. if x was 5 Floor(x) would be 5. Ceiling(x) would be 5.

Basically put it's rounding a number up or down without paying attention to the decimal part. Since Round(x,0) will round 5.51394 to 6 but will round 5.498389 to 5. If your application needs the number rounded up each time you would use Ciel(x), if it needed rounding down you rould use Floor(x)