Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
lmj01 committed Dec 15, 2023
1 parent 11c222e commit 1ae7085
Show file tree
Hide file tree
Showing 12 changed files with 112 additions and 21 deletions.
8 changes: 8 additions & 0 deletions articles/2023/fractionalIndexing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Fractional Indexing

小数索引技术


## 参考

- [Figma 使用了 “Fractional Indexing”(小数索引) 技术](https://www.figma.com/blog/realtime-editing-of-ordered-sequences/#fractional-indexing)
19 changes: 16 additions & 3 deletions articles/2023/smile.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,12 @@
### Incisal Edge
切缘下唇曲线

- Cervical,颈缘上唇曲线
- 微笑窗,按照下唇曲线来移动
### Cervical Edge
颈缘上唇曲线

### 微笑窗
按照下唇曲线来移动

- 图片旋转,是为了让中线,垂直于两瞳孔之间连线的线,与图片保持一致

### 长度
Expand Down Expand Up @@ -66,8 +70,17 @@ y轴方向上的调整,
使用CatmullRom,但是我使用的时候,目前还需要一个等距版本,是所有线条上的控制点的相距是相等的,因为[three.js的CatmullRomCurve3](https://threejs.org/docs/#api/en/extras/curves/CatmullRomCurve3)中的实现了这个的

### 邻接关系
要保证牙齿的邻接关系,缩放后平移到对应的逻辑上
要保证牙齿的邻接关系,缩放后平移到对应的逻辑上, 以中线(标准坐标系下的Y轴为基准)保存1号牙的极端值点,从2号到6号牙都以前面的牙齿为基准靠拢.
这样每个牙齿增加一个平移关系

每颗牙齿的近中与远中的差作为间隙. 就是邻牙间近中与远中的差。最后的累计就是多个矩阵相乘起来。
保证顺序从中线向两边开始计算,这样累积的偏移量才是对的。

数字计算使用线性计算,即矩阵来表示,是非常方便的一种方法。计算结果的累积就是多个矩阵的相乘,避免繁复的计算逻辑。
从最简单的代数式计算过渡到线性关系的矩阵计算,是思路的更清晰更模块化,分析也可以细化到最小的模块,且每个都可以独立,
这个思路必须掌握,对以后的提升是非常高效的一种和更能适应的开发模式。

使用二次曲线来拟合切缘曲线

## 参考

Expand Down
4 changes: 4 additions & 0 deletions cg/canvas.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
1 change: 1 addition & 0 deletions cg/image/exif.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ MIMEType: image/jpeg,image/tiff
### EXIF
oritentation horizontal(normal)

[exif tags names](https://exiftool.org/TagNames/EXIF.html)
5 changes: 4 additions & 1 deletion web/svg.md → cg/svg.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
- [Tabler Icons](https://github.com/lmj01/tabler-icons)

## 参考
- [SVG Tutorial](https://jenkov.com/tutorials/svg/index.html)
30 changes: 28 additions & 2 deletions cpl/programming.paradigm.md
Original file line number Diff line number Diff line change
@@ -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++

Expand Down Expand Up @@ -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/)
- [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), 约束编程是所有实践编程范式中最具声明性的.

不需要写一些列执行命令,可以在约束编程中对问题进行建模,将问题表示为一些列变量,这些变量和传播者实现了约束,然后将这个模型转递给求解器.


28 changes: 15 additions & 13 deletions index/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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
Expand All @@ -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)
Expand All @@ -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)
Expand All @@ -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/)
### [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)
7 changes: 6 additions & 1 deletion index/online.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
- [github](https://github.com/polotno-project)
- [基于连续费马螺旋线的数控加工刀路规划](http://www.ncmis.cas.cn/kyjz/kycg/201912/t20191218_533668.html)
1 change: 1 addition & 0 deletions index/standard.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion nodejs/frp.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,5 @@ RxJS最核心概念是stream,相比数组多了一个时间维度的概念.
## 参考

- [rxjs 源码分析1-(fromEvent)](https://juejin.cn/post/6844903730425364494)
- [从业务视角来聊一聊为什么我们需要 RxJS?](https://juejin.cn/post/7090422222195523621)
- [从业务视角来聊一聊为什么我们需要 RxJS?](https://juejin.cn/post/7090422222195523621)
- [OMI-Web Components Framework WebComponents + JSX + Signal + onstructableStyle + OOP/DOP ](https://omi.cdn-go.cn/home/latest/)
1 change: 1 addition & 0 deletions nodejs/npm.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
26 changes: 26 additions & 0 deletions web/mini.md
Original file line number Diff line number Diff line change
@@ -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)

0 comments on commit 1ae7085

Please sign in to comment.