亮瞎你的眼shell

http://bbs.chinaunix.net/thread-833305-1-1.html

送给Shell版兄弟姐妹们的节日礼物



                           送给Shell版兄弟姐妹们的节日礼物








有好一段时间不来了,怪想大家的。
眼看快到十月一了,写了两个awk程序作为礼物送给shell版的兄弟姐妹们,祝大家节日愉快!


注:若转载请保持程序的完整,谢谢!


程序一:
彩色显示文件程序,每个字符的颜色都不一样,随机变化,让你看花眼睛^_^:


程序代码:


#! /usr/bin/awk
#  Write by dbcat
#  EMail:deeperbluecat@Gmail.com
#  run : awk -f ColorCat.awk YourFile


BEGIN{
        srand()


}


{
        split($0,Myth,"")
        ColorPrint(Myth,length($0))
}




function ColorPrint(Myth,xlen)
 {
   for(i=1;i<=xlen;i++)
    {
       Color="\033[1;"int(31+7*rand())
       printf "%s;3m%s\033[0m",Color,Myth[i]
    }
    printf "\n"
 }






程序二:
彩色作图程序,有点像Gnuplot,可以作出圆形,正弦图,抛物线等等。


例如:
   圆:      awk 'BEGIN{while(k<10){print sin(k),cos(k);k=k+0.01}}'   |  awk -f ColorPlot.awk
   正弦线:   awk 'BEGIN{while(k<10){print sin(k),k;k=k+0.01}}'        |  awk -f ColorPlot.awk
   抛物线:  awk 'BEGIN{k=-10;while(k<10){print k^2,k;k=k+0.01}}'     |  awk -f ColorPlot.awk
   直线:    paste <(seq 1 0.01 10)  <(seq 1 0.01 10)                 |  awk -f ColorPlot.awk




如果你有想象力的话还可以作出很多意想不到的图形,比如:


   圆盘:    awk 'BEGIN{while(k<100){print sin(k),rand()*cos(k);k=k+0.01}}' |awk -f ColorPlot.awk
   花圈:    awk 'BEGIN{srand()
                        while(k++<20000){
                           x=2-3*rand()
                           y=2-4*rand()
                           if(x^2+y^2>0.6&&x^2+y^2<1||x^2+y^2<0.3&&x^2+y^2>0.1)
                              print x,y
                           }
                       }'       | awk -f ColorPlot.awk


   菱圈:    awk 'BEGIN{srand()
                        while(k++<20000){
                           x=1-2*rand()
                           y=1-2*rand()
                           if(x+y<=1&&x-y<=1&&-x+y<=1&&-x-y<=1&&x^2+y^2>=1/2)
                              print x,y
                           }
                       }'       | awk -f ColorPlot.awk








程序代码:


#! /usr/bin/awk
# GAWK彩色作图程序
# 作者: dbcat
# Email: deeperbluecat@Gmail.Com
# 日期: 2006-9-25
# 测试环境: Gawk 3.1.4, bash 3.00.16(1), SUSE 9.3
# 运行方法: awk 'BEGIN{while(k<10){print sin(k),cos(k);k=k+0.01}}' >datafile
#           awk -f ColorPlot.awk datafile


BEGIN{
        srand()
        xlen=35
        ylen=35
        InitGraph(Myth,xlen,ylen)


}




{
        X_Max=X_Max>$1?X_Max:$1
        X_Min=X_Min<$1?X_Min:$1
        Y_Max=Y_Max>$2?Y_Max:$2
        Y_Min=Y_Min<$2?Y_Min:$2
        X_Label[NR]=$1
        Y_Label[NR]=$2


}




END{


        CreateGraph(Myth,NR)
        PrintGraph(Myth)


}


function InitGraph(Myth,xlen,ylen,i,j)
 {
   for(i=1;i<=xlen;i++)
     for(j=1;j<=ylen;j++)
        Myth[i,j]=" "
 }




function CreateGraph(Myth,Len,i)
 {


       for(i=1;i<=Len;i++)
          {
           X_Label[i]=int((X_Label[i]-X_Min)/(X_Max-X_Min)*(xlen-1) + 1)
           Y_Label[i]=int((Y_Label[i]-Y_Min)/(Y_Max-Y_Min)*(ylen-1) + 1)
           Myth[X_Label[i],Y_Label[i]]=int(40+60*rand())
          }


 }




function PrintGraph(Myth,i,j)
 {
   for(i=1;i<=xlen;i++)
    {
      for(j=1;j<=ylen;j++)
         {
          color="\033[1;"int(31+7*rand())
          printf " %s;1m%c\033[0m",color,Myth[i,j]
         }
      printf "\n"
    }
 }

一、综合实战—使用极轴追踪方式绘制信号灯 实战目标:利用对象捕捉追踪和极轴追踪功能创建信号灯图形 技术要点:结合两种追踪方式实现精确绘图,适用于工程制图中需要精确定位的场景 1. 切换至AutoCAD 操作步骤: 启动AutoCAD 2016软件 打开随书光盘中的素材文件 确认工作空间为"草图与注释"模式 2. 绘图设置 1)草图设置对话框 打开方式:通过"工具→绘图设置"菜单命令 功能定位:该对话框包含捕捉、追踪等核心绘图辅助功能设置 2)对象捕捉设置 关键配置: 启用对象捕捉(F3快捷键) 启用对象捕捉追踪(F11快捷键) 勾选端点、中心、圆心、象限点等常用捕捉模式 追踪原理:命令执行时悬停光标可显示追踪矢量,再次悬停可停止追踪 3)极轴追踪设置 参数设置: 启用极轴追踪功能 设置角度增量为45度 确认后退出对话框 3. 绘制信号灯 1)绘制圆形 执行命令:"绘图→圆→圆心、半径"命令 绘制过程: 使用对象捕捉追踪定位矩形中心作为圆心 输入半径值30并按Enter确认 通过象限点捕捉确保圆形位置准确 2)绘制直线 操作要点: 选择"绘图→直线"命令 捕捉矩形上边中点作为起点 捕捉圆的上象限点作为终点 按Enter结束当前直线命令 重复技巧: 按Enter可重复最近使用的直线命令 通过圆心捕捉和极轴追踪绘制放射状直线 最终形成完整的信号灯指示图案 3)完成绘制 验证要点: 检查所有直线是否准确连接圆心和象限点 确认极轴追踪的45度增量是否体现 保存绘图文件(快捷键Ctrl+S)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值