matlab怎么只描点不划线,小坐标系固定插值描点画线

//写在前面

//局限性强,输入坐标按照左上右上右下左下顺序,未作判断

//小坐标系,固定插值描点命中率太低,所以斜线只支持45度角

//深化的话 放大坐标系,描点用三角函数来计算,有效扩大描点的命中率

var printStr="";

var tArray = new Array();

//初始化、重置坐标系 1010

function InitStr(){

for(var k=0;k<10;k++){

tArray[k]=new Array();

for(var j=0;j<10;j++){

tArray[k][j]="0";

}

}

}

function Backstr() {

printStr="";

}

function Wrap() {

printStr+="\n";

}

function AddChar() {

printStr+="";

}

function AddSpace(){

printStr+=" ";

}

//描点画线 四种算法,横线、竖线、左倾45、右倾45

//坐标系较小,不考虑其他角度

function line(x1,y1,x2,y2){

if(x1==x2){

for(var x=0;x<=y2-y1;x++){

tArray[y1+x][x1]=1;

}

}else if(y1==y2){

for(var x=0;x<=x2-x1;x++){

tArray[y1][x1+x]=1;

}

}else if(x1>x2&&y1

for(var x=0;x<=x1-x2;x++){

tArray[y1+x][x1-x]=1;

}

}else{

for(var x=0;x<=x2-x1;x++){

tArray[y1+x][x1+x]=1;

}

}

}

//四边形 三角形就是上边两个顶点重合

function FourB(x1,y1,x2,y2,x3,y3,x4,y4) {

line(x1,y1,x2,y2);

line(x2,y2,x3,y3);

line(x4,y4,x3,y3);

line(x1,y1,x4,y4);

}

//拼接printStr字符串并展示

function Show() {

for (var i = 0; i < 10; i++) {

for (var j = 0; j < 10; j++) {

if(tArray[i][j]==1){

AddChar();

}else{

AddSpace();

}

}

Wrap();

}

console.log(printStr);

}

//三角形

InitStr();

Backstr();

FourB(5,0,5,0,8,3,2,3);

Show();

//矩形

InitStr();

Backstr();

FourB(2,0,7,0,7,5,2,5);

Show();

//梯形

InitStr();

Backstr();

FourB(3,0,6,0,9,3,0,3);

Show();

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值