精华内容
下载资源
问答
  • C语言画出各种图形

    万次阅读 2014-12-08 12:47:59
    矩形:(里面是空的) ******* * * * * * * ******* Program ended with exit code: 0 for (int i = 0; i < 5; i ++) { for (int j = 0; j ; j ++) { //用条件判断打*号

    矩形:(里面是空的)

    *******

    *     *

    *     *

    *     *

    *******

    Program ended with exit code: 0

        for (int i = 0; i < 5; i ++) {
            for (int j = 0; j < 7;  j ++) {
                //用条件判断打出*号
                if (i == 0 || i == 4 || j == 0 || j == 6  ) {
                    printf("*");
                }else{
                   printf(" ");
                }
            }
            printf("\n");
        }
        
    三角形,直角,等腰,菱形

        *

       **

      ***

     ****

    *****

    下一个图案

         

        *

       ***

      *****

     *******

    *********

    下一个图案

        *

       ***

      *****

     *******

    *********

     *******

      *****

       ***

        *

         

    下一个图案

    菱形的另一种打印


    Hello, World!

    Program ended with exit code: 0


        /*
             *
            **
           ***
          ****
         *****
         */
        int n=5,a;
        for(int i = 1;i <= n;i ++){
            a=n-i;
            for (int j =i;j<n;j++){
                printf(" ");
            }
            for (int j = a; j < n; j ++) {
                printf("*");
            }
            printf("\n");
        }
        printf("下一个图案\n");
        /*
         
             *
            ***
           *****
          *******
         *********
         
         */
        for (int i = 0; i <= n; i ++) {
            for (int j =i; j<n; j ++) {
                printf(" ");
            }
            for(int j =0;j<2*i-1;j++){
                printf("*");
            }
            printf("\n");
        }
        printf("下一个图案\n");
        /*
            *
           ***
          *****
         *******
        *********
         *******
          *****
           ***
            *
         
         
         */
        for (int i = 1; i <= n; i ++) {
            for (int j =i; j<n; j ++) {
                printf(" ");
            }
            for(int j =0;j<2*i-1;j++){
                printf("*");
            }
            printf("\n");
        }
        for (int i = 1; i <= n; i ++) {
             a=n-i;
            for(int j = a;j < n;j++){
                printf(" ");
            }
            for(int j =0;j<2*a-1;j++){
                printf("*");
            }
            printf("\n");
            
        }
        printf("下一个图案\n");
        printf("菱形的另一种打印\n");
    
        printf("\n");
        printf("Hello, World!\n");
    //    return 0;
    }
    

    在此。求菱形的另一种打印方法。。。
    展开全文
  • R 如何在同一界面画出多张图形

    万次阅读 2016-08-07 16:56:48
    par(mfcol=c(2,3)) 是将界面分为2*3 个图形区域即是 2行3列 而 mfcol 中的col是按照列优先的顺序进行填充。 那么mfrow就是以行优先的顺序进行图像填充。 以下是测试的代码集合图片par(mfcol=c(2,3)) hist(rnorm...

    1) par()函数的使用
    par(mfcol=c(2,3)) 是将界面分为2*3 个图形区域即是 2行3列 而
    mfcol 中的col是按照列优先的顺序进行填充。
    那么mfrow就是以行优先的顺序进行图像填充。
    以下是测试的代码集合图片

    hist(rnorm(25),col="red",main="red")
    hist(rnorm(19),col="green",main="b")
    hist(rnorm(50),col="blue",main="c")
    hist(rnorm(60),col="pink",main="d")
    ```![利用par(mfcol=c(2,3)) 实现的界面分割,可以在同一个界面同时显示多张图片]
    (https://img-blog.csdn.net/20160807165404043)
    2)layout()函数
     layout()函数有一个优点:可以指定图片的位置
    
    
    
    
    <div class="se-preview-section-delimiter"></div>
    
    ```layout(matrix(c(2,3,4,1),nr=2,byrow=T))
                hist(rnorm(25),col="red",main="a")
                hist(rnorm(25),col="blue",main="b")
                hist(rnorm(25),col="pink",main="c")
                hist(rnorm(25),col="green",main="d")

    matrix里指定的是插入绘制图形的位置

                hist(rnorm(25),col="red",main="a")
                hist(rnorm(25),col="blue",main="b")
                hist(rnorm(25),col="pink",main="c")
                hist(rnorm(25),col="green",main="d")

    matrix里指定的是插入绘制图形的位置
    3)split.screen()
    split.screen(c(3,2))的意思是可以将界面分为3行两列的格式,可以使3*2张图形在同一个界面出现

    这里写代码片
    展开全文
  • TurboC提供了非常丰富的图形函数,所有图形函数的原型均在graphics.h中,本节主要介绍图形模式的初始化、独立图形程序的建立、基本图形功能、图形窗口以及图形模式下的文本输出等函数。另外,使用图形函数时要确保有...

     

       Turbo C 提供了非常丰富的图形函数,所有图形函数的原型均在graphics. h 中,本节主要介绍图形模式的初始化、独立图形程序的建立、基本图形功能、图形窗口以及图形模式下的文本输出等函数。另外,使用图形函数时要确保有显示器图形驱动程序*BGI,同时将集成开发环境Options/Linker中的Graphics lib选为on,只有这样才能保证正确使用图形函数。图形模式的初始化不同的显示器适配器有不同的图形分辨率。即是同一显示器适配器,在不同模式下也有不同分辨率。因此,在屏幕作图之前,必须根据显示器适配器种类将显示器设置成为某种图形模式,在未设置图形模式之前,微机系统默认屏幕为文本模式(80列,25行字符模式),此时所有图形函数均不能工作。设置屏幕为图形模式,可用下列图形初始化函数:

      void far initgraph(int far *gdriver, int far *gmode,char*path);

      其中gdriver和gmode分别表示图形驱动器和模式,path是指图形驱动程序所在的目录路径。有关图形驱动器、图形模式的符号常数及对应的分辨率见如下叙述。

     

    一、图形模式

    1、函数名:initgraph

    功  能:gdriver和gmode分别表示图形驱动器和图形模式,path是指图形驱动程序所在的目录路径。

    用  法:voidfar initgraph(int far *gdriver, int far *gmode, char *path);

    在这里必须在path目录下找到一个对应于gdriver的文件扩展名为.BGI的图形驱动程序(c语言编译器提供了对应各类适配器的不同图形驱动程序),然后对其设置模式gmode。

    图形驱动器通常在TC根目录下或者根目录下面的BGI目录,以下给出一些图形驱动文件列表:

           ATT.BGI

           CGA.BGI(CGA模式)

           EGAVGA.BGI(EGAVGA模式)

           HERC.BGI

           IBM8514.BGI

           PC3270.BGI

        事实上现在我们最常用的是EGAVGA.BGI图形驱动文件,相对于其它几个图形驱动文件它出现的时间比较晚,因此所能达到的图形模式分辨率和色彩相对就更加高。以下给出图形驱动器、模式的符号常数及数值:

    2、函数名:closegraph

    功能:关闭图形模式

    用法:voidfar closegraph(viod)

    调用该函数后即退出图形状态而进入文本方式,并释放用于保存图形驱动程序和字体的系统内存。

    还需要补充一点的是我们可以采用另一个函数同样达到让硬件自动检测图形驱动器和模式的效果,其调用格式为:

    3、函数名:detectgraph

    功能: 通过检测硬件确定图形驱动程序和模式

    用法: void far detectgraph( int far *graphdriver, int far *gmode)

    二、画点函数

     

         在图形模式下, 是按象元来定义坐标的。对VGA适配器, 它的最高分辨率为640x480,其中640为整个屏幕从左到右所有象元的个数, 480 为整个屏幕从上到下所有象元的个数。屏幕的左上角坐标为(0, 0), 右下角坐标为(639, 479), 水平方向从左到右为x轴正向, 垂直方向从上到下为y轴正向。TURBO C 的图形函数都是相对于图形屏幕坐标, 即象元来说的。

     

    1、函数名:putpixel

           功 能: 在指定位置画一像素

           用 法: void farputpixel (int x, int y, int pixelcolor);

    2、函数名:getpixel

           功 能: 取得指定像素的颜色

           用 法: int fargetpixel(int x, int y);

    三、坐标位置的函数 

    1、函数名:getmaxx

           功 能: 返回屏幕的最大x坐标

           用 法: int fargetmaxx(void);

           函数名: getmaxy

           功 能: 返回屏幕的最大y坐标

           用 法: int fargetmaxy(void);

           函数明: getx

           功 能: 返回当前图形位置的x坐标

           用 法: int fargetx(void);

           函数名: gety

           功 能: 返回当前图形位置的y坐标

           用 法: int fargety(void);

           函数名: moveto

           功 能: 将CP移到(x, y)

           用 法: void farmoveto(int x, int y);

           函数名: moverel

           功 能: 将当前位置(CP)移动一相对距离

           用 法: void farmoverel(int dx, int dy);

    四、画线函数

    1、函数名:line

           功 能: 在指定两点间画一直线

           用 法: void farline(int x0, int y0, int x1, int y1);

    2、函数名:lineto

           功能:画一作从现行光标到点(x, y)的直线

        用法:void far lineto(int x, int y);

    3、函数名:linerel

           功 能: 从当前位置点(CP)到与CP有一给定相对距离的点画一直线

           用 法: void farlinerel(int dx, int dy);

    4、函数名:circle

           功 能: 在给定半径以(x, y)为圆心画圆

           用 法: void farcircle(int x, int y, int radius);

    5、函数名:arc

           功 能: 画一弧线

           用 法: void fararc( int x,int y,int stangle,int endangle, int radius );

        以(x,y)为圆心, radius为半径, 从stangle开始到endangle结束(用度表示)画一段圆弧线。在TURBO C中规定x轴正向为0度, 逆时针方向旋转一周,依次为90, 180, 270和360度(其它有关函数也按此规定, 不再重述)。

    6、函数名:ellipse

           功 能: 画一椭圆

           用 法: void farellipse( int x, int y, int stangle, int endangle, int xradius, int yradius);

        以(x, y)为中心, xradius, yradius为x轴和y轴半径, 从角stangle 开始到endangle结束画一段椭圆线, 当stangle=0, endangle=360时, 画出一个完整的椭圆。

    7、函数名:rectangle

           功 能: 画一个矩形

           用 法: void farrectangle( int left, int top, int right, int bottom );

    8、函数名:drawpoly

           功 能: 画多边形

           用 法: void fardrawpoly( int numpoints, int far *polypoints );

        画一个顶点数为numpoints,各顶点坐标由polypoints 给出的多边形。polypoints整型数组必须至少有2倍顶点数个无素。每一个顶点的坐标都定义为x,y, 并且x在前。值得注意的是当画一个封闭的多边形时, numpoints 的值取实际多边形的顶点数加一, 并且数组polypoints中第一个和最后一个点的坐标相同。

     

     

    例1、使用图形初始化函数设置VGA高分辨率图形模式

         #include 

         int main()

         {

              int gdriver, gmode;

              gdriver=VGA;

              gmode=VGAHI;

              initgraph(&gdriver, &gmode,"c:\\tc");

              bar3d(100, 100, 300, 250, 50,1);       /*画一长方体*/

              getch();

              closegraph();

              return 0;

         }

    例2、自动进行硬件测试后进行图形初始化

         #include 

         int main()

         {

              int gdriver, gmode;

              detectgraph(&gdriver,&gmode);     /*自动测试硬件*/

              printf("the graphics driver is%d, mode is %d\n", gdriver,

                     gmode);       /*输出测试结果*/

              getch();

              initgraph(&gdriver, &gmode,"c:\\tc");

                                   /* 根据测试结果初始化图形*/

              bar3d(10, 10, 130, 250, 20, 1);

              getch();

              closegraph();

              return 0;

          }

    上例程序中先对图形显示器自动检测, 然后再用图形初始化函数进行初始化

    设置, 但Turbo C提供了一种更简单的方法,  即用gdriver= DETECT 语句后再跟

    initgraph()函数就行了。采用这种方法后, 上例可改为:

         #include 

         int main()

         {

              int gdriver=DETECT, gmode;

              initgraph(&gdriver, &gmode,"c:\\tc");

              bar3d(50, 50, 150, 30, 1);

              getch();

              closegraph();

              return 0;

         }

    例3:

        #include

         #include

         int main()

         {

              int gdriver, gmode, i;

              int arw[16]={200, 102, 300, 102, 300,107, 330,

                           100, 300, 93, 300, 98,200, 98, 200, 102};

              gdriver=DETECT;

              registerbgidriver(EGAVGA_driver);

              initgraph(&gdriver, &gmode,"");

              setbkcolor(BLUE);

              cleardevice();

              setcolor(12);       /*设置作图颜色*/

              drawpoly(8, arw);   /*画一箭头*/

              getch();

              closegraph();

              return 0;

         }

     

     

    展开全文
  • 递归画图形

    千次阅读 2016-10-07 23:15:36
    问题讲解首先,我觉得这一类题都是一套路,让我们来先认识一下:一般递归画图形这种题目,都是先给你一原始图形(最简单的),然后让你在这图形的周围画和它一样的图形,随着层数增加,图形会成指数倍增加,...

    这道题目来自百度笔试题,当然还有很多这类题,都是一个套路,下面将会讲解这个套路:

    问题讲解

    首先,我觉得这一类题都是一个套路,让我们来先认识一下:

    一般递归画图形这种题目,都是先给你一个原始图形(最简单的),然后让你在这个图形的周围画出和它一样的图形,随着层数增加,图形会成指数倍增加,例如:

    输入n,
    当n==1时:

    o

    当n==2时:

     o
    ooo
     o

    当n==3时:

        o
       ooo
        o
     o  o  o
    ooooooooo
     o  o  o
        o
       ooo
        o

    当n==4时:

                 o
                ooo
                 o
              o  o  o
             ooooooooo
              o  o  o
                 o
                ooo
                 o
        o        o        o
       ooo      ooo      ooo
        o        o        o
     o  o  o  o  o  o  o  o  o
    ooooooooooooooooooooooooooo
     o  o  o  o  o  o  o  o  o
        o        o        o
       ooo      ooo      ooo
        o        o        o
                 o
                ooo
                 o
              o  o  o
             ooooooooo
              o  o  o
                 o
                ooo
                 o

    。。。

    应该理解什么这种题的思路了,然后我们来看看怎么解决。

    解决方案

    这种套路,我们一般使用递归,步骤是:
    1. 求中心坐标
    2. 画自己
    3. 在自己上右下左方向都画一个自己

    怎么画呢?我们一般使用一个二维的数组,然后在里面做标记。

    好了,来上代码:
    例如这道题:

    1. 求中心点

    我们观察图形,可以得到每个图形的中心点是:
    (1,1),(2,2),(5,5),(14,14) …
    咋一看,规律是:
    原坐标+3^(n-1),看看是不是

    2. 画图形

    这是个递归的过程,上代码:

    void draw(int x, int y, int n){
    
        int temp = pow(3,n-2);
        if(n==1){
            a[x][y] = 'o';
        }
        else{
            draw(x,y,n-1);
            draw(x-temp,y,n-1);
            draw(x+temp,y,n-1);
            draw(x,y-temp,n-1);
            draw(x,y+temp,n-1);
        }
    }

    函数的意思就是,x,y表示中心点,n表示层数。temp=3^(n-2) 表示上下左右的图形的中心距离我中心的距离,所以在画上方的时候是:draw(x-temp, y, n-1). 当 n==1 的时候,在矩阵中添加一个”o”, 否则表示当前要画的图形层数还大于1,还可以交给下一层画,所以:

            draw(x,y,n-1);
            draw(x-temp,y,n-1);
            draw(x+temp,y,n-1);
            draw(x,y-temp,n-1);
            draw(x,y+temp,n-1);

    表示画自己,画上,画下,画左,画右。

    3. 调用draw函数

    所以现在只需要你计算一个中心点坐标,以及层数告诉我,我就可以画图形。当然我不是自己画,我是交给我的下一层画,直到最简单的图形(n==1),图形就出来了。

    上代码

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    using namespace std;
    
    #define N 1000
    
    char a[N][N];
    
    void draw(int x, int y, int n)
    {
    
        int temp = pow(3,n-2);
        if(n==1)
        {
            a[x][y] = 'o';
        }
        else
        {
            draw(x,y,n-1);
            draw(x-temp,y,n-1);
            draw(x+temp,y,n-1);
            draw(x,y-temp,n-1);
            draw(x,y+temp,n-1);
        }
    }
    
    
    int main()
    {
        int n;
        int b;
        cin>>n;
        int m = n;
    
        while(n--)
        {
            cin>>b;
            memset(a,' ',sizeof(a));
            if(b == 1)
            {
                draw(1,1,1);
            }
            else
            {
                int x= pow(3,b-2)+(pow(3,b-2)+1)/2;
                draw(x,x,b);
    
            }
    
    
            cout<<"Case #"<<m-n<<":"<<endl;
            int temp = pow(3,b-1);
            for(int i=1; i<=temp; i++)
            {
                for(int j=1; j<=temp; j++)
                {
                    cout<<a[i][j];
                }
                cout<<endl;
            }
        }
    
    
        return 0;
    }
    
    展开全文
  • HTML5 Canvas简单图形

    千次阅读 2013-05-04 21:22:33
    最近开始重新拾起HTML5的东西,这里把简单的图形的画法总结一下(参考韩顺平老师的视频,讲的很不错) HTML5 Canvas 测试 HTML5 Canvas //1.得到画布 var canvas1 = document.getElementById...
  • html轻松画出各种图形,附带解释

    千次阅读 2017-06-22 17:21:20
    <li>points 属性定义多边形每角的 x 和 y 坐标 ,0 50,50 100,50 100,100 150,100 150,150 " style="fill:white; stroke:pink;stroke-width:2"> ,0 150,50 100,50 125,100 100,150 175,125 250,150 225,100 250...
  • 在做旋转操作之前一定要理解一句话:旋转的是画布的坐标系而不是图形本身,好了,理解了这一句话后,接下来的就很简单了。 首先认识一下画圆的坐标: var cxt=document.getElementById('demo').getContext...
  • Canvas在页面画出各种图形的方法

    千次阅读 2014-01-20 10:06:13
    以三角形作为案例:  <canvas id="uitooltip" height="... context.lineTo(5,5); //定义三角形大小;  context.closePath();  context.fill();  context.stroke();  //调用方法;  }
  • 使用CAShapeLayer与UIBezierPath画出想要的图形

    万次阅读 热门讨论 2013-08-14 18:36:40
    使用CAShapeLayer与UIBezierPath可以实现不在view的drawRect方法中就画出一些想要的图形 步骤: 1、新建UIBezierPath对象bezierPath 2、新建CAShapeLayer对象caShapeLayer 3、将bezierPath的CGPath赋值给...
  • 图形基础--画点和线

    千次阅读 2008-11-12 11:43:00
    画点和线在第一章,我们谈论过Windows图形设备接口将图形输出设备的设备驱动程序与计算机连在一起的方式。在理论上,只要提供SetPixel和GetPixel函数,就可以使用图形设备驱动程序绘制一切东西了。其余的一切都可以...
  • 用ps简单的集合图形

    千次阅读 2018-07-09 18:05:59
    一:葫芦使用选框工具栏中的矩形选框,先小正方形,并选择选框属性栏的添加到选取属性,继续椭圆形,构造葫芦的上部和下部,效果如下图:右键选择填充,选择颜色为灰色,按ctrl+D取消选中,一葫芦就...
  • C语言画图形(图形库graphics的使用)

    千次阅读 多人点赞 2020-04-26 11:10:54
    目录 工具 [c语言基本绘图](#2] 工具 (1)环境:VC++ ...本节目录:窗口的创建及背景颜色、基本绘图函数(、线、圆、矩形以及设置其属性) #include <stdio.h> #include <graphics.h>//图形库...
  • 用for的嵌套画出各种各样的图形

    千次阅读 2018-06-01 16:26:46
    for循环嵌套用我自己的大白话来说就是一外圈的for程序里面一套着一小的for程序,如果在范围内就来回运行计算,超出了就跳出等待了,反正就是各种for的包含运行差不多的样子(个人见解,有错请纠正谢谢!...
  • 备注:学习备忘 ...c(1,2,3,4,5,5)表示图形1,2,3,4,5的位置 在一图上在继续作图的函数: lines()语句,你可以为一幅现有图形添加新的图形元 素。
  • HTML用JS画图形

    千次阅读 2018-06-07 21:38:39
    H5中有画布(Canvans), 可在使用JS在画布上面绘制图形://制一矩形 //先得到画布 var canvas = document.getElementById('lookwhatidrew'); //创建一可以绘制2d图形的上下文 var context = canvas....
  • 使用canvas不规则图形

    千次阅读 2014-11-03 14:37:46
    最近做项目遇到一需求,
  • canvas不规则图形

    千次阅读 2020-04-01 15:19:32
    <template> <div class="test" style="position: relative;"> <canvas id="myCanvas" ref="myCanvas" width="460" height="240">... 您的浏览器不支持 HTML5 canvas 标签。 </canvas> ...
  • 用python简单的图形

    千次阅读 2020-02-28 00:12:34
    用python简单的图形: ①三角形 from turtle import * for i in range(3): fd(180) left(120) ②倒三角+正三角 from turtle import* fd(60) right(120) fd(120) right(120) fd(120) ...
  • Graphics类提供基本的几何图形绘制方法,主要有:线段、矩形、画圆、带颜色的图形椭圆、圆弧、多边形等。...例如,以下代码在(3,3)与(50,50)之间线段,在(100,100)处个点
  • OpenGL简单图形

    千次阅读 2013-01-07 19:13:25
    #include #pragma comment(linker,"/subsystem:\"windows\" /entry:...GL_TRIANGLES(三个点成一三角形) GL_TRIANGLE_STRIP(相邻三点成一三角形) GL_TRIANGLE_FAN(同第二,后2和第一成三角形) 四边形
  • 1、进入工作目录文件夹D:\Python\jupyterWorkplace ...这时候松开shift ,ctrl+alt上的两手指不要松开, 同时用另外一手指按住A即可 2、键盘Shift+鼠标右键->在此处打开命令窗口-...
  • 我在逛Quora的时候发现这么一问题:What is the most beautiful program you ever coded in Python?...),第三是用pylab的静态图,原来用pylab也能画出这么多彩的图形。from turtle import*from t...
  • 在2019数学建模A题时遇到需要根据三维坐标画出三维曲面图,但由于随机不规则,不形成坐标矩阵,故直接带入只能生成三维散点图,如,有数据: u=[5 5 5; 7 2 1; 4 7 2; 6 1 6; 2 6 7; 3 3 4; 1 4 3]; x=u(:,1) ...
  • python高斯分布图形

    千次阅读 2018-12-19 21:34:00
    高斯分布,也叫正态分布,是一在数学、物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力。 若随机变量X服从一数学期望为μ、方差为σ^2的正态分布,记为N(μ,σ^2)。其概率密度函数...
  • 【canvas 图形画布标签】(使用详解)

    千次阅读 2019-05-23 23:22:06
    如何定义一 图形画布 ?1.1 canvas 图形画布 标签的属性 有哪些 ?1.2 canvas 图形画布的 基本用法 有哪些 ?1.3 如何使用 canvas 图形画布 标签 来绘制图形 ?1.3.1 画布栅格和坐标空间1.3.2 绘制矩形1.3.3 绘制路径...
  • 今天总算敲定实习的事,也不知道未来等待我的将是什么,但是我知道我既然选择了就要把它做好,选择就不要后悔,走下去====开车开车一、实现的思路首先声明一GraphicLayer的图层,(该图层是客户端类型图层,与...
  • python 几何图形

    千次阅读 2017-11-23 20:56:47
    # # 角星的画法 # bob.color("red", "yellow")  # for i in range(5): # bob.fd(200) # bob.right(180 - 36) # time.sleep(0.5) # bob.end_fill() #  # bob.reset() #  # # 八角星 # ...
  • 通过它我们可以自己想要的图形 它也是十分重要的技术 应用于游戏、图表等等 或者绘制各种酷炫的东西 这里给大家分享一网站 传送门 里面都是canvas技术绘制的图形画布创建canvas是html的一标签 是一...
  • 本文总结了矢量图形和矢量动画的使用方法。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 217,314
精华内容 86,925
关键字:

五个点能画出什么图形