17x^2+16xy+17y^2=2250000(爱心函数)canvas实现代码(效果如图)

function createHeart(context) {
  var y;
  context.beginPath() ;
  context.moveTo(0,getYCoord2(0))
  var x
  for(x = 0 ; x > -sqrt(170000) ; x--){
       y = getYCoord2(x) ;
       context.lineTo(x,y);
  }
  for ( x = -sqrt(170000); x <= sqrt(170000) ; x++ )
  {
    y = getYCoord(x) ;
    context.lineTo(x,y);
  }

  for(x = sqrt(1700000); x >= 0 ; x--){
    y = getYCoord2(x) ;
    context.lineTo(x,y);
  }
  context.stroke();
}


function getYCoord(xCoord){
  var yCoord;
  if(xCoord > 0)
    return yCoord = (sqrt(225000 - 225* pow(xCoord,2)/17)
                - (8 * xCoord) / sqrt(17))/sqrt(17) ;
  else
   return yCoord = (sqrt(225000 - 255* pow(xCoord,2)/17)
                + (8 * xCoord) / sqrt(17))/sqrt(17) ;
}
function getYCoord2(xCoord){
  var yCoord;
  if(xCoord >= 0)
    return yCoord = (-sqrt(225000 - 225* pow(xCoord,2)/17)
                - (8 * xCoord) / sqrt(17))/sqrt(17) ;
  else
   return yCoord = (-sqrt(225000 - 255* pow(xCoord,2)/17)
                + (8 * xCoord) / sqrt(17))/sqrt(17) ;
}
function getCurveYCoord(xCoord) {
    var yCoord = pow(xCoord,2);
    return yCoord
}
function sqrt(exp){
  return Math.sqrt(exp);
}
function pow(exp,clothCover){
  return Math.pow(exp,clothCover) ;
}
17x^2+16xy+17y^2=2250000(爱心函数)canvas实现代码(效果如图)_第1张图片

你可能感兴趣的:(web前端开发)