1、采用对数坐标纸,进行手工绘制。
这种方法,在计算机普及前为主要的绘制方式,一般购买印刷好的对数座标纸(或复印设计提供包络图的图表),人工在横坐标上标出颗粒径料、纵坐标上标出小于某粒径累计百分比,然后按计算出的数据在坐标纸上逐点标出点位,采用曲线板进行拟合,绘出级配曲线,再查出诸如D60、D30、D10等特征值,进行系数计算。
手工绘制级配曲线,效率较低,既不美观,绘出的图表大小固定,不易插在文档中(往往采用在文档中预留地方,粘上曲线图表后再复印),同时换算也容易出错,费工费力,笔者在2003年前,受办公条件限制,均采用这种手工绘制的方法进行级配曲线的绘制。
2、采用AutoCAD这类辅助设计绘图软件绘制级配曲线
针对手绘方法存在着不美观、不易与文档结雹咐合的情况,在级配绘制上,往往采用辅助设计绘图软件进行绘制,如AutoCAD、电子图版等,在绘制方法,首先采用计算器或Excel等工具将各包括图表、粒径等在内的数据换算成对数坐标,然后采用直线、偏移等命令绘出对数座标图,通过手绘曲线命令绘出级配曲线。
这种方凳睁法,克服了手绘级配曲线不易与文档结合的不足(可采用复制、粘贴或专用转换软件),具有精度高、任意放大和缩小的特点,但存在着需到对数坐标互换、百分含量累加、描点以及连线一系列繁杂的步骤,效率也较低,笔者在2004年,由于需向设计单位报送坝料级配曲线电子版,主要就采用AutoCAD这种方式进行绘制级配曲线。
3、利用计算机高级语言编制专用的级配曲线绘制程序
针以上述方法的不足,也有单位利用计算机高级语言编制专用的级配曲线绘制程序,如利用AutoCAD支持的ActiveX Automation技术,运用高级语言(如VB、VC等)编制命令程序,使其读取预先输入的数据文件中的数据,自动绘制级配曲线。
这种方法,自动化程度高,同时可设计出良好的人机交互界面,同时可自动计算出D60、D30等特征值,比较方便,但这种程序,设计单位及科研单位编制和运用较多,施工单位很难获得,如果要自行编制,需要一定的计算机绘图知识及较高的计算机编程经验,如上述用采高级语言,利用ActiveX技术,编制一个通过AutoCAD 自动绘制级配曲线的程序,需要引用AutoCAD类型库,在命令程序生成后,还要在AutoCAD中注册,经过调试后方可进行级配曲线的绘制,对一般没有编程经验的水工试验人员来说,要顺利进行编程和调试显得复杂和不便。
楼上的观珠仔很乎棚和久不见啦(挺挂念那段时岁盯光的)!想不到路过此地看到你,这是高科技呀?你还这和桐么老班牙啊,大考小考把你弄糊涂了,高考顺利呀!别忘了我这位老兄了,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(\" \")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)