Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
lmj01 committed Aug 7, 2024
1 parent 06d90fd commit 55df358
Show file tree
Hide file tree
Showing 17 changed files with 147 additions and 15 deletions.
7 changes: 0 additions & 7 deletions articles/2023/regression.md

This file was deleted.

7 changes: 7 additions & 0 deletions articles/notes/work.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,10 @@
- 2024-7-25 游离根 跟着 颌骨显示

## 快速目标位

牙齿的关键点

- fa 牙号放在的位置
- flAxis 从颊侧到舌侧方向
- ieAxis 从牙冠到牙根方向
- mdAxis 从近中到远中方向
8 changes: 8 additions & 0 deletions cg/graphics.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,3 +81,11 @@ Exocad是一款跨平台的应用程序,免费使用。
- [Yet another modeling kernel? Hell, no.关于是否要从0开发一个新的几何内核](https://quaoar.su/blog/page/modeling-kernel-no-thanks)
- [A 3D CAD application on your browser](https://chili3d.com/)
- [github](https://github.com/xiangechen/chili3d)

## 开源图像

### [HARFANG®3D builds real-time 3D tools for industry professionals.](https://www.harfang3d.com/en_US/)

底层使用bgfx,可以分析分析别人使用的框架逻辑

- [github](https://github.com/harfang3d/harfang3d)
1 change: 1 addition & 0 deletions cg/threejs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,4 @@
- [webgl examples](https://alteredqualia.com/)
- [22](https://github.com/brunosimon/folio-2019)
- [THREE.js rendering order渲染顺序](https://segmentfault.com/a/1190000041221932/en)
- [A camera control for three.js, similar to THREE.OrbitControls yet supports smooth transitions and more features. ](https://github.com/lmj01/camera-controls)
28 changes: 28 additions & 0 deletions cg/threejs/use.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
# 问题集

## 2024-8-6

看到的grid绘制,但是不是使用threejs自带的控制器,这些控制器不是改变物体,而是改变camera的位置和朝向。

这样使用多个renderTarget来合成单个图像,就存在一个显示问题,鼠标操作的应该是object对象的移动,而不是camera的移动。

## 2024-7-30

正交与透视camera的切换,且场景的大小不能改变!
之前项目中的代码看不出什么逻辑上的设置,现在就是从透视到正交切换时,缩放差异很大,
正交切换到透视还可以接受。

OrthographicCaemra的值不能直接赋值

正交切换到透视后,可以任意切换。
透视切换正交时,会出现缩放严重问题。

2024-8-6
透视的角度设置较低,位置拉长,这样切换过程中就不会那么突兀。透视转正交,必须设置一个合理的zoom值,否则正交就会改变很大,之前的方案中存在视口很小,
都是50上下,这样宽度才100多,这样保证了zoom的值很小。我在这里通过设置一个值,使用Math.log2(persp.position.length())来作为zoom值,这个也符合透视时
camera的近远曲线的趋势。

在这边文章中[opengl projection matrix](https://songho.ca/opengl/gl_projectionmatrix.html)描述了投影矩阵的推理过程,其中谈到了透视投影过程中,near和far之间的关系,非线性。所以这里我想到了对数来描述他们之间的关系,从曲线走势来看很符合要求。这也是解决之前的flickering问题,depth precision error(z-fighting)

- [正交投影与透视投影的切换计算逻辑](https://www.geogebra.org/geometry/yyzjqhg2)
![投影切换](/images/cg/switch-persp-ortho.png "Switch persp to ortho and ortho to persp")
![log graph](/images/cg/desmos-graph-log.svg "log graph")

## 2024-7-19

接手公司项目时,使用他们的代码拷贝过来,产生了一个问题,就是渲染时牙龈边沿处的跳动。
Expand Down
2 changes: 2 additions & 0 deletions cg/tools/webgl.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# [WebGL](https://registry.khronos.org/webgl/specs/latest/)

- [Free 3D Models and Commercial Use 3D Models at great prices. free3d.com 免费模型下载](https://free3d.com/)

- [threejs](https://threejs.org/)
- [笔记](/cg/threejs/index.md)
- [BabylonJS](https://www.babylonjs.com/)
Expand Down
8 changes: 8 additions & 0 deletions dev-note/git.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,14 @@
- git fetch upstream 从上游更新
- git merge upstream/branch-name 合并上游分支到本地,如果出现**fatal: refusing to merge unrelated histories**, 是两个库的commit历史不同,放在错误的设置,加上--allow-unrelated-histories即可

### tag

- git tag -a tagName -m "描述" 添加标签
- git push origin tagName 推送指定的标签
- git push origin --tags 推送所有的
- git push origin --delete tagName 删除远程标签
- git checkout -b branchName tagName 以某个标签为指定版本

### [stash](https://www.git-scm.com/docs/git-stash)
此操作非常耗时
- git stash list 罗列出所有的
Expand Down
22 changes: 22 additions & 0 deletions exercises/combinatorics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# 组合学

组合学有两部分领域
- 组合算法,计算对象是离散的、有限的数学结构。从方法学角度来看,组合算法包括算法设计和算法分析两个方面
- 关于算法设计,历史上已经总结出了普遍意义的方法和技术。包括
- 动态规划
- 回溯法
- 分支限界法
- 分治法
- 贪心法
- 应用广泛,如
- 旅行商问题
- 图着色问题
- 整数规划问题
- 组合数学,主要研究内容有:
- 鸽巢原理
- 排列与组合
- 二项式系数
- 容斥原理及应用
- 递推关系和生成函数
- 特殊计数序列
- 组合设计
2 changes: 2 additions & 0 deletions exercises/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
- [高中数学](/exercises/math.high.md)
- [高等数学](/exercises/advanced.mathematics.md)
- [数论](/exercises/number.theory.md)
- [组合](/exercises/combinatorics.md)
- [微积分](/exercises/differential.integral.md)
- [数值计算](/exercises/numerical.calculation.md)
- [几何](/exercises/geometry.md)
Expand All @@ -24,6 +25,7 @@

- [Wolfram MathWorld](https://mathworld.wolfram.com/)
- [提供各种数学问题的交互式解法和动画](https://www.cut-the-knot.org/)
- [图形计算器,用[email protected]登录的](https://www.desmos.com/calculator?lang=zh-CN)

<details>
<summary>Geogebra开源在线工具</summary>
Expand Down
45 changes: 44 additions & 1 deletion exercises/math.high.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,50 @@
# 高中数学

<details>
<summary>厦门2024强基</summary>
<summary>2024-8-5不等式</summary>

$$
\text{若a,b为正实数,且} \frac{8}{a} + \frac{1}{b} = 1, \text{则} a^2+b^2 \text{的最小值是多少?}
$$

$$
\text{由权方和不等式得知} \newline
1 = \frac{8}{a} + \frac{1}{b} = \frac{(4)^{\frac{3}{2}}}{(a^2)^{\frac{1}{2}}} + \frac{1^{frac{3}{2}}}{(b^2)^{\frac{1}{2}}} \newline
>= \frac{(4 + 1)^{\frac{3}{2}}}{\sqrt(a^2 + b^2)} \to \sqrt(a^2+b^2) \ge \sqrt(125) \to a^2 + b^2 \ge 125.
$$

利用多元微分来求解

$$
\frac{8}{a} + \frac{1}{b} = 1 \to \frac{8}{a} + \frac{1}{b} - 1 = 0. \newline
\text{设}F(a,b,\lambda) = a^2 + b^2 + \lambda(\frac{8}{a} + \frac{1}{b} - 1) \newline
\begin{cases}
F^{`}(a) = 2a - \frac{8\lambda}{a^2} \newline
F^{`}(b) = 2b - \frac{\lambda}{b^2} \newline
F^{`}(\lambda) = \frac{8}{a} + \frac{1}{b} - 1 \newline
\end{cases} \to \newline
\begin{cases}
F^{`}(a) = 0 \newline
F^{`}(b) = 0 \newline
F^{`}(\lambda) = 0 \newline
\end{cases} \to \newline
\begin{cases}
2a = \frac{8\lambda}{a^2} \newline
2b = \frac{\lambda}{b^2} \newline
\end{cases} \to \newline
\lambda = \frac{a^3}{4} = 2b^3 \to a = 2b \to \newline
\begin{cases}
a = 5 \newline
b = 10 \newline
\end{cases} \newline
\therefore (a^2 + b^2)_{min} = 5^2 + 10^2 = 125
$$

</details>


<details>
<summary>2024-6-20厦门2024强基</summary>

$$
\text{已知}x,y \gt 0, (x + y + xy)(x + y - xy) = xy, \text{求}x + y + xy \text{和}x + y - xy \text{的最小值}. \newline
Expand Down
11 changes: 10 additions & 1 deletion exercises/numerical.calculation.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,13 @@ $$
Gauss型求积算法是数值稳定的,且对有限闭区间上的连续函数,Gauss求积的数值随节点数目的增加而收敛到准确积分值 。

- [高斯积分](http://staff.ustc.edu.cn/~rui/textbooks/nm/slides/num-integration-gauss.html#/16)
- [第四章 数值积分与数值微分 朱升峰 华东师范大学 数学科学学院](https://math.ecnu.edu.cn/~sfzhu/course/NumerAnal/NumerInt3.pdf)
- [第四章 数值积分与数值微分 朱升峰 华东师范大学 数学科学学院](https://math.ecnu.edu.cn/~sfzhu/course/NumerAnal/NumerInt3.pdf)

## 回归分析法

- [regression-js is a JavaScript module containing a collection of linear least-squares fitting methods for simple data analysis. ](https://github.com/Tom-Alexander/regression-js)
- [A JavaScript library for performing in-browser linear regression.](https://github.com/McCulloughRT/regress-js)

### Gaussian elimination

### 术语
Loading

0 comments on commit 55df358

Please sign in to comment.