[从头学数学] 第203节 坐标系与参数方程

剧情提要:
[机器小伟]在[工程师阿伟]的陪同下进入了[九转金丹]之第七转的修炼。
这次要研究的是[坐标系与参数方程]。

正剧开始:

星历2016年05月03日 13:18:47, 银河系厄尔斯星球中华帝国江南行省。
[工程师阿伟]正在和[机器小伟]一起研究[坐标系与参数方程]。


[从头学数学] 第203节 坐标系与参数方程_第1张图片

[从头学数学] 第203节 坐标系与参数方程_第2张图片

[从头学数学] 第203节 坐标系与参数方程_第3张图片

[从头学数学] 第203节 坐标系与参数方程_第4张图片

[从头学数学] 第203节 坐标系与参数方程_第5张图片

[从头学数学] 第203节 坐标系与参数方程_第6张图片

[从头学数学] 第203节 坐标系与参数方程_第7张图片


[从头学数学] 第203节 坐标系与参数方程_第8张图片

[从头学数学] 第203节 坐标系与参数方程_第9张图片

[从头学数学] 第203节 坐标系与参数方程_第10张图片

[从头学数学] 第203节 坐标系与参数方程_第11张图片

<span style="font-size:18px;">例3
-2.499999999999999,4.330127018922194
例4
1.9999559995159892,3.6652041313597623
习题1.2 -- 3
4
习题1.2 -- 4
2.121320343559643,2.1213203435596424
-0.9999999999999996,1.7320508075688774
2.4492935982947064e-16,4
-0.866,1.0605441280616079e-16
习题1.2 -- 5
3.4640762116327637,0.523586073612931
-0.7453333333333334,4.71238898038469
3.5,0
3.9999119990319785,4.1887775026147205

	if (1) {
		hint('例3');
		hint(polar2XY([5, 2/3*Math.PI]));
		hint('例4');
		hint(XY2polar([-1.732, -1]));
		
		hint('习题1.2 -- 3');		
		var pointA = [3, -Math.PI/3], pointB = [1, 2*Math.PI/3];		
		hint(distance2D(polar2XY(pointA), polar2XY(pointB)));
		
		hint('习题1.2 -- 4');
		hint(polar2XY([3, Math.PI/4]));
		hint(polar2XY([2, Math.PI*2/3]));
		hint(polar2XY([4, Math.PI/2]));
		hint(polar2XY([0.866, Math.PI]));
		
		hint('习题1.2 -- 5');
		hint(XY2polar([3, 1.732]));
		hint(XY2polar([0, -2.236/3]));
		hint(XY2polar([3.5, 0]));
		hint(XY2polar([-2, -2*1.732]));
		
		
	}
	
//极坐标转为直角坐标
function polar2XY(point) {
	var rou = point[0], thita = point[1];
	return [rou*Math.cos(thita), rou*Math.sin(thita)];
}

//直角坐标转为极坐标
function XY2polar(point) {
	var x = point[0], y = point[1];
	var rou = Math.pow(x*x+y*y, 0.5);
	var thita = Math.PI/2;
	
	if (x != 0) {
		thita = Math.atan(Math.abs(y/x));
		
		if (x < 0 && y >= 0) {
			thita = Math.PI-thita;
		}
		else if (x < 0 && y < 0) {
			thita = Math.PI+thita;
		}
		else if (x > 0 && y < 0) {
			thita = Math.PI*2-thita;
		}
	}
	else {
		rou = y;
		if (y >= 0) {
			thita = Math.PI/2;
		}
		else {
			thita = 3*Math.PI/2;
		}
	}
	return [rou, thita];
}


function hint(string) {
	document.write(string+'<br/>');
}</span>

[从头学数学] 第203节 坐标系与参数方程_第12张图片

[从头学数学] 第203节 坐标系与参数方程_第13张图片

<span style="font-size:18px;">  	if (1) {    
        var r = 20;          
        config.setSector(1,1,1,1);            
        config.graphPaper2D(0, 0, r);          
        config.axis2D(0, 0,180);            
              
        //坐标轴设定      
        var scaleX = 2*r, scaleY = 2*r;        
        var spaceX = 2, spaceY = 2;         
        var xS = -10, xE = 10;        
        var yS = -10, yE = 10;        
        config.axisSpacing(xS, xE, spaceX, scaleX, 'X');          
        config.axisSpacing(yS, yE, spaceY, scaleY, 'Y');          
                  
        var transform = new Transform();          
        //存放函数图像上的点      
        var a = [], b = [], c = [], d = [];        
                
        //需要显示的函数说明  
					//希腊字母表(存此用于Ctrl C/V
			//ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
			//αβγδεζηθικλμνξοπρστυφχψω
        var f1 = 'ρ = 10cosθ', f2 = '', f3 = '', f4 = '';      
          

        //函数描点  
		//参数方程
		var x, y;
		var pointA = [];
		
		for (var thita = 0; thita < Math.PI*2; thita +=Math.PI/24) {
			pointA = [10*Math.cos(thita), thita];
			a.push(polar2XY(pointA));
		}
		
                
        //存放临时数组      
        var tmp = [];      
                
        //显示变换      
        if (a.length > 0) {      
            a = transform.scale(transform.translate(a, 0, 0), scaleX/spaceX, scaleY/spaceY);       
            //函数1      
            tmp = [].concat(a);          
            shape.pointDraw(tmp, 'red');          
            tmp = [].concat(a);          
            shape.multiLineDraw(tmp, 'pink');        
                    
            plot.setFillStyle('red');      
            plot.fillText(f1, 100, -180, 200);        
        }

		
    }  </span>

[从头学数学] 第203节 坐标系与参数方程_第14张图片

[从头学数学] 第203节 坐标系与参数方程_第15张图片

<span style="font-size:18px;">        //需要显示的函数说明  
					//希腊字母表(存此用于Ctrl C/V
			//ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
			//αβγδεζηθικλμνξοπρστυφχψω
        var f1 = 'ρ = 10', f2 = '', f3 = '', f4 = '';      
          

        //函数描点  
		//参数方程
		var x, y;
		var pointA = [];
		
		for (var thita = 0; thita < Math.PI*2; thita +=Math.PI/24) {
			pointA = [10, thita];
			a.push(polar2XY(pointA));
		}</span>

[从头学数学] 第203节 坐标系与参数方程_第16张图片

[从头学数学] 第203节 坐标系与参数方程_第17张图片

<span style="font-size:18px;">        var f1 = 'ρ = 10/cosθ', f2 = '', f3 = '', f4 = '';      
          

        //函数描点  
		//参数方程
		var x, y;
		var pointA = [];
		
		for (var thita = 0; thita < Math.PI*2; thita +=Math.PI/24) {
			pointA = [10/Math.cos(thita), thita];
			a.push(polar2XY(pointA));
		}</span>

[从头学数学] 第203节 坐标系与参数方程_第18张图片

[从头学数学] 第203节 坐标系与参数方程_第19张图片

[从头学数学] 第203节 坐标系与参数方程_第20张图片

[从头学数学] 第203节 坐标系与参数方程_第21张图片

<span style="font-size:18px;">       var f1 = 'ρ = 2sinθ', f2 = '', f3 = '', f4 = '';      
          

        //函数描点  
		//参数方程
		var x, y;
		var pointA = [];
		
		for (var thita = 0; thita < Math.PI*2; thita +=Math.PI/24) {
			pointA = [2*Math.sin(thita), thita];
			a.push(polar2XY(pointA));
		}</span>

[从头学数学] 第203节 坐标系与参数方程_第22张图片

[从头学数学] 第203节 坐标系与参数方程_第23张图片

<span style="font-size:18px;">        var f1 = 'ρ = 5sin(θ+1/4pi)', f2 = '', f3 = '', f4 = '';      
          

        //函数描点  
		//参数方程
		var x, y;
		var pointA = [];
		
		for (var thita = 0; thita < Math.PI*2; thita +=Math.PI/24) {
			pointA = [5*Math.sin(thita+Math.PI/4), thita];
			a.push(polar2XY(pointA));
		}</span>


[从头学数学] 第203节 坐标系与参数方程_第24张图片

[从头学数学] 第203节 坐标系与参数方程_第25张图片

<span style="font-size:18px;">//柱坐标转直角坐标
function cylin2XYZ(point) {
	var rou = point[0], thita = point[1], z = point[2];
	return [rou*Math.cos(thita), rou*Math.sin(thita), z];

}
	
