一、画图方法

画一个图,通常可以选择如下方法:

1、画每一个图形,填充形状覆盖的像素。

2、对于图像中每个像素,采样该像素覆盖了什么形状。

第一种就是光栅化(rasterization)算法,第二种包括光线追踪(ray tracing)、光线步进(ray marching)等算法。

第二种做法可以理解为设计一个数学函数,这种方式可以用较少的代码画出复杂的形状。如果要输出文本模式,只用两个符号表示图形,可用这个代码框架:

#include const int w = 30;

const int h = 30;

int f(int x, int y)

{

return /*...*/;

}

int main()

{

int x, y;

for (y = 0; y < h; y++)

{

for (x = 0; x < w; x++)

printf(f(x, y) ? "* " : " ");

puts("");

}

}

二、三角形

1、直角三角形,可以模拟用  ;

#include const int w = 19;

const int h = 10;

int a(int x, int y)

{

return x <= y;

}

int main()

{

int x, y;

for (y = 0; y < h; y++)

{

for (x = 0; x < w; x++)

printf(a(x, y) ? "* " : " ");

puts("");

}

system("pause");

return 0;

}

2、等腰三角形我们可以使用绝对值 , 表示对称轴的 坐标:

#include #include #includeconst int w = 19;

const int h = 10;

int main()

{

int x, y;

for (y = 0; y < h; y++)

{

for (x = 0; x < w; x++)

printf(a(x, y) ? "* " : " ");

puts("");

}

system("pause");

return 0;

}

int a(int x, int y) {

return abs(x - 9) <= y;

}

三、圆盘

圆盘在数学上可定义为一个隐函数 ,那么画一个置于画布中心、半径 8 的圆盘只需要定义 为:

int a(int x, int y)

{

return (x - 10) * (x - 10) + (y - 10) * (y - 10) <= 8 * 8;

}

剩下的代码如一种所示。

c语言编程星号输出图形的步骤,使用C语言打印不同星号图案相关推荐

  1. C 语言编程 — 输入/输出与文件操作

    目录 文章目录 目录 前文列表 输入/输出 scanf() 和 printf() getchar() 和 putchar() 文件操作 打开文件 关闭文件 写入文件 读取文件 二进制 I/O 函数 前 ...

  2. PHP 打印0-n的所有质数,输出1到n中所有的素数 C语言编程:输出1到N中所有质数的个数...

    c语言输入一个n值,输出1-n之间所有素数之和及素数寻分享大佬帮助啊别和往事过不去,因为它已经过去.别和现实过不去,因为你还要过下去. #include "stdio.h"int ...

  3. 利用C语言编程反向输出字符串

    以下是两种通过调用函数的方法来反向输出字符,反向输出字符串可以利用一维数组来实现. 法1:在调换字符位置的过程中,设置两个变量,一个从前往后,一个从后往前,这两个变量对应数组值进行交换,终止条件是前面 ...

  4. 随机森林c语言编程,一种基于随机森林的C语言源代码静态评分方法与流程

    本发明涉及评分领域及机器学习领域,它特别涉及一种基于随机森林的c语言源代码静态评分的构建方法. 背景技术: c语言源代码静态评分是指对根据一定的题目描述做出解答的c语言源代码进行评分.目前,主要流行的 ...

  5. 在linux下用c语言编程软件下载,在Linux下进行C语言编程

    在Linux下进行C语言编程 在Linux下进行C语言编程,必然要采用GNU GCC来编译C源代码生成可执行程序. 一.GCC快速入门 Gcc指令的一般格式为:Gcc [选项] 要编译的文件 [选项] ...

  6. c语言程序处理数据的基本步骤是,c语言程序教程.doc

    c语言程序教程 c语言程序教程 本文由tyr1235831贡献 ppt文档可能在WAP端浏览体验不佳.建议您优先选择TXT,或下载源文件到本机查看. C语言程序设计 语言程序设计 2008版 版 1 ...

  7. 单片机c语言编程要点,第1章单片机的C语言编程_2015要点.ppt

    第1章单片机的C语言编程_2015要点 1-* 第 1 章 结束!谢 谢! * * 1-* 三.对存储器和外接I/O口的绝对地址访问 例: #include #define com XBYTE[0x0 ...

  8. c语言编程定位的计算机,高校计算机专业C语言教学的四个定位

    高校计算机专业C语言教学的四个定位 来源:用户上传 作者: 姜晓峰 摘 要:本文所讨论的是高校计算机专业C语言教学的课程性质.教学目标.教学内容.教学理念四个方面的定位问题.作者从教学的实际情况,目前 ...

  9. c语言编程题猜数字游戏6题,c语言编程—猜数字游戏.doc

    c语言编程-猜数字游戏 计算机实习报告 面向过程编程 用C语言求解实际问题 一.问题描述 游戏类第15个任务--猜数字游戏 计算机从0-9这10个数字中任意选择n个不重复数字(n≤10)组成一个5位数 ...

  10. 离散卷积的c语言编程实验,数字信号处理实验一离散卷积c语言编程.ppt

    数字信号处理实验一离散卷积c语言编程 实验一 离散卷积的C语言编程实验 DSP实验室 2005 实验性质 综合设计性实验 实验目的 1 了解和认识常用的各种信号: 2 掌握卷积的定义和计算方法: 3 ...

最新文章

  1. Redis:从应用到底层,一文帮你搞定
  2. MediaCodec 解码后数据对齐导致的绿边问题
  3. java el jstl_java -EL技术JSTL技术
  4. linux 下编写.sh文件,不间断执行某文件
  5. 8.Redis 数据备份与恢复
  6. Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call.... 此错误的解
  7. Dotnet Core异常处理的优雅实践
  8. 设计灵感|色彩叠加在海报设计中的妙用!
  9. (实战项目二)阳光热线问政平台
  10. 计算机管理员永久访问权限,三种方法让你获得Win7管理员最高权限
  11. 百度地图API学习 - 点击地图显示为中心点
  12. SEOer必读:50个网站推广方法
  13. 模拟复杂红绿灯交通指示程序编程显示黄灯闪烁箭头指示
  14. puzzle(1024)帐篷、星之战
  15. java使用poi生成Excel文件并合并单元格
  16. 5G标准化进程加速:高通下半年启动新空口试验及互操作性测试
  17. Vue-3-单文件组件
  18. B. Marvolo Gaunt’s Ring (递推)
  19. 详解motif的PFM矩阵
  20. Android多线程和异步任务

热门文章

  1. session和coolie的区别
  2. 传统方法VS深度学习方法
  3. PWM占空比和电机转速有什么线性关系
  4. Matlab一元线性拟合及F检验
  5. 计算机电路中bga是什么,什么是BGA BGA的结构和性能
  6. 君正X1000开发板/方案开发介绍
  7. chrome 书签恢复_如何在Chrome和Firefox中恢复意外删除的书签
  8. [黑科技]DNS隧道-绕过wifi热点登陆免费上网
  9. 今天你对我爱搭不理, 明天我让你高攀不起
  10. 两个表格内容怎么合并