当前位置:首页 » 编程语言 » c语言绘制曲线图
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言绘制曲线图

发布时间: 2023-08-08 09:45:49

A. c语言画曲线

#include <stdio.h>
#include "genlib.h"
#include "graphics.h"
main()
{
InitGraphics();
MovePen(1.5,1.0);
DrawArc(0.5,90.180);
}

这个是c语言的画圆弧的代码,不过我在vc ,tc上运行的话,它都是说没这个"genlib.h"头文件的,所以机子上到现在还是没运行成功,这个是有本书上的原代码,那个叫《c语言的科学和艺术》,不妨去看看!

B. C语言怎么样用已知坐标点来画圆滑曲线的生成这些点的算法是怎么样的

需要一个二元函数。然后随着x变量的不断增加而不断改变y坐标点,就可以在画板上画出线啦。
由于已知坐标点,那x坐标范围就已知咯。

C. 求教:用C语言怎么实现实时曲线

可以利用 GLUT 程序包 (OpenGL 功能) 动态绘图,例如,一边实时采样,一边显示。
简单的实时曲线可以用 固定 坐标,x 时间轴,y1, y2, ..yn 为实时量,例如 温度,压力,速度..., 用 沿 x 移动的 一根垂线, 表示当前时间分界点,左边的已更新,但垂线移动到x 最右端时,更新 x 坐标刻度,垂线 在从 最左端开始,绘制 新的时段数值。
另一种方法是 固定 x 轴 总时段长度,但是不断更新 x 轴 刻度 和 yi 数据,使整段曲线看上去 是 从右向左 光滑移动动。
参数设置,显示,采样控制等,都 可以在屏幕上用按钮,Text 等 实现。
直接用 OpenGL 则需 用 c++ 程序,MFC + OpenGL 之类 实现。

D. 用c语言写程序,此程序能画出来函数y=2x+5的曲线图形。

此题把数学问题转化为用C语言描述即可,很多画图问题可以使用这种方法。

  1. 假设屏幕左上角为坐标轴原点



#include<stdio.h>
#defineMAX30//选定曲线要显示的范围,因为一次函数是一条直线,所以它的显示范围无穷
intmain()
{
intx,y;
for(y=30;y>=0;y--)
{
for(x=0;x<MAX;x++)
{
if(y==2*x+5)
{
printf("*");
}
else
{
printf("");//空格,不满足y=2x+5的点
}
}
printf(" ");//x轴已经到显示范围,所以需要换行。
}
return0;
}

E. C语言程序设计问题,大神进,高分悬赏。。。。初等函数曲线图形的简易绘制

可以做一个二维[整形或char类型]数组,行列分别是屏幕的行列数,然后,通过计算在修改对应位置元素的值就可以,然后将数组元素打印出来(这里以char类型为例):

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

#define ROW 25
#define COL 84
char table[ROW][COL];

void initTable()
{
for(int i = 0; i < ROW; i++)
{
for(int j = 0; j < COL; j++)
{
table[i][j] = ' ';
}
}
}

int main(int argc, char*argv[])
{
// 这里以求cos(x) 为例

// 因为行列数为整形,所以这里对所求结果向下取整
// 这里以第20行为横坐标位置

// 先绘制x,y坐标
for(int row = 0; row < ROW; row++)
{
table[row][0] = '|';
}
table[20][0] = '+';
for(int col = 1; col < COL; col++)
{
table[20][col] = '-';
}
table[0][0] = '^';
table[20][COL - 1] = '>';

// 这里随x计算cos的值,并将对应的坐标处的字符替换为'*';

for(int x = 0; x < COL - 1; x++)
{
table[5 * ((int)(cos(x)))][x] = '*';
}

// 接下来就是逐行输出了
for(int i = 0; i < ROW; i++)
{
for(int j = 0; j < COL; j++)
{
printf("%c", table[i][j]);

}
}
system("pause");
}

F. 采用c语言绘制任意函数曲线(双曲线,二次函数,一次函数)怎么做

在c的标准库中有graphic.h头文件,实现了很多画图函数 比如 lineto, moveto, arc,(函数名可能记错,好久没用了-.-!)
直线:起点加终点就行。
二次曲线,比如抛物线,那就以定长拆分成小直线。双曲线同理。
抛物线,和双曲线用定长拆分,估计很难计算。要是精度要求不高就根据情况改成定x,或者定y偏移的拆分,要是精度要求高那就去找直线拟合曲线的算法或者双圆弧拟合曲线的算法。

G. 请问怎么用c语言画出希尔伯特曲线呢

#include<graphics.h>
#include<conio.h>

intg_len; //Hilbert曲线的单位长度

//递归绘制Hilbert曲线
voidhilbert(LPCTSTRcmd,intlevel)
{
staticBYTEd=0; //方向
staticPOINTc[4]={1,0,0,-1,-1,0,0,1}; //方向对应的轴系数

if(level<0)return;

//处理命令字符串
inti=0;
while(cmd[i])
{
switch(cmd[i++])
{
case'+': d=(d+1)&3; break;
case'-': d=(d-1)&3; break;
case'X': hilbert("+YF-XFX-FY+",level-1); break;
case'Y': hilbert("-XF+YFY+FX-",level-1); break;
case'F': linerel(c[d].x*g_len,c[d].y*g_len); break;
}
}
}

//主函数
voidmain()
{
//设置绘图环境
initgraph(800,600); //设置窗口大小
outtextxy(20,550,"按1~8显示不同级别的Hilbert曲线,按ESC退出。");
rectangle(143,23,657,537); //绘制表示范围的矩形框
setorigin(144,24); //设置原点坐标
setcolor(RED); //设置颜色
setfillstyle(BLACK);

intlevel='5'; //设置初始级别

do
{
if(level>='1'&&level<='8') //仅处理1~8
{
level-='0'; //转换为对应的数字值
bar(0,0,511,511); //清空绘图区
g_len=512>>level; //计算单位长度
moveto(g_len/2,512-g_len/2); //设定起点

hilbert("X",level); //递归绘制Hilbert曲线
}
}
while((level=getch())!=27); //按ESC退出

closegraph();
}

H. 怎样用c语言画函数曲线图

DOS里面可以直接操作显存,windows里就不行了,尤其是NT系统。建议用GDI获DX吧