wpf获取passwordbox值_WPF绘制平滑曲线应用-井斜水平投影图绘制

本文详细介绍了如何在WPF中利用贝塞尔曲线绘制井斜水平投影图,包括坐标轴及刻度的设置与绘制、曲线数据的处理和显示。文章提供具体的代码示例,展示如何根据实际需求调整坐标范围和原点,并呈现井轨迹投影。
摘要由CSDN通过智能技术生成

上篇文章 如何在WPF绘图中(通过贝塞尔曲线)绘制平滑曲线

e95e42dd032c996cc080e42299f40b73.png

井斜水平投影图

前面发文介绍过在wpf中平滑曲线的绘制方法,今天介绍一个绘制曲线的实际应用。

911b35dc1971f89302a4bf7a5143fa81.png

井斜水平投影图就是把某斜井的各个斜井段投影到某一水平面上所得到的图件,反映实际井底偏离井口的水平位移和方位,及钻遇目的层的垂直井深,是油气勘探、开发的基础图件之一。

 定义基本的绘图对象:

public abstract class GraphicsBase : DrawingVisual

从DrawingVisual对象继承定义基本绘制对象

public class GraphicsAxis : GraphicsBase

定义绘图对象

定义一个画布对象进行绘制控制DrawingCanvas

坐标轴及刻度设置及绘制

横纵坐标轴及刻度是图件的基础,实际使用中井东西/南北位移数值差异较大,位移的取值能从几米到几百上千米。范围必须能够根据实际的需要调节,同理坐标的原点可以是0点,也可以设置成任意数值。

因为打印的需要,图件本身需要设置成A4大小,然后根据横纵坐标轴设置的取值范围,获取原点的坐标。基于原点坐标计算曲线上的各个点的坐标,绘制曲线。

设置画布宽高为A4大小,

Width="21cm" Height="29.7cm"

定义坐标轴和刻度设置对象,设置坐标轴的起始值范围,主刻度间隔值及每个主刻度中子刻度的个数,以及原点属性。

StartValue :坐标轴起始数值,建议取 0,100,200,等正数数值。

MainTicksValue:主刻度数值,比如设置成200,每个主刻度间隔200

MainTicksCount:坐标轴上有多少个主刻度

DetailTicksCount:子刻度数量,每个主刻度有多少个子刻度,建议设置成4,每个主刻度的子刻度进行5等分

OriginValue:坐标原点的取值,默认0

public class GraphicsDataModel

public int StartValue { get; set; }

public int MainTicksValue { get; set; }

public int MainTicksCount { get; set; }

public int DetailTicksCount { get; set; }

public int OriginValue { get; set; }

///刻度对象

IsZero属性描述这个刻度是否是原点

public class Tick

{

public int Value { get; set; }

public string Label { get; set; }

public bool IsZero { get; set; }

public List DetailTicks { get; set; }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值