只需一步,快速开始
来稿:由于本人不明白语法等相关,不知道怎么处理和审稿,到此请教,请大家帮忙修改。(利用其内置的Visual LISP语言编制了适合矿山具体应用的辐射取样解释程序,使曲线成图、解释、成果表输出一次完成。)几本给出了全文,请大家指正,并有奖励!
数字模型的建立信息的处理首先是对数据格式的处理和分析,然后才可进行算法的研究,本程序也不例外。为了便于使用,我们把实际的测量数据经过简单处理,转变为机器可以处理的数据文件格式。1.1 入口数据处理入口数据按原始数据的记录格式把数据录入计算机中,原始文件用Windows 的noted进行记录。文件格式如下所示:距离1 伽玛值1距离2 伽玛值2…… ………距离n 伽玛值n1.2 输出数据形式输出数据主要有两种:一种是伽玛编录资料解释图(见图1);一种为伽玛值解释品位表(见表1),同量附加块段计算统计结果。图纸的外观格式与手绘的样式相同,横向绘图比例尺为约定的1:20,纵向比例根据实测品位与绘图区域纵向长度由程序自行设置。序号 起点m 终点m 样长(cm) 品位(PPmCm) 米百分数m%1 54.000 54.300 30.000 61.0 0.00182 54.300 58.300 400.000 464.5 0.18583 58.300 58.678 37.842 1926.8 0.07294 58.678 60.000 132.158 431.7 0.05715 60.000 60.378 37.765 261.1 0.00996 60.378 64.425 404.691 455.1 0.00227 64.425 66.000 157.544 184.2 0.0290
图1 辐射取样解释简图 表1 辐射取样解释表1.3 数据结构辐射取样数据处理程序的数据主要有原始测量数据、格值转换表和构图参数1.3.1 原始数据结构[1] DataList 用于保存原始数据,其格式为 (测点号i 距原点距离i 伽玛值i)((1 Distance1 Gamma1) (2 Distance2 Gamma2) ... ... (N DistanceN GammaN)) (N=0,1,…,总测点数),同时把伽玛值转换为PPmu的形式。[2] 原始数据极值表:maxList (最大距离 最大伽玛值)[3] ChgDataList 根据程序设定的图纸纵、横比例尺把DataList进行转化用于程序的成图处理。其格式为 (测点号i 转化后的距离i 转化后的伽玛值i):((1 DistScale1 GammaScale1) (2 DistScale2 GammaScale2) ... ... (N DistScaleN GammaScaleN)) (N=0,1,…,总测点数)1.3.2 构图参数设置构图参数主要用于绘图环境的设置,输出纸型的选择、绘图纵横比例的确定、各种品位界线设置等。[1] 辐射取样测量品位分界表:BorderGradeList (... 500 1000 3000 10000 ...)此表用于在进行矿体块段解释时的参考。[2] 图纸规格(paperwidth paperlength )绘图区域(drawwidth drawlength)根据maxList设定绘图比例尺(lengthscale widthscale)2 取样解释程序的算法辐射取样解释方法有4/5法、1/2法、给定强度法等多种,铀矿床的厚度一般大于30cm,所以用1/2法和给定强度法比较合适,本程序按以上两法进行处理。由于解释曲线的形状变化很大,用程序去自行分析判断,其结果并不合适。在实际处理中我们采用交互的方式,由专业人员根据实际情况自行选择分析方法。本程序的算法可分为以下几个步骤:2.1 程序初始环境设置,品位界线表BorderGradeList;2.2 读入原始测量数据,记入DataList表中;2.3 根据给定纸型及原始数据设置图纸纵向比例 WidthCsale,同时对原数据表DataList进行变换,形成变换数据表ChgDataList;2.4 绘制解释曲线;2.5 对曲线进行交互式的解释,完善图纸同时把辐射取样解释成果数据记录到文件(*.txt)中。其中第2.4、2.5步骤为本程序的核心。 3 算法的实现3.1 图3绘制了本程序的总体流程,从流程中可以看出本程序设计简明了,所以以交互方式运行速度很快。完全可以满足工作的需求。图4 说明了曲线解释的过程,从图中可以看出,绘图的过程与手工制图的过程是类似的,程序使用者只要有一点CAD的基本操作知识,马上就可以学会本程序的使用方法。3.2本程序的核心程序清单(部分)…… ……;;;语法:(CurvatureAnalyse WidthScale LengthScale Point0)。;;;功能:对绘制的曲线进行解释,解释以交互的方式进行。;;; 首先使用者选择绘制基点,程序自行分析绘矿体边界线,并计算标注,同时存储计算结果。;;;参数: WidthScale 伽玛制变换比例系数,LengthScale 取样距离长度比例系数。;;;返回值:无。(DEFUN CurvatureAnalyse (WidthScale LengthScale Point0 /) ;;;打开存储计算结果的文件 (SETQ File (OPEN "c:/物探取样成果表.txt" "w")) (SETQ x0 (CAR Point0) y0 (CADR Point0) ) ;;;(取第一段线,保留其与横坐标交点于x1中) (SETQ Point1 (LIST (CAR (NTH 0 ChgDataList)) (CADR Point0)) x1 (CAR (NTH 0 ChgDataList))) (COMMAND "layer" "ON" "hzh" "" "") (SETVAR "osmode" 1) (SETQ Point11 (GETPOINT " 第一点:") Point22 (GETPOINT " 第二点:") ) (SETVAR "osmode" 0)(WHILE Point11;;;(GetCrossPoint)取交点并绘边界线 (SETQ Point2 (GetCrossPoint Point11 Point22)) (SETQ x2 (CAR Point2));;;(AreaDim) 求面积计算样长、品位、米百分数,进行图面标注 (AreaDim x1 x2 x0 y0 WidthScale LengthScale File) (SETQ x1 x2) (SETVAR "osmode" 1) (PRINT "请继续选点,双击鼠标右键结束......\n") (SETQ Point11 nil) (SETQ Point11 (GETPOINT " 第一点:") Point22 (GETPOINT " 第二点:") ) (SETVAR "osmode" 0) ) (CLOSE File))…… ……
使用道具 举报
还有这种好事。。。
这种程序不用仔细核对,调入AUTOCAD运行一下,通不过就说明有问题,根本没有必要一行一行的去审.
你审的是论文的主要观点,程序只是其中的一点算法.主要理论或观点不正确,程序是无用的.
给别人试用一下,如果哪里不顺手的就当意见写下来
只给核心部分
怎么看???
不会吧..大侠....你不会是要准备出版书籍吧???
这个程式跟上次的那个差不多,-->打开文件,读记录,取点,取数据,保存记录,.程式自己运行一下,看看哪里不符合你的输入要求,改改就OK了,而且运行错误自己也会发现吧.....
另外有些程式表面上,看不出错误的,往往要运行时,才能发现问题;
核心程式,你并没有给出来啊..我认为下面这段子程式才是核心程式啊...
;;;(AreaDim) 求面积计算样长、品位、米百分数,进行图面标注 (AreaDim x1 x2 x0 y0 WidthScale LengthScale File)
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2024-5-11 23:00 , Processed in 0.155075 second(s), 25 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.