diff --git a/ai/demo.md b/ai/demo.md new file mode 100644 index 0000000..41455e1 --- /dev/null +++ b/ai/demo.md @@ -0,0 +1,9 @@ +# Demo +> 一些开源的项目和论文 + +- [GALA,将穿着衣服的3D数字人的Mesh作为输入,并将其分解为完整的多层 3D 资产。然后,输出可以与其他资产结合起来,创建具有任何姿势的新颖的服装数字人。](https://snuvclab.github.io/gala/) + - [github](https://github.com/lmj01/gala) + +- [human AIGC](https://github.com/HumanAIGC) + - [Cloth2Tex: A Customized Cloth Texture Generation Pipeline for 3D Virtual Try-On试穿衣服的将服装的 2D 图像转换为可以覆盖到 3D 人体上的高质量 3D 纹理Mesh,实现 3D 虚拟试穿、将 2D 服装数字化为 3D 服装以及布料动画。](https://github.com/HumanAIGC/Cloth2Tex) + diff --git a/ai/model.md b/ai/model.md index 23bea82..b8810d1 100644 --- a/ai/model.md +++ b/ai/model.md @@ -34,4 +34,8 @@ data is upstream in process of developing good models [可参考大致流程](https://github.com/microsoft/onnxjs) [onnx example中可以找到一个例子,找到模型,把模型参数传入就可以得到结果了](https://github.com/microsoft/onnxruntime-inference-examples) -[开源可用的一些模型A collection of pre-trained, state-of-the-art models in the ONNX format ](https://github.com/onnx/models) \ No newline at end of file +[开源可用的一些模型A collection of pre-trained, state-of-the-art models in the ONNX format ](https://github.com/onnx/models) + +## 其他 + +- [Port of Facebook's LLaMA model in C/C++ ](https://github.com/ggerganov/llama.cpp) \ No newline at end of file diff --git a/articles/2024/trend.md b/articles/2024/trend.md index a34a5f7..847f305 100644 --- a/articles/2024/trend.md +++ b/articles/2024/trend.md @@ -9,6 +9,13 @@ ## AI +美国作家Clifford Stoll的一句话,曾很好地概括了这一点,也可以回应你的这个问题,他曾说过:“数据不是知识。知识不是智慧。智慧不一定是聪明”。 + +AI不能产生知识或智慧,大数据只是一个数据处理得过程,得到得数据还是属于人能识别得范围。 + +国外的研究在于解决人的身体缺陷,而资本在运作概念。 + + ## 参考 - [The Ai Revolution]() diff --git a/cg/geometry.md b/cg/geometry.md index 66a3c26..1355adc 100644 --- a/cg/geometry.md +++ b/cg/geometry.md @@ -5,4 +5,20 @@ - [Projective Geometric Algebra](http://projectivegeometricalgebra.org/) - [Conformal Geometric Algebra -- CGA](https://conformalgeometricalgebra.org/wiki/index.php?title=Main_Page) - [Rigid Geometric Algebra -- RGA](https://rigidgeometricalgebra.org/wiki/index.php?title=Main_Page) -- [A C++ library that implements much of this math is available under the MIT license on GitHub](https://github.com/EricLengyel/Terathon-Math-Library) \ No newline at end of file +- [A C++ library that implements much of this math is available under the MIT license on GitHub](https://github.com/EricLengyel/Terathon-Math-Library) + +## Isogeometric Anylasis +CAD/CAE领域中的等几何分析,等几何分析目前是被视作CAE最具革命性的突破。 + +CAD的开花理论, +由Bezier Spline,推广未B样条B-Spline曲线和曲面,目前非均匀有理B样条曲面成为工业标准,2000Tom Sederberg博士进一步推广为T样条曲面。 + +在传统NURBS(non-uniform rational B-Spline surface)上,节点细化是全局的,即我们在一处添加节点,都需要保持节点构成四边形网格,因此需要沿着曲面上的一条曲线添加节点。很多时候,我们只希望局部改变NURBS的节点结构,不希望影响全局 + +几乎所有的物理定律都是由偏微分方程来描述。各种物理现象的数值模拟等价于在几何模型上求解各种偏微分方程。计算机辅助工程 CAE(Computer Aided Engineering)的核心就是在几何体上进行多物理场数值模拟。1940年代由克朗(Courant)等应用数学家发展起来的有限元方法(Finite Element Method)是CAE中最为普遍的方法,我国的数学家冯康也独立地奠定了有限元的理论基础。 + +传统的有限元方法是将几何体进行三角剖分,然后在三角剖分上建立基函数。有限元算法中,我们在每个单元(四面体)上计算刚度矩阵,然后再组装成整体的刚度矩阵。传统的CAD工业中,所有的几何体都被表示成NURBS曲面;而在传统的CAE工业中,几何体被表示为网格剖分,很多时候是三角剖分。将CAD模型转换成三角剖分是整个数字模拟仿真流程中最为耗时、耗费计算资源的步骤,一般占所有计算时间的以上。同时,网格离散会带来几何误差,这是影响仿真问题精度的一个关键因素。 + +2005年,Tom Hughes博士提出了等几何分析的思想(isogeometric analysis),核心是采用统一的样条语言来表达几何形状和物理场:利用平面NURBS参数曲面或者体NURBS参数体积作为计算域,计算单元为节点区间对应的曲面单元或者体单元;以NURBS基函数作为物理场的基函数(形函数),以控制顶点的物理数学分量作为未知变量。这样,形状几何与分析几何在同一样条空间,避免了数据交换;在精确CAD几何上进行仿真计算,避免了几何离散误差;在同样自由度下,达到较高计算精度,或者在同样的精度下,需要较少的自由度。同时,物理仿真保持了光滑性。从工程角度而言,等几何分析与传统的有限元方法兼容,等几何分析可以集成到现有的有限元环境之中。 + +虽然等几何分析具有很多传统方法无法比拟的优点,但是等几何分析并没有被工业界广泛采纳,核心在于传统CAD工业中的样条曲面无法满足等几何分析的要求。传统NURBS大量应用裁剪样条,裁剪样条无法分解成规则单元,需要重新构造;传统NURBS缺乏水密性,存在大量缝隙,因此有很多弥补缝隙的碎片样条,需要融合成整片样条;最为致命的问题是传统CAD模型只表达了几何体的边界曲面,而等几何分析需要将整个实体的内部也表达成样条。 \ No newline at end of file diff --git a/cg/opengl.md b/cg/opengl.md index 4276a2c..f26a051 100644 --- a/cg/opengl.md +++ b/cg/opengl.md @@ -21,6 +21,10 @@ webGL也是建立在OpenGL上的,在网页中使用多个Canvas比单独在一 缓冲区是一个很泛的概念,很容易混肴,下面针对主要的进行说明一下 +Buffer Object + +### FBO + FBO(Frame Buffer Object)帧缓冲区对象,它并不是内存块,不实际存储数据,就像画画中的一个画板,画画时需要画布,在画布上才能进行绘制。帧缓冲区也需要画布附着Attachment在上面。FBO支持三种Attachment: - Color颜色,存储区域称为ColorBuffer, 就是绘制的图像数据,即RGBA数据,如果使用了Multiple Render Targets技术,Color Attachment的数量可能有多个 @@ -42,7 +46,7 @@ FBO(Frame Buffer Object)帧缓冲区对象,它并不是内存块,不实际 上面说的是骨架,动笔绘画时就是绘制过程,针对没有索引提供了glDrawArrays绘制,有索引的提供了glDrawElements. -### Buffer Object +### VAO And VBO > 这里只考虑有shader的流程,较老的api存在部分差异,[glBindVertexArray在3.1后才支持的](https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBindVertexArray.xhtml),流程上有些API的差异。因为随着GPU硬件的改进,只会越来越使用shader的了 VAO(Vertex Array Object)顶点数组对象,与FBO一样的概念,更像容器一样的感觉,它们都不是BufferObject,是为了管理数据而抽象成更高一层的概念,是一个状态容器。 @@ -177,6 +181,8 @@ glBindBuffer(GL_PIXEL_PACK_BUFFER, 0); - [NanoGUI is a a minimalistic cross-platform widget library for OpenGL 3.x. It supports automatic layout generation, stateful C++11 lambdas callbacks, a variety of useful widget types and Retina-capable rendering on Apple devices thanks to NanoVG by Mikko Mononen. Python bindings of all functionality are provided using pybind11. ](https://github.com/wjakob/nanogui) +- [RmlUi - The HTML/CSS User Interface library evolved ](https://github.com/mikke89/RmlUi) + ## oglplus - [OGLplus's Documentation!](https://matus-chochlik.github.io/oglplu2/sphinx/index.html) @@ -189,3 +195,4 @@ glBindBuffer(GL_PIXEL_PACK_BUFFER, 0); - [OpenGL Loading Library](https://www.khronos.org/opengl/wiki/OpenGL_Loading_Library) - [GLRF - OpenGL Realtime Framework](https://github.com/DunkleMango/GLRF) - [g-truc creation, OpenGL Mathematics (GLM) OpenGL Image (GLI)等有关opengl的文档与知识](https://www.g-truc.net/) + diff --git a/cg/shader.md b/cg/shader.md index 877bcd3..9b57e5b 100644 --- a/cg/shader.md +++ b/cg/shader.md @@ -143,4 +143,5 @@ mat3( - [the books of shader详细解说shader的开源书籍](https://thebookofshaders.com/) - [GPU Pro 360 Guide to Geometry Manipulation书籍]() - +- [A node.js-style module system for GLSL! ](https://github.com/glslify/glslify) + - [A reusable GLSL directional light function ](https://github.com/hughsk/glsl-directional-light) diff --git a/index/books.md b/index/books.md index 745ecc6..e2f5f68 100644 --- a/index/books.md +++ b/index/books.md @@ -11,6 +11,8 @@ - [what every programmer should know about memory](https://people.freebsd.org/~lstewart/articles/cpumemory.pdf) - [Effective Debugging有效调试](https://celthi.github.io/effective-debugging-zh/) +- [Algorithmica is an open-access web book dedicated to the art and science of computing.](https://en.algorithmica.org/) + - [github](https://github.com/algorithmica-org/algorithmica) ## 数学 diff --git a/index/computerScience.md b/index/computerScience.md index ce1c67e..db7a193 100644 --- a/index/computerScience.md +++ b/index/computerScience.md @@ -53,6 +53,7 @@ - [How to make an infinite grid无限网格](http://asliceofrendering.com/scene%20helper/2020/01/05/InfiniteGrid/) - [CAD相关笔记](../cg/tools/CAD.md) +- [几何](../cg/geometry.md) ### api @@ -113,6 +114,7 @@ - [github](https://github.com/mitsuba-renderer/mitsuba3) - [可视化3D旋转This is a tool to help convert an visualise 3D rotations](http://asliceofrendering.com/ConversionTool/) - [github](https://github.com/BugzTroll/ConversionTool) +- [粒子特效A simple program to simulate artificial life using attraction/reuplsion forces between many particles ](https://github.com/hunar4321/particle-life) ### paper @@ -135,9 +137,11 @@ > numeric calculation - [求取近似值的一个小技巧](https://www.johndcook.com/blog/2023/02/07/mediant-approximation-trick/) +- [ALGLIB is a cross-platform numerical analysis and data processing library. It supports five programming languages (C++, C#, Java, Python, Delphi) and several operating systems (Windows and POSIX, including Linux). ](https://www.alglib.net/) ## AI - [模型](../ai/model.md) +- [参考应用模型](../ai/demo.md) ## 其他 diff --git a/index/online.md b/index/online.md index 4a0b2c7..0f53c70 100644 --- a/index/online.md +++ b/index/online.md @@ -13,6 +13,9 @@ ### 软件工程与架构 - [Front-End-Basics,这是一个从前端基础慢慢汇总成体系,再扩展到全栈的技术文档同时也是一个普通人想成长为更好的自己的探索文档](https://docs.chenfangxu.com/) +- [Game Programming Pattern游戏编程模式,笔记全面得资料](http://gameprogrammingpatterns.com/) + - [ Source repo for the book gameprogrammingpatterns.com ](https://github.com/munificent/game-programming-patterns) + - [online-free](http://gameprogrammingpatterns.com/contents.html) ## Blogs diff --git a/index/standard.md b/index/standard.md index a9667a5..4c21888 100644 --- a/index/standard.md +++ b/index/standard.md @@ -12,7 +12,10 @@ - [IETF Document](https://tools.ietf.org/html/) - [Hypertext Transfer Protocol -- HTTP/1.1](https://www.w3.org/Protocols/rfc2616/rfc2616.html) - [UI Events KeyboardEvent code Values](https://www.w3.org/TR/uievents-code/#key-alphanumeric-writing-system) + +### spec - [HTML Living Standard](https://html.spec.whatwg.org/multipage/) +- [encoding编码,TextEncoder](https://encoding.spec.whatwg.org/) ## khronos diff --git a/nodejs/quill.md b/nodejs/quill.md index 4f23cd7..125ef9f 100644 --- a/nodejs/quill.md +++ b/nodejs/quill.md @@ -8,7 +8,7 @@ npm config edit 打开默认的配置文件 npm config set sharp_binary_host "https://npmmirror.com/mirrors/sharp" npm config set sharp_libvips_binary_host "https://npmmirror.com/mirrors/sharp-libvips" -## rollup打包 +### rollup打包 看不懂webpack的逻辑,直接增加rollup打包,思路就清晰了 npm install rollup --save-dev npm install @rollup/plugin-typescript --save-dev @@ -19,6 +19,23 @@ npm install @rollup/plugin-commonjs --save-dev npm install rollup-plugin-postcss --save-dev npm install rollup-plugin-rawsvg --save-dev +- 2024-1, 作者发布新版2.0了,暂时不去私自编译了,可以直接使用npm包了。 + +## modules + +### clipboard +复制剪切板 + +### image + +内部的image的sanitize时,只支持http,https,data这三种模型,其他情况会赋值为'//:0' +比如拦截时,url需要临时设置成blob:http +```js +const image = Quill.import('formats/image'); +image.sanitize = (url) => url; +``` + + ## [delta](https://github.com/quilljs/delta) Delta 是用于描述富文本文档结构的内容与变更。由于其描述的通用性,quill.js 将其独立维护。它的数据结构是基于 JSON 格式的,方便服务间进行互解析 diff --git a/web/css.md b/web/css.md index 342bf37..80bd3b4 100644 --- a/web/css.md +++ b/web/css.md @@ -190,6 +190,7 @@ div { background-color: var(--main-color, red); } ``` + ## [Sass](https://www.sasscss.com/) Syntactically Awesome StyleSheets @@ -220,6 +221,9 @@ div { } ``` +## [Stylus](https://github.com/stylus/stylus/) + +Expressive, robust, feature-rich CSS language built for nodejs。vue官方使用它。 ## BEM Block Element Modifier is a methodology that helps you to create reusable components and code sharing in front-end development.是由Yandex团队提出的一种CSS Class的命名方法 diff --git a/web/mini.md b/web/mini.md index 32470db..9428af6 100644 --- a/web/mini.md +++ b/web/mini.md @@ -48,6 +48,12 @@ npm omi-cli init-js smile - [OMI github](https://github.com/Tencent/omi/) ### 小程序案例 + +#### 微信小程序库 + +- [微信的FormData对象](https://github.com/lmj01/wx-formdata) + +#### 微信小程序 - [如何实现圣诞节星星飘落效果](https://developers.weixin.qq.com/community/develop/article/doc/000e443b1247a039fd99230b457013) - [小程序海报组件-生成朋友圈分享海报并生成图片](https://github.com/jasondu/wxa-plugin-canvas/tree/master) - [轻松生成小程序分享海报 ](https://juejin.cn/post/6844903663840788493)