Files
thejinchao.github.io/blog/index.html
T

42 lines
20 KiB
HTML

<!doctype html>
<html lang="zh-CN" data-theme="light">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="generator" content="VuePress 2.0.0-rc.24" />
<meta name="theme" content="VuePress Theme Hope 2.0.0-rc.94" />
<style>
:root {
--vp-c-bg: #fff;
}
[data-theme="dark"] {
--vp-c-bg: #1b1b1f;
}
html,
body {
background: var(--vp-c-bg);
}
</style>
<script>
const userMode = localStorage.getItem("vuepress-theme-hope-scheme");
const systemDarkMode =
window.matchMedia &&
window.matchMedia("(prefers-color-scheme: dark)").matches;
if (userMode === "dark" || (userMode !== "light" && systemDarkMode)) {
document.documentElement.setAttribute("data-theme", "dark");
}
</script>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"我的文章","image":[""],"dateModified":"2025-03-11T16:28:21.000Z","author":[{"@type":"Person","name":"JinChao","url":"https://thecodeway.com"}]}</script><meta property="og:url" content="https://thejinchao.github.io/blog/"><meta property="og:site_name" content="我的博客和笔记"><meta property="og:title" content="我的文章"><meta property="og:description" content="我的文章 从抛币协议到智能合约 , JPEG算法解密 , , , , Github SPH算法简介 , , , Github , Github 匀速贝塞尔曲线运动实现 ,"><meta property="og:type" content="article"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2025-03-11T16:28:21.000Z"><meta property="article:modified_time" content="2025-03-11T16:28:21.000Z"><title>我的文章 | 我的博客和笔记</title><meta name="description" content="我的文章 从抛币协议到智能合约 , JPEG算法解密 , , , , Github SPH算法简介 , , , Github , Github 匀速贝塞尔曲线运动实现 ,">
<link rel="preload" href="/assets/style-DeGCDZm0.css" as="style"><link rel="stylesheet" href="/assets/style-DeGCDZm0.css">
<link rel="modulepreload" href="/assets/app-zNUiodpH.js"><link rel="modulepreload" href="/assets/index.html-IXKjbyO8.js"><link rel="modulepreload" href="/assets/plugin-vue_export-helper-DlAUqK2U.js">
<link rel="prefetch" href="/assets/about.html-DIOu_MXJ.js" as="script"><link rel="prefetch" href="/assets/index.html-BkWrlrp7.js" as="script"><link rel="prefetch" href="/assets/index.html-B9O7VHzc.js" as="script"><link rel="prefetch" href="/assets/flip_coin.html-Diyg3kEU.js" as="script"><link rel="prefetch" href="/assets/index.html-CtcJaWc1.js" as="script"><link rel="prefetch" href="/assets/mental_poker.html-gosOqgdR.js" as="script"><link rel="prefetch" href="/assets/rsa.html-BZfELUK-.js" as="script"><link rel="prefetch" href="/assets/index.html-DBKe6MuD.js" as="script"><link rel="prefetch" href="/assets/index.html-CEfFAstN.js" as="script"><link rel="prefetch" href="/assets/group.html-DA1kwjki.js" as="script"><link rel="prefetch" href="/assets/index.html-CvxhlBMj.js" as="script"><link rel="prefetch" href="/assets/number_theory_1.html-BdFIMH_e.js" as="script"><link rel="prefetch" href="/assets/number_theory_2.html-C_jss0NO.js" as="script"><link rel="prefetch" href="/assets/number_theory_3.html-CyVl7TrY.js" as="script"><link rel="prefetch" href="/assets/probability.html-DYCPKp2d.js" as="script"><link rel="prefetch" href="/assets/symbol.html-DcSIPPS3.js" as="script"><link rel="prefetch" href="/assets/DH.html-BaEywoce.js" as="script"><link rel="prefetch" href="/assets/Ellipse.html-CHo32yEh.js" as="script"><link rel="prefetch" href="/assets/Fibonacci.html-CJcXwT6T.js" as="script"><link rel="prefetch" href="/assets/JPEG001.html-DrOjxWzs.js" as="script"><link rel="prefetch" href="/assets/JPEG002.html-BBbw955K.js" as="script"><link rel="prefetch" href="/assets/JPEG003.html-BZjvFEKg.js" as="script"><link rel="prefetch" href="/assets/JPEG004.html-BCKM-Ibq.js" as="script"><link rel="prefetch" href="/assets/JPEG005.html-Bs3q_H-v.js" as="script"><link rel="prefetch" href="/assets/Martingle.html-DwNYTPZs.js" as="script"><link rel="prefetch" href="/assets/MentalPoker01.html-C_t2Lm8w.js" as="script"><link rel="prefetch" href="/assets/MentalPoker02.html-C_lWiZSi.js" as="script"><link rel="prefetch" href="/assets/RandRound.html-D4hRQ8wJ.js" as="script"><link rel="prefetch" href="/assets/SPH001.html-HYH_Kb1C.js" as="script"><link rel="prefetch" href="/assets/SPH002.html-CmhUUvAu.js" as="script"><link rel="prefetch" href="/assets/SPH003.html-BXukr-ak.js" as="script"><link rel="prefetch" href="/assets/SPH004.html-DuY1mYda.js" as="script"><link rel="prefetch" href="/assets/SegmentCircle.html-CIc3e2aM.js" as="script"><link rel="prefetch" href="/assets/BezierLine01.html-BAoF6_PV.js" as="script"><link rel="prefetch" href="/assets/BezierLine02.html-DnytKj9A.js" as="script"><link rel="prefetch" href="/assets/index.html-jNMchhkf.js" as="script"><link rel="prefetch" href="/assets/ibl_01.html-CsDkzCZV.js" as="script"><link rel="prefetch" href="/assets/ibl_02.html-Cgn-Vs4N.js" as="script"><link rel="prefetch" href="/assets/index.html-BVC7M6Ob.js" as="script"><link rel="prefetch" href="/assets/index.html-Dlk0znQ0.js" as="script"><link rel="prefetch" href="/assets/math_01.html-C23LoKOM.js" as="script"><link rel="prefetch" href="/assets/math_02.html-Dt9qw6bu.js" as="script"><link rel="prefetch" href="/assets/math_03.html-BzVwDiK-.js" as="script"><link rel="prefetch" href="/assets/transform_01.html-BDgNgWj8.js" as="script"><link rel="prefetch" href="/assets/transform_02.html-BPY_EfOt.js" as="script"><link rel="prefetch" href="/assets/transform_03.html-D6rou_jC.js" as="script"><link rel="prefetch" href="/assets/transform_04.html-DPxLsttc.js" as="script"><link rel="prefetch" href="/assets/index.html-Co1woSvO.js" as="script"><link rel="prefetch" href="/assets/raster01.html-NyN0cUWD.js" as="script"><link rel="prefetch" href="/assets/raster02.html-D0SbQ6ya.js" as="script"><link rel="prefetch" href="/assets/raster03.html-BzW7C0Z3.js" as="script"><link rel="prefetch" href="/assets/function.html-CbNX-iqv.js" as="script"><link rel="prefetch" href="/assets/grammar.html-DN4zG6EE.js" as="script"><link rel="prefetch" href="/assets/helloworld.html-DApPQPys.js" as="script"><link rel="prefetch" href="/assets/index.html-DPCJY9gR.js" as="script"><link rel="prefetch" href="/assets/object_and_class.html-CmRrToq-.js" as="script"><link rel="prefetch" href="/assets/BRDF.html-B9V6Uem4.js" as="script"><link rel="prefetch" href="/assets/illumination_model_01.html-D9nf_Ljq.js" as="script"><link rel="prefetch" href="/assets/luminosity.html-GpJv704T.js" as="script"><link rel="prefetch" href="/assets/microfacets_1.html-CV6ZtGQy.js" as="script"><link rel="prefetch" href="/assets/microfacets_2.html-c65CAkw2.js" as="script"><link rel="prefetch" href="/assets/microfacets_3.html-SWi2I9tq.js" as="script"><link rel="prefetch" href="/assets/render_function_1.html-CGqUQL03.js" as="script"><link rel="prefetch" href="/assets/404.html-DWOzxaVs.js" as="script"><link rel="prefetch" href="/assets/index.html-pztirqtO.js" as="script"><link rel="prefetch" href="/assets/index.html-DDzdfaGz.js" as="script"><link rel="prefetch" href="/assets/index.html-DuKX36ts.js" as="script"><link rel="prefetch" href="/assets/index.html-CO2-gtR5.js" as="script"><link rel="prefetch" href="/assets/index.html-BuSUqzrF.js" as="script"><link rel="prefetch" href="/assets/index.html-Ba-2QMga.js" as="script"><link rel="prefetch" href="/assets/index.html-BLIi24SN.js" as="script"><link rel="prefetch" href="/assets/index.html-CmEjVeww.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-CKV1Bsxh.js" as="script">
</head>
<body>
<div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container external-link-icon" vp-container><!--[--><header id="navbar" class="vp-navbar" vp-navbar><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><a class="route-link vp-brand" href="/" aria-label="带我回家"><img class="vp-nav-logo" src="/favicon.png" alt><!----><span class="vp-site-name hide-in-pad">我的博客和笔记</span></a><!--]--></div><div class="vp-navbar-center"><!--[--><nav class="vp-nav-links"><div class="vp-nav-item hide-in-mobile"><a class="route-link auto-link" href="/" aria-label="主页"><!--[--><iconify-icon class="vp-icon" icon="fa6-solid:house" sizing="height" height="1em"></iconify-icon><!--]-->主页<!----></a></div><div class="vp-nav-item hide-in-mobile"><a class="route-link route-link-active auto-link" href="/blog/" aria-label="文章"><!--[--><iconify-icon class="vp-icon" icon="fa6-solid:book" sizing="height" height="1em"></iconify-icon><!--]-->文章<!----></a></div><div class="vp-nav-item hide-in-mobile"><div class="vp-dropdown-wrapper"><button type="button" class="vp-dropdown-title" aria-label="开源项目"><!--[--><iconify-icon class="vp-icon" icon="fa6-solid:diagram-project" sizing="height" height="1em"></iconify-icon>开源项目<!--]--><span class="arrow"></span><ul class="vp-dropdown"><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://github.com/thejinchao/turbolink" aria-label="TurboLink" rel="noopener noreferrer" target="_blank"><!---->TurboLink<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://github.com/thejinchao/TinyEncrypt" aria-label="TinyEncrypt" rel="noopener noreferrer" target="_blank"><!---->TinyEncrypt<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://github.com/thejinchao/ue5-style-guide" aria-label="UnrealStyleGuide" rel="noopener noreferrer" target="_blank"><!---->UnrealStyleGuide<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://github.com/thejinchao/AxTrace" aria-label="AxTrace" rel="noopener noreferrer" target="_blank"><!---->AxTrace<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://github.com/thejinchao/cyclone" aria-label="Cyclone" rel="noopener noreferrer" target="_blank"><!---->Cyclone<!----></a></li></ul></button></div></div><div class="vp-nav-item hide-in-mobile"><div class="vp-dropdown-wrapper"><button type="button" class="vp-dropdown-title" aria-label="个人笔记"><!--[--><iconify-icon class="vp-icon" icon="fa6-solid:lightbulb" sizing="height" height="1em"></iconify-icon>个人笔记<!--]--><span class="arrow"></span><ul class="vp-dropdown"><li class="vp-dropdown-item"><a class="route-link auto-link" href="/note/math/" aria-label="数学相关"><!---->数学相关<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/note/graphics/" aria-label="图形学"><!---->图形学<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/note/cryptography/" aria-label="密码学"><!---->密码学<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/note/language/" aria-label="编程语言"><!---->编程语言<!----></a></li></ul></button></div></div><div class="vp-nav-item hide-in-mobile"><a class="route-link auto-link" href="/about.html" aria-label="关于"><!--[--><iconify-icon class="vp-icon" icon="fa6-solid:user-astronaut" sizing="height" height="1em"></iconify-icon><!--]-->关于<!----></a></div></nav><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!----><div class="vp-nav-item hide-in-mobile"><button type="button" class="vp-color-mode-switch" id="color-mode-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" name="auto" style="display:block;"><path d="M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm0-840c-198.78 0-360 161.22-360 360 0 198.84 161.22 360 360 360s360-161.16 360-360c0-198.78-161.22-360-360-360zm0 660V212c165.72 0 300 134.34 300 300 0 165.72-134.28 300-300 300z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" name="dark" style="display:none;"><path d="M524.8 938.667h-4.267a439.893 439.893 0 0 1-313.173-134.4 446.293 446.293 0 0 1-11.093-597.334A432.213 432.213 0 0 1 366.933 90.027a42.667 42.667 0 0 1 45.227 9.386 42.667 42.667 0 0 1 10.24 42.667 358.4 358.4 0 0 0 82.773 375.893 361.387 361.387 0 0 0 376.747 82.774 42.667 42.667 0 0 1 54.187 55.04 433.493 433.493 0 0 1-99.84 154.88 438.613 438.613 0 0 1-311.467 128z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" name="light" style="display:none;"><path d="M952 552h-80a40 40 0 0 1 0-80h80a40 40 0 0 1 0 80zM801.88 280.08a41 41 0 0 1-57.96-57.96l57.96-58a41.04 41.04 0 0 1 58 58l-58 57.96zM512 752a240 240 0 1 1 0-480 240 240 0 0 1 0 480zm0-560a40 40 0 0 1-40-40V72a40 40 0 0 1 80 0v80a40 40 0 0 1-40 40zm-289.88 88.08-58-57.96a41.04 41.04 0 0 1 58-58l57.96 58a41 41 0 0 1-57.96 57.96zM192 512a40 40 0 0 1-40 40H72a40 40 0 0 1 0-80h80a40 40 0 0 1 40 40zm30.12 231.92a41 41 0 0 1 57.96 57.96l-57.96 58a41.04 41.04 0 0 1-58-58l58-57.96zM512 832a40 40 0 0 1 40 40v80a40 40 0 0 1-80 0v-80a40 40 0 0 1 40-40zm289.88-88.08 58 57.96a41.04 41.04 0 0 1-58 58l-57.96-58a41 41 0 0 1 57.96-57.96z"></path></svg></button></div><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar" vp-sidebar><!----><ul class="vp-sidebar-links"><li><a class="route-link auto-link vp-sidebar-link" href="/" aria-label="主页"><!--[--><iconify-icon class="vp-icon" icon="fa6-solid:house" sizing="both" width="1em" height="1em"></iconify-icon><!--]-->主页<!----></a></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable active" type="button"><iconify-icon class="vp-icon" icon="fa6-solid:book" sizing="both" width="1em" height="1em"></iconify-icon><span class="vp-sidebar-title">我的文章</span><span class="vp-arrow down"></span></button><ul class="vp-sidebar-links"><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable active" type="button"><!----><span class="vp-sidebar-title">从抛币协议到智能合约</span><span class="vp-arrow down"></span></button><ul class="vp-sidebar-links"><li><a class="route-link auto-link vp-sidebar-link" href="/blog/2025/02/MentalPoker01.html" aria-label="Part1"><!---->Part1<!----></a></li><li><a class="route-link auto-link vp-sidebar-link" href="/blog/2025/02/MentalPoker02.html" aria-label="Part2"><!---->Part2<!----></a></li></ul></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable active" type="button"><!----><span class="vp-sidebar-title">JPEG算法解密</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable active" type="button"><!----><span class="vp-sidebar-title">SPH算法简介</span><span class="vp-arrow end"></span></button><!----></section></li><li><a class="route-link auto-link vp-sidebar-link" href="/blog/2025/02/Martingle.html" aria-label="赌博中的数学:Martingle策略"><!---->赌博中的数学:Martingle策略<!----></a></li><li><a class="route-link auto-link vp-sidebar-link" href="/blog/2025/02/RandRound.html" aria-label="如何生成一个随机的圆形"><!---->如何生成一个随机的圆形<!----></a></li><li><a class="route-link auto-link vp-sidebar-link" href="/blog/2025/02/DH.html" aria-label="一个简单的DH密钥协商算法的实现"><!---->一个简单的DH密钥协商算法的实现<!----></a></li><li><a class="route-link auto-link vp-sidebar-link" href="/blog/2025/02/SegmentCircle.html" aria-label="如何计算线段和圆的交点"><!---->如何计算线段和圆的交点<!----></a></li><li><a class="route-link auto-link vp-sidebar-link" href="/blog/2025/02/Ellipse.html" aria-label="一道数学趣题"><!---->一道数学趣题<!----></a></li><li><a class="route-link auto-link vp-sidebar-link" href="/blog/2025/02/Fibonacci.html" aria-label="斐波那契数列和1/89"><!---->斐波那契数列和1/89<!----></a></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable active" type="button"><!----><span class="vp-sidebar-title">匀速贝塞尔曲线运动的实现</span><span class="vp-arrow end"></span></button><!----></section></li></ul></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><iconify-icon class="vp-icon" icon="fa6-solid:diagram-project" sizing="both" width="1em" height="1em"></iconify-icon><span class="vp-sidebar-title">开源项目</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><iconify-icon class="vp-icon" icon="fa6-solid:lightbulb" sizing="both" width="1em" height="1em"></iconify-icon><span class="vp-sidebar-title">学习笔记</span><span class="vp-arrow end"></span></button><!----></section></li></ul><!----></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!----><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->我的文章</h1><!----><hr></div><!----><div class="" vp-content><!----><div id="markdown-content"><h1 id="我的文章" tabindex="-1"><a class="header-anchor" href="#我的文章"><span>我的文章</span></a></h1><ul><li>从抛币协议到智能合约 <ul><li><a class="route-link" href="/blog/2025/02/MentalPoker01.html">Part1</a>, <a class="route-link" href="/blog/2025/02/MentalPoker02.html">Part2</a></li></ul></li><li>JPEG算法解密 <ul><li><a class="route-link" href="/blog/2025/02/JPEG001.html">Part1</a>, <a class="route-link" href="/blog/2025/02/JPEG002.html">Part2</a>, <a class="route-link" href="/blog/2025/02/JPEG003.html">Part3</a>, <a class="route-link" href="/blog/2025/02/JPEG004.html">Part4</a>, <a class="route-link" href="/blog/2025/02/JPEG005.html">Part5</a></li><li><a href="http://github.com/thejinchao/jpeg_encoder" target="_blank" rel="noopener noreferrer">Github</a></li></ul></li><li>SPH算法简介 <ul><li><a class="route-link" href="/blog/2025/02/SPH001.html">Part1</a>, <a class="route-link" href="/blog/2025/02/SPH002.html">Part2</a>, <a class="route-link" href="/blog/2025/02/SPH003.html">Part3</a>, <a class="route-link" href="/blog/2025/02/SPH004.html">Part4</a></li><li><a href="https://github.com/thejinchao/fluid" target="_blank" rel="noopener noreferrer">Github</a></li></ul></li><li><a class="route-link" href="/blog/2025/02/Martingle.html">赌博中的数学:Martingle策略</a></li><li><a class="route-link" href="/blog/2025/02/RandRound.html">如何生成一个随机的圆形</a></li><li><a class="route-link" href="/blog/2025/02/DH.html">一个简单的DH密钥协商算法的实现</a>, <a href="https://github.com/thejinchao/dhexchange" target="_blank" rel="noopener noreferrer">Github</a></li><li><a class="route-link" href="/blog/2025/02/SegmentCircle.html">如何计算线段和圆的交点</a></li><li><a class="route-link" href="/blog/2025/02/Ellipse.html">一道数学趣题</a></li><li><a class="route-link" href="/blog/2025/02/Fibonacci.html">斐波那契数列和1/89</a></li><li>匀速贝塞尔曲线运动实现 <ul><li><a class="route-link" href="/blog/2025/03/BezierLine01.html">Part1</a>, <a class="route-link" href="/blog/2025/03/BezierLine02.html">Part2</a></li></ul></li></ul></div><!----><!----><!----></div><footer class="vp-page-meta"><!----><div class="vp-meta-item git-info"><!----><!----></div></footer><!----><!----><!----><!--]--></main><!--]--><footer class="vp-footer-wrapper" vp-footer><div class="vp-footer">使用 <a href="https://theme-hope.vuejs.press/zh/" target="_blank">VuePress Theme Hope</a> 主题 | <a href="https://beian.miit.gov.cn/" target="_blank">京ICP备16018986号-1</a></div><!----></footer></div><!--]--><!--]--><!--[--><!----><!--[--><!--]--><!--]--><!--]--></div>
<script type="module" src="/assets/app-zNUiodpH.js" defer></script>
</body>
</html>