140.递归法绘制三角形图案

简介: 140.递归法绘制三角形图案
#include <graphics.h>
#include <stdio.h>
void tria(xa,ya,xb,yb,xc,yc,n)
int xa,ya,xb,yb,xc,yc,n;
{
  int xp,yp,xq,yq,xr,yr;
  if(n>0)
  {
    xp=(xa+xb)/2;
    yp=(ya+yb)/2;
    xq=(xb+xc)/2;
    yq=(yb+yc)/2;
    xr=(xc+xa)/2;
    yr=(yc+ya)/2;
    moveto(xp,yp);
    lineto(xq,yq);
    lineto(xr,yr);
    lineto(xp,yp);
    tria(xa,ya,xp,yp,xr,yr,n-1);
    tria(xb,yb,xq,yq,xp,yp,n-1);
    tria(xc,yc,xr,yr,xq,yq,n-1);
  }
}
void main()
{
  int n,xa=10,ya=10,xb=10,yb=470,xc=630,yc=470;
  int gdriver=DETECT,gmode;
  printf("Input recursion depth( for exmaple, 7): ");
  scanf("%d",&n);
  initgraph(&gdriver,&gmode,"c:\\tc");
  cleardevice();
  setbkcolor(8);
  setcolor(2);
  moveto(xa,ya);
  lineto(xb,yb);
  lineto(xc,yc);
  lineto(xa,ya);
  tria(xa,ya,xb,yb,xc,yc,n);
  getch();
  closegraph();
}
相关文章
查找并绘制轮廓
查找并绘制轮廓
56 0
|
1月前
|
Python
用Pygame Zero 画矩形 (空心、实心、多个矩形、多层同心矩形、彩虹条矩形、条纹相间、随机颜色矩形、特殊效果、渐变效果)
用Pygame Zero 画矩形 (空心、实心、多个矩形、多层同心矩形、彩虹条矩形、条纹相间、随机颜色矩形、特殊效果、渐变效果)
89 40
|
1月前
|
Python
让我们一起用Pygame Zero 画圆形 (空心圆圈、实心圆、多个小球、多层同心圆、随机颜色同心圆、有渐变效果填充圆)
让我们一起用Pygame Zero 画圆形 (空心圆圈、实心圆、多个小球、多层同心圆、随机颜色同心圆、有渐变效果填充圆)
83 31
|
3月前
创建三角形图案
【10月更文挑战第24天】创建三角形图案。
25 3
|
7月前
|
前端开发 JavaScript
canvas系列教程01——直线、三角形、多边形、矩形、调色板
canvas系列教程01——直线、三角形、多边形、矩形、调色板
207 0
|
9月前
|
计算机视觉
OpenCV(十三):图像中绘制直线、圆形、椭圆形、矩形、多边形和文字
OpenCV(十三):图像中绘制直线、圆形、椭圆形、矩形、多边形和文字
113 0
wustojc4008能否构成三角形
wustojc4008能否构成三角形
40 0
【C++之纯虚函数与抽象类2】计算圆形、正方形、矩形、梯形和三角形的图形面积,并求和
【C++之纯虚函数与抽象类2】计算圆形、正方形、矩形、梯形和三角形的图形面积,并求和
|
前端开发 JavaScript 数据可视化
用Canvas实现简单画图(线、三角形、矩形、圆)
👋因为在B站看到一个小demo是基于canvas写的,非常喜欢,然后上掘金大数据又给我推了 《Canvas 从入门到劝朋友放弃(图解版)》,就像上手一下canvas,本来不想写笔记的,因为《Canvas 从入门到劝朋友放弃(图解版)》自己看了一下挺全的,但本着输入要有输出,所以就有了这篇文章
258 0