# Cosine

Jump to navigationJump to search

Geometrically, the cosine is a projection of the complex number exp(−ix) to the real axis. The behavior of the cosine function can be studied in the following interactive figure, where you can drag the point x and observe the behaviour of the complex number exp(−ix) and the value of cosine(x).


var brd1 = JXG.JSXGraph.initBoard('boxR', {boundingbox: [-10, 1.5, 10, -1.5], axis:true});
var xr = brd1.create('line',[[-9,0],[9,0]],{visible:false});
var x = brd1.create('glider',[-9,0,xr],{visible:true, name:'x'});
var y = brd1.create('point',[x.X(),Math.cos(x.X())],{size:1,name:'',strokeColor:'green'});
var x1 = brd1.create('segment',[x,y],{visible:true, straightFirst:false,straightLast:false,strokeColor:'red'});
x.on('drag', function(){ transform(x);});
var f = brd1.create('functiongraph',
[function(x){
return Math.cos(x);
}]);
brd1.create('text',[
function(){return x.X()+0.3;},
function(){return y.Y()*0.5;},
'cos'],{});
function transform(x) {
p2.setPosition(JXG.COORDS_BY_USER,[Math.cos(x.X()),Math.sin(x.X())]);
y.setPosition(JXG.COORDS_BY_USER,[x.X(),Math.cos(x.X())]);
brd.update();
}



var brd = JXG.JSXGraph.initBoard('box', {boundingbox: [-1.5, 1.5, 1.5, -1.5], axis:true});
brd1.addChild(brd);
var ax = brd.create('line',[[0,0],[1,0]],{visible:false});
var ay = brd.create('line',[[0,0],[0,1]],{visible:false});

var p0 = brd.create('point',[0,0],{fixed:true,visible:false});
var p1 = brd.create('point',[1,0],{name:'',visible:false,fixed:true});
var c = brd.create('circle',[p0,p1],{dash:2,strokeWidth:1,strokeOpacity:0.6});

var p2 = brd.create('point',[Math.cos(x.X()),Math.sin(x.X())],{name:'exp(ix)',fixed:true,size:1, strokeColor:'green'});

var p3 = brd.create('point',[function(){return p2.X();},0.0],{visible:false,name:'',withLabel:false});
var p4 = brd.create('point',[0.0,function(){return p2.Y();}],{visible:false,name:'',withLabel:false});

brd.create('line',[p2,p4],{straightFirst:false,straightLast:false,strokeColor:'red'});     // cos
brd.create('text',[
function(){return (p2.X()+p4.X())*0.3;},
function(){return p2.Y()+0.05;},
'cos'],{});