Difference between revisions of "COS"

From QB64 Wiki
Jump to navigation Jump to search
(Created page with 'Purpose: To return the cosine of the range of x. '''Syntax:''' COS(x) '''Comments:''' x must be the radians. COS is the trigonometric cosine function. To convert from degrees t…')
 
m (Text replacement - "{{Parameters}}" to "{{PageParameters}}")
 
(42 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Purpose:
The [[COS]] function returns the horizontal component or the cosine of an angle measured in radians.
To return the cosine of the range of x.


'''Syntax:'''
COS(x)


'''Comments:'''
{{PageSyntax}}
x must be the radians. COS is the trigonometric cosine function. To convert from degrees to radians, multiply by π/180.
: {{Parameter|value!}} = [[COS]]({{Parameter|radianAngle!}})


COS(x) is calculated in either single or double precision depending on its argument. 


COS(4)
{{PageParameters}}
-.6536436
* The {{Parameter|radianAngle!}} must be measured in radians.  


COS(4#)
-.6536436208636119


'''Example 1:'''
{{PageDescription}}
* To convert from degrees to radians, multiply degrees * π / 180.
* [[COS]]INE is the horizontal component of a unit vector in the direction theta (θ).
* COS(x) can be calculated in either [[SINGLE]] or [[DOUBLE]] precision depending on its argument. 
::: COS(4) = -.6536436 ...... COS(4#) = -.6536436208636119


X=2*COS(.4)
PRINT X


RUN
{{PageExamples}}
1.842122
''Example 1:'' Converting degree angles to radians for QBasic's trig functions and drawing the line at the angle.
'''Example 2:'''
{{CodeStart}} '' ''
{{Cl|SCREEN}} 12
PI = 4 * {{Cl|ATN}}(1)
{{Cl|PRINT}} "PI = 4 * {{Cl|ATN}}(1) ="; PI
{{Cl|PRINT}} "COS(PI) = "; {{Cl|COS}}(PI)
{{Cl|PRINT}} "SIN(PI) = "; {{Cl|SIN}}(PI)
{{Cl|DO...LOOP|DO}}
  {{Cl|PRINT}}
  {{Cl|INPUT}} "Enter the degree angle (0 quits): ", DEGREES%
  RADIANS = DEGREES% * PI / 180
  {{Cl|PRINT}} "RADIANS = DEGREES% * PI / 180 = "; RADIANS
  {{Cl|PRINT}} "X = COS(RADIANS) = "; {{Cl|COS}}(RADIANS)
  {{Cl|PRINT}} "Y = SIN(RADIANS) = "; {{Cl|SIN}}(RADIANS)
  {{Cl|CIRCLE}} (400, 240), 2, 12
  {{Cl|LINE}} (400, 240)-(400 + (50 * {{Cl|SIN}}(RADIANS)), 240 + (50 * {{Cl|COS}}(RADIANS))), 11
  DEGREES% = RADIANS * 180 / PI
  {{Cl|PRINT}} "DEGREES% = RADIANS * 180 / PI ="; DEGREES%
{{Cl|LOOP}} {{Cl|UNTIL}} DEGREES% = 0 '' ''
{{CodeEnd}}
{{OutputStart}}
PI = 4 * ATN(1) = 3.141593
COS(PI) = -1
SIN(PI) = -8.742278E-08


PI=3.141593
Enter the degree angle (0 quits): 45
PRINT COS(PI)
RADIANS = DEGREES% * PI / 180 = .7853982
DEGREES=180
X = COS(RADIANS) = .7071068
RADIANS=DEGREES*PI/180
Y = SIN(RADIANS) = .7071068
PRINT COS(RADIANS)
DEGREES% = RADIANS * 180 / PI = 45
{{OutputEnd}}
: ''Explanation:'' When 8.742278E-08(.00000008742278) is returned by [[SIN]] or COS the value  is essentially zero.


RUN
 
  -1
''Example 2:'' Creating 12 analog clock hour points using [[CIRCLE]]s and [[PAINT]]
-1
{{CodeStart}} '' ''
PI2 = 8 * {{Cl|ATN}}(1)                  '2 * π
arc! = PI2 / 12                          'arc interval between hour circles
{{Cl|SCREEN (statement)|SCREEN}} 12
FOR t! = 0 TO PI2 STEP arc!
  cx% = {{Cl|CINT}}({{Cl|COS}}(t!) * 70) ' pixel columns (circular radius = 70)
  cy% = {{Cl|CINT}}({{Cl|SIN}}(t!) * 70) ' pixel rows
  {{Cl|CIRCLE}} (cx% + 320, cy% + 240), 3, 12
  {{Cl|PAINT}} {{Cl|STEP}}(0, 0), 9, 12
  NEXT '' ''
{{CodeEnd}}
{{small|Code by Ted Weissgerber}}
''Explanation:'' The 12 circles are placed at radian angles that are 1/12 of 6.28318 or .523598 radians apart.
 
 
''Example 3:'' Creating a rotating spiral with COS and [[SIN]].
{{CodeStart}} '' ''
{{Cl|SCREEN}} {{Cl|_NEWIMAGE}}(640, 480, 32)
 
{{Cl|DO...LOOP|DO}}
  {{Cl|LINE}} (0, 0)-(640, 480), {{Cl|_RGB}}(0, 0, 0), BF
  j = j + 1
  {{Cl|PSET}} (320, 240)
  {{Cl|FOR...NEXT|FOR}} i = 0 {{Cl|TO}} 100 {{Cl|STEP}} .1
    {{Cl|LINE}} -(.05 * i * i * {{Cl|COS}}(j + i) + 320, .05 * i * i * {{Cl|SIN}}(j + i) + 240)
  {{Cl|NEXT}}
  {{Cl|PSET}} (320, 240)
  {{Cl|FOR...NEXT|FOR}} i = 0 {{Cl|TO}} 100 {{Cl|STEP}} .1
    {{Cl|LINE}} -(.05 * i * i * {{Cl|COS}}(j + i + 10) + 320, .05 * i * i * {{Cl|SIN}}(j + i + 10) + 240)
  {{Cl|NEXT}}
  {{Cl|PSET}} (320, 240)
  {{Cl|FOR...NEXT|FOR}} i = 0 {{Cl|TO}} 100 {{Cl|STEP}} .1
    {{Cl|PAINT}} (.05 * i * i * {{Cl|COS}}(j + i + 5) + 320, .05 * i * i * {{Cl|SIN}}(j + i + 5) + 240)
  {{Cl|NEXT}}
 
  {{Cl|_DISPLAY}}
  {{Cl|_LIMIT}} 30
{{Cl|LOOP}} {{Cl|UNTIL}} {{Cl|INP}}({{Cl|&H}}60) = 1 'escape exit '' ''
{{CodeEnd}}
{{small|Code by Ben}}
 
{{PageSeeAlso}}
* [[_PI]] {{text|(QB64 function)}}
* [[SIN]] {{text|(sine)}}
* [[ATN]] {{text|(arctangent)}}
* [[TAN]] {{text|(tangent)}}
*[[Mathematical Operations]]
*[[Mathematical_Operations#Derived_Mathematical_Functions|Derived Mathematical Functions]]
 
 
{{PageNavigation}}

Latest revision as of 12:39, 17 February 2021

The COS function returns the horizontal component or the cosine of an angle measured in radians.


Syntax

value! = COS(radianAngle!)


Parameters

  • The radianAngle! must be measured in radians.


Description

  • To convert from degrees to radians, multiply degrees * π / 180.
  • COSINE is the horizontal component of a unit vector in the direction theta (θ).
  • COS(x) can be calculated in either SINGLE or DOUBLE precision depending on its argument.
COS(4) = -.6536436 ...... COS(4#) = -.6536436208636119


Examples

Example 1: Converting degree angles to radians for QBasic's trig functions and drawing the line at the angle.

SCREEN 12 PI = 4 * ATN(1) PRINT "PI = 4 * ATN(1) ="; PI PRINT "COS(PI) = "; COS(PI) PRINT "SIN(PI) = "; SIN(PI) DO PRINT INPUT "Enter the degree angle (0 quits): ", DEGREES% RADIANS = DEGREES% * PI / 180 PRINT "RADIANS = DEGREES% * PI / 180 = "; RADIANS PRINT "X = COS(RADIANS) = "; COS(RADIANS) PRINT "Y = SIN(RADIANS) = "; SIN(RADIANS) CIRCLE (400, 240), 2, 12 LINE (400, 240)-(400 + (50 * SIN(RADIANS)), 240 + (50 * COS(RADIANS))), 11 DEGREES% = RADIANS * 180 / PI PRINT "DEGREES% = RADIANS * 180 / PI ="; DEGREES% LOOP UNTIL DEGREES% = 0

PI = 4 * ATN(1) = 3.141593 COS(PI) = -1 SIN(PI) = -8.742278E-08 Enter the degree angle (0 quits): 45 RADIANS = DEGREES% * PI / 180 = .7853982 X = COS(RADIANS) = .7071068 Y = SIN(RADIANS) = .7071068 DEGREES% = RADIANS * 180 / PI = 45

Explanation: When 8.742278E-08(.00000008742278) is returned by SIN or COS the value is essentially zero.


Example 2: Creating 12 analog clock hour points using CIRCLEs and PAINT

PI2 = 8 * ATN(1) '2 * π arc! = PI2 / 12 'arc interval between hour circles SCREEN 12 FOR t! = 0 TO PI2 STEP arc! cx% = CINT(COS(t!) * 70) ' pixel columns (circular radius = 70) cy% = CINT(SIN(t!) * 70) ' pixel rows CIRCLE (cx% + 320, cy% + 240), 3, 12 PAINT STEP(0, 0), 9, 12 NEXT

Code by Ted Weissgerber

Explanation: The 12 circles are placed at radian angles that are 1/12 of 6.28318 or .523598 radians apart.


Example 3: Creating a rotating spiral with COS and SIN.

SCREEN _NEWIMAGE(640, 480, 32) DO LINE (0, 0)-(640, 480), _RGB(0, 0, 0), BF j = j + 1 PSET (320, 240) FOR i = 0 TO 100 STEP .1 LINE -(.05 * i * i * COS(j + i) + 320, .05 * i * i * SIN(j + i) + 240) NEXT PSET (320, 240) FOR i = 0 TO 100 STEP .1 LINE -(.05 * i * i * COS(j + i + 10) + 320, .05 * i * i * SIN(j + i + 10) + 240) NEXT PSET (320, 240) FOR i = 0 TO 100 STEP .1 PAINT (.05 * i * i * COS(j + i + 5) + 320, .05 * i * i * SIN(j + i + 5) + 240) NEXT _DISPLAY _LIMIT 30 LOOP UNTIL INP(&H60) = 1 'escape exit

Code by Ben


See also



Navigation:
Keyword Reference - Alphabetical
Keyword Reference - By Usage
Main Wiki Page