使用C语言计算与模拟足球射门【4】

1 引言

C语言是近年来在国内外得到迅速推广应用的一种计算机语言。C语言功能丰富、使用灵活方便、应用面广、目标程序效率高、可移植性好,既有高级语言的优点,又有低级语言的许多特点。【1】Turbo C是在微机上广泛使用的编译程序。它具有方便、直观、易用的界面和丰富的库函数。它向用户提供一个集成环境,把程序的编辑、编译、连接和运行等操作全部集中在一个界面上进行,使用十分方便。采用C语言编写的程序易懂,较为直观,对硬件要求比较低【1】。

计算机模拟是在计算机上通过系统模型模拟一个实际存在或正在设计中的真实系统,以再现(实现可视化)或分析(数值计算)真实系统的本质特征,并以证明实际问题的可信性。【6】【7】动画可突出并强化要表达的事物特征,生动形象的模拟事物的运动等。用C语言提供的各种实现方法来制作动画都各有其优点,本文利用改变图像坐标的方法来模拟足球射门。使用该方法编写的源程序比较通俗易懂。

2 C

2.1 C

Turbo C中有丰富的图形函数,它支持CGA,EGA,UGA等多种显卡及多种图形显示模式,提供了画点、线、圆、椭圆、多边形等绘图功能,还提供了颜色控制、图形填充和线条模式等功能。可以利用C语言提供的许多图形函数来方便、快速的实现动画,且动画效果另人满意。在Turbo C语言中实现动画的方法有很多种,如目标移动方法、显示页和编辑页交替变化方法、画面存储和再重放方法等等【2】。

目标移动方法是利用C语言提供的多种画图函数将图形画好以后,在时间上取间隔非常小的时间段来不断改变图象的在屏幕上的坐标以达动画效果。

显示页和编辑页交替变化方法是将当前显示页和编辑页分开,在编辑页上画好图形后,立即令该页变为显示页显示。然后再上次的显示页上(现在变为编辑页)进行画图,画好后又再次进行交换。如此编辑页和显示页反复交换,在观察者的视觉中,就出现了动画的效果。

画面存储和再重放方法如同制作幻灯片一样,将整个动画过程变成一个个片段,然后存储到显示缓冲区,当把它们按顺序重放到屏幕上时,就出现了动画效果。【2】

2.2 计算机动画技术

计算机动画是借助计算机生成一系列动态演示的图形、图像的技术。动画的实现过程是:首先在屏幕的当前未知画对象并保持一定的时间;接着从屏幕的当前未知删除对象;然后在屏幕上新位置上画对象,这样就产生了动画效果【2】。由于动画具有直观,形象,生动等特点,故采用动画技术,可突出并强化要表达的事物特征,生动形象的模拟事物的运动等。随着计算机动画技术的迅速发展,它的应用领域日益扩大,制作计算机动画使用的工具也日益繁多。比如:Flash,3D Studio,3DMAX等。

3 使用C语言描述抛体运动

3.1抛物运动

抛体运动是发生在竖直平面内的二维空间的运动。在抛体运动中,被抛物体主要受重力和空气摩擦力影响,在这里,忽略空气的影响,假设物体以初速度SPEED沿与水平方向成θ0角的方向被抛出。程序中,初速度用SPEED表示,角度用Angle表示,足球射出点与球门的距离用LONGS表示,球门高度用H表示。

3.2 动画原理

在利用Turbo C来编写图形代码时,要能够准确的确定图形在显示器上的坐标。显示器的屏幕如同一张坐标纸,可用x,y坐标值表示图形上任一点的位置。显示屏的坐标从左上角(0,0)开始,正x轴向右延伸,正y轴想下延伸,为一个倒置的直角坐标系。x和y均为大与0的数值,其最大值由显示器的类型和模式决定。【2】

利用人的视觉暂留这一生理特点(即对动态的图象变化,仅能分辨出时间间隔为25毫秒左右的变化,若太快,则不能分辨出来)。将一个图象分解成不同时间出现的图象,然后一张张快速的呈现在屏幕上。从视觉效果上看,就如同这些画面在连续的改变,因而给人以动的视觉效果。【2】

本设计中,在利用画图函数(fillpoly(int numpoints,int far * polypoints))画出所需要的组合图形以后,以足够小的时间间隔(本设计中取0.0005S为单位)来刷新和改变图象位置。由于刷新的速率比人视觉能分辨的要小,呈现在屏幕上的也就成了动的视觉效果。

4 源程序解析

4.1 头文件

#include"stdio.h"

#include"math.h"

#include"conio.h"

#include "stdlib.h"

#include"graphics.h"

#include"alloc.h"

stdio.h中标准文件输出,是专门用与DOS的标准输出设备(一般为显示器的),在调用参数中不需要再指定文件名,它们的输出可以在运行时重定向到一个普通的文件上去。【2】

math.h文件库包含了所有关于数学计算的公式(如pow函数、三角函数、cos函数、sin函数等等)、内部变量的

