朝起きて、突然描画関数を書きたくなりました。前にネットで誰かがやっているのを見ましたが、それはすべて VML で行われており、IE のみがサポートしていました。
これは、
によって形成された絶対位置のドットを使用して描画され、さまざまなブラウザーと互換性があります。
を実行するために更新する必要があります]
")
}
/**
函数功能:根据给定的圆心和半径画圆
函数思路:根据半径及圆心坐标利用数学方法计算从0°到360°的每点的坐标,并画出来。
*/
function circle(x,y,r){ //(x,y)圆心,r半径
var dotx,doty,radio;
var Pi=Math.PI;
makedot(x,y);
for(var i=0;ix2){
for(var i=0;i>diff;i--){
makedot(x1+i,y1+slope*i);
}
}else{ //画垂直线
var temp=y2-y1;
if(temp>0){
for(var i=0;i
temp;i--){
makedot(x1,y1+i);
}
}
}
}
/**
函数功能:根据给定的三点坐标画三角形
函数思路:直接利用画线函数画三条线即可
*/
function triangle(x1,y1,x2,y2,x3,y3){
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x1,y1,x3,y3);
}
/**
函数功能:根据给定的一系列坐标点画多边形
函数思路:循环读取坐标点,在当前坐标点与下一坐标点之间连线
*/
function polygon(){
var args=arguments.length;
if(args%2!=0) return -1;
var realargs=args/2; //坐标个数
for(var i=0;i