Compare commits

..
41 Commits
Author SHA1 Message Date
jinchao 8fbceda7d2 typo 2025-05-26 23:13:34 +08:00
jinchao 2aa0484d00 更新四元数和矩阵互转 2025-04-13 22:23:49 +08:00
jinchao fda18ef058 细节改进 2025-04-09 23:19:02 +09:00
jinchao 5fa619a73a 更新笔记 2025-04-08 00:37:18 +08:00
jinchao 4125e3b375 更新P5设置 2025-04-08 00:37:04 +08:00
jinchao baee74ef27 更新页面设置 2025-03-12 22:00:09 +08:00
jinchao 47cf734493 改名 2025-03-12 00:30:27 +08:00
jinchao 055d4531f0 加入新的文章 2025-03-12 00:28:21 +08:00
jinchao b17eb6490f 统一注释和算法 2025-03-08 19:24:44 +08:00
jinchao fdc7c33fe8 更名 2025-03-08 19:15:11 +08:00
jinchao 41389c04da 改名 2025-03-08 16:28:09 +08:00
jinchao a5c077c5db 细节修正 2025-03-08 16:13:39 +08:00
jinchao 7096f66a6d 增加侧边栏引用 2025-03-08 00:17:46 +08:00
jinchao 2eea319e54 增加一篇博客 2025-03-08 00:14:09 +08:00
jinchao da75a56037 增加favicon 2025-02-26 14:08:32 +08:00
neochaojin e5181f6061 改进格式 2025-02-24 16:53:23 +08:00
neochaojin 8430b21338 更新侧边栏和导航栏 2025-02-24 16:46:01 +08:00
neochaojin 214c55cfe9 更新首页开源项目链接 2025-02-24 16:39:42 +08:00
neochaojin fbd3385ded 改进格式 2025-02-24 16:28:33 +08:00
neochaojin 9db3fbdc56 使用vite进入dev模式时,需要增加域名白名单 2025-02-24 16:12:32 +08:00
jinchao c7d9dc3926 调整目录结构 2025-02-23 21:11:35 +08:00
jinchao 33c63ac1a4 修改目录 2025-02-23 20:53:24 +08:00
jinchao 791c17ebdf 改进排版 2025-02-23 20:51:53 +08:00
jinchao 2bf0000c22 改进格式 2025-02-23 19:35:07 +08:00
jinchao 26244880ee 更新格式 2025-02-23 16:04:16 +08:00
jinchao f1fdc98268 更新文档 2025-02-23 13:46:07 +08:00
jinchao 99d2daeddf 修复链接 2025-02-22 23:08:13 +08:00
jinchao dc7d28521e 修复文档 2025-02-22 22:53:59 +08:00
jinchao f7916e62ec 更新文章 2025-02-22 22:42:02 +08:00
jinchao f151dc08b2 更新部署文档 2025-02-22 20:40:23 +08:00
jinchao 33bca70350 删除不需要的action 2025-02-22 20:36:23 +08:00
jinchao b64083b006 更新ignore和部署脚本 2025-02-22 20:28:06 +08:00
jinchao a6a882cc3b 更新部署 2025-02-22 20:24:59 +08:00
jinchao 9aba895f79 更新build环境 2025-02-22 20:14:07 +08:00
jinchao bfc428b237 更新博客内容 2025-02-22 19:54:50 +08:00
jinchao a1a4d970af 修改路径 2025-02-20 23:16:59 +08:00
jinchao f1624a796e 修改为手动出发工作流 2025-02-20 23:00:31 +08:00
jinchao c78a1363a2 创建发布分支 2025-02-20 22:49:57 +08:00
jinchao 5f746d4ffa 上传deploy action 2025-02-20 22:38:44 +08:00
jinchao 5d3803ca1b initial commit 2025-02-20 22:28:12 +08:00
jinchao f9144ac487 Initial commit 2025-02-20 21:45:26 +08:00
355 changed files with 9201 additions and 3432 deletions
+48
View File
@@ -0,0 +1,48 @@
name: Build And Deploy
on:
push:
branches:
# 确保这是你正在使用的分支名称
- main
workflow_dispatch:
permissions:
contents: write
jobs:
deploy-gh-pages:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
# 如果你文档需要 Git 子模块,取消注释下一行
# submodules: true
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 20
cache: yarn
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Build docs
env:
NODE_OPTIONS: --max_old_space_size=8192
run: |-
yarn run docs:build
> docs/.vuepress/dist/.nojekyll
- name: Deploy docs
uses: JamesIves/github-pages-deploy-action@v4
with:
# 这是文档部署到的分支名称
branch: gh-pages
folder: docs/.vuepress/dist
+4
View File
@@ -0,0 +1,4 @@
/node_modules
/docs/.vuepress/.cache
/docs/.vuepress/.temp
/docs/.vuepress/dist
View File
-43
View File
@@ -1,43 +0,0 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="generator" content="VuePress 2.0.0-rc.19" />
<style>
:root {
--vp-c-bg: #fff;
}
[data-theme='dark'] {
--vp-c-bg: #1b1b1f;
}
html,
body {
background-color: var(--vp-c-bg);
}
</style>
<script>
const useChoice = localStorage.getItem('vuepress-color-scheme')
const systemStatus =
'matchMedia' in window
? window.matchMedia('(prefers-color-scheme: dark)').matches
: false
if (useChoice === 'light') {
document.documentElement.dataset.theme = 'light'
} else if (useChoice === 'dark' || systemStatus) {
document.documentElement.dataset.theme = 'dark'
}
</script>
<title>我的博客和笔记</title><meta name="description" content="理性派,数学,物理,程序">
<link rel="preload" href="/assets/style-Bg6yitsb.css" as="style"><link rel="stylesheet" href="/assets/style-Bg6yitsb.css">
<link rel="modulepreload" href="/assets/app-BVb9so0E.js"><link rel="modulepreload" href="/assets/404.html-CU4Il75a.js">
<link rel="prefetch" href="/assets/about.html-ZiHDgQ_C.js" as="script"><link rel="prefetch" href="/assets/index.html-Cae9N-9N.js" as="script"><link rel="prefetch" href="/assets/index.html-BHJ_qPlO.js" as="script"><link rel="prefetch" href="/assets/index.html-MvKFEBv7.js" as="script"><link rel="prefetch" href="/assets/flip_coin.html-PtExxtTI.js" as="script"><link rel="prefetch" href="/assets/index.html-lGIW6A6B.js" as="script"><link rel="prefetch" href="/assets/mental_poker.html-DFUSr5Lb.js" as="script"><link rel="prefetch" href="/assets/rsa.html-B5Yas4cz.js" as="script"><link rel="prefetch" href="/assets/index.html-CMfyMjc0.js" as="script"><link rel="prefetch" href="/assets/index.html-BSoZH9am.js" as="script"><link rel="prefetch" href="/assets/group.html-Cwq8l5Iy.js" as="script"><link rel="prefetch" href="/assets/index.html-CAwKH4fN.js" as="script"><link rel="prefetch" href="/assets/number_theory_1.html-IsIrbWLd.js" as="script"><link rel="prefetch" href="/assets/number_theory_2.html-Cc2qcc5X.js" as="script"><link rel="prefetch" href="/assets/number_theory_3.html-CMeYnaGP.js" as="script"><link rel="prefetch" href="/assets/probability.html-Br461-CE.js" as="script"><link rel="prefetch" href="/assets/symbol.html-B-vgucyP.js" as="script"><link rel="prefetch" href="/assets/DH.html-BO0XveIQ.js" as="script"><link rel="prefetch" href="/assets/Ellipse.html-q3VlGnJZ.js" as="script"><link rel="prefetch" href="/assets/Fibonacci.html-gLAmraFs.js" as="script"><link rel="prefetch" href="/assets/JPEG001.html-CmHhqHpU.js" as="script"><link rel="prefetch" href="/assets/JPEG002.html-DN-bIZd0.js" as="script"><link rel="prefetch" href="/assets/JPEG003.html-DpEK5cZe.js" as="script"><link rel="prefetch" href="/assets/JPEG004.html-DtjYyVnd.js" as="script"><link rel="prefetch" href="/assets/JPEG005.html-Ba6k8RHA.js" as="script"><link rel="prefetch" href="/assets/Martingle.html-Car3Qc8l.js" as="script"><link rel="prefetch" href="/assets/MentalPoker01.html-jiT189Ii.js" as="script"><link rel="prefetch" href="/assets/MentalPoker02.html-Ca70sQYL.js" as="script"><link rel="prefetch" href="/assets/RandRound.html-ScIQb8gt.js" as="script"><link rel="prefetch" href="/assets/SPH001.html-BFkhb8r7.js" as="script"><link rel="prefetch" href="/assets/SPH002.html-CyYD__Xa.js" as="script"><link rel="prefetch" href="/assets/SPH003.html-CU-1vQK1.js" as="script"><link rel="prefetch" href="/assets/SPH004.html-Bgm0CKgf.js" as="script"><link rel="prefetch" href="/assets/SegmentCircle.html-CwiKgF0w.js" as="script"><link rel="prefetch" href="/assets/index.html-Bo0rTWYB.js" as="script"><link rel="prefetch" href="/assets/ibl_01.html-TmVmuDV8.js" as="script"><link rel="prefetch" href="/assets/ibl_02.html-BolNByWo.js" as="script"><link rel="prefetch" href="/assets/index.html-Ch2GUk9M.js" as="script"><link rel="prefetch" href="/assets/index.html-BRtCC5PE.js" as="script"><link rel="prefetch" href="/assets/math_01.html-BteV6atK.js" as="script"><link rel="prefetch" href="/assets/math_02.html-BjwfMGet.js" as="script"><link rel="prefetch" href="/assets/math_03.html-DBBLa2bx.js" as="script"><link rel="prefetch" href="/assets/transform_01.html-BCLnK19u.js" as="script"><link rel="prefetch" href="/assets/transform_02.html-Cq0dDsxf.js" as="script"><link rel="prefetch" href="/assets/transform_03.html-DhbbSVET.js" as="script"><link rel="prefetch" href="/assets/transform_04.html-CTLyzJta.js" as="script"><link rel="prefetch" href="/assets/function.html-BSqI2YcK.js" as="script"><link rel="prefetch" href="/assets/grammar.html-Di66OeDl.js" as="script"><link rel="prefetch" href="/assets/helloworld.html-DEkdpcZa.js" as="script"><link rel="prefetch" href="/assets/index.html-_9aIK9-1.js" as="script"><link rel="prefetch" href="/assets/object_and_class.html-tiveqRlA.js" as="script"><link rel="prefetch" href="/assets/BRDF.html-ByrfVC6i.js" as="script"><link rel="prefetch" href="/assets/illumination_model_01.html-B-5kJUih.js" as="script"><link rel="prefetch" href="/assets/luminosity.html-DQpPysca.js" as="script"><link rel="prefetch" href="/assets/microfacets_1.html-CtszNcfL.js" as="script"><link rel="prefetch" href="/assets/microfacets_2.html-DgRepHWF.js" as="script"><link rel="prefetch" href="/assets/microfacets_3.html-Cm6trF3h.js" as="script"><link rel="prefetch" href="/assets/render_function_1.html-CNqIbg71.js" as="script"><link rel="prefetch" href="/assets/setupDevtools-7MC2TMWH-GMJHWgwm.js" as="script">
</head>
<body>
<div id="app"><!--[--><div class="vp-theme-container" vp-container data-v-8636ca9b><main class="page" data-v-8636ca9b><div vp-content data-v-8636ca9b><h1 data-v-8636ca9b>404</h1><blockquote data-v-8636ca9b>That&#39;s a Four-Oh-Four.</blockquote><a class="route-link" href="/" data-v-8636ca9b>Take me home</a></div></main></div><!--[--><!----><!--]--><!--]--></div>
<script type="module" src="/assets/app-BVb9so0E.js" defer></script>
</body>
</html>
+35
View File
@@ -0,0 +1,35 @@
# My Blog and Notebook
Visit: [https://thejinchao.github.io](https://thejinchao.github.io)
## 开发环境搭建
1. 安装node.js [https://nodejs.org](https://nodejs.org)
2. 安装yarn [https://classic.yarnpkg.com/lang/en/docs/install/#windows-stable](https://classic.yarnpkg.com/lang/en/docs/install/#windows-stable)
```
npm install --global yarn
yarn --version
```
## 安装必须组件
### 安装 vuepress
```
npm install -D vuepress@next
```
### 安装打包工具和主题
```
npm install -D @vuepress/bundler-vite@next @vuepress/theme-default@next
```
### 安装sass-embedded
```
yarn add -D sass-embedded
```
#### Add math support to your VuePress site
```
npm i -D @vuepress/plugin-markdown-math@next
npm i -D mathjax-full
```
### Add additional features to your markdown images
```
npm i -D @vuepress/plugin-markdown-image@next
```
-43
View File
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
import{_ as e,c as o,b as a,o as l}from"./app-BVb9so0E.js";const n={};function r(s,t){return l(),o("div",null,t[0]||(t[0]=[a("p",null,"404 Not Found",-1)]))}const _=e(n,[["render",r],["__file","404.html.vue"]]),i=JSON.parse('{"path":"/404.html","title":"","lang":"zh-CN","frontmatter":{"layout":"NotFound"},"headers":[],"git":{},"filePathRelative":null}');export{_ as comp,i as data};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-9
View File
@@ -1,9 +0,0 @@
import{_ as e,c as a,a as t,o as s}from"./app-BVb9so0E.js";const p={};function o(c,n){return s(),a("div",null,n[0]||(n[0]=[t(`<h1 id="jpeg算法解密-五" tabindex="-1"><a class="header-anchor" href="#jpeg算法解密-五"><span>JPEG算法解密(五)</span></a></h1><p>最后,我提供给大家一个简易的jpeg压缩算法的代码,这份代码用C++编写,以开源方式提供,放在了github上,可以到下面这个网址下载<br><a href="http://github.com/thejinchao/jpeg_encoder" target="_blank" rel="noopener noreferrer">http://github.com/thejinchao/jpeg_encoder</a><br> 使用方法很简单,像下面这样就可以了</p><div class="language-cpp" data-highlighter="prismjs" data-ext="cpp" data-title="cpp"><pre><code><span class="line"><span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">include</span> <span class="token string">&quot;jpeg_encoder.h&quot;</span></span></span>
<span class="line"> </span>
<span class="line">JpegEncoder encoder<span class="token punctuation">;</span></span>
<span class="line"><span class="token comment">//输入的文件必须是24bit的bmp文件,尺寸必须是8的倍数</span></span>
<span class="line">encoder<span class="token punctuation">.</span><span class="token function">readFromBMP</span><span class="token punctuation">(</span>inputFileName<span class="token punctuation">)</span><span class="token punctuation">;</span></span>
<span class="line"> </span>
<span class="line"><span class="token comment">//第二个参数在1~199之间,代表文件压缩程度,数字越大,压缩后的文件体积越小</span></span>
<span class="line">encoder<span class="token punctuation">.</span><span class="token function">encodeToJPG</span><span class="token punctuation">(</span>outputFileName<span class="token punctuation">,</span> <span class="token number">50</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span>
<span class="line"></span></code></pre></div><p>这份代码只是为了配合这个系列的文章,所以没有考虑优化,如果你想在实际工程中使用jpeg的压缩算法,还是使用被广泛应用的libjpeg或者OpenJpeg。</p><hr><p>参考资料:<br> 【1】<a href="http://www.impulseadventure.com/photo/jpeg-huffman-coding.html" target="_blank" rel="noopener noreferrer">http://www.impulseadventure.com/photo/jpeg-huffman-coding.html</a><br> 【2】<a href="http://www.mysanco.cn/index.php?class=wenku&amp;action=wenku_item&amp;id=96" target="_blank" rel="noopener noreferrer">http://www.mysanco.cn/index.php?class=wenku&amp;action=wenku_item&amp;id=96</a><br> 【3】<a href="http://www.codingnow.com/2000/download/jpeg.txt" target="_blank" rel="noopener noreferrer">http://www.codingnow.com/2000/download/jpeg.txt</a><br> 【4】<a href="http://jingyan.baidu.com/article/cbf0e500f1ce562eaa2893f4.html" target="_blank" rel="noopener noreferrer">http://jingyan.baidu.com/article/cbf0e500f1ce562eaa2893f4.html</a><br> 【5】<a href="http://www.codeproject.com/Articles/83225/A-Simple-JPEG-Encoder-in-C" target="_blank" rel="noopener noreferrer">http://www.codeproject.com/Articles/83225/A-Simple-JPEG-Encoder-in-C</a></p>`,6)]))}const l=e(p,[["render",o],["__file","JPEG005.html.vue"]]),i=JSON.parse('{"path":"/blog/2025/02/JPEG005.html","title":"JPEG算法解密(五)","lang":"zh-CN","frontmatter":{"title":"JPEG算法解密(五)","tags":"压缩 图像 程序 算法"},"headers":[],"git":{"updatedTime":1740225290000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":1,"url":"https://github.com/thejinchao"}]},"filePathRelative":"blog/2025/02/JPEG005.md"}');export{l as comp,i as data};
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
import{_ as i,c as t,a as l,o as a}from"./app-BVb9so0E.js";const o="/images/2014/08/sph_45.jpg",r={};function n(h,e){return a(),t("div",null,e[0]||(e[0]=[l('<p>上几节,我们推导出一大推复杂无比的公式,似乎有点纸上谈兵,这节来点真的,写一个可以运行的SPH系统,下面就是SPH基本的运算流程</p><ol><li>初始化粒子,为每个粒子赋上初始位置</li><li>根据公式3.7计算每个粒子的密度</li><li>根据公式3.10计算每个粒子的压强</li><li>根据公式3.18计算每个粒子的加速度</li><li>根据临界条件调整加速度</li><li>根据加速度计算每个粒子的速度变化</li><li>根据速度计算粒子位置的变化</li><li>绘制粒子</li><li>回到步骤2 下面有个简单的示例程序,运行效果如下</li></ol><figure><img src="'+o+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure><p>这个程序基本上没有怎么考虑效率,只是让系统跑起来,所以比较适合拿来对照公式学习,按照惯例,放出源代码和可执行程序<br> Github:<a href="https://github.com/thejinchao/fluid" target="_blank" rel="noopener noreferrer">https://github.com/thejinchao/fluid</a><br> 可执行程序下载: <a href="https://github.com/thejinchao/fluid/releases/download/v1.0/fluid_relase_x64.zip" target="_blank" rel="noopener noreferrer">fluid_relase_x64.zip</a>(132KB)<br> SPH还有很多细节值得讨论,比如表面张力、并行计算、构建网格、真实材质的水渲染等,这些部分我会抽时间再写一些东西出来介绍。</p>',4)]))}const s=i(r,[["render",n],["__file","SPH004.html.vue"]]),m=JSON.parse('{"path":"/blog/2025/02/SPH004.html","title":" SPH算法简介(四): 算法实现","lang":"zh-CN","frontmatter":{"title":" SPH算法简介(四): 算法实现","tags":"数学 流体 程序 算法"},"headers":[],"git":{"updatedTime":1740225290000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":1,"url":"https://github.com/thejinchao"}]},"filePathRelative":"blog/2025/02/SPH004.md"}');export{s as comp,m as data};
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
import{_ as e,c as i,a,o as l}from"./app-BVb9so0E.js";const o={};function r(h,t){return l(),i("div",null,t[0]||(t[0]=[a('<h1 id="关于我" tabindex="-1"><a class="header-anchor" href="#关于我"><span>关于我</span></a></h1><blockquote><p>淡泊明志,宁静致远</p></blockquote><p>靳超,生于70年代末,河北邯郸人。<br> 这里是我用来保存平时的经验和心得的地方。</p><hr><p>主要学习和工作经历:</p><ul><li>(1996~2000) 天津大学化工学院</li><li>(2000~2002) 中国纺织工业设计院</li><li>(2002~2003) 天人互动</li><li>(2003~2004) 国风因特(3721)</li><li>(2004~2005) 新浪</li><li>(2005~2016) 搜狐畅游</li><li>(2016~2018) 创业</li><li>(2018~2020) 香港乐游科技</li><li>(2020~至今) 腾讯</li></ul><p>我的邮箱:thejinchao@gmail.com<br> GitHub: <a href="http://www.github.com/thejinchao%5D" target="_blank" rel="noopener noreferrer">http://www.github.com/thejinchao</a></p>',7)]))}const c=e(o,[["render",r],["__file","about.html.vue"]]),m=JSON.parse('{"path":"/about.html","title":"关于","lang":"zh-CN","frontmatter":{"title":"关于"},"headers":[],"git":{"updatedTime":1740235322000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":1,"url":"https://github.com/thejinchao"}]},"filePathRelative":"about.md"}');export{c as comp,m as data};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-17
View File
@@ -1,17 +0,0 @@
import{_ as n,c as s,a as t,o as p}from"./app-BVb9so0E.js";const e={};function o(c,a){return p(),s("div",null,a[0]||(a[0]=[t(`<h1 id="javascript函数" tabindex="-1"><a class="header-anchor" href="#javascript函数"><span>JavaScript函数</span></a></h1><h2 id="基本函数定义" tabindex="-1"><a class="header-anchor" href="#基本函数定义"><span>基本函数定义</span></a></h2><div class="language-javascript" data-highlighter="prismjs" data-ext="js" data-title="js"><pre><code><span class="line"><span class="token keyword">function</span> <span class="token function">greeter</span><span class="token punctuation">(</span><span class="token parameter">name</span><span class="token punctuation">)</span></span>
<span class="line"><span class="token punctuation">{</span></span>
<span class="line"> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&quot;Hello, &quot;</span> <span class="token operator">+</span> name<span class="token punctuation">)</span><span class="token punctuation">;</span></span>
<span class="line"><span class="token punctuation">}</span></span>
<span class="line"></span></code></pre></div><p>调用函数<code>greeter(&#39;Alice&#39;);</code></p><h2 id="箭头方式定义函数" tabindex="-1"><a class="header-anchor" href="#箭头方式定义函数"><span>箭头方式定义函数</span></a></h2><div class="language-javascript" data-highlighter="prismjs" data-ext="js" data-title="js"><pre><code><span class="line"><span class="token function-variable function">funcGreeter</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token parameter">name</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span></span>
<span class="line"> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&quot;Hello, &quot;</span> <span class="token operator">+</span> name<span class="token punctuation">)</span><span class="token punctuation">;</span></span>
<span class="line"><span class="token punctuation">}</span></span>
<span class="line"></span></code></pre></div><p>如果只有一个参数的函数,可以省掉括号</p><div class="language-javascript" data-highlighter="prismjs" data-ext="js" data-title="js"><pre><code><span class="line"><span class="token parameter">name</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span></span>
<span class="line"> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&quot;Hello, &quot;</span> <span class="token operator">+</span> name<span class="token punctuation">)</span><span class="token punctuation">;</span></span>
<span class="line"><span class="token punctuation">}</span></span>
<span class="line"></span></code></pre></div><p>如果函数体只包含一个返回语句,可以省略大括号</p><div class="language-javascript" data-highlighter="prismjs" data-ext="js" data-title="js"><pre><code><span class="line"><span class="token punctuation">(</span><span class="token parameter">a<span class="token punctuation">,</span> b</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span></span>
<span class="line"> <span class="token keyword">return</span> a<span class="token operator">+</span>b<span class="token punctuation">;</span></span>
<span class="line"><span class="token punctuation">}</span></span>
<span class="line"></span>
<span class="line"><span class="token comment">//可以写成</span></span>
<span class="line"><span class="token punctuation">(</span><span class="token parameter">a<span class="token punctuation">,</span> b</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> a<span class="token operator">+</span>b<span class="token punctuation">;</span></span>
<span class="line"></span></code></pre></div>`,10)]))}const i=n(e,[["render",o],["__file","function.html.vue"]]),r=JSON.parse('{"path":"/note/language/javascript/function.html","title":"JavaScript函数","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"基本函数定义","slug":"基本函数定义","link":"#基本函数定义","children":[]},{"level":2,"title":"箭头方式定义函数","slug":"箭头方式定义函数","link":"#箭头方式定义函数","children":[]}],"git":{"updatedTime":1740235322000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":1,"url":"https://github.com/thejinchao"}]},"filePathRelative":"note/language/javascript/function.md"}');export{i as comp,r as data};
-40
View File
@@ -1,40 +0,0 @@
import{_ as a,c as n,a as p,o as e}from"./app-BVb9so0E.js";const t={};function c(o,s){return e(),n("div",null,s[0]||(s[0]=[p(`<h1 id="javascript基本语法" tabindex="-1"><a class="header-anchor" href="#javascript基本语法"><span>JavaScript基本语法</span></a></h1><h2 id="变量" tabindex="-1"><a class="header-anchor" href="#变量"><span>变量</span></a></h2><p>声明变量</p><div class="language-javascript" data-highlighter="prismjs" data-ext="js" data-title="js"><pre><code><span class="line"><span class="token keyword">var</span> a <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">;</span></span>
<span class="line"></span></code></pre></div><p>JavaScript有如下基本的变量类型<code>Number</code>, <code>String</code>, <code>Boolean</code>, <code>Undefined</code>, <code>Null</code></p><div class="language-javascript" data-highlighter="prismjs" data-ext="js" data-title="js"><pre><code><span class="line"><span class="token keyword">var</span> a<span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">;</span> <span class="token comment">//Number</span></span>
<span class="line"><span class="token keyword">var</span> b<span class="token operator">=</span><span class="token string">&quot;hello&quot;</span><span class="token punctuation">;</span> <span class="token comment">//String\`</span></span>
<span class="line"><span class="token keyword">var</span> c<span class="token operator">=</span><span class="token boolean">true</span><span class="token punctuation">;</span> <span class="token comment">//Boolean</span></span>
<span class="line"><span class="token keyword">var</span> d<span class="token punctuation">;</span> <span class="token comment">//Undefined\`</span></span>
<span class="line"><span class="token keyword">var</span> e<span class="token operator">=</span><span class="token keyword">null</span><span class="token punctuation">;</span> <span class="token comment">//Null</span></span>
<span class="line"></span></code></pre></div><p>JavaScript 是一种动态类型语言,也就是说,变量的类型没有限制,变量可以随时更改类型。</p><div class="language-javascript" data-highlighter="prismjs" data-ext="js" data-title="js"><pre><code><span class="line"><span class="token keyword">var</span> a<span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">;</span></span>
<span class="line">a<span class="token operator">=</span><span class="token string">&quot;hello&quot;</span><span class="token punctuation">;</span></span>
<span class="line"></span></code></pre></div><h2 id="流程控制" tabindex="-1"><a class="header-anchor" href="#流程控制"><span>流程控制</span></a></h2><h3 id="条件-if-else-结构" tabindex="-1"><a class="header-anchor" href="#条件-if-else-结构"><span>条件(if...else 结构)</span></a></h3><div class="language-javascript" data-highlighter="prismjs" data-ext="js" data-title="js"><pre><code><span class="line"><span class="token keyword">if</span> <span class="token punctuation">(</span>m <span class="token operator">===</span> <span class="token number">0</span><span class="token punctuation">)</span> </span>
<span class="line"><span class="token punctuation">{</span> </span>
<span class="line"> <span class="token comment">// ...</span></span>
<span class="line"><span class="token punctuation">}</span> </span>
<span class="line"><span class="token keyword">else</span> <span class="token keyword">if</span> <span class="token punctuation">(</span>m <span class="token operator">===</span> <span class="token number">1</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> </span>
<span class="line"> <span class="token comment">// ...</span></span>
<span class="line"><span class="token punctuation">}</span> </span>
<span class="line"><span class="token keyword">else</span> <span class="token keyword">if</span> <span class="token punctuation">(</span>m <span class="token operator">===</span> <span class="token number">2</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> </span>
<span class="line"><span class="token comment">// ...</span></span>
<span class="line"><span class="token punctuation">}</span> </span>
<span class="line"><span class="token keyword">else</span> <span class="token punctuation">{</span> <span class="token comment">// ... }</span></span>
<span class="line"></span></code></pre></div><h3 id="switch-结构" tabindex="-1"><a class="header-anchor" href="#switch-结构"><span>switch 结构</span></a></h3><div class="language-javascript" data-highlighter="prismjs" data-ext="js" data-title="js"><pre><code><span class="line"><span class="token keyword">switch</span> <span class="token punctuation">(</span>fruit<span class="token punctuation">)</span> <span class="token punctuation">{</span> </span>
<span class="line"><span class="token keyword">case</span> <span class="token string">&quot;banana&quot;</span><span class="token operator">:</span></span>
<span class="line"> <span class="token punctuation">{</span></span>
<span class="line"> <span class="token comment">//...</span></span>
<span class="line"> <span class="token punctuation">}</span></span>
<span class="line"> <span class="token keyword">break</span><span class="token punctuation">;</span> </span>
<span class="line"><span class="token keyword">case</span> <span class="token string">&quot;apple&quot;</span><span class="token operator">:</span> </span>
<span class="line"> <span class="token keyword">break</span><span class="token punctuation">;</span> </span>
<span class="line"><span class="token keyword">default</span><span class="token operator">:</span></span>
<span class="line"><span class="token punctuation">}</span></span>
<span class="line"></span></code></pre></div><h3 id="循环" tabindex="-1"><a class="header-anchor" href="#循环"><span>循环</span></a></h3><p>while循环</p><div class="language-javascript" data-highlighter="prismjs" data-ext="js" data-title="js"><pre><code><span class="line"><span class="token keyword">while</span><span class="token punctuation">(</span>condition<span class="token punctuation">)</span> <span class="token punctuation">{</span></span>
<span class="line"> <span class="token comment">//do something</span></span>
<span class="line"><span class="token punctuation">}</span></span>
<span class="line"></span>
<span class="line"><span class="token keyword">do</span> <span class="token punctuation">{</span></span>
<span class="line"> <span class="token comment">//do something</span></span>
<span class="line"><span class="token punctuation">}</span><span class="token keyword">while</span><span class="token punctuation">(</span>condition<span class="token punctuation">)</span></span>
<span class="line"></span></code></pre></div><p>for循环</p><div class="language-javascript" data-highlighter="prismjs" data-ext="js" data-title="js"><pre><code><span class="line"><span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">var</span> i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator">&lt;</span> <span class="token number">3</span><span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> </span>
<span class="line"> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 0 1 2 </span></span>
<span class="line"><span class="token punctuation">}</span></span>
<span class="line"></span></code></pre></div><p>和c++一样,<code>continue</code>和<code>break</code>在循环体中起到同样作用</p>`,19)]))}const i=a(t,[["render",c],["__file","grammar.html.vue"]]),r=JSON.parse('{"path":"/note/language/javascript/grammar.html","title":"JavaScript基本语法","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"变量","slug":"变量","link":"#变量","children":[]},{"level":2,"title":"流程控制","slug":"流程控制","link":"#流程控制","children":[{"level":3,"title":"条件(if...else 结构)","slug":"条件-if-else-结构","link":"#条件-if-else-结构","children":[]},{"level":3,"title":"switch 结构","slug":"switch-结构","link":"#switch-结构","children":[]},{"level":3,"title":"循环","slug":"循环","link":"#循环","children":[]}]}],"git":{"updatedTime":1740235322000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":1,"url":"https://github.com/thejinchao"}]},"filePathRelative":"note/language/javascript/grammar.md"}');export{i as comp,r as data};
File diff suppressed because one or more lines are too long
-4
View File
@@ -1,4 +0,0 @@
import{_ as e,c as n,a as s,o as t}from"./app-BVb9so0E.js";const o={};function l(p,a){return t(),n("div",null,a[0]||(a[0]=[s(`<h1 id="环境搭建" tabindex="-1"><a class="header-anchor" href="#环境搭建"><span>环境搭建</span></a></h1><h2 id="使用nodejs直接运行" tabindex="-1"><a class="header-anchor" href="#使用nodejs直接运行"><span>使用nodejs直接运行</span></a></h2><ol><li>下载安装<a href="https://nodejs.org/en" target="_blank" rel="noopener noreferrer">nodejs</a></li><li>创建一个js文件<code>helloworld.js</code></li></ol><div class="language-javascript" data-highlighter="prismjs" data-ext="js" data-title="js"><pre><code><span class="line"><span class="token keyword">var</span> name<span class="token operator">=</span><span class="token string">&quot;Alice&quot;</span><span class="token punctuation">;</span></span>
<span class="line">console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&quot;Hello, &quot;</span> <span class="token operator">+</span> name<span class="token punctuation">)</span><span class="token punctuation">;</span></span>
<span class="line"></span></code></pre></div><ol start="3"><li>在命令行中输入如下命令</li></ol><div class="language-text" data-highlighter="prismjs" data-ext="text" data-title="text"><pre><code><span class="line">node helloworld.js</span>
<span class="line"></span></code></pre></div>`,6)]))}const r=e(o,[["render",l],["__file","helloworld.html.vue"]]),c=JSON.parse('{"path":"/note/language/javascript/helloworld.html","title":"环境搭建","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"使用nodejs直接运行","slug":"使用nodejs直接运行","link":"#使用nodejs直接运行","children":[]}],"git":{"updatedTime":1740235322000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":1,"url":"https://github.com/thejinchao"}]},"filePathRelative":"note/language/javascript/helloworld.md"}');export{r as comp,c as data};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
import{_ as i,c as e,b as o,d as t,e as r,f as u,r as m,o as d}from"./app-BVb9so0E.js";const f={};function g(b,l){const n=m("RouteLink");return d(),e("div",null,[l[32]||(l[32]=o("h1",{id:"我的文章",tabindex:"-1"},[o("a",{class:"header-anchor",href:"#我的文章"},[o("span",null,"我的文章")])],-1)),o("ul",null,[o("li",null,[l[3]||(l[3]=t("从抛币协议到智能合约 ")),o("ul",null,[o("li",null,[r(n,{to:"/blog/2025/02/MentalPoker01.html"},{default:u(()=>l[0]||(l[0]=[t("Part1")])),_:1}),l[2]||(l[2]=t(", ")),r(n,{to:"/blog/2025/02/MentalPoker02.html"},{default:u(()=>l[1]||(l[1]=[t("Part2")])),_:1})])])]),o("li",null,[l[14]||(l[14]=t("JPEG算法解密 ")),o("ul",null,[o("li",null,[r(n,{to:"/blog/2025/02/JPEG001.html"},{default:u(()=>l[4]||(l[4]=[t("Part1")])),_:1}),l[9]||(l[9]=t(", ")),r(n,{to:"/blog/2025/02/JPEG002.html"},{default:u(()=>l[5]||(l[5]=[t("Part2")])),_:1}),l[10]||(l[10]=t(", ")),r(n,{to:"/blog/2025/02/JPEG003.html"},{default:u(()=>l[6]||(l[6]=[t("Part3")])),_:1}),l[11]||(l[11]=t(", ")),r(n,{to:"/blog/2025/02/JPEG004.html"},{default:u(()=>l[7]||(l[7]=[t("Part4")])),_:1}),l[12]||(l[12]=t(", ")),r(n,{to:"/blog/2025/02/JPEG005.html"},{default:u(()=>l[8]||(l[8]=[t("Part5")])),_:1})]),l[13]||(l[13]=o("li",null,[o("a",{href:"http://github.com/thejinchao/jpeg_encoder",target:"_blank",rel:"noopener noreferrer"},"Github")],-1))])]),o("li",null,[l[23]||(l[23]=t("SPH算法简介 ")),o("ul",null,[o("li",null,[r(n,{to:"/blog/2025/02/SPH001.html"},{default:u(()=>l[15]||(l[15]=[t("Part1")])),_:1}),l[19]||(l[19]=t(", ")),r(n,{to:"/blog/2025/02/SPH002.html"},{default:u(()=>l[16]||(l[16]=[t("Part2")])),_:1}),l[20]||(l[20]=t(", ")),r(n,{to:"/blog/2025/02/SPH003.html"},{default:u(()=>l[17]||(l[17]=[t("Part3")])),_:1}),l[21]||(l[21]=t(", ")),r(n,{to:"/blog/2025/02/SPH004.html"},{default:u(()=>l[18]||(l[18]=[t("Part4")])),_:1})]),l[22]||(l[22]=o("li",null,[o("a",{href:"https://github.com/thejinchao/fluid",target:"_blank",rel:"noopener noreferrer"},"Github")],-1))])]),o("li",null,[r(n,{to:"/blog/2025/02/Martingle.html"},{default:u(()=>l[24]||(l[24]=[t("赌博中的数学:Martingle策略")])),_:1})]),o("li",null,[r(n,{to:"/blog/2025/02/RandRound.html"},{default:u(()=>l[25]||(l[25]=[t("如何生成一个随机的圆形")])),_:1})]),o("li",null,[r(n,{to:"/blog/2025/02/DH.html"},{default:u(()=>l[26]||(l[26]=[t("一个简单的DH密钥协商算法的实现")])),_:1}),l[27]||(l[27]=t(", ")),l[28]||(l[28]=o("a",{href:"https://github.com/thejinchao/dhexchange",target:"_blank",rel:"noopener noreferrer"},"Github",-1))]),o("li",null,[r(n,{to:"/blog/2025/02/SegmentCircle.html"},{default:u(()=>l[29]||(l[29]=[t("如何计算线段和圆的交点")])),_:1})]),o("li",null,[r(n,{to:"/blog/2025/02/Ellipse.html"},{default:u(()=>l[30]||(l[30]=[t("一道数学趣题")])),_:1})]),o("li",null,[r(n,{to:"/blog/2025/02/Fibonacci.html"},{default:u(()=>l[31]||(l[31]=[t("斐波那契数列和1/89")])),_:1})])])])}const P=i(f,[["render",g],["__file","index.html.vue"]]),a=JSON.parse('{"path":"/blog/","title":"我的文章","lang":"zh-CN","frontmatter":{},"headers":[],"git":{"updatedTime":1740225290000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":2,"url":"https://github.com/thejinchao"}]},"filePathRelative":"blog/index.md"}');export{P as comp,a as data};
-1
View File
@@ -1 +0,0 @@
import{_ as r,c as i,b as e,e as a,f as n,r as m,o as s,d as o}from"./app-BVb9so0E.js";const h={};function u(d,t){const l=m("RouteLink");return s(),i("div",null,[t[7]||(t[7]=e("h1",{id:"数学基础",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#数学基础"},[e("span",null,"数学基础")])],-1)),e("ul",null,[e("li",null,[a(l,{to:"/note/graphics/math/math_01.html"},{default:n(()=>t[0]||(t[0]=[o("矢量")])),_:1})]),e("li",null,[a(l,{to:"/note/graphics/math/math_02.html"},{default:n(()=>t[1]||(t[1]=[o("矩阵")])),_:1})]),e("li",null,[a(l,{to:"/note/graphics/math/math_03.html"},{default:n(()=>t[2]||(t[2]=[o("立体角")])),_:1})]),e("li",null,[a(l,{to:"/note/graphics/math/transform_01.html"},{default:n(()=>t[3]||(t[3]=[o("几何变换(一)")])),_:1})]),e("li",null,[a(l,{to:"/note/graphics/math/transform_02.html"},{default:n(()=>t[4]||(t[4]=[o("几何变换(二)")])),_:1})]),e("li",null,[a(l,{to:"/note/graphics/math/transform_03.html"},{default:n(()=>t[5]||(t[5]=[o("法线变换")])),_:1})]),e("li",null,[a(l,{to:"/note/graphics/math/transform_04.html"},{default:n(()=>t[6]||(t[6]=[o("摄像机变换")])),_:1})])])])}const p=r(h,[["render",u],["__file","index.html.vue"]]),g=JSON.parse('{"path":"/note/graphics/math/","title":"数学基础","lang":"zh-CN","frontmatter":{},"headers":[],"git":{"updatedTime":1740235322000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":1,"url":"https://github.com/thejinchao"}]},"filePathRelative":"note/graphics/math/index.md"}');export{p as comp,g as data};
-1
View File
@@ -1 +0,0 @@
import{_ as n,c as o,b as e,e as i,f as l,r,o as s,d as c}from"./app-BVb9so0E.js";const m={};function d(u,t){const a=r("RouteLink");return s(),o("div",null,[t[1]||(t[1]=e("h1",{id:"编程语言",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#编程语言"},[e("span",null,"编程语言")])],-1)),e("ul",null,[e("li",null,[i(a,{to:"/note/language/javascript/"},{default:l(()=>t[0]||(t[0]=[c("JavaScript")])),_:1})])])])}const p=n(m,[["render",d],["__file","index.html.vue"]]),f=JSON.parse('{"path":"/note/language/","title":"编程语言","lang":"zh-CN","frontmatter":{},"headers":[],"git":{"updatedTime":1740235322000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":1,"url":"https://github.com/thejinchao"}]},"filePathRelative":"note/language/index.md"}');export{p as comp,f as data};
-1
View File
@@ -1 +0,0 @@
import{_ as a,c as m,b as l,e as o,f as n,r,o as s,d as e}from"./app-BVb9so0E.js";const u={};function d(f,t){const i=r("RouteLink");return s(),m("div",null,[t[7]||(t[7]=l("h1",{id:"光照模型",tabindex:"-1"},[l("a",{class:"header-anchor",href:"#光照模型"},[l("span",null,"光照模型")])],-1)),l("ul",null,[l("li",null,[o(i,{to:"/note/graphics/illumination_model/classic/illumination_model_01.html"},{default:n(()=>t[0]||(t[0]=[e("传统光照模型")])),_:1})]),l("li",null,[o(i,{to:"/note/graphics/illumination_model/luminosity/luminosity.html"},{default:n(()=>t[1]||(t[1]=[e("光度学")])),_:1})]),l("li",null,[o(i,{to:"/note/graphics/illumination_model/BRDF/BRDF.html"},{default:n(()=>t[2]||(t[2]=[e("双向反射分布函数(BRDF)")])),_:1})]),l("li",null,[o(i,{to:"/note/graphics/illumination_model/microfacets/microfacets_1.html"},{default:n(()=>t[3]||(t[3]=[e("微平面理论(一)")])),_:1})]),l("li",null,[o(i,{to:"/note/graphics/illumination_model/microfacets/microfacets_2.html"},{default:n(()=>t[4]||(t[4]=[e("微平面理论(二)")])),_:1})]),l("li",null,[o(i,{to:"/note/graphics/illumination_model/microfacets/microfacets_3.html"},{default:n(()=>t[5]||(t[5]=[e("微平面理论(三)")])),_:1})]),l("li",null,[o(i,{to:"/note/graphics/illumination_model/render_function/render_function_1.html"},{default:n(()=>t[6]||(t[6]=[e("光照方程")])),_:1})])])])}const h=a(u,[["render",d],["__file","index.html.vue"]]),_=JSON.parse('{"path":"/note/graphics/illumination_model/","title":"光照模型","lang":"zh-CN","frontmatter":{},"headers":[],"git":{"updatedTime":1740316295000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":2,"url":"https://github.com/thejinchao"}]},"filePathRelative":"note/graphics/illumination_model/index.md"}');export{h as comp,_ as data};
-1
View File
@@ -1 +0,0 @@
import{_ as m,c as i,b as e,e as l,f as n,r,o as u,d as a}from"./app-BVb9so0E.js";const s={};function h(d,t){const o=r("RouteLink");return u(),i("div",null,[t[6]||(t[6]=e("h1",{id:"数学",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#数学"},[e("span",null,"数学")])],-1)),e("ul",null,[e("li",null,[l(o,{to:"/note/math/symbol.html"},{default:n(()=>t[0]||(t[0]=[a("常用数学符号")])),_:1})]),e("li",null,[l(o,{to:"/note/math/group.html"},{default:n(()=>t[1]||(t[1]=[a("群")])),_:1})]),e("li",null,[l(o,{to:"/note/math/number_theory_1.html"},{default:n(()=>t[2]||(t[2]=[a("数论(一)")])),_:1})]),e("li",null,[l(o,{to:"/note/math/number_theory_2.html"},{default:n(()=>t[3]||(t[3]=[a("数论(二)")])),_:1})]),e("li",null,[l(o,{to:"/note/math/number_theory_3.html"},{default:n(()=>t[4]||(t[4]=[a("数论(三)")])),_:1})]),e("li",null,[l(o,{to:"/note/math/probability.html"},{default:n(()=>t[5]||(t[5]=[a("概率")])),_:1})])])])}const p=m(s,[["render",h],["__file","index.html.vue"]]),_=JSON.parse('{"path":"/note/math/","title":"数学","lang":"zh-CN","frontmatter":{},"headers":[],"git":{"updatedTime":1740235322000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":1,"url":"https://github.com/thejinchao"}]},"filePathRelative":"note/math/index.md"}');export{p as comp,_ as data};
-1
View File
@@ -1 +0,0 @@
import{_ as l,c as s,b as t,e as o,f as a,r,o as m,d as i}from"./app-BVb9so0E.js";const d={};function h(u,e){const n=r("RouteLink");return m(),s("div",null,[e[3]||(e[3]=t("h1",{id:"图形学",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#图形学"},[t("span",null,"图形学")])],-1)),t("ul",null,[t("li",null,[o(n,{to:"/note/graphics/math/"},{default:a(()=>e[0]||(e[0]=[i("数学基础")])),_:1})]),t("li",null,[o(n,{to:"/note/graphics/illumination_model/"},{default:a(()=>e[1]||(e[1]=[i("光照模型")])),_:1})]),t("li",null,[o(n,{to:"/note/graphics/image_based_lighting/"},{default:a(()=>e[2]||(e[2]=[i("环境光渲染")])),_:1})])])])}const p=l(d,[["render",h],["__file","index.html.vue"]]),f=JSON.parse('{"path":"/note/graphics/","title":"图形学","lang":"zh-CN","frontmatter":{},"headers":[],"git":{"updatedTime":1740235322000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":1,"url":"https://github.com/thejinchao"}]},"filePathRelative":"note/graphics/index.md"}');export{p as comp,f as data};
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
import{_ as l,c as s,b as t,e as i,f as n,r,o as h,d as o}from"./app-BVb9so0E.js";const m={};function d(c,e){const a=r("RouteLink");return h(),s("div",null,[e[2]||(e[2]=t("h1",{id:"环境光渲染",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#环境光渲染"},[t("span",null,"环境光渲染")])],-1)),t("ul",null,[t("li",null,[i(a,{to:"/note/graphics/image_based_lighting/ibl_01.html"},{default:n(()=>e[0]||(e[0]=[o("环境光渲染(一)")])),_:1})]),t("li",null,[i(a,{to:"/note/graphics/image_based_lighting/ibl_02.html"},{default:n(()=>e[1]||(e[1]=[o("环境光渲染(二)")])),_:1})])])])}const _=l(m,[["render",d],["__file","index.html.vue"]]),u=JSON.parse('{"path":"/note/graphics/image_based_lighting/","title":"环境光渲染","lang":"zh-CN","frontmatter":{},"headers":[],"git":{"updatedTime":1740235322000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":1,"url":"https://github.com/thejinchao"}]},"filePathRelative":"note/graphics/image_based_lighting/index.md"}');export{_ as comp,u as data};
-1
View File
@@ -1 +0,0 @@
import{_ as i,c as r,b as e,e as o,f as a,d as n,r as s,o as u}from"./app-BVb9so0E.js";const d={};function m(p,t){const l=s("RouteLink");return u(),r("div",null,[t[5]||(t[5]=e("h1",{id:"读书笔记",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#读书笔记"},[e("span",null,"读书笔记")])],-1)),t[6]||(t[6]=e("p",null,"开卷有益",-1)),e("ul",null,[e("li",null,[o(l,{to:"/note/math/"},{default:a(()=>t[0]||(t[0]=[n("数学相关")])),_:1})]),e("li",null,[o(l,{to:"/note/cryptography/"},{default:a(()=>t[1]||(t[1]=[n("密码学")])),_:1})]),e("li",null,[o(l,{to:"/note/graphics/"},{default:a(()=>t[2]||(t[2]=[n("图形学")])),_:1})]),e("li",null,[t[4]||(t[4]=n("编程语言 ")),e("ul",null,[e("li",null,[o(l,{to:"/note/language/javascript/"},{default:a(()=>t[3]||(t[3]=[n("JavaScript")])),_:1})])])])])])}const h=i(d,[["render",m],["__file","index.html.vue"]]),x=JSON.parse('{"path":"/note/","title":"读书笔记","lang":"zh-CN","frontmatter":{},"headers":[],"git":{"updatedTime":1740236893000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":2,"url":"https://github.com/thejinchao"}]},"filePathRelative":"note/index.md"}');export{h as comp,x as data};
-1
View File
@@ -1 +0,0 @@
import{_ as r,c as i,b as a,e as l,f as o,d as e,r as s,o as u}from"./app-BVb9so0E.js";const m={};function p(d,t){const n=s("RouteLink");return u(),i("div",null,[t[4]||(t[4]=a("h1",{id:"javascript",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#javascript"},[a("span",null,"JavaScript")])],-1)),a("ul",null,[a("li",null,[l(n,{to:"/note/language/javascript/helloworld.html"},{default:o(()=>t[0]||(t[0]=[e("环境搭建")])),_:1})]),a("li",null,[l(n,{to:"/note/language/javascript/grammar.html"},{default:o(()=>t[1]||(t[1]=[e("基本语法")])),_:1})]),a("li",null,[l(n,{to:"/note/language/javascript/function.html"},{default:o(()=>t[2]||(t[2]=[e("函数")])),_:1})]),a("li",null,[l(n,{to:"/note/language/javascript/object_and_class.html"},{default:o(()=>t[3]||(t[3]=[e("对象和类")])),_:1})])]),t[5]||(t[5]=a("p",null,[e("建议的教程网站 "),a("a",{href:"https://www.liaoxuefeng.com/wiki/1022910821149312",target:"_blank",rel:"noopener noreferrer"},"廖雪峰的JavaScript教程")],-1))])}const g=r(m,[["render",p],["__file","index.html.vue"]]),f=JSON.parse('{"path":"/note/language/javascript/","title":"JavaScript","lang":"zh-CN","frontmatter":{},"headers":[],"git":{"updatedTime":1740235322000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":1,"url":"https://github.com/thejinchao"}]},"filePathRelative":"note/language/javascript/index.md"}');export{g as comp,f as data};
-1
View File
@@ -1 +0,0 @@
import{_ as r,c as i,b as e,e as n,f as a,r as s,o as m,d as l}from"./app-BVb9so0E.js";const p={};function h(d,t){const o=s("RouteLink");return m(),i("div",null,[t[3]||(t[3]=e("h1",{id:"密码学",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#密码学"},[e("span",null,"密码学")])],-1)),e("ul",null,[e("li",null,[n(o,{to:"/note/cryptography/rsa.html"},{default:a(()=>t[0]||(t[0]=[l("RSA")])),_:1})]),e("li",null,[n(o,{to:"/note/cryptography/flip_coin.html"},{default:a(()=>t[1]||(t[1]=[l("抛币协议")])),_:1})]),e("li",null,[n(o,{to:"/note/cryptography/mental_poker.html"},{default:a(()=>t[2]||(t[2]=[l("智能扑克")])),_:1})])])])}const u=r(p,[["render",h],["__file","index.html.vue"]]),f=JSON.parse('{"path":"/note/cryptography/","title":"密码学","lang":"zh-CN","frontmatter":{},"headers":[],"git":{"updatedTime":1740235322000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":1,"url":"https://github.com/thejinchao"}]},"filePathRelative":"note/cryptography/index.md"}');export{u as comp,f as data};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-26
View File
@@ -1,26 +0,0 @@
import{_ as n,c as a,a as p,o as t}from"./app-BVb9so0E.js";const e={};function o(c,s){return t(),a("div",null,s[0]||(s[0]=[p(`<h1 id="对象和类" tabindex="-1"><a class="header-anchor" href="#对象和类"><span>对象和类</span></a></h1><h2 id="对象" tabindex="-1"><a class="header-anchor" href="#对象"><span>对象</span></a></h2><p>JavaScript中的对象(object)用于存储各种键值集合和更复杂的实体。例如下面的对象</p><div class="language-javascript" data-highlighter="prismjs" data-ext="js" data-title="js"><pre><code><span class="line"><span class="token keyword">var</span> person <span class="token operator">=</span> <span class="token punctuation">{</span></span>
<span class="line"> <span class="token literal-property property">firstName</span><span class="token operator">:</span> <span class="token string">&#39;John&#39;</span><span class="token punctuation">,</span></span>
<span class="line"> <span class="token literal-property property">lastName</span><span class="token operator">:</span> <span class="token string">&#39;Doe&#39;</span><span class="token punctuation">,</span></span>
<span class="line"> <span class="token literal-property property">age</span><span class="token operator">:</span> <span class="token number">30</span><span class="token punctuation">,</span></span>
<span class="line"> <span class="token literal-property property">isStudent</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span></span>
<span class="line"> <span class="token function-variable function">greet</span><span class="token operator">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span>
<span class="line"> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&#39;Hello, I am &#39;</span> <span class="token operator">+</span> <span class="token keyword">this</span><span class="token punctuation">.</span>firstName <span class="token operator">+</span> <span class="token string">&#39; &#39;</span> <span class="token operator">+</span> <span class="token keyword">this</span><span class="token punctuation">.</span>lastName<span class="token punctuation">)</span><span class="token punctuation">;</span></span>
<span class="line"> <span class="token punctuation">}</span></span>
<span class="line"> <span class="token function">print_name</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span>
<span class="line"> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>lastName <span class="token operator">+</span> <span class="token string">&#39; &#39;</span> <span class="token operator">+</span> firstName<span class="token punctuation">)</span> </span>
<span class="line"> <span class="token punctuation">}</span></span>
<span class="line"><span class="token punctuation">}</span><span class="token punctuation">;</span></span>
<span class="line"></span></code></pre></div><p>如何使用对象</p><div class="language-javascript" data-highlighter="prismjs" data-ext="js" data-title="js"><pre><code><span class="line">console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>person<span class="token punctuation">.</span>firstName<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 输出: John</span></span>
<span class="line">person<span class="token punctuation">.</span><span class="token function">greet</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 输出: Hello, I am John Doe</span></span>
<span class="line"></span></code></pre></div><h2 id="类" tabindex="-1"><a class="header-anchor" href="#类"><span>类</span></a></h2><p>javascript中的类(class)是用于创建对象的模板,和c++中的类相似,但是需要在<code>constructor()</code>函数中声明类成员</p><div class="language-javascript" data-highlighter="prismjs" data-ext="js" data-title="js"><pre><code><span class="line"><span class="token keyword">class</span> <span class="token class-name">User</span> <span class="token punctuation">{</span></span>
<span class="line"> <span class="token function">constructor</span><span class="token punctuation">(</span><span class="token parameter">name</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span>
<span class="line"> <span class="token keyword">this</span><span class="token punctuation">.</span>name <span class="token operator">=</span> name<span class="token punctuation">;</span></span>
<span class="line"> <span class="token punctuation">}</span></span>
<span class="line"></span>
<span class="line"> <span class="token function">greet</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span>
<span class="line"> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&quot;Hello, I&#39;m &quot;</span> <span class="token operator">+</span> <span class="token keyword">this</span><span class="token punctuation">.</span>name<span class="token punctuation">)</span> </span>
<span class="line"> <span class="token punctuation">}</span></span>
<span class="line"><span class="token punctuation">}</span></span>
<span class="line"></span></code></pre></div><p>使用方法</p><div class="language-javascript" data-highlighter="prismjs" data-ext="js" data-title="js"><pre><code><span class="line"><span class="token keyword">var</span> user <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">User</span><span class="token punctuation">(</span><span class="token string">&quot;Alice&quot;</span><span class="token punctuation">)</span></span>
<span class="line">user<span class="token punctuation">.</span><span class="token function">greet</span><span class="token punctuation">(</span><span class="token punctuation">)</span></span>
<span class="line"></span></code></pre></div>`,11)]))}const i=n(e,[["render",o],["__file","object_and_class.html.vue"]]),u=JSON.parse('{"path":"/note/language/javascript/object_and_class.html","title":"对象和类","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"对象","slug":"对象","link":"#对象","children":[]},{"level":2,"title":"类","slug":"类","link":"#类","children":[]}],"git":{"updatedTime":1740235322000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":1,"url":"https://github.com/thejinchao"}]},"filePathRelative":"note/language/javascript/object_and_class.md"}');export{i as comp,u as data};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
import{s as T,w as E}from"./app-BVb9so0E.js";var l="org.vuejs.vuepress",v="VuePress",I=v,r=l,N=v,i="client-data",a="Client Data",g=(p,n)=>{T({app:p,id:l,label:v,packageName:"@vuepress/client",homepage:"https://vuepress.vuejs.org",logo:"https://vuepress.vuejs.org/images/hero.png",componentStateTypes:[I]},t=>{const c=Object.entries(n),u=Object.keys(n),d=Object.values(n);t.on.inspectComponent(e=>{e.instanceData.state.push(...c.map(([s,o])=>({type:I,editable:!1,key:s,value:o.value})))}),t.addInspector({id:r,label:N,icon:"article"}),t.on.getInspectorTree(e=>{e.inspectorId===r&&(e.rootNodes=[{id:i,label:a,children:u.map(s=>({id:s,label:s}))}])}),t.on.getInspectorState(e=>{e.inspectorId===r&&(e.nodeId===i&&(e.state={[a]:c.map(([s,o])=>({key:s,value:o.value}))}),u.includes(e.nodeId)&&(e.state={[a]:[{key:e.nodeId,value:n[e.nodeId].value}]}))}),E(d,()=>{t.notifyComponentUpdate(),t.sendInspectorState(r)})})};export{g as setupDevtools};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-276
View File
@@ -1,276 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="245"
height="96"
viewBox="0 0 163.33333 64.000002"
version="1.1"
id="svg1"
inkscape:version="1.4 (86a8ad7, 2024-10-11)"
sodipodi:docname="vector_trip.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="2.9682216"
inkscape:cx="133.75012"
inkscape:cy="62.326883"
inkscape:window-width="2560"
inkscape:window-height="1476"
inkscape:window-x="-12"
inkscape:window-y="-12"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<g
id="XMLID_3_"
transform="translate(-1.2553831,1.346337)">
<g
id="XMLID_22_">
<g
id="XMLID_28_">
<polygon
id="XMLID_29_"
class="st0"
points="83.167328,33.668629 73.855377,34.215168 74.459168,36.032917 35.842651,48.859608 36.15741,49.807209 74.773926,36.980518 75.377624,38.798115 "
style="fill:#a7a9ac" />
</g>
</g>
</g>
<g
id="XMLID_1_"
transform="translate(-1.2553831,1.346337)">
<g
id="XMLID_12_">
<g
id="XMLID_13_">
<polygon
id="XMLID_14_"
points="92.370575,59.105213 83.906097,55.185535 83.57901,57.072773 36.085251,48.84148 35.914734,49.825336 83.408508,58.056629 83.081451,59.943745 " />
</g>
</g>
</g>
<g
id="XMLID_2_"
transform="translate(-1.2553831,1.346337)">
<g
id="XMLID_57_">
<g
id="XMLID_62_">
<polygon
id="XMLID_67_"
points="36.002075,8.6666765 33.585434,17.676138 35.500824,17.676138 35.500824,49.333332 36.499344,49.333332 36.499344,17.676138 38.414566,17.676138 " />
</g>
</g>
</g>
<g
id="XMLID_4_"
transform="translate(-1.2553831,1.346337)">
<g
id="XMLID_24_">
<g
id="XMLID_25_">
<polygon
id="XMLID_26_"
points="57.501709,18.001181 50.411652,24.062674 51.990997,25.146353 35.588409,49.050892 36.411743,49.615864 52.814301,25.711325 54.393524,26.794912 " />
</g>
</g>
</g>
<line
id="XMLID_5_"
class="st1"
x1="81.911278"
y1="35.013"
x2="103.41127"
y2="3.6796699"
style="fill:none;stroke:#a7a9ac;stroke-miterlimit:10" />
<line
id="XMLID_6_"
class="st2"
x1="56.244617"
y1="19.34634"
x2="103.41127"
y2="3.6796718"
style="fill:none;stroke:#000000;stroke-miterlimit:10" />
<line
id="XMLID_7_"
class="st1"
x1="81.911278"
y1="35.013"
x2="138.2822"
y2="44.782825"
style="fill:none;stroke:#a7a9ac;stroke-miterlimit:10" />
<line
id="XMLID_8_"
class="st2"
x1="91.115532"
y1="60.449497"
x2="138.2822"
y2="44.782829"
style="fill:none;stroke:#000000;stroke-miterlimit:10" />
<line
id="XMLID_9_"
class="st2"
x1="56.244617"
y1="19.346336"
x2="112.61553"
y2="29.116161"
style="fill:none;stroke:#000000;stroke-miterlimit:10" />
<line
id="XMLID_10_"
class="st2"
x1="91.115524"
y1="60.449497"
x2="112.61553"
y2="29.116161"
style="fill:none;stroke:#000000;stroke-miterlimit:10" />
<line
id="XMLID_27_"
class="st2"
x1="138.2822"
y1="44.782825"
x2="159.7822"
y2="13.449494"
style="fill:none;stroke:#000000;stroke-miterlimit:10" />
<line
id="XMLID_32_"
class="st2"
x1="112.61553"
y1="29.116161"
x2="159.7822"
y2="13.449494"
style="fill:none;stroke:#000000;stroke-miterlimit:10" />
<line
id="XMLID_37_"
class="st2"
x1="103.41127"
y1="3.6796718"
x2="159.7822"
y2="13.449496"
style="fill:none;stroke:#000000;stroke-miterlimit:10" />
<g
id="XMLID_16_"
transform="translate(-1.2553831,1.346337)">
<g
id="XMLID_17_">
<path
id="XMLID_51_"
class="st3"
d="m 84.331055,49.637043 h -2.791016 l -0.332031,0.767578 c -0.108887,0.255859 -0.163574,0.467773 -0.163574,0.633789 0,0.22168 0.08935,0.383789 0.268066,0.489258 0.10498,0.06152 0.363281,0.108398 0.775391,0.139648 v 0.214844 h -2.628418 v -0.214844 c 0.283691,-0.04297 0.516601,-0.160156 0.699218,-0.352539 0.182618,-0.191406 0.408203,-0.58789 0.67627,-1.189453 l 2.826172,-6.293457 h 0.11084 l 2.850097,6.468262 c 0.271485,0.612305 0.495117,0.998047 0.669922,1.157226 0.131836,0.120118 0.31836,0.19043 0.559571,0.209961 V 51.88216 H 84.02832 v -0.214844 h 0.158203 c 0.306641,0 0.521485,-0.04297 0.646485,-0.127929 0.08496,-0.0625 0.12793,-0.151368 0.12793,-0.267578 0,-0.07031 -0.01172,-0.141602 -0.03516,-0.215821 -0.0078,-0.03516 -0.06641,-0.179687 -0.174804,-0.435547 z m -0.197266,-0.430664 -1.177734,-2.716309 -1.211914,2.716309 z"
style="fill:#010101" />
</g>
</g>
<g
id="XMLID_18_"
transform="translate(-1.2553831,1.346337)">
<g
id="XMLID_19_">
<path
id="XMLID_47_"
class="st0"
d="m 68.577148,29.485189 c 0.761719,0.173828 1.296875,0.385743 1.604493,0.633789 0.441406,0.35254 0.663085,0.810547 0.663085,1.372071 0,0.593748 -0.243164,1.083982 -0.728515,1.471678 -0.595703,0.469726 -1.461914,0.704101 -2.598145,0.704101 h -4.078125 v -0.214844 c 0.371094,0 0.622559,-0.03418 0.754883,-0.102539 0.131836,-0.06738 0.22461,-0.155273 0.277832,-0.264648 0.05371,-0.108398 0.08008,-0.375977 0.08008,-0.802734 V 27.1639 c 0,-0.426757 -0.02637,-0.695312 -0.08008,-0.805664 -0.05322,-0.110351 -0.146973,-0.19873 -0.280761,-0.264648 -0.134278,-0.06592 -0.384766,-0.09863 -0.751954,-0.09863 v -0.215332 h 3.847168 c 0.919922,0 1.570313,0.08057 1.953125,0.241211 0.382813,0.161133 0.684571,0.401367 0.90625,0.721191 0.220703,0.319825 0.331055,0.660157 0.331055,1.020996 0,0.379883 -0.139648,0.718262 -0.419922,1.015137 -0.280273,0.296387 -0.773437,0.532227 -1.480469,0.707031 z m -2.153808,0.295899 v 2.530271 l -0.0059,0.291016 c 0,0.208984 0.0542,0.367188 0.162598,0.473633 0.108398,0.107422 0.269043,0.160156 0.482422,0.160156 0.31543,0 0.606445,-0.06836 0.873047,-0.206055 0.266602,-0.137695 0.470703,-0.33789 0.612305,-0.599609 0.142578,-0.261719 0.21289,-0.552733 0.21289,-0.874998 0,-0.368164 -0.08691,-0.699219 -0.259765,-0.992188 -0.173828,-0.291992 -0.413086,-0.49707 -0.715821,-0.613281 -0.304687,-0.116211 -0.758301,-0.172851 -1.361816,-0.168945 z m 0,-0.454102 c 0.560058,0 0.973633,-0.06152 1.239746,-0.185547 0.266601,-0.124023 0.470703,-0.298339 0.612305,-0.523437 0.142578,-0.224609 0.213867,-0.511719 0.213867,-0.86084 0,-0.349121 -0.07031,-0.634766 -0.210938,-0.85791 -0.139648,-0.223145 -0.339844,-0.392578 -0.600586,-0.508789 -0.260254,-0.116699 -0.678711,-0.172852 -1.254394,-0.168946 z"
style="fill:#a7a9ac" />
</g>
</g>
<g
id="XMLID_20_"
transform="translate(-1.2553831,1.346337)">
<g
id="XMLID_30_">
<path
id="XMLID_45_"
class="st3"
d="M 56.84082,8.0706377 V 10.820638 H 56.610351 C 56.436523,10.102864 56.113281,9.5530596 55.639648,9.1707354 55.166016,8.7884112 54.628906,8.5974932 54.029297,8.5974932 c -0.500977,0 -0.960449,0.1420898 -1.378907,0.4267578 -0.417968,0.2851563 -0.724121,0.6577148 -0.91748,1.117676 -0.248535,0.589355 -0.372559,1.244629 -0.372559,1.966308 0,0.709961 0.09082,1.356446 0.271973,1.939454 0.181641,0.583007 0.46582,1.024414 0.852539,1.322265 0.386719,0.298828 0.888184,0.448242 1.503418,0.448242 0.504883,0 0.967774,-0.109375 1.387695,-0.328125 0.420899,-0.21875 0.863282,-0.594726 1.329102,-1.128906 v 0.68457 c -0.450195,0.463868 -0.918945,0.800782 -1.40625,1.00879 -0.487305,0.208985 -1.055664,0.313477 -1.707031,0.313477 -0.856445,0 -1.617188,-0.169922 -2.281738,-0.509767 -0.66504,-0.338867 -1.178223,-0.826172 -1.539063,-1.461914 -0.36084,-0.635742 -0.541504,-1.313476 -0.541504,-2.03125 0,-0.756347 0.200195,-1.474121 0.600586,-2.152832 0.400391,-0.6787107 0.941406,-1.2055662 1.62207,-1.5795896 0.680664,-0.3745117 1.403321,-0.5620117 2.168946,-0.5620117 0.564453,0 1.160156,0.1210938 1.788085,0.362793 0.362305,0.140625 0.59375,0.2109375 0.692383,0.2109375 0.125977,0 0.235352,-0.045898 0.328125,-0.1376953 0.09277,-0.091797 0.153321,-0.2368164 0.180664,-0.4360352 z"
style="fill:#010101" />
</g>
</g>
<g
id="XMLID_31_"
transform="translate(-1.2553831,1.346337)">
<g
id="XMLID_34_">
<path
id="XMLID_43_"
class="st3"
d="m 12.708008,14.328939 2.172851,2.152344 2.171875,-2.152344 0.403321,0.395507 -2.166992,2.169923 2.166992,2.152344 -0.403321,0.407226 -2.171875,-2.158203 -2.172851,2.158203 -0.408692,-0.407226 2.172364,-2.158203 -2.172364,-2.152345 z"
style="fill:#010101" />
</g>
<g
id="XMLID_33_">
<path
id="XMLID_35_"
class="st3"
d="M 6.4746094,17.691244 H 3.6772461 l -0.3330078,0.767578 c -0.1088867,0.25586 -0.1630859,0.467774 -0.1630859,0.633789 0,0.22168 0.089355,0.383789 0.2685547,0.489258 0.1049805,0.06152 0.3637695,0.108398 0.7763672,0.139648 v 0.214844 H 1.5922852 v -0.214844 c 0.2841797,-0.04297 0.5180664,-0.160156 0.7011719,-0.352539 0.1826172,-0.191406 0.4086914,-0.58789 0.6772461,-1.189453 l 2.8325195,-6.293458 h 0.1108398 l 2.8554688,6.468263 c 0.2724609,0.612305 0.496582,0.998047 0.671875,1.157227 0.1323242,0.120117 0.3193359,0.190429 0.5605467,0.20996 v 0.214844 H 6.1708984 v -0.214844 h 0.1577148 c 0.3076172,0 0.5234375,-0.04297 0.6484375,-0.127929 0.085449,-0.0625 0.128418,-0.151367 0.128418,-0.267578 0,-0.07031 -0.011719,-0.141602 -0.035156,-0.215821 -0.00781,-0.03516 -0.066406,-0.179687 -0.175293,-0.435547 z M 6.2758789,17.26058 5.0961914,14.544271 3.8818359,17.26058 Z"
style="fill:#010101" />
<path
id="XMLID_39_"
class="st3"
d="m 24.941406,15.75472 c 0.750977,0.173828 1.278321,0.385743 1.582032,0.63379 0.436523,0.352539 0.654296,0.810547 0.654296,1.37207 0,0.59375 -0.239257,1.083984 -0.717773,1.47168 -0.587891,0.469726 -1.442383,0.704101 -2.564453,0.704101 H 19.87207 v -0.214844 c 0.366211,0 0.614258,-0.03418 0.745118,-0.102539 0.129882,-0.06738 0.221679,-0.155273 0.274414,-0.264648 0.05176,-0.108398 0.07813,-0.375977 0.07813,-0.802734 v -5.118165 c 0,-0.426758 -0.02637,-0.695313 -0.07813,-0.805664 -0.05273,-0.110352 -0.145508,-0.198731 -0.277344,-0.264649 -0.132813,-0.06592 -0.379883,-0.09863 -0.742188,-0.09863 v -0.215332 h 3.795899 c 0.907226,0 1.549805,0.08057 1.927734,0.241211 0.376953,0.161133 0.674805,0.401367 0.893555,0.721192 0.217773,0.319824 0.326172,0.660156 0.326172,1.020996 0,0.379883 -0.137695,0.718261 -0.414063,1.015136 -0.276367,0.296387 -0.763672,0.532227 -1.459961,0.707032 z m -2.125976,0.295899 v 2.530273 l -0.0059,0.291016 c 0,0.208984 0.05371,0.367188 0.161133,0.473633 0.106445,0.107422 0.265625,0.160156 0.475586,0.160156 0.311523,0 0.598633,-0.06836 0.861328,-0.206055 0.262695,-0.137695 0.463867,-0.33789 0.604492,-0.599609 0.139649,-0.261719 0.209961,-0.552734 0.209961,-0.875 0,-0.368164 -0.08496,-0.699219 -0.256836,-0.992187 -0.170898,-0.291993 -0.407226,-0.497071 -0.706054,-0.613282 -0.300782,-0.116211 -0.748047,-0.172851 -1.34375,-0.168945 z m 0,-0.454102 c 0.552734,0 0.960937,-0.06152 1.223632,-0.185547 0.262696,-0.124024 0.463868,-0.29834 0.604493,-0.523438 0.139648,-0.224609 0.209961,-0.511719 0.209961,-0.86084 0,-0.349121 -0.06934,-0.634765 -0.207032,-0.85791 -0.138672,-0.223144 -0.335937,-0.392578 -0.592773,-0.508789 -0.256836,-0.116699 -0.669922,-0.172851 -1.238281,-0.168945 z"
style="fill:#010101" />
</g>
</g>
<g
id="XMLID_15_"
transform="translate(-1.2553831,1.346337)">
</g>
<g
id="XMLID_55_"
transform="translate(-1.2553831,1.346337)">
</g>
<g
id="XMLID_56_"
transform="translate(-1.2553831,1.346337)">
</g>
<g
id="XMLID_58_"
transform="translate(-1.2553831,1.346337)">
</g>
<g
id="XMLID_59_"
transform="translate(-1.2553831,1.346337)">
</g>
<g
id="XMLID_60_"
transform="translate(-1.2553831,1.346337)">
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More