c语言程序设计足球,使用C语言计算与模拟足球射门.doc相关推荐

  1. 北理工嵩天Python语言程序设计笔记(10 Python计算生态概览)

    前言 本文是对<北理工 嵩天/黄天宇/礼欣 Python语言程序设计>的学习笔记,供自己查阅使用. 文章目录 北理工嵩天Python语言程序设计笔记(目录) 北理工嵩天Python语言程序 ...

  2. c语言足球从100米下落,使用c语言计算与模拟足球射门.docx

    使用C语言计算与模拟足球射门 [4] 1引言 c语言是近年来在国内外得到迅速推广应用的一种计算机语言.c语言功能丰富.使用 灵活方便.应用面广.目标程序效率高.可移植性好,既有高级语言的优点,又有低级 ...

  3. c语言程序设计复习提纲,C语言程序设计复习提纲

    C语言程序设计复习提纲 C语言程序设计复习题: 1.理解以下术语的含义:数组.函数.地址 指针 指针变量 直接访问 间接访问.结构体 2.用起泡法对10个数由小到大排序(P134例题) 3.用递归方法 ...

  4. c语言程序设计移动字母,C语言程序设计实例大全(220个例子)

    C语言程序设计实例大全,C语言是世界上最流行.使用最广泛的高级程序设计语言之一,这里c语言 程序设计 实例 大全有220个例子供大家参考 c语言开发实例目录: 第一部分 基础篇 001 第一个C程序 ...

  5. c语言程序设计实践指导,C语言程序设计实习指导及报告.docx

    C语言程序设计实习指导 C语言课组编写 西北农林科技大学信息工程学院 2010年2月 程序设讣是实践性很强的课程,实习的目的是为了巩固所学知识,培养.提高实际动手能 力和严肃认真的科学工作态度,而程序 ...

  6. C语言找出4个最大和4个最小数,济南大学C语言程序设计教案:C语言实验课程第四课.doc...

    济南大学C语言程序设计教案:C语言实验课程第四课 C语言实验课程第四课 实验一 数组与函数.数组与指针 一.实验目的 1 掌握数组名作为函数参数的含义.使用方法. 2 掌握多维数组作为函数参数的使用方 ...

  7. 实用c语言程序设计教材,实用C语言程序设计

    <实用C语言程序设计>将C语言的编程理念和语法相结合,共划分为10章进行讲解,内容编排合理,深入浅出,通俗易懂.每章内容相对独立完整,便于学生学习和理解,章节之间衔接流畅.每章均配有大量实 ...

  8. 大学c语言程序设计听不懂,C语言听不懂?那你还不点进来看看?

    最近16级的小鲜肉们结束了为期两周的军训生活,正式开始了自己的的大学学习生活,不过刚一开始上课小鲜肉们就懵了,专业课好难啊!C语言听不懂啊!( Ĭ ^ Ĭ ) 别慌,学长教你几招帮你渡过难关. 小鲜肉 ...

  9. C语言程序设计用if,C语言程序设计 1. if语句的运用 案例-if条件语句.docx

    C语言程序设计补充案例 C语言程序设计 案例 if条件语句 一.案例描述 考核知识点 名称:if条件语句 练习目标 了解if结构语句的运行流程 掌握if语句.if-else语句.if-else if- ...

最新文章

  1. python-day11 Mysql 数据类型
  2. opencv 图像分割-分水岭算法
  3. python车牌字符分割_OpenCV+Python识别车牌和字符分割的实现
  4. Linux之centos包管理rpm、yum、tar
  5. 【分享】GIS领域论坛社区
  6. 微信小程序直播插件live-player-plugin使用
  7. java isbn_ISBN(国际标准书号)的校验
  8. 合伙企业对外债务如何承担
  9. Android ---创建APP数据库
  10. 荣耀3路由器设置虚拟服务器,荣耀路由3怎么设置上网?(电脑)
  11. Vendor NDK
  12. 金蝶KIS专业版客户端登录提示“无效的授权”最全解决方案合辑
  13. 解决方案 | 亚洲诚信助力互联网行业网络安全建设
  14. docker: Error response from daemon: driver failed programming external connectivity on endpoint
  15. 金边php,柬埔寨首都,不如中国县级市?金边与中国各大城市比一比
  16. 这是我见过最完整的Spring全家桶学习笔记,没有之一!
  17. 产品经理的修炼:如何把梳子卖给和尚
  18. Square新增顾客忠诚度培养和收费凭条打印功能
  19. google浏览器收藏夹备份
  20. 根据城市的三字代码查询经纬度_百度地图API简单应用——1.根据地址查询经纬度...

热门文章

  1. c++11 总结-1
  2. 你迷茫个鬼,忧伤个毛呀
  3. zabbix监控vSphere
  4. 不知道手机视频剪辑app哪个好用?来试试这2个良心实用的软件
  5. 复盘离线电商数仓3.0项目–数据开发梳理
  6. 在Excel表格中如何快速拆分合并单元格
  7. WEB前端笔记第一天
  8. MAC 打开Intellij 报错:com.intellij.diagnostic.PluginException: Fatal error initializing ‘com.alibaba...
  9. Markdown-图床
  10. 通过智能自动化应对网络风险