葵潭镇波 發表於 2020-6-26 08:52:00

JavaScript图形实例:曲线方程

<p>&nbsp; &nbsp; &nbsp; 在HTML5 Canvas画布中,我们可以根据曲线的方程绘制出曲线。例如,在笛卡尔坐标系中,圆的方程为:</p>
<p style="margin-left: 30px">x=r*cos(θ)</p>
<p style="margin-left: 30px">y=r*sin(θ)&nbsp;&nbsp;&nbsp;&nbsp; (0≤θ≤2π)</p>
<p style="margin-left: 30px">编写如下的HTML代码。</p>
<p style="margin-left: 30px">&lt;!DOCTYPE html&gt;</p>
<p style="margin-left: 30px">&lt;head&gt;</p>
<p style="margin-left: 30px">&lt;title&gt;圆&lt;/title&gt;</p>
<p style="margin-left: 30px">&lt;script type="text/javascript"&gt;</p>
<p style="margin-left: 30px">&nbsp; function draw(id)</p>
<p style="margin-left: 30px">&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var canvas=document.getElementById(id);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; if (canvas==null)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var context=canvas.getContext('2d');</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillStyle="#EEEEFF";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillRect(0,0,300,300);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.strokeStyle="red";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.lineWidth=2;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.save();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.translate(150,150);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var&nbsp; r=100;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.beginPath();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; for (theta=0;theta&lt;=2*Math.PI;theta+=Math.PI/100)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var x = r*Math.cos(theta);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 圆的方程式</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var y = r*Math.sin(theta);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (theta==0)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.moveTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.lineTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.stroke();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.restore();</p>
<p style="margin-left: 30px">&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&lt;/script&gt;</p>
<p style="margin-left: 30px">&lt;/head&gt;</p>
<p style="margin-left: 30px">&lt;body onload="draw('myCanvas');"&gt;</p>
<p style="margin-left: 30px">&lt;canvas id="myCanvas" width="300" height="300"&gt;&lt;/canvas&gt;</p>
<p style="margin-left: 30px">&lt;/body&gt;</p>
<p style="margin-left: 30px">&lt;/html&gt;</p>
<p style="margin-left: 30px">在浏览器中打开包含这段HTML代码的html文件,可以看到在浏览器窗口中,绘制出一个圆心位于(150,150),半径为100的圆。</p>
<p style="margin-left: 30px">若将HTML文件中的圆的方程改写为:</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var x = 100*Math.cos(theta);&nbsp;&nbsp;&nbsp;&nbsp; // 椭圆方程</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var y = 75*Math.sin(theta);</p>
<p style="margin-left: 30px">则在浏览器窗口中绘制出一个椭圆。</p>
<p style="margin-left: 30px">下面我们给出采用曲线方程绘制的各类曲线实例。</p>
<h3>1.星形线</h3>
<p style="margin-left: 30px">星形线的笛卡尔坐标方程式为:</p>
<p style="margin-left: 30px">x=r*cos(θ)^3</p>
<p style="margin-left: 30px">y=r*sin(θ)^3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (0≤θ≤2π)</p>
<p style="margin-left: 30px">编写如下的HTML代码。</p>
<p style="margin-left: 30px">&lt;!DOCTYPE html&gt;</p>
<p style="margin-left: 30px">&lt;head&gt;</p>
<p style="margin-left: 30px">&lt;title&gt;星形线&lt;/title&gt;</p>
<p style="margin-left: 30px">&lt;script type="text/javascript"&gt;</p>
<p style="margin-left: 30px">&nbsp; function draw(id)</p>
<p style="margin-left: 30px">&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var canvas=document.getElementById(id);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; if (canvas==null)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var context=canvas.getContext('2d');</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillStyle="#EEEEFF";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillRect(0,0,300,300);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.strokeStyle="red";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.lineWidth=2;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.save();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.translate(150,150);</p>
<p style="margin-left: 30px">&nbsp; &nbsp;&nbsp;&nbsp;var&nbsp; r=80;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.beginPath();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; for (a=0;a&lt;=2*Math.PI;a+=Math.PI/100)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var x = r*Math.cos(a)*Math.cos(a)*Math.cos(a);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var y = r*Math.sin(a)*Math.sin(a)*Math.sin(a);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (a==0)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.moveTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.lineTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.stroke();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.restore();</p>
<p style="margin-left: 30px">&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&lt;/script&gt;</p>
<p style="margin-left: 30px">&lt;/head&gt;</p>
<p style="margin-left: 30px">&lt;body onload="draw('myCanvas');"&gt;</p>
<p style="margin-left: 30px">&lt;canvas id="myCanvas" width="300" height="300"&gt;&lt;/canvas&gt;</p>
<p style="margin-left: 30px">&lt;/body&gt;</p>
<p style="margin-left: 30px">&lt;/html&gt;</p>
<p style="margin-left: 30px">在浏览器中打开包含这段HTML代码的html文件,可以看到在浏览器窗口中绘制出星形线,如图1所示。</p>
<p align="center">&nbsp;<img src="https://img2020.cnblogs.com/blog/1485495/202006/1485495-20200626084608588-607931207.png"></p>
<p align="center">图1&nbsp; 星形线</p>
<h3>2.三尖瓣线</h3>
<p style="margin-left: 30px">三尖瓣线的笛卡尔坐标方程式为:</p>
<p style="margin-left: 30px">x=r*</p>
<p style="margin-left: 30px">y=r*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (0≤θ≤2π)</p>
<p style="margin-left: 30px">编写如下的HTML代码。</p>
<p style="margin-left: 30px">&lt;!DOCTYPE html&gt;</p>
<p style="margin-left: 30px">&lt;head&gt;</p>
<p style="margin-left: 30px">&lt;title&gt;三尖瓣线&lt;/title&gt;</p>
<p style="margin-left: 30px">&lt;script type="text/javascript"&gt;</p>
<p style="margin-left: 30px">&nbsp; function draw(id)</p>
<p style="margin-left: 30px">&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var canvas=document.getElementById(id);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; if (canvas==null)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var context=canvas.getContext('2d');</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillStyle="#EEEEFF";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillRect(0,0,300,300);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.strokeStyle="red";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.lineWidth=2;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.save();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.translate(150,150);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var&nbsp; r=40;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.beginPath();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; for (a=0;a&lt;=2*Math.PI;a+=Math.PI/100)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var x = r*(2*Math.cos(a)+Math.cos(2*a));</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var y = r*(2*Math.sin(a)-Math.sin(2*a));</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (a==0)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context.moveTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.lineTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.stroke();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.restore();</p>
<p style="margin-left: 30px">&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&lt;/script&gt;</p>
<p style="margin-left: 30px">&lt;/head&gt;</p>
<p style="margin-left: 30px">&lt;body onload="draw('myCanvas');"&gt;</p>
<p style="margin-left: 30px">&lt;canvas id="myCanvas" width="300" height="300"&gt;&lt;/canvas&gt;</p>
<p style="margin-left: 30px">&lt;/body&gt;</p>
<p style="margin-left: 30px">&lt;/html&gt;</p>
<p style="margin-left: 30px">在浏览器中打开包含这段HTML代码的html文件,可以看到在浏览器窗口中绘制出三尖瓣线,如图2所示。</p>
<p align="center">&nbsp;<img src="https://img2020.cnblogs.com/blog/1485495/202006/1485495-20200626084630625-489326178.png">&nbsp;</p>
<p align="center">图2&nbsp; 三尖瓣线</p>
<h3>3.肾形线</h3>
<p style="margin-left: 30px">肾形线的笛卡尔坐标方程式为:</p>
<p style="margin-left: 30px">x=r*</p>
<p style="margin-left: 30px">y=r*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (0≤θ≤2π)</p>
<p style="margin-left: 30px">编写如下的HTML代码。</p>
<p style="margin-left: 30px">&lt;!DOCTYPE html&gt;</p>
<p style="margin-left: 30px">&lt;head&gt;</p>
<p style="margin-left: 30px">&lt;title&gt;肾形线&lt;/title&gt;</p>
<p style="margin-left: 30px">&lt;script type="text/javascript"&gt;</p>
<p style="margin-left: 30px">&nbsp; function draw(id)</p>
<p style="margin-left: 30px">&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var canvas=document.getElementById(id);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; if (canvas==null)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var context=canvas.getContext('2d');</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillStyle="#EEEEFF";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillRect(0,0,300,300);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.strokeStyle="red";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.lineWidth=2;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.save();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.translate(150,150);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var&nbsp; r=25;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.beginPath();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; for (a=0;a&lt;=2*Math.PI;a+=Math.PI/100)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var x = 3*r*Math.cos(a) -r*Math.cos(3*a);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var y = 3*r*Math.sin(a) -r*Math.sin(3*a);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (a==0)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.moveTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.lineTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.stroke();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.restore();</p>
<p style="margin-left: 30px">&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&lt;/script&gt;</p>
<p style="margin-left: 30px">&lt;/head&gt;</p>
<p style="margin-left: 30px">&lt;body onload="draw('myCanvas');"&gt;</p>
<p style="margin-left: 30px">&lt;canvas id="myCanvas" width="300" height="300"&gt;&lt;/canvas&gt;</p>
<p style="margin-left: 30px">&lt;/body&gt;</p>
<p style="margin-left: 30px">&lt;/html&gt;</p>
<p style="margin-left: 30px">将上述HTML代码保存到一个html文本文件中,再在浏览器中打开包含这段HTML代码的html文件,可以看到在浏览器窗口中绘制出肾形线,如图3所示。</p>
<p align="center">&nbsp;<img src="https://img2020.cnblogs.com/blog/1485495/202006/1485495-20200626084648416-374198287.png">&nbsp;</p>
<p align="center">图3&nbsp; 肾形线</p>
<h3>4.心脏线</h3>
<p style="margin-left: 30px">心脏线的笛卡尔坐标方程式为:</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp; r=b*(1+ cos(θ))</p>
<p style="margin-left: 30px">x=r*cos(θ)</p>
<p style="margin-left: 30px">y=r*sin(θ)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (0≤θ≤2π)</p>
<p style="margin-left: 30px">编写如下的HTML代码。</p>
<p style="margin-left: 30px">&lt;!DOCTYPE html&gt;</p>
<p style="margin-left: 30px">&lt;head&gt;</p>
<p style="margin-left: 30px">&lt;title&gt;心脏线&lt;/title&gt;</p>
<p style="margin-left: 30px">&lt;script type="text/javascript"&gt;</p>
<p style="margin-left: 30px">&nbsp; function draw(id)</p>
<p style="margin-left: 30px">&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var canvas=document.getElementById(id);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; if (canvas==null)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var context=canvas.getContext('2d');</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillStyle="#EEEEFF";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillRect(0,0,300,300);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.strokeStyle="red";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.lineWidth=2;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.save();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.translate(100,150);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var b=70;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.beginPath();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; for (theta=0;theta&lt;=2*Math.PI;theta+=Math.PI/200)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var r=b*(1+Math.cos(theta));</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var x = r*Math.cos(theta);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var y = r*Math.sin(theta);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (theta==0)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.moveTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.lineTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.stroke();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.restore();</p>
<p style="margin-left: 30px">&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&lt;/script&gt;</p>
<p style="margin-left: 30px">&lt;/head&gt;</p>
<p style="margin-left: 30px">&lt;body onload="draw('myCanvas');"&gt;</p>
<p style="margin-left: 30px">&lt;canvas id="myCanvas" width="300" height="300"&gt;&lt;/canvas&gt;</p>
<p style="margin-left: 30px">&lt;/body&gt;</p>
<p style="margin-left: 30px">&lt;/html&gt;</p>
<p style="margin-left: 30px">将上述HTML代码保存到一个html文本文件中,再在浏览器中打开包含这段HTML代码的html文件,可以看到在浏览器窗口中绘制出心脏线,如图4所示。</p>
<p align="center">&nbsp;<img src="https://img2020.cnblogs.com/blog/1485495/202006/1485495-20200626084714234-1341652367.png">&nbsp;</p>
<p align="center">图4&nbsp; 心脏线</p>
<h3>5.双弧外摆线</h3>
<p style="margin-left: 30px">双弧外摆线的笛卡尔坐标方程式为:</p>
<p style="margin-left: 30px">x= 3*b*cos(θ)+ d*cos(3θ)]</p>
<p style="margin-left: 30px">y= 3*b*sin(θ)+ d*sin(3θ)]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (0≤θ≤2π)</p>
<p style="margin-left: 30px">编写如下的HTML代码。</p>
<p style="margin-left: 30px">&lt;!DOCTYPE html&gt;</p>
<p style="margin-left: 30px">&lt;head&gt;</p>
<p style="margin-left: 30px">&lt;title&gt;双弧外摆线&lt;/title&gt;</p>
<p style="margin-left: 30px">&lt;script type="text/javascript"&gt;</p>
<p style="margin-left: 30px">&nbsp; function draw(id)</p>
<p style="margin-left: 30px">&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var canvas=document.getElementById(id);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; if (canvas==null)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var context=canvas.getContext('2d');</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillStyle="#EEEEFF";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillRect(0,0,300,300);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.strokeStyle="red";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.lineWidth=2;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.save();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.translate(150,150);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var&nbsp; b=25;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var&nbsp; d=35;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.beginPath();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; for (a=0;a&lt;=2*Math.PI;a+=Math.PI/100)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var x = 3*b*Math.cos(a) +d*Math.cos(3*a);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var y = 3*b*Math.sin(a) +d*Math.sin(3*a)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (a==0)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.moveTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.lineTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.stroke();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.restore();</p>
<p style="margin-left: 30px">&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&lt;/script&gt;</p>
<p style="margin-left: 30px">&lt;/head&gt;</p>
<p style="margin-left: 30px">&lt;body onload="draw('myCanvas');"&gt;</p>
<p style="margin-left: 30px">&lt;canvas id="myCanvas" width="300" height="300"&gt;&lt;/canvas&gt;</p>
<p style="margin-left: 30px">&lt;/body&gt;</p>
<p style="margin-left: 30px">&lt;/html&gt;</p>
<p style="margin-left: 30px">将上述HTML代码保存到一个html文本文件中,再在浏览器中打开包含这段HTML代码的html文件,可以看到在浏览器窗口中绘制出双弧外摆线,如图5所示。</p>
<p align="center">&nbsp;<img src="https://img2020.cnblogs.com/blog/1485495/202006/1485495-20200626084732068-1893914988.png">&nbsp;</p>
<p align="center">图5&nbsp; 双弧外摆线</p>
<h3>6.梅花曲线</h3>
<p style="margin-left: 30px">梅花曲线的笛卡尔坐标方程式为:</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp; r=10+(3*sin(θ*2.5))^2 </p>
<p style="margin-left: 30px">x=r*cos(θ)</p>
<p style="margin-left: 30px">y=r*sin(θ)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0≤θ≤2π)</p>
<p style="margin-left: 30px">编写如下的HTML代码。</p>
<p style="margin-left: 30px">&lt;!DOCTYPE html&gt;</p>
<p style="margin-left: 30px">&lt;head&gt;</p>
<p style="margin-left: 30px">&lt;title&gt;梅花曲线&lt;/title&gt;</p>
<p style="margin-left: 30px">&lt;script type="text/javascript"&gt;</p>
<p style="margin-left: 30px">&nbsp; function draw(id)</p>
<p style="margin-left: 30px">&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var canvas=document.getElementById(id);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; if (canvas==null)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var context=canvas.getContext('2d');</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillStyle="#EEEEFF";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillRect(0,0,300,300);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.strokeStyle="red";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.lineWidth=2;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.save();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.translate(150,150);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var b=120;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.beginPath();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; for (theta=0;theta&lt;=2*Math.PI;theta+=Math.PI/200)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var r=10+9*Math.sin(2.5*theta)*Math.sin(2.5*theta);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var x = 6*r*Math.cos(theta);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var y = 6*r*Math.sin(theta);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (theta==0)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.moveTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.lineTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.stroke();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.restore();</p>
<p style="margin-left: 30px">&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&lt;/script&gt;</p>
<p style="margin-left: 30px">&lt;/head&gt;</p>
<p style="margin-left: 30px">&lt;body onload="draw('myCanvas');"&gt;</p>
<p style="margin-left: 30px">&lt;canvas id="myCanvas" width="300" height="300"&gt;&lt;/canvas&gt;</p>
<p style="margin-left: 30px">&lt;/body&gt;</p>
<p style="margin-left: 30px">&lt;/html&gt;</p>
<p style="margin-left: 30px">将上述HTML代码保存到一个html文本文件中,再在浏览器中打开包含这段HTML代码的html文件,可以看到在浏览器窗口中绘制出梅花曲线,如图6所示。</p>
<p align="center">&nbsp;<img src="https://img2020.cnblogs.com/blog/1485495/202006/1485495-20200626084800483-645664572.png">&nbsp;</p>
<p align="center">图6&nbsp; 梅花曲线</p>
<h3>7.向日葵线</h3>
<p style="margin-left: 30px">向日葵线的笛卡尔坐标方程式为:</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp; b=30</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp; r=b+b/3*sin(θ*b)  </p>
<p style="margin-left: 30px">x=r*cos(θ)</p>
<p style="margin-left: 30px">y=r*sin(θ)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (0≤θ≤2π)</p>
<p style="margin-left: 30px">编写如下的HTML代码。</p>
<p style="margin-left: 30px">&lt;!DOCTYPE html&gt;</p>
<p style="margin-left: 30px">&lt;head&gt;</p>
<p style="margin-left: 30px">&lt;title&gt;向日葵线&lt;/title&gt;</p>
<p style="margin-left: 30px">&lt;script type="text/javascript"&gt;</p>
<p style="margin-left: 30px">&nbsp; function draw(id)</p>
<p style="margin-left: 30px">&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var canvas=document.getElementById(id);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; if (canvas==null)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var context=canvas.getContext('2d');</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillStyle="#EEEEFF";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillRect(0,0,300,300);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.strokeStyle="red";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.lineWidth=2;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.save();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.translate(150,150);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var b=30;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.beginPath();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; for (theta=0;theta&lt;=2*Math.PI;theta+=Math.PI/200)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var r=b+b/3*Math.sin(b*theta);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var x = 3*r*Math.cos(theta);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var y = 3*r*Math.sin(theta);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (theta==0)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.moveTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.lineTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.stroke();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.restore();</p>
<p style="margin-left: 30px">&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&lt;/script&gt;</p>
<p style="margin-left: 30px">&lt;/head&gt;</p>
<p style="margin-left: 30px">&lt;body onload="draw('myCanvas');"&gt;</p>
<p style="margin-left: 30px">&lt;canvas id="myCanvas" width="300" height="300"&gt;&lt;/canvas&gt;</p>
<p style="margin-left: 30px">&lt;/body&gt;</p>
<p style="margin-left: 30px">&lt;/html&gt;</p>
<p style="margin-left: 30px">将上述HTML代码保存到一个html文本文件中,再在浏览器中打开包含这段HTML代码的html文件,可以看到在浏览器窗口中绘制出向日葵线,如图7所示。</p>
<p align="center"><img src="https://img2020.cnblogs.com/blog/1485495/202006/1485495-20200626084826232-444356326.png">&nbsp;</p>
<p align="center">图7&nbsp; 向日葵线</p>
<h3>8.小蜜蜂形线</h3>
<p style="margin-left: 30px">小蜜蜂形线的笛卡尔坐标方程式为:</p>
<p style="margin-left: 30px">x=r*</p>
<p style="margin-left: 30px">y=r*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (0≤θ≤2π)</p>
<p style="margin-left: 30px">编写如下的HTML代码。</p>
<p style="margin-left: 30px">&lt;!DOCTYPE html&gt;</p>
<p style="margin-left: 30px">&lt;head&gt;</p>
<p style="margin-left: 30px">&lt;title&gt;小蜜蜂形线&lt;/title&gt;</p>
<p style="margin-left: 30px">&lt;script type="text/javascript"&gt;</p>
<p style="margin-left: 30px">&nbsp; function draw(id)</p>
<p style="margin-left: 30px">&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var canvas=document.getElementById(id);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; if (canvas==null)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var context=canvas.getContext('2d');</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillStyle="#EEEEFF";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillRect(0,0,300,300);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.strokeStyle="red";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.lineWidth=2;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.save();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.translate(150,150);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var r=50;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.beginPath();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; for (theta=0;theta&lt;=2*Math.PI;theta+=Math.PI/100)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var x = r*(Math.cos(theta)+Math.cos(3*theta));</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var y = r*(Math.sin(theta)+Math.sin(5*theta));</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (theta==0)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.moveTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.lineTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.stroke();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.restore();</p>
<p style="margin-left: 30px">&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&lt;/script&gt;</p>
<p style="margin-left: 30px">&lt;/head&gt;</p>
<p style="margin-left: 30px">&lt;body onload="draw('myCanvas');"&gt;</p>
<p style="margin-left: 30px">&lt;canvas id="myCanvas" width="300" height="300"&gt;&lt;/canvas&gt;</p>
<p style="margin-left: 30px">&lt;/body&gt;</p>
<p style="margin-left: 30px">&lt;/html&gt;</p>
<p style="margin-left: 30px">将上述HTML代码保存到一个html文本文件中,再在浏览器中打开包含这段HTML代码的html文件,可以看到在浏览器窗口中绘制出小蜜蜂形线,如图8所示。</p>
<p align="center">&nbsp;<img src="https://img2020.cnblogs.com/blog/1485495/202006/1485495-20200626084850732-1884628720.png">&nbsp;</p>
<p align="center">图8 小蜜蜂形线</p>
<h3>9.弯月</h3>
<p style="margin-left: 30px">弯月的笛卡尔坐标方程式为:</p>
<p style="margin-left: 30px">x=r*</p>
<p style="margin-left: 30px">y=r*4*sin(θ)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (0≤θ≤2π)</p>
<p style="margin-left: 30px">编写如下的HTML代码。</p>
<p style="margin-left: 30px">&lt;!DOCTYPE html&gt;</p>
<p style="margin-left: 30px">&lt;head&gt;</p>
<p style="margin-left: 30px">&lt;title&gt;弯月&lt;/title&gt;</p>
<p style="margin-left: 30px">&lt;script type="text/javascript"&gt;</p>
<p style="margin-left: 30px">&nbsp; function draw(id)</p>
<p style="margin-left: 30px">&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var canvas=document.getElementById(id);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; if (canvas==null)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var context=canvas.getContext('2d');</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillStyle="#EEEEFF";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillRect(0,0,300,300);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.strokeStyle="red";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.lineWidth=2;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.save();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.translate(150,150);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var r=30;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.beginPath();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; for (theta=0;theta&lt;=2*Math.PI;theta+=Math.PI/100)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var x = r*(Math.cos(theta)+Math.cos(2*theta));</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var y = r*(Math.sin(theta)*4);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (theta==0)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.moveTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.lineTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.stroke();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.restore();</p>
<p style="margin-left: 30px">&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&lt;/script&gt;</p>
<p style="margin-left: 30px">&lt;/head&gt;</p>
<p style="margin-left: 30px">&lt;body onload="draw('myCanvas');"&gt;</p>
<p style="margin-left: 30px">&lt;canvas id="myCanvas" width="300" height="300"&gt;&lt;/canvas&gt;</p>
<p style="margin-left: 30px">&lt;/body&gt;</p>
<p style="margin-left: 30px">&lt;/html&gt;</p>
<p style="margin-left: 30px">将上述HTML代码保存到一个html文本文件中,再在浏览器中打开包含这段HTML代码的html文件,可以看到在浏览器窗口中绘制出弯月,如图9所示。</p>
<p align="center">&nbsp;<img src="https://img2020.cnblogs.com/blog/1485495/202006/1485495-20200626084907897-572742933.png">&nbsp;</p>
<p align="center">图9&nbsp; 弯月</p>
<h3>10.内五角星线</h3>
<p style="margin-left: 30px">内五角星线的笛卡尔坐标方程式为:</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp; b=10;</p>
<p style="margin-left: 30px">&nbsp;&nbsp; &nbsp;x = b*(2+5* cos(θ)+6* cos((10/6-1)* θ));</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp; y = b*(2+5* sin(θ)-6* sin((10/6-1)* θ));&nbsp;&nbsp;&nbsp; (0≤θ≤14π)</p>
<p style="margin-left: 30px">编写如下的HTML代码。</p>
<p style="margin-left: 30px">&lt;!DOCTYPE html&gt;</p>
<p style="margin-left: 30px">&lt;head&gt;</p>
<p style="margin-left: 30px">&lt;title&gt;内五角星线&lt;/title&gt;</p>
<p style="margin-left: 30px">&lt;script type="text/javascript"&gt;</p>
<p style="margin-left: 30px">&nbsp; function draw(id)</p>
<p style="margin-left: 30px">&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var canvas=document.getElementById(id);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; if (canvas==null)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var context=canvas.getContext('2d');</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillStyle="#EEEEFF";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillRect(0,0,300,300);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.strokeStyle="red";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.lineWidth=2;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.save();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.translate(150,150);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var&nbsp; b=10;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.beginPath();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; for (a=0;a&lt;=14*Math.PI;a+=Math.PI/100)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var x = b*(2+5*Math.cos(a)+6*Math.cos((10/6-1)*a));</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var y = b*(2+5*Math.sin(a)-6*Math.sin((10/6-1)*a));</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (a==0)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.moveTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.lineTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.stroke();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.restore();</p>
<p style="margin-left: 30px">&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&lt;/script&gt;</p>
<p style="margin-left: 30px">&lt;/head&gt;</p>
<p style="margin-left: 30px">&lt;body onload="draw('myCanvas');"&gt;</p>
<p style="margin-left: 30px">&lt;canvas id="myCanvas" width="300" height="300"&gt;&lt;/canvas&gt;</p>
<p style="margin-left: 30px">&lt;/body&gt;</p>
<p style="margin-left: 30px">&lt;/html&gt;</p>
<p style="margin-left: 30px">将上述HTML代码保存到一个html文本文件中,再在浏览器中打开包含这段HTML代码的html文件,可以看到在浏览器窗口中绘制出内五角星线,如图10所示。</p>
<p align="center"><img src="https://img2020.cnblogs.com/blog/1485495/202006/1485495-20200626084926825-4758379.png">&nbsp;</p>
<p align="center">图10 &nbsp;内五角星线</p>
<h3>11.热带鱼形线</h3>
<p style="margin-left: 30px">热带鱼形线的笛卡尔坐标方程式为:</p>
<p style="margin-left: 30px">&nbsp;&nbsp; &nbsp;x =( r* cos(3θ)^4)* θ;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp; y = ( r* sin(3θ)^4)* θ;&nbsp;&nbsp;&nbsp; (0≤θ≤2π)</p>
<p style="margin-left: 30px">编写如下的HTML代码。</p>
<p style="margin-left: 30px">&lt;!DOCTYPE html&gt;</p>
<p style="margin-left: 30px">&lt;head&gt;</p>
<p style="margin-left: 30px">&lt;title&gt;热带鱼形线&lt;/title&gt;</p>
<p style="margin-left: 30px">&lt;script type="text/javascript"&gt;</p>
<p style="margin-left: 30px">&nbsp; function draw(id)</p>
<p style="margin-left: 30px">&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var canvas=document.getElementById(id);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; if (canvas==null)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var context=canvas.getContext('2d');</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillStyle="#EEEEFF";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillRect(0,0,300,300);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.strokeStyle="red";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.lineWidth=2;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.save();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.translate(30,30);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var r=45;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.beginPath();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; for (theta=0;theta&lt;=2*Math.PI;theta+=Math.PI/100)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p style="margin-left: 30px">&nbsp; &nbsp; &nbsp; &nbsp; x= (r*Math.cos(3*theta)*Math.cos(3*theta)*Math.cos(3*theta)*Math.cos(3*theta))*theta;</p>
<p style="margin-left: 30px">&nbsp; &nbsp; &nbsp; &nbsp; y= (r*Math.sin(3*theta)*Math.sin(3*theta)*Math.sin(3*theta)*Math.sin(3*theta))*theta;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (theta==0)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.moveTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.lineTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.stroke();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.restore();</p>
<p style="margin-left: 30px">&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&lt;/script&gt;</p>
<p style="margin-left: 30px">&lt;/head&gt;</p>
<p style="margin-left: 30px">&lt;body onload="draw('myCanvas');"&gt;</p>
<p style="margin-left: 30px">&lt;canvas id="myCanvas" width="300" height="300"&gt;&lt;/canvas&gt;</p>
<p style="margin-left: 30px">&lt;/body&gt;</p>
<p style="margin-left: 30px">&lt;/html&gt;</p>
<p style="margin-left: 30px">将上述HTML代码保存到一个html文本文件中,再在浏览器中打开包含这段HTML代码的html文件,可以看到在浏览器窗口中绘制出热带鱼形线,如图11所示。</p>
<p align="center">&nbsp;<img src="https://img2020.cnblogs.com/blog/1485495/202006/1485495-20200626085002556-1101334780.png">&nbsp;</p>
<p align="center">图11&nbsp; 热带鱼形线</p>
<h3>12.蜗轨线</h3>
<p style="margin-left: 30px">蜗轨线的笛卡尔坐标方程式为:</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp; r=cos(30*θ) *θ/2+2*θ </p>
<p style="margin-left: 30px">x=r*cos(θ)</p>
<p style="margin-left: 30px">y=r*sin(θ)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (0≤θ≤4π)</p>
<p style="margin-left: 30px">编写如下的HTML代码。</p>
<p style="margin-left: 30px">&lt;!DOCTYPE html&gt;</p>
<p style="margin-left: 30px">&lt;head&gt;</p>
<p style="margin-left: 30px">&lt;title&gt;蜗轨线&lt;/title&gt;</p>
<p style="margin-left: 30px">&lt;script type="text/javascript"&gt;</p>
<p style="margin-left: 30px">&nbsp; function draw(id)</p>
<p style="margin-left: 30px">&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var canvas=document.getElementById(id);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; if (canvas==null)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var context=canvas.getContext('2d');</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillStyle="#EEEEFF";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillRect(0,0,400,300);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.strokeStyle="red";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.lineWidth=2;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.save();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.translate(150,150);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.beginPath();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; for (theta=0;theta&lt;=4*Math.PI;theta+=Math.PI/720)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var r=Math.cos(30*theta)*theta*0.5+theta*2;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;var x = 5*r*Math.cos(theta);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var y = 5*r*Math.sin(theta);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (theta==0)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.moveTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.lineTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.stroke();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.restore();</p>
<p style="margin-left: 30px">&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&lt;/script&gt;</p>
<p style="margin-left: 30px">&lt;/head&gt;</p>
<p style="margin-left: 30px">&lt;body onload="draw('myCanvas');"&gt;</p>
<p style="margin-left: 30px">&lt;canvas id="myCanvas" width="400" height="300"&gt;&lt;/canvas&gt;</p>
<p style="margin-left: 30px">&lt;/body&gt;</p>
<p style="margin-left: 30px">&lt;/html&gt;</p>
<p style="margin-left: 30px">将上述HTML代码保存到一个html文本文件中,再在浏览器中打开包含这段HTML代码的html文件,可以看到在浏览器窗口中绘制出蜗轨线,如图12所示。</p>
<p align="center">&nbsp;<img src="https://img2020.cnblogs.com/blog/1485495/202006/1485495-20200626085019995-1612000123.png">&nbsp;</p>
<p align="center">图12&nbsp; 蜗轨线</p>
<h3>13.蝴蝶曲线</h3>
<p style="margin-left: 30px">蝴蝶曲线的笛卡尔坐标方程式为:</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp; r=(cos(2*θ) *θ/2+1) *θ </p>
<p style="margin-left: 30px">x=r*cos(θ)</p>
<p style="margin-left: 30px">y=r*sin(θ)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (0≤θ≤15π)</p>
<p style="margin-left: 30px">编写如下的HTML代码。</p>
<p style="margin-left: 30px">&lt;!DOCTYPE html&gt;</p>
<p style="margin-left: 30px">&lt;head&gt;</p>
<p style="margin-left: 30px">&lt;title&gt;蝴蝶曲线&lt;/title&gt;</p>
<p style="margin-left: 30px">&lt;script type="text/javascript"&gt;</p>
<p style="margin-left: 30px">&nbsp; function draw(id)</p>
<p style="margin-left: 30px">&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var canvas=document.getElementById(id);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; if (canvas==null)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var context=canvas.getContext('2d');</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillStyle="#EEEEFF";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillRect(0,0,400,300);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.strokeStyle="red";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.lineWidth=2;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.save();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.translate(200,150);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.beginPath();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; for (theta=0;theta&lt;=15*Math.PI;theta+=Math.PI/180)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var r=(Math.cos(2*theta)*theta*0.5+1)*theta;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var x = 0.15*r*Math.cos(theta);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var y = 0.15*r*Math.sin(theta);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (theta==0)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.moveTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.lineTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.stroke();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.restore();</p>
<p style="margin-left: 30px">&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&lt;/script&gt;</p>
<p style="margin-left: 30px">&lt;/head&gt;</p>
<p style="margin-left: 30px">&lt;body onload="draw('myCanvas');"&gt;</p>
<p style="margin-left: 30px">&lt;canvas id="myCanvas" width="400" height="300"&gt;&lt;/canvas&gt;</p>
<p style="margin-left: 30px">&lt;/body&gt;</p>
<p style="margin-left: 30px">&lt;/html&gt;</p>
<p style="margin-left: 30px">将上述HTML代码保存到一个html文本文件中,再在浏览器中打开包含这段HTML代码的html文件,可以看到在浏览器窗口中绘制出蝴蝶曲线,如图13所示。</p>
<p align="center">&nbsp;<img src="https://img2020.cnblogs.com/blog/1485495/202006/1485495-20200626085041071-1644897320.png">&nbsp;</p>
<p align="center">图13&nbsp; 蝴蝶曲线</p>
<h3>14.长短幅圆内旋轮线</h3>
<p style="margin-left: 30px">长短幅圆内旋轮线的笛卡尔坐标方程式为:</p>
<p style="margin-left: 30px">&nbsp; &nbsp;&nbsp;x =(a-b)* cos(θ)+c* cos((a/b-1)*θ);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp; y =(a-b)* sin(θ) - c* sin((a/b-1)*θ);&nbsp;&nbsp;&nbsp; (0≤θ≤20π)</p>
<p style="margin-left: 30px">编写如下的HTML代码。</p>
<p style="margin-left: 30px">&lt;!DOCTYPE html&gt;</p>
<p style="margin-left: 30px">&lt;head&gt;</p>
<p style="margin-left: 30px">&lt;title&gt;长短幅圆内旋轮线&lt;/title&gt;</p>
<p style="margin-left: 30px">&lt;script type="text/javascript"&gt;</p>
<p style="margin-left: 30px">&nbsp; function draw(id)</p>
<p style="margin-left: 30px">&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var canvas=document.getElementById(id);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; if (canvas==null)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var context=canvas.getContext('2d');</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillStyle="#EEEEFF";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillRect(0,0,300,300);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.strokeStyle="red";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.lineWidth=2;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.save();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.translate(150,150);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var a=100;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var b=140;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var c=45;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.beginPath();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; for (theta=0;theta&lt;=20*Math.PI;theta+=Math.PI/100)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var x = (a-b)*Math.cos(theta)+c*Math.cos((a/b-1)*theta);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var y = (a-b)*Math.sin(theta)-c*Math.sin((a/b-1)*theta);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (theta==0)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.moveTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.lineTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.stroke();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.restore();</p>
<p style="margin-left: 30px">&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&lt;/script&gt;</p>
<p style="margin-left: 30px">&lt;/head&gt;</p>
<p style="margin-left: 30px">&lt;body onload="draw('myCanvas');"&gt;</p>
<p style="margin-left: 30px">&lt;canvas id="myCanvas" width="300" height="300"&gt;&lt;/canvas&gt;</p>
<p style="margin-left: 30px">&lt;/body&gt;</p>
<p style="margin-left: 30px">&lt;/html&gt;</p>
<p style="margin-left: 30px">将上述HTML代码保存到一个html文本文件中,再在浏览器中打开包含这段HTML代码的html文件,可以看到在浏览器窗口中绘制出长短幅圆内旋轮线,如图14所示。</p>
<p align="center">&nbsp;<img src="https://img2020.cnblogs.com/blog/1485495/202006/1485495-20200626085102571-1577265887.png">&nbsp;</p>
<p align="center">图14&nbsp; 长短幅圆内旋轮线</p>
<h3>15.长短幅圆外旋轮线</h3>
<p style="margin-left: 30px">长短幅圆外旋轮线的笛卡尔坐标方程式为:</p>
<p style="margin-left: 30px">&nbsp;&nbsp; &nbsp;x =(a+b)* cos(θ)+c* cos((a/b+1)*θ);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp; y =(a+b)* sin(θ) - c* sin((a/b+1)*θ);&nbsp;&nbsp;&nbsp; (0≤θ≤10π)</p>
<p style="margin-left: 30px">编写如下的HTML代码。</p>
<p style="margin-left: 30px">&lt;!DOCTYPE html&gt;</p>
<p style="margin-left: 30px">&lt;head&gt;</p>
<p style="margin-left: 30px">&lt;title&gt;长短幅圆外旋轮线&lt;/title&gt;</p>
<p style="margin-left: 30px">&lt;script type="text/javascript"&gt;</p>
<p style="margin-left: 30px">&nbsp; function draw(id)</p>
<p style="margin-left: 30px">&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var canvas=document.getElementById(id);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; if (canvas==null)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var context=canvas.getContext('2d');</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillStyle="#EEEEFF";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.fillRect(0,0,300,300);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.strokeStyle="red";</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.lineWidth=2;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.save();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.translate(150,150);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var a=50;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var b=30;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; var c=50;</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.beginPath();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; for (theta=0;theta&lt;=10*Math.PI;theta+=Math.PI/100)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var x = (a+b)*Math.cos(theta)+c*Math.cos((a/b+1)*theta);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var y = (a+b)*Math.sin(theta)-c*Math.sin((a/b+1)*theta);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (theta==0)</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.moveTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.lineTo(x,y);</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.stroke();</p>
<p style="margin-left: 30px">&nbsp;&nbsp;&nbsp;&nbsp; context.restore();</p>
<p style="margin-left: 30px">&nbsp;&nbsp; }</p>
<p style="margin-left: 30px">&lt;/script&gt;</p>
<p style="margin-left: 30px">&lt;/head&gt;</p>
<p style="margin-left: 30px">&lt;body onload="draw('myCanvas');"&gt;</p>
<p style="margin-left: 30px">&lt;canvas id="myCanvas" width="300" height="300"&gt;&lt;/canvas&gt;</p>
<p style="margin-left: 30px">&lt;/body&gt;</p>
<p style="margin-left: 30px">&lt;/html&gt;</p>
<p style="margin-left: 30px">将上述HTML代码保存到一个html文本文件中,再在浏览器中打开包含这段HTML代码的html文件,可以看到在浏览器窗口中绘制出长短幅圆外旋轮线,如图15所示。</p>
<p align="center">&nbsp;<img src="https://img2020.cnblogs.com/blog/1485495/202006/1485495-20200626085120012-128442071.png">&nbsp;</p>
<p align="center">图15&nbsp; 长短幅圆外旋轮线</p><br><br>
来源:https://www.cnblogs.com/cs-whut/p/13193813.html
頁: [1]
查看完整版本: JavaScript图形实例:曲线方程