java 星形线代码,JavaScript图形实例:星形条纹图案

本文介绍如何在HTML5 canvas上利用星形线(x=r*cos(θ)^3, y=r*sin(θ)^3)和圆(x=r*cos(θ), y=r*sin(θ))的笛卡尔坐标方程,实现内接圆及内接星形线的绘制,并提供了相应的JavaScript代码示例。
摘要由CSDN通过智能技术生成

1.星形条纹图案

星形线的笛卡尔坐标方程式为:

x=r*cos(θ)^3

y=r*sin(θ)^3       (0≤θ≤2π)

圆的笛卡尔坐标方程式为:

x=r*cos(θ)

y=r*sin(θ)         (0≤θ≤2π)

在星形线中绘制一个内接圆,再在内接圆中绘制一个内接星形线。编写如下的HTML代码。

星形线中的圆内星形线

function draw(id)

{

var canvas=document.getElementById(id);

if (canvas==null)

return false;

var context=canvas.getContext('2d');

context.fillStyle="#EEEEFF";

context.fillRect(0,0,400,400);

context.strokeStyle="red";

context.lineWidth=1;

context.save();

context.translate(200,200);

context.beginPath();

for (theta=0;theta<=2*Math.PI;theta+=Math.PI/100)  // 绘制星形线

{

x=200*Math.pow(Math.sin(theta+Math.PI/2),3);

y=-200*Math.pow(Math.cos(theta+Math.PI/2),3);

if (theta==0) context.moveTo(x,y);

else          context.lineTo(x,y);

}

for (theta=0;theta<=2*Math.PI;theta+=Math.PI/100)  // 绘制内接圆

{

x=100*Math.cos(theta);

y=100*Math.sin(theta);

if (theta==0) context.moveTo(x,y);

else          context.lineTo(x,y);

}

for (theta=0;theta<=2*Math.PI;theta+=Math.PI/100)  // 绘制圆内接星形线

{

x=100*Math.pow(Math.sin(theta+Math.PI/2),3);

y=100*Math.pow(Math.cos(theta+Math.PI/2),3);

if (theta==0) context.moveTo(x,y);

else          context.lineTo(x,y);

}

context.stroke();

context.restore();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值