摘要: Partt Parser又称普拉特语法分析器。 指 沃尔-普拉特所编写的论文《Top Down Operator Precedence》中的基于定义优先级运算符的方式解析为AST树的一种语法分析技术。 在执行语法分析器的时候,我们的已经的到了经过词法分析器的结果。 也就是 1+2+3 Token T 阅读全文
posted @ 2022-12-23 21:33 ARM830 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 这是我大约半年前就想写的随笔。 功能很简单。 就是基于Geometry的画布,记录鼠标轨迹生成PathGeometry。再就是添加删除Path的功能也就是path笔迹删除。 目前是实现了两种方式。 1 基于预览擦除 2 实时擦除 两者在具体技术上没有任何的区别都是依靠Geometry.Combine 阅读全文
posted @ 2022-12-22 23:35 ARM830 阅读(143) 评论(3) 推荐(4) 编辑
摘要: 在有了阴影之后,我们小球看起非常的不错了。 现在我们让球更加的真实吧。 我们的效果如下 镜面反射 实际上我们一直做的事情光线追踪,只不过是非常简单的。 我们定义的球体是一个可以拥有反射,闪亮程度的物体,所以做到这样子不成问题的。 那么如何去做呢。 实际上我们看图中的反射部分,相当于在球体的其他部分画 阅读全文
posted @ 2022-06-28 17:49 ARM830 阅读(105) 评论(2) 推荐(0) 编辑
摘要: 之前添加了漫反射和镜面反射。 球体看起来已经很好了,现在我们要更上一步。添加阴影。 阴影 你的影子,物体的影子都可以说时阴影。 在书上,可以说阴影就是在光源和点之间存在物体。这个物体影响了点的光的计算。 因为点自带环境光,所以影响的是点光和方向光。 分析 既然光源和点之间存在物体就会存在阴影。 按照 阅读全文
posted @ 2022-06-28 17:04 ARM830 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 上一节中绘制出来的简直惨不忍睹啊。 但是这一节中,我们就可以实现这样的,看起来更真实了,因为我们添加了光 漫反射 镜面反射 光的类型 点光 可以理解为灯泡,有着固定的位置,发出来的光线到每个点都是不一样的。 L=Q-P 方向光 可以理解为太阳,在大尺度下看,太阳的光到地球和点光没有什么不同。但是我们 阅读全文
posted @ 2022-06-27 16:24 ARM830 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 综述 这一章节,东西不少,画出圆(实际上是球),又没用圆的方程 主要是体现在视口的定义上。说的较为简单。至少我是可以看明白🤣。 另外就是视口到画布,计算过程简单,容易理解。 剩下就是向量与圆相交的部分。 视口 文中有个例子就是眼看风景,你觉非常好看。想要画下,但由于你没有这技能。 于是采用固定木框 阅读全文
posted @ 2022-06-24 14:23 ARM830 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 附加只读属性是通过获取非公开的DependencyPropertyKey字段的DependencyProperty属性。 internal static readonly DependencyPropertyKey ClickCountReadOnlyPropertyKey = Dependency 阅读全文
posted @ 2022-06-22 10:33 ARM830 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 跨距也就是Stride,意思是图像一行保存像素的字节数。 在写入WriteableBitmap 【可写位图】时,通常会用到跨距这个数值。 这个数值的计算与可写位图的像素格式和像素宽度有关。 WriteableBitmap wb = new WriteableBitmap(800, 800, 96, 阅读全文
posted @ 2022-06-07 16:45 ARM830 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 分组和树形结构是不一样的。 树形结构是以递归形式存在。分组是以键值对存在的形式,类似于GroupBy这样的形式。 举个例子 ID NAME SEX Class 1 张三 男 1 2 李四 女 2 3 王二 男 1 当以Sex为分组依据时则是 Key Value 男 1 张三 男 1 3 王二 男 1 阅读全文
posted @ 2022-05-21 14:56 ARM830 阅读(633) 评论(1) 推荐(3) 编辑
摘要: 实现一个雷达扫描图。 源代码在TK_King/雷达 (gitee.com),自行下载就好了 制作思路 绘制圆形(或者称之轮) 绘制分割线 绘制扫描范围 添加扫描点 具体实现 首先我们使用自定义的控件。你可以使用vs自动添加,也可以手动创建类。注意手动创建时要创建Themes/Generic.xaml 阅读全文
posted @ 2022-05-10 13:10 ARM830 阅读(2122) 评论(11) 推荐(10) 编辑