C# 读取一个txt中的数据(都是一些点的坐标),然后画出曲线图(把点连起来),该怎么编?

C# 读取一个txt中的数据(都是一些点的坐标),然后画出曲线图(把点连起来),该怎么编?,第1张

两个问题:

1.读誉租取文件,首先你的数据在文件里面怎么存的,比如一行存一对坐标类似2,5.读取首扰的时候就要一次读一行,通过逗号分隔x

y坐标。所以读取文件关键要知道数据是怎么存的,然后根据存储格式往外读,读出来以后就开始画了。

2.画图:根据坐标画图,现在你拿到了坐标,但是这个坐标跟界面的坐标怎么转换需要你看一下(界面的原点在哪,哪个是x轴),拿到转换后的坐标就可以用Graphics来画,网上找一些者虚旦根据坐标画图的实例就行了

楼上的观珠仔很乎棚和久不见啦(挺挂念那段时岁盯光的)!想不到路过此地看到你,这是高科技呀?你还这和桐么老班牙啊,大考小考把你弄糊涂了,高考顺利呀!别忘了我这位老兄了,C语言略懂 ~~~~~~杰

1.绘制余弦曲线

*程序说明与注释

#include<stdio.h>

#include<math.h>

void main()

{

double y

int x,m

for(y=1y>=-1y-=0.1) /*y为列方向,值从1到-1,步长为0.1*/

{

m=acos(y)*10/*计算出y对应的弧度m,乘以10为图形放大倍数*/

for(x=1x<mx++) printf(" ")

printf("*")/*控制打印左侧的 * 号*/

for(x<62-mx++)printf(" ")

printf("*\n")/*控制打印同一行中对称的右侧*号*/

}

}

*运行结果

2.绘制正弦曲线

在屏幕上用“*”显示0-360度的余弦函数sin(x)曲线。

1.

/**//*

sin() line.

62 of line width

*/

#include <stdio.h>

#include <math.h>

int main(void)

...{

int j ,k,d,h

double i

for(i=1.0 i>0.0i-=0.1)

...{

k = (int)(asin(i)*10)

for(j=0j<k j++) /**//*print the left */

printf(\" \")

printf(\"*\")

for( j<31-k j++)

printf(\" \")

如:CMyView::OnDraw(CDC* pDC){CSketcherDoc* pDoc = GetDocument()

ASSERT_VALID(pDoc)if (!pDoc)returnpDC-LineTo(t,v)//从指针所在位置(默认是0,0)往指定位置画一条直线。

pDC-MoveTo(t,v)//将指针移动到指定位置。}如此一来随着时间和速度的每次改变程序都会绘制一条线段并将指针移动到该点上,但是为了实现这条完码厅整的曲线还要做很多工作

1.WINDOWS系统中默认的以客户区左上角作为x,y坐标的0点,x轴和y轴非别是向右和向下,所以照如此画法该曲线是上下倒置的,必须要做出调整才能绘制出一个符合人习惯的曲线变化图。

2.该OnDraw()函数绘制时会产历察生一个非常严重的问题,因为调用OnDraw函数是会更新整个客户区,所以每当绘肢模茄制出下一条线段时,前一个线段都将消失,所以还必须要设法存储所绘制的图形元素。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12438513.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存