- 博客(11)
- 收藏
- 关注
原创 定制Newtonsoft的Json字符串转换器,解决reference loop等问题
对于需要特殊处理的字段,需要自己写转化字符串的方法。比如说我创建了个类叫myclass,它的大部分字段都是常规的double string int这些,但是它有一个字段叫neighbour用来记录哪些是它的邻居,很明显neighbour也是myclass类型,并且肯定会发生这种情况:A的neighbour是B, B的neighbour又指回A。
2023-10-29 08:53:05 343
原创 WPF小技巧——ListView和TreeView的右键菜单(ContextMenu)点的谁
WPF中右键点击ListView或TreeView时,是无法选中当前项的。当我们想在ListViewItem中实现右键菜单时,往往希望在弹出菜单的同时选中该项,以使得菜单针对当前项生效。
2023-04-15 22:02:27 2662
原创 WPF的小技巧——让软件记住上次运行时的配置
软件开发时候时常有这样的需求,软件运行涉及到一堆配置,和用户习惯、应用环境许多因素有关,开发阶段也不太能确定取值,只有根据使用反馈才能给出合理的值。那么我们自然希望让软件能够记录下上一次的配置,然后下一次运行的时候自动去读取。早期的软件很多都会在目录中弄一个config文件,用通过读写config来实现这一功能。WPF提供了更加方便的办法:appSetting。这里用最近用WPF做的小工具作为范例。项目工程里找到App.config,双击打开,它也是一个xml文件。在App.config中.
2022-02-02 11:21:06 1549
原创 WPF绑定数据,增删改后实时更新TreeView/ListView
WPF的界面的确好看,也引入了很多新功能,和winform相比更先进更强大......那么狗儿蛋,代价是什么?代价就是WPF学起来比较费力。数据绑定是WPF的特色之一,可以省去写代码更新UI界面的工作。这次打算做一个管理数据的小软件,自然的我也打算在界面上弄个TreeView,然后把它和数据源绑定,实现的效果是这样:OK,起初一切都很顺利。我在设计器里布了一个TreeView,代码是下面这样:<TreeView x:Name="TreePoints" AllowDrop="Tr..
2022-01-06 19:14:33 4040
原创 用C#实现一键自解压的傻瓜安装包
用C#实现一键自解压的傻瓜安装包写程序时候引用dll是再正常不过的事情了,如果引用的不是系统自带的dll,部署到其他机器就必须带着dll一起,只有.exe文件是用不了的。对于有些用户来说,让他准备dll什么的根本不现实,只要软件运行不了就是我们的锅。那么能不能像一些绿色软件一样,做成一个自解压的exe,自带dll呢?答案是可以的,实现方法如下:1、把编译好的exe和依赖dll一起塞进压缩包比如说上面这个,我们把编译好的engin.exe和依赖的dll全放到一起,确认engin..
2020-08-28 23:04:37 1677
原创 Bilateral filter 双边滤波器 C#版本
人类的眼镜与大脑是自带滤波器的,能抗干扰。可是计算机和传感器不滤波不行。遇到要计算图像梯度、曲率的时候,哪怕是很微弱的白噪声都会造成可笑的结果,这是我拿实测数据试出来的。滤波的方式有很多种,根据你用什么滤波器可以得到不同的效果。最容易理解的均值滤波,相对不太困难的高斯滤波可以用力的消除白噪声,计算速度也很快,缺点是图...
2020-02-21 23:30:21 986 1
原创 Hello, mathdotnet,面向.net的科学计算包体验(二)——线性拟合(linear fit)
成功引用mathnet.numerics之后,在资源管理器中双击它可以打开预览一下,看看都包括了些什么内容:长长的一列看不到头,光从名字上就能看到差分、插值、积分、线性代数、傅里叶变换这些让人肝颤的家伙(大学数学课本在哪里,赶紧翻出来复习一下)。点开第一个mathnet.numerics看看复数、微积分什么都出来了,看着就觉得被暴击了。先做个拟合试试。Fit里面点进去,从一堆指...
2018-08-30 16:27:09 3683
原创 Hello, mathdotnet,面向.net的科学计算包体验
做点有技术含量的研发不可避免的要遇到矢量、矩阵、拟合、复数等等高等数学和线性代数的内容。如果不想忍受上世纪风格的Fortran,如果项目需求不能使用matlab python这些脚本语言,那么mathdotnet是最佳的选择。选择mathdotnet的理由:1. 涉及大量科学计算的软件开发,而且应用环境不允许挂个matlab或者winpython之类的解释器;2. 不能接受matlab、pytho...
2018-07-04 16:22:17 880
原创 霍夫变换——空间平面检测算法
近日遇到一个需求,要从点云数据中提取空间平面。看了看计算机图形学中关于直线检测的霍夫变换的原理,自己写了一个用于三维空间点中进行平面检测的霍夫变换算法。先说从最简单的,xy平面图像中,提取直线的霍夫变换开始。假如xy平面上存在一条直线,用方程y=kx+b来表示。那么在kb平面上就可以用一个点(k,b)来对应xy平面上的这条直线。这个变换可以反过来,已知xy平面上有一个点(x0,y0),
2018-01-11 08:26:58 7380 2
原创 C#连接access数据库,“ServerVersion = “conn.ServerVersion” "找不到可安装的ISAM"
做一个简单的工业项目,连接一个2003的access数据库。private static string connStr = "Provider = Microsoft.Jet.OLEDB.4.0;DataSource = ";private OleDbConnection conn = null;OpenFileDialog openDB = new OpenFileDialog();
2017-11-27 20:23:18 869
原创 Unity3d绘制标量场云图/Contour Map/Fringe
最近遇到个需求,就是用Unity来展示空间内的物理量,需要绘制标量场的云图。网上找了找别人有的方案是写shader,网友御雪飞舞给我提供的方案是动态生成纹理图片,这两个方案应用前提是物理场可以由简单函数描述出来(shader一共传递不了几个参数,动态生成纹理也是事先给了分布函数)。但是实际工程中的标量场复杂的多,不可能用简单函数来描述。比如说CFD计算结果是给出一堆离散点位置上的物理量的值。翻了翻乐乐同学的Unity shader入门,我发现了较为简单、CPU压力也低(因为活基本都丢给了GPU)的方案。
2017-10-30 15:56:34 5409 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人