//直角坐标转为柱坐标
function XYZ2cylin(point) {
	var x = point[0], y = point[1], z = point[2];
	var polar = XY2polar([x, y]);
	return [polar[0], polar[1], z];
}

//球坐标转直角坐标
function sphere2XYZ(point) {
	//P(r, psai, thita)
	var r = point[0], psai = point[1], thita = point[2];
	return [r*Math.sin(psai)*Math.cos(thita), \
			r*Math.sin(psai)*Math.sin(thita), r*Math.cos(psai)];

}
	
//直角坐标转为球坐标
function XYZ2sphere(point) {
	var x = point[0], y = point[1], z = point[2];
	var r = Math.sqrt(x*x + y*y+z*z);
	return [r, Math.acos(z/r), Math.atan(y/x)];

}</span>



[从头学数学] 第203节 坐标系与参数方程_第26张图片


[从头学数学] 第203节 坐标系与参数方程_第27张图片

[从头学数学] 第203节 坐标系与参数方程_第28张图片


<span style="font-size:18px;">        var f1 = 'x = 3t, y = 2t^2+1', f2 = '', f3 = '', f4 = '';      
          

        //函数描点  
		//参数方程
		var x, y;
		var pointA = [];
		
		for (var t = -5; t <= 5; t+=0.2) {
			a.push([3*t, 2*t*t+1]);
		}</span>


[从头学数学] 第203节 坐标系与参数方程_第29张图片

[从头学数学] 第203节 坐标系与参数方程_第30张图片

<span style="font-size:18px;">        var f1 = 'x=rcos(t), y = rsin(t)', f2 = '', f3 = '', f4 = '';      
          

        //函数描点  
		//参数方程
		var x, y;
		var pointA = [];
		
		for (var t = -5; t <= 5; t+=0.2) {
			a.push([10*Math.cos(t), 10*Math.sin(t)]);
		}</span>

[从头学数学] 第203节 坐标系与参数方程_第31张图片

[从头学数学] 第203节 坐标系与参数方程_第32张图片

[从头学数学] 第203节 坐标系与参数方程_第33张图片

[从头学数学] 第203节 坐标系与参数方程_第34张图片

[从头学数学] 第203节 坐标系与参数方程_第35张图片

[从头学数学] 第203节 坐标系与参数方程_第36张图片

[从头学数学] 第203节 坐标系与参数方程_第37张图片

[从头学数学] 第203节 坐标系与参数方程_第38张图片

[从头学数学] 第203节 坐标系与参数方程_第39张图片

<span style="font-size:18px;">      var f1 = 'x=3cost, y = 2sint', f2 = '', f3 = '', f4 = '';      
          

        //函数描点  
		//参数方程
		var x, y;
		var pointA = [];
		
		for (var t = -5; t <= 5; t+=0.2) {
			a.push([3*Math.cos(t), 2*Math.sin(t)]);
		}</span>

[从头学数学] 第203节 坐标系与参数方程_第40张图片

[从头学数学] 第203节 坐标系与参数方程_第41张图片

<span style="font-size:18px;">        var f1 = 'x=3/cost, y = 2tant', f2 = '', f3 = '', f4 = '';      
          

        //函数描点  
		//参数方程
		var x, y;
		var pointA = [];
		
		for (var t = -5; t <= 5; t+=0.2) {
			a.push([3/Math.cos(t), 2*Math.tan(t)]);
		}</span>


[从头学数学] 第203节 坐标系与参数方程_第42张图片

[从头学数学] 第203节 坐标系与参数方程_第43张图片

[从头学数学] 第203节 坐标系与参数方程_第44张图片

[从头学数学] 第203节 坐标系与参数方程_第45张图片

[从头学数学] 第203节 坐标系与参数方程_第46张图片

<span style="font-size:18px;">        var f1 = 'x=2/tan^2(t), y = 2/tant', f2 = '', f3 = '', f4 = '';      
          

        //函数描点  
		//参数方程
		var x, y;
		var pointA = [];
		
		for (var t = -5; t <= 5; t+=0.2) {
			a.push([2/Math.pow(Math.tan(t),2), 2/Math.tan(t)]);
		}</span>

[从头学数学] 第203节 坐标系与参数方程_第47张图片

[从头学数学] 第203节 坐标系与参数方程_第48张图片

[从头学数学] 第203节 坐标系与参数方程_第49张图片

[从头学数学] 第203节 坐标系与参数方程_第50张图片


<span style="font-size:18px;">       var f1 = 'x=5+0.5t, y = 4+0.866t', f2 = '', f3 = '', f4 = '';      
          

        //函数描点  
		//参数方程
		var x, y;
		var pointA = [];
		
		for (var t = -5; t <= 5; t+=0.2) {
			a.push([5 + t*0.5, 4+t*0.866]);
		}
		</span>
[从头学数学] 第203节 坐标系与参数方程_第51张图片

[从头学数学] 第203节 坐标系与参数方程_第52张图片

[从头学数学] 第203节 坐标系与参数方程_第53张图片

[从头学数学] 第203节 坐标系与参数方程_第54张图片

[从头学数学] 第203节 坐标系与参数方程_第55张图片

<span style="font-size:18px;">        var f1 = 'x=r(cost+tsint), y = r(sint-tcost)', f2 = '', f3 = '', f4 = '';      
          

        //函数描点  
		//参数方程
		var x, y;
		var pointA = [];
		
		for (var t = -5; t <= 5; t+=0.2) {
			a.push([(Math.cos(t)+t*Math.sin(t)), (Math.sin(t)-t*Math.cos(t))]);
		}</span>

[从头学数学] 第203节 坐标系与参数方程_第56张图片

[从头学数学] 第203节 坐标系与参数方程_第57张图片

<span style="font-size:18px;">     var f1 = 'x=r(t-tsint), y = r(1-cost)', f2 = '', f3 = '', f4 = '';      
          

        //函数描点  
		//参数方程
		var x, y;
		var pointA = [];
		
		for (var t = -8; t <= 8; t+=0.2) {
			a.push([(t-Math.sin(t)), (1 - Math.cos(t))]);
		}</span>

[从头学数学] 第203节 坐标系与参数方程_第58张图片

[从头学数学] 第203节 坐标系与参数方程_第59张图片

<span style="font-size:18px;">        var f1 = '内摆线 x = cost+cos(nt)/n, y = sint-sin(nt)/n, n=3', f2 = '', f3 = '', f4 = '';      
        var r_1 = 1, r_2 = 4*r_1;

        //函数描点  
		//参数方程
		var x, y;
		var pointA = [];
		
		var angle = 0;
		//思考:
		//angle = r_1*(t-sin(t))/r_2*2pi
		//angle2 = t - Math.floor(t/2pi)
		//x = r_2cos(a)-r_1cos(a2)
		//y = r_2sin(a)- r_1sin(a2)
		
		//正确内摆线公式
		//x = cost+cos(nt)/n, y = sint-sin(nt)/n
		
		var N = 3; //外径与内径比例-1
		
		for (var t = -8; t <= 8; t+=0.2) {
			a.push([Math.cos(t)+Math.cos(N*t)/N, Math.sin(t)-Math.sin(N*t)/N]);
		}</span>

[从头学数学] 第203节 坐标系与参数方程_第60张图片

[从头学数学] 第203节 坐标系与参数方程_第61张图片

[从头学数学] 第203节 坐标系与参数方程_第62张图片

[从头学数学] 第203节 坐标系与参数方程_第63张图片

[从头学数学] 第203节 坐标系与参数方程_第64张图片

[从头学数学] 第203节 坐标系与参数方程_第65张图片

<span style="font-size:18px;">  	if (1) {    
        var r = 20;          
        config.setSector(1,1,1,1);            
        config.graphPaper2D(0, 0, r);          
        config.axis2D(0, 0,180);            
              
        //坐标轴设定      
        var scaleX = 2*r, scaleY = 2*r;        
        var spaceX = 0.5, spaceY = 0.5;         
        var xS = -10, xE = 10;        
        var yS = -10, yE = 10;        
        config.axisSpacing(xS, xE, spaceX, scaleX, 'X');          
        config.axisSpacing(yS, yE, spaceY, scaleY, 'Y');          
                  
        var transform = new Transform();          
        //存放函数图像上的点      
        var a = [], b = [], c = [], d = [];        
                
        //需要显示的函数说明  
					//希腊字母表(存此用于Ctrl C/V
			//ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
			//αβγδεζηθικλμνξοπρστυφχψω
        var f1 = '内摆线 x = cost+cos(nt)/n, y = sint-sin(nt)/n, n=4', f2 = '', f3 = '', f4 = '';      
        var r_1 = 1, r_2 = 4*r_1;

        //函数描点  
		//参数方程
		var x, y;
		var pointA = [];
		
		var angle = 0;
		//思考:
		//angle = r_1*(t-sin(t))/r_2*2pi
		//angle2 = t - Math.floor(t/2pi)
		//x = r_2cos(a)-r_1cos(a2)
		//y = r_2sin(a)- r_1sin(a2)
		
		//正确内摆线公式
		//x = cost+cos(nt)/n, y = sint-sin(nt)/n
		
		var N = 4; //外径与内径比例-1
		
		for (var t = -8; t <= 8; t+=0.1) {
			a.push([Math.cos(t)+Math.cos(N*t)/N, Math.sin(t)-Math.sin(N*t)/N]);
		}
		
                
        //存放临时数组      
        var tmp = [];      
                
        //显示变换      
        if (a.length > 0) {      
            a = transform.scale(transform.translate(a, 0, 0), scaleX/spaceX, scaleY/spaceY);       
            //函数1      
            tmp = [].concat(a);          
            shape.pointDraw(tmp, 'blue');          
            tmp = [].concat(a);          
            shape.multiLineDraw(tmp, '#8822FF');        
                    
            plot.setFillStyle('blue');      
            plot.fillText(f1, 30, -150, 200);        
        }

		
    }  
	</span>


[从头学数学] 第203节 坐标系与参数方程_第66张图片

[从头学数学] 第203节 坐标系与参数方程_第67张图片

[从头学数学] 第203节 坐标系与参数方程_第68张图片

[从头学数学] 第203节 坐标系与参数方程_第69张图片

<span style="font-size:18px;"> 	if (1) {    
        var r = 20;          
        config.setSector(1,1,1,1);            
        config.graphPaper2D(0, 0, r);          
        config.axis2D(0, 0,180);            
              
        //坐标轴设定      
        var scaleX = 2*r, scaleY = 2*r;        
        var spaceX = 0.8, spaceY = 0.8;         
        var xS = -10, xE = 10;        
        var yS = -10, yE = 10;        
        config.axisSpacing(xS, xE, spaceX, scaleX, 'X');          
        config.axisSpacing(yS, yE, spaceY, scaleY, 'Y');          
                  
        var transform = new Transform();          
        //存放函数图像上的点      
        var a = [], b = [], c = [], d = [];        
                
        //需要显示的函数说明  
					//希腊字母表(存此用于Ctrl C/V
			//ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
			//αβγδεζηθικλμνξοπρστυφχψω
        var f1 = '外摆线 x = (a+b)cost-bcos((a+b)/bt), y = (a+b)sint-bsin((a+b)/bt), a:b = 1 : 1 ', f2 = '', f3 = '', f4 = '';      
        var r_1 = 1, r_2 = 4*r_1;

        //函数描点  
		//参数方程
		var x, y;
		var pointA = [];
		
		var angle = 0;
		
		//外摆线公式
		//x = cost+cos(nt)/n, y = sint-sin(nt)/n
		
		var N1 = 1, N2 = 1; //外径与内径比例-1
		
		for (var t = -10; t <= 10; t+=0.2) {
			a.push([(N1+N2)*Math.cos(t)-N2*Math.cos((N1+N2)/N2*t), 
					(N1+N2)*Math.sin(t)-N2*Math.sin((N1+N2)/N2*t)]);
		}
		
                
        //存放临时数组      
        var tmp = [];      
                
        //显示变换      
        if (a.length > 0) {      
            a = transform.scale(transform.translate(a, 0, 0), scaleX/spaceX, scaleY/spaceY);       
            //函数1      
            tmp = [].concat(a);          
            shape.pointDraw(tmp, 'blue');          
            tmp = [].concat(a);          
            shape.multiLineDraw(tmp, '#8822FF');        
                    
            plot.setFillStyle('blue');      
            plot.fillText(f1, 30, -150, 200);        
        }

		
    }  </span>



[从头学数学] 第203节 坐标系与参数方程_第70张图片


本节到此结束,欲知后事如何,请看下回分解。

你可能感兴趣的:([从头学数学] 第203节 坐标系与参数方程)