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


Upgrade to ARC Pro

Take control of your robot's destiny by subscribing to Synthiam ARC Pro, and watch it evolve into a versatile and responsive machine.

United Kingdom

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.


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"


I realy appreciate your quick response.

Merci beaucoup


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()


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() ?


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

United Kingdom

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))

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

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)