Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5580c2422c | ||
|
|
1215c09b11 | ||
|
|
d656ed856f | ||
|
|
ed58e43463 | ||
|
|
bfefe30aef | ||
|
|
18ea38ea79 | ||
|
|
66d3b43bfd | ||
|
|
14fe72b1d8 | ||
|
|
eb2e70b42a | ||
|
|
4d10ba440f | ||
|
|
26c32a3f23 | ||
|
|
41b300b96c | ||
|
|
3f85227b42 | ||
|
|
bdb9c175fa | ||
|
|
7064463876 |
@@ -1,48 +0,0 @@
|
|||||||
|
|
||||||
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
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
/node_modules
|
|
||||||
/docs/.vuepress/.cache
|
|
||||||
/docs/.vuepress/.temp
|
|
||||||
/docs/.vuepress/dist
|
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
<!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'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>
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
# 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
|
|
||||||
```
|
|
||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
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};
|
||||||
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
@@ -0,0 +1,9 @@
|
|||||||
|
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">"jpeg_encoder.h"</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&action=wenku_item&id=96" target="_blank" rel="noopener noreferrer">http://www.mysanco.cn/index.php?class=wenku&action=wenku_item&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};
|
||||||
|
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
@@ -0,0 +1 @@
|
|||||||
|
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};
|
||||||
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 54 KiB |
@@ -0,0 +1 @@
|
|||||||
|
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};
|
||||||
|
Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
@@ -0,0 +1,17 @@
|
|||||||
|
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">"Hello, "</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('Alice');</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">=></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">"Hello, "</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">=></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">"Hello, "</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">=></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">=></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};
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
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">"hello"</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">"hello"</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">"banana"</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">"apple"</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"><</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};
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
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">"Alice"</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">"Hello, "</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};
|
||||||
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 153 KiB After Width: | Height: | Size: 153 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 95 KiB |
@@ -0,0 +1 @@
|
|||||||
|
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};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
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};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
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};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
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};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
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};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
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};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
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};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
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};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
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};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
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};
|
||||||
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |