From f93c72827c7811a9626b6e8167741deb7e9a6921 Mon Sep 17 00:00:00 2001 From: lmj01 Date: Fri, 19 Jan 2024 14:02:49 +0800 Subject: [PATCH] update --- articles/2024/experience.md | 8 ++++++++ cg/mesh/NURBS.md | 7 +++++++ cg/tools/CAD.md | 6 ++++++ index/computerScience.md | 7 +------ nodejs/frp.md | 15 +++++++++++++++ 5 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 cg/mesh/NURBS.md diff --git a/articles/2024/experience.md b/articles/2024/experience.md index bf6367c..96438db 100644 --- a/articles/2024/experience.md +++ b/articles/2024/experience.md @@ -3,3 +3,11 @@ ## 2024-1-18 在调试小程序的过程中,通过喂养数据,对数据产生的问题进行分析,分析每个数据,对每一个数据的来源与关系都分析得很彻底。 一步步得去找数据之间得关系,画图找出逻辑上得效果,通过效果对比来分析。 + +- 第一步找出问题产生得原因 +- 对部分数据测试得结果进行分析,尽量理想化一些特殊数据,方便观察结果和效果 +- 虽然最后这样的结果并不一定完美,但是这种一种思路去拓宽四维方式,从不同角度(数据层面)来反观问题,就是图像处理,从色域到频域的变化一样。 +- 再得到更多的样本数据时,就可以更改了。 + +这个过程就跟调试bug一样,需要一步步的去判断,去分析,去可视化中间结果,这样才能推进,不能盲目地想象后面的结果,必须一步步的进行下去。 + diff --git a/cg/mesh/NURBS.md b/cg/mesh/NURBS.md new file mode 100644 index 0000000..f5834d8 --- /dev/null +++ b/cg/mesh/NURBS.md @@ -0,0 +1,7 @@ +# NURBS +> + +## 参考 + +- [A small C++ library containing some NURBS-based geometric modeling algorithms and features I've been working on since 2013.](https://gitlab.com/ssv/Mobius) +- [LNLib is a C++ NURBS Algorithms Library. These algorithms are primary referenced from The NURBS Book 2nd Edition. ](https://github.com/BIMCoderLiang/LNLib) diff --git a/cg/tools/CAD.md b/cg/tools/CAD.md index 59082a5..5fde8ae 100644 --- a/cg/tools/CAD.md +++ b/cg/tools/CAD.md @@ -15,3 +15,9 @@ ### Frame 图框 ### 组 + +## 参考 + +- [FreeCAD is an open-source parametric 3D modeler made primarily to design real-life objects of any size](https://github.com/FreeCAD/FreeCAD) +- [Analysis Situs, Analysis Situs is the open-source application and SDK for CAD feature recognition and more](https://analysissitus.org/index.html) +- [Yet another modeling kernel? Hell, no.关于是否要从0开发一个新的几何内核](https://quaoar.su/blog/page/modeling-kernel-no-thanks) diff --git a/index/computerScience.md b/index/computerScience.md index c717705..ce1c67e 100644 --- a/index/computerScience.md +++ b/index/computerScience.md @@ -41,6 +41,7 @@ ### 网格 - [HalfEdge半边结构](../cg/tools/half-edge.md) - [网格划分](../cg/mesh/mesh-generation.md) +- [NURBS](../cg/mesh/NURBS.md) - [曲线](../cg/tools/curve.md) - [GMesh]() - [Triangulate Efficient Triangulation Algorithm Suitable for Terrain Modelling or An Algorithm for Interpolating Irregularly-Spaced Data with Applications in Terrain Modelling](http://paulbourke.net/papers/triangulate/) @@ -50,15 +51,9 @@ - [计算几何第四周:维诺图](https://zhuanlan.zhihu.com/p/33896575) - [Lattice学习笔记01:格的简介](https://zhuanlan.zhihu.com/p/161411204) - [How to make an infinite grid无限网格](http://asliceofrendering.com/scene%20helper/2020/01/05/InfiniteGrid/) -- [LNLib is a C++ NURBS Algorithms Library. These algorithms are primary referenced from The NURBS Book 2nd Edition. ](https://github.com/BIMCoderLiang/LNLib) -### CAD - [CAD相关笔记](../cg/tools/CAD.md) -- [FreeCAD is an open-source parametric 3D modeler made primarily to design real-life objects of any size](https://github.com/FreeCAD/FreeCAD) -- [Analysis Situs, Analysis Situs is the open-source application and SDK for CAD feature recognition and more](https://analysissitus.org/index.html) -- [Yet another modeling kernel? Hell, no.关于是否要从0开发一个新的几何内核](https://quaoar.su/blog/page/modeling-kernel-no-thanks) - ### api - [OpenGL](../cg/opengl.md) diff --git a/nodejs/frp.md b/nodejs/frp.md index a96fe98..c29d161 100644 --- a/nodejs/frp.md +++ b/nodejs/frp.md @@ -1,5 +1,6 @@ # FRP > Functional Reactive Programming, 是针对复杂的,多状态,异步,注重时序控制的场景, 在FRP领域,由[ReactiveX](https://reactivex.io/)简称Rx,是由微软推出得通过可观察得流来进行异步编程得API是FRP最经典得实现范本之一. +>> [反应式宣言](https://www.reactivemanifesto.org/) Rx结合了Observer观察者模式,Iterator迭代器模式,functional programming函数式编程的精华思想.这种思想诞生一种新的编程范式,是一种以异步数据流Async Data Stream为中心的编程范式. @@ -26,6 +27,20 @@ RxJS可以做防腐层,抽离一个层来,对上就是对接Service和Mock 与前端状态管理最理想的框架是基于Flux实现的Redux,但Redux有种种问题,通过RxJS这种思路可以有更好的替换,如[CycleJS--A functional and reactive JavaScript framework for predictable code](https://github.com/cyclejs/cyclejs). Redux单向数据流,操作非常复杂,RxJS完全在于数据流stream的提供和操作,不关心细节上的细分。 +代码的大致的流程 +- 创建流,from,fromEvent, of +- 执行流,subscribe +- 销毁流unsubscribe + +模板可参考 +- Observable +- pipe + - operator, 返回的必须是Observable才可以 + - operator1, Observable1, + - .... + - operatorX, ObservableX, +- subscribe + ### 操作符 - [tap](https://rxjs.dev/api/index/function/tap), 一个不影响的纯操作,常用来在stream中间态拿到当前的数据事件来修改外部状态或一些通知。最重要的是方便调试代码逻辑。