From 1ae708567b160da310d6fea403344ea258f114b9 Mon Sep 17 00:00:00 2001 From: lmj01 Date: Fri, 15 Dec 2023 17:31:01 +0800 Subject: [PATCH] update --- articles/2023/fractionalIndexing.md | 8 ++++++++ articles/2023/smile.md | 19 +++++++++++++++--- cg/canvas.md | 4 ++++ cg/image/exif.md | 1 + {web => cg}/svg.md | 5 ++++- cpl/programming.paradigm.md | 30 +++++++++++++++++++++++++++-- index/article.md | 28 ++++++++++++++------------- index/online.md | 7 ++++++- index/standard.md | 1 + nodejs/frp.md | 3 ++- nodejs/npm.md | 1 + web/mini.md | 26 +++++++++++++++++++++++++ 12 files changed, 112 insertions(+), 21 deletions(-) create mode 100644 articles/2023/fractionalIndexing.md rename {web => cg}/svg.md (92%) create mode 100644 web/mini.md diff --git a/articles/2023/fractionalIndexing.md b/articles/2023/fractionalIndexing.md new file mode 100644 index 0000000..d964dc9 --- /dev/null +++ b/articles/2023/fractionalIndexing.md @@ -0,0 +1,8 @@ +# Fractional Indexing + +小数索引技术 + + +## 参考 + +- [Figma 使用了 “Fractional Indexing”(小数索引) 技术](https://www.figma.com/blog/realtime-editing-of-ordered-sequences/#fractional-indexing) \ No newline at end of file diff --git a/articles/2023/smile.md b/articles/2023/smile.md index 2150575..6b69d8b 100644 --- a/articles/2023/smile.md +++ b/articles/2023/smile.md @@ -6,8 +6,12 @@ ### Incisal Edge 切缘下唇曲线 -- Cervical,颈缘上唇曲线 -- 微笑窗,按照下唇曲线来移动 +### Cervical Edge +颈缘上唇曲线 + +### 微笑窗 +按照下唇曲线来移动 + - 图片旋转,是为了让中线,垂直于两瞳孔之间连线的线,与图片保持一致 ### 长度 @@ -66,8 +70,17 @@ y轴方向上的调整, 使用CatmullRom,但是我使用的时候,目前还需要一个等距版本,是所有线条上的控制点的相距是相等的,因为[three.js的CatmullRomCurve3](https://threejs.org/docs/#api/en/extras/curves/CatmullRomCurve3)中的实现了这个的 ### 邻接关系 -要保证牙齿的邻接关系,缩放后平移到对应的逻辑上 +要保证牙齿的邻接关系,缩放后平移到对应的逻辑上, 以中线(标准坐标系下的Y轴为基准)保存1号牙的极端值点,从2号到6号牙都以前面的牙齿为基准靠拢. +这样每个牙齿增加一个平移关系 + +每颗牙齿的近中与远中的差作为间隙. 就是邻牙间近中与远中的差。最后的累计就是多个矩阵相乘起来。 +保证顺序从中线向两边开始计算,这样累积的偏移量才是对的。 + +数字计算使用线性计算,即矩阵来表示,是非常方便的一种方法。计算结果的累积就是多个矩阵的相乘,避免繁复的计算逻辑。 +从最简单的代数式计算过渡到线性关系的矩阵计算,是思路的更清晰更模块化,分析也可以细化到最小的模块,且每个都可以独立, +这个思路必须掌握,对以后的提升是非常高效的一种和更能适应的开发模式。 +使用二次曲线来拟合切缘曲线 ## 参考 diff --git a/cg/canvas.md b/cg/canvas.md index 5a2a988..26b2f70 100644 --- a/cg/canvas.md +++ b/cg/canvas.md @@ -27,6 +27,10 @@ CanvasRenderingContext2D.isPointInPath() ``` ![Applying winding rules to a path](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/CocoaDrawingGuide/Art/winding_path_crossing_2x.png) +## rotate + +常规的旋转,很少使用矩阵,[利用 ImageData 实现图片左右旋转 90°](https://blog.csdn.net/frgod/article/details/106055830) + ## 参考 - [OffscreenCanvas-离屏canvas使用说明](https://zhuanlan.zhihu.com/p/100375855) \ No newline at end of file diff --git a/cg/image/exif.md b/cg/image/exif.md index 31a2116..4578465 100644 --- a/cg/image/exif.md +++ b/cg/image/exif.md @@ -15,3 +15,4 @@ MIMEType: image/jpeg,image/tiff ### EXIF oritentation horizontal(normal) +[exif tags names](https://exiftool.org/TagNames/EXIF.html) \ No newline at end of file diff --git a/web/svg.md b/cg/svg.md similarity index 92% rename from web/svg.md rename to cg/svg.md index 474b6f8..fdd6834 100644 --- a/web/svg.md +++ b/cg/svg.md @@ -34,4 +34,7 @@ Z = closepath, To close together the SVG path. Factors – None ## free icons - [Open Iconic is the open source sibling of Iconic](https://github.com/lmj01/open-iconic) -- [Tabler Icons](https://github.com/lmj01/tabler-icons) \ No newline at end of file +- [Tabler Icons](https://github.com/lmj01/tabler-icons) + +## 参考 +- [SVG Tutorial](https://jenkov.com/tutorials/svg/index.html) diff --git a/cpl/programming.paradigm.md b/cpl/programming.paradigm.md index b402e5b..916a24c 100644 --- a/cpl/programming.paradigm.md +++ b/cpl/programming.paradigm.md @@ -1,12 +1,26 @@ # Programming Paradigm -## The Functional Programming Paradigm +Language design guidelines + +- dual-paradigm双范式语言,通常支持一种小规模编程范式和一种大规模编程的范式,大规模编程范式通常是为了支持抽象化和模块化,如在面向对象语言中嵌入支持约束编程的解决器. + +- 分层语言设计,严格的函数式核心,紧接着是声明式并发,然后是异步消息传递,最后是全局命名状态. + +## Declarative Paradigm + +### Declarative concurrency +声明式并发,也称为单调数据流monotonic dataflow, 确定性输入被接收并用于计算确定性输出。 + +## Functional Programming Paradigm 函数式编程 编程语言有一种分类为 - Imperative命令式, 更关注具体,更关注于行为的细枝末节,强调过程,偏于微观 - Declarative声明式,更关注抽象,用起来更简洁,更专注于问题的解决步骤,强调结果,偏于宏观 +### functional reactive programming +FRP,也称为连续同步编程continuous synchronous programming,编写函数程序,函数参数是可改变的,改变会传播到输出中. + ### Cplusplus 范式最多的语言,从面向过程、面向对象、泛型编程、函数式编程,本质就是编程范式的转变,也就是越现代化的Modern C++ @@ -39,4 +53,16 @@ struct Monad { [std::optional中的monadic operations](https://en.cppreference.com/w/cpp/utility/optional) ### 参考 -- [Monads in Modern C++, What, Why, and How](https://www.cppmore.com/2023/08/14/monads-in-modern-c-what-why-and-how/) \ No newline at end of file +- [Monads in Modern C++, What, Why, and How](https://www.cppmore.com/2023/08/14/monads-in-modern-c-what-why-and-how/) + +## Reactive + +### Discrete synchronous programming +离散同步编程,等到输入事件,执行内部计算,并发输出事件.与FRP主要区别是,在响应式编程中,时间是离散的而不是连续的. + +## Constraints Programming +约束编程中,把需要解决的问题表述为约束补偿问题CSP(constraint satisfaction problem), 约束编程是所有实践编程范式中最具声明性的. + +不需要写一些列执行命令,可以在约束编程中对问题进行建模,将问题表示为一些列变量,这些变量和传播者实现了约束,然后将这个模型转递给求解器. + + diff --git a/index/article.md b/index/article.md index 22fc151..386529c 100644 --- a/index/article.md +++ b/index/article.md @@ -4,6 +4,8 @@ - [个人认识](../articles/personal.ideas.md) - [3D引擎](../cg/engines.md) - [汉语拼音网](http://www.hanyupinyin.org/) +- [Markdown 例子](../articles/markdown.md) +- [Mathjax](../articles/mathjax.md) ## dev-note - [git](../dev-note/git.md) @@ -16,7 +18,6 @@ - [cmd](../dev-note/cmd.md) - [bazel](../dev-note/bazel.md) - [Mathjax](../articles/mathjax.md) -- [app 2023](../articles/2023/app.md) ### web @@ -26,6 +27,7 @@ - [html](../web/html.md) - [css](../web/css.md) - [canvas](../cg/canvas.md) +- [小程序开发](../web/mini.md) #### [nodejs](../nodejs/index.md) - [测试模块](../nodejs/test.md) @@ -39,17 +41,6 @@ - [压缩](../nodejs/zip.md) - [FRP-Functional Reactive Programming](../nodejs/frp.md) -## 整理总结 - -- [透视与绘画](../articles/2023/Perspective.md) -- [打印相关](../articles/2023/printer.md) -- [用户 角色 权限的通用设计](../articles/2023/userRolePermission.md) -- [Markdown 例子](../articles/markdown.md) -- [Mathjax](../articles/mathjax.md) -- [农历历法](../articles/2023/chineseCalendar.md) -- [回归分析法](../articles/2023/regression.md) -- [协同编辑](../articles/2023/associateEditor.md) - ### 图形学 - [裁剪](../cg/culling.md) - [四元数](../cg/quaternion.md) @@ -68,4 +59,15 @@ - [github](https://github.com/Pomax/bezierjs) - [N阶贝塞尔曲线生成器](https://github.com/Aaaaaaaty/bezierMaker.js) -### [openmesh](https://www.graphics.rwth-aachen.de/software/openmesh/) \ No newline at end of file +### [openmesh](https://www.graphics.rwth-aachen.de/software/openmesh/) + +## 2023 + +- [app 2023](../articles/2023/app.md) +- [透视与绘画](../articles/2023/Perspective.md) +- [打印相关](../articles/2023/printer.md) +- [用户 角色 权限的通用设计](../articles/2023/userRolePermission.md) +- [农历历法](../articles/2023/chineseCalendar.md) +- [回归分析法](../articles/2023/regression.md) +- [协同编辑](../articles/2023/associateEditor.md) +- [Fractional Indexing小数索引技术](../articles/2023/fractionalIndexing.md) diff --git a/index/online.md b/index/online.md index 9e59134..ccf2fc1 100644 --- a/index/online.md +++ b/index/online.md @@ -51,9 +51,14 @@ - [在线编译文件](https://wandbox.org/) - [在线编译--可查看汇编](https://godbolt.org/) - [在线编译--可查看预处理-方便调试宏](https://www.build-bench.com/) +- [draw.io diagramming applications are the leading solutions for web based sketching and diagramming functionality](https://www.drawio.com/) +- [嘉立创EDA](https://lceda.cn/editor) +- [This is a online vector graphics editor.](https://skeditor.github.io/) + - [github](https://github.com/skeditor/skeditor) ### 其他 - [MedPeer应用先进的新闻资讯抓取和分析技术,对用户关心的内容进行深度分类和整理,力求提供及时的生物医药行业资讯,依托MedPeer人工智能翻译系统对国外资讯、文献、报告和视频进行翻译,帮助国内用户轻松理解。编辑器免费,组件收费](https://medpeer.cn/) - [Design Editor JS SDK Polotno for canvas | Polotno](https://polotno.com/) - - [github](https://github.com/polotno-project) \ No newline at end of file + - [github](https://github.com/polotno-project) +- [基于连续费马螺旋线的数控加工刀路规划](http://www.ncmis.cas.cn/kyjz/kycg/201912/t20191218_533668.html) \ No newline at end of file diff --git a/index/standard.md b/index/standard.md index 73e8ebb..a9667a5 100644 --- a/index/standard.md +++ b/index/standard.md @@ -40,6 +40,7 @@ - [tif/tiff](../cg/image/tiff.md) - [png](../cg/image/png.md) - [GIMP](../cg/image/gimp.md) +- [SVG](../cg/svg.md) - [ImageMagick](../cg/image/imageMagick.md) ### Tool diff --git a/nodejs/frp.md b/nodejs/frp.md index c77ea21..b754c53 100644 --- a/nodejs/frp.md +++ b/nodejs/frp.md @@ -25,4 +25,5 @@ RxJS最核心概念是stream,相比数组多了一个时间维度的概念. ## 参考 - [rxjs 源码分析1-(fromEvent)](https://juejin.cn/post/6844903730425364494) -- [从业务视角来聊一聊为什么我们需要 RxJS?](https://juejin.cn/post/7090422222195523621) \ No newline at end of file +- [从业务视角来聊一聊为什么我们需要 RxJS?](https://juejin.cn/post/7090422222195523621) +- [OMI-Web Components Framework WebComponents + JSX + Signal + onstructableStyle + OOP/DOP ](https://omi.cdn-go.cn/home/latest/) \ No newline at end of file diff --git a/nodejs/npm.md b/nodejs/npm.md index 9f470b1..59982d4 100644 --- a/nodejs/npm.md +++ b/nodejs/npm.md @@ -15,6 +15,7 @@ npm init -w ./packages/a 创建子包 包管理 ```shell +npm install --registry=https://registry.npm.taobao.org 指定淘宝源的安装 npm install XXX 安装但不写入package.json npm install XXX --save 安装且写入package.json中的dependencies npm install XXX --save-dev 安装且写入package.json中的devDependencies diff --git a/web/mini.md b/web/mini.md new file mode 100644 index 0000000..2e5dce1 --- /dev/null +++ b/web/mini.md @@ -0,0 +1,26 @@ +# 小程序 +> 国内的特定环境下的产物 +>> 微信小程序有自己的一套流程,嵌入在定制的浏览器中 + +## canvas +坑死人了,与web的canvas有很大的差异,感觉 + +## OMI框架 +```js +npm install omi-cli -g --registry=https://registry.npm.taobao.org +npm omi-cli init-mps smile +npx omi-cli init-mps smile +npm omi-cli init-js smile +``` + +## 文档参考 + +- [weui官方文档,可支持扩展原生支持](https://wechat-miniprogram.github.io/weui/docs/#weui%E7%BB%84%E4%BB%B6%E5%BA%93%E7%AE%80%E4%BB%8B) +- [TDesign文档](https://tdesign.tencent.com/) +- [OMI](https://omi.cdn-go.cn/home/latest/) + - [OMI github](https://github.com/Tencent/omi/) + +### 小程序案例 +- [如何实现圣诞节星星飘落效果](https://developers.weixin.qq.com/community/develop/article/doc/000e443b1247a039fd99230b457013) +- [小程序海报组件-生成朋友圈分享海报并生成图片](https://github.com/jasondu/wxa-plugin-canvas/tree/master) + - [轻松生成小程序分享海报 ](https://juejin.cn/post/6844903663840788493) \ No newline at end of file