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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。