python绘制笛卡尔心形曲线,python画笛卡尔心形线

  python绘制笛卡尔心形曲线,python画笛卡尔心形线

  第一种方法:桃心形公式

  代码实现的一种方法

  使用桃心形方程绘制爱心var canvas=文档。查询选择器(“画布”);

  var CTX=画布。获取上下文(“2d”);

  画布。宽度=窗口。内部宽度;

  画布。高度=窗口。内部高度;

  var Heart=function(ctx,x,y,a) {

  this.ctx=ctx

  this.x=x

  this.y=y

  这个=一个

  这个。顶点=[];

  对于(设I=0;i50i ) {

  var step=i/50*(数学.* 2);//设置心上面两点之间的角度,具体分成多少份,好像需要去试。

  var vector={

  徐:这个。a *(16 *数学。pow(数学。sin(step),3)),

  y : this.a*(13 * Math.cos(步)- 5 * Math.cos(2 *步)- 2 * Math.cos(3 *步)- Math.cos(4 *步))

  }

  this .顶点.推送(矢量);

  }

  }

  心。原型。draw=function(){

  这个。CTX。begin path();

  this.ctx.translate(this.x,this。y);

  this.ctx.rotate(数学.);

  对于(设I=0;i50i ) {

  var向量=this。顶点[I];

  this.ctx.lineTo(vector.x,vector。y);

  }

  这个。CTX。填充样式= red

  这个。CTX。fill();

  }

  画布。onmousedown=function(e){

  var x=e.offsetX

  var y=e.offsetY

  var a=6;

  var heart=new Heart(ctx,x,y,a);

  心。draw();

  }

  代码实现的一种方法:

  使用笛卡尔心形线方程绘制爱心var canvas=文档。查询选择器(“画布”);

  var CTX=画布。获取上下文(“2d”);

  画布。宽度=窗口。内部宽度;

  画布。高度=窗口。内部高度;

  函数心形(ctx,x,y,a) {

  this.ctx=ctx

  this.x=x

  this.y=y

  这=一个

  this.draw=function() {

  这个。CTX。begin path();

  this.ctx.translate(this.x,this。y);

  this.ctx.rotate(数学.);

  var start=0;

  for(var I=0;i500i ) {

  开始=数学* 2/500;

  var end=开始数学* 2/500;

  var r=this。a*(1-数学。sin(start));

  ctx.arc(0,0,r,start,end,false);

  }

  ctx.fillStyle= red

  CTX。fill();

  }

  }

  画布。onmousedown=function(e){

  var x=e.offsetX

  var y=e.offsetY

  var a=60

  var heart=new Heart(ctx,x,y,a);

  心。draw();

  }

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: