<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Nishikori Yui</title>
        <link>https://nishikori.dev</link>
        <description>Technology, games, cinema, and daily writing.</description>
        <lastBuildDate>Mon, 03 Aug 2026 04:30:31 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>Copyright © Nishikori Yui. All rights reserved.</copyright>
        <atom:link href="https://nishikori.dev/feed.xml" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[在 Apple Silicon 上做一個輕量鬥地主 AI]]></title>
            <link>https://nishikori.dev/posts/landlordformer-lite</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/landlordformer-lite</guid>
            <pubDate>Sat, 01 Aug 2026 10:02:35 GMT</pubDate>
            <description><![CDATA[OpenLandLord 專案中的輕量策略模型 LandlordFormer-Lite，以 DouZero-ADP 為教師；本文記錄其架構、公開信念、分數感知價值目標、完整對局結果與後續研究方向。]]></description>
            <content:encoded><![CDATA[<h2>LandlordFormer-Lite：從 DouZero 蒸餾到階段性結果</h2>
<p>從去年開始，出於個人興趣，我們開啟了專案「OpenLandLord」，並構建了规则引擎、数据生成、蒸馏管线、对局评测与可视化后端等模塊。在基礎模塊搭建好後，我們開展了對「LandlordFormer-Lite」的設計。這是一個以 DouZero-ADP 為參考，規模更小、適合在 Apple Silicon 上迭代與部署的鬥地主模型。</p>
<p>截至目前，我們所構建的 LandlordFormer-Lite 只有 139,021 個參數，約為三個 DouZero 角色模型總參數的 <strong>3.10%</strong>。儘管在實際對局能力中其還沒有追平教師，但已經使我們明確後續改進方向。在本階段工作中，我們通過分析研究後，將價值頭從「只預測輸贏」修改為「預測經截斷的終局分差」，從而使得產物在三組全新牌局上的勝率由 34.26% 提升至 35.19%，平均每局分數由 -2.406 改善至 -2.321。</p>
<p>這是目前最好的階段性結果，但它與我們設想的完整版本仍有距離：三個角色尚未同時受益、叫牌還沒有特化訓練，牌力也需要繼續提高。</p>
<h2>為什麼要重新做一個小模型</h2>
<p>從理論上來分析，鬥地主對小模型並不友善，主要有四個原因：</p>
<ol>
<li><strong>資訊不完整。</strong> 玩家只能看到自己的手牌與公開歷史，對手手牌始終是隱變數。</li>
<li><strong>角色不對稱。</strong> 地主獨自對抗兩名農民，三個座位的決策分布差異很大。</li>
<li><strong>合法動作數量變化很大。</strong> 某些局面幾乎是強制出牌，某些地主局面卻可能同時有十幾種選擇。</li>
<li><strong>輸贏不是全部。</strong> 炸彈、春天與倍數會放大終局分差；同樣是輸，代價可能完全不同。</li>
</ol>
<p>DouZero 已經證明，對所有合法動作逐一評分是處理這類問題的有效方式 [@zha2021douzero]。但原始系統為三個角色保留三套模型，重點也在大規模自我對弈。我們想探索另一條路：讓三個角色共享大部分表示，用一個很小的 Transformer 同時理解公開狀態、合法動作集合與角色差異。</p>
<p>目標並不是單純追求最少參數。真正希望得到的是一個可以快速迭代的研究載體：模型足夠小，能反覆做消融；推論足夠快，可以接進即時對局；同時仍保留足夠牌力，讓架構與訓練方法的差異能在完整牌局中顯現。</p>
<h2>我們是怎麼做的</h2>
<h3>1. 讓教師評分所有合法動作</h3>
<p>如果蒸餾資料只記錄 DouZero 最後選了哪一手牌，學生只能看到一個硬答案，其他合法動作之間的差異都會消失；保留教師的軟分布也是策略蒸餾的核心方法之一 [@rusu2016policy]。因此，每個決策狀態都保存：</p>
<ul>
<li>當前玩家能看到的狀態與手牌；</li>
<li>完整的標準合法動作集合；</li>
<li>DouZero 對每個合法動作的分數與溫度化機率；</li>
<li>教師最後選擇的動作；</li>
<li>這副牌的終局結果與分差。</li>
</ul>
<p>在這套分工中，OpenLandLord 是唯一的規則裁判；LandlordFormer-Lite 學習如何在合法動作中做決策。DouZero-ADP 負責為裁判給出的合法動作提供教師分數，不會取得對手私有手牌，也不能繞過規則引擎。資料則按整副牌切分，避免同一副牌的不同決策同時出現在訓練與驗證中。</p>
<p>目前主要資料由 500 手教師軌跡與 500 手學生／教師混合軌跡構成，共 35,672 個決策狀態。在混合軌跡中，學生控制一半出牌，DouZero 仍會為所有到訪狀態重新提供完整動作分數。這讓資料同時包含教師熟悉的狀態，以及學生自己走偏後真正會遇到的狀態。</p>
<h3>2. 用 Transformer 編碼狀態，用 Deep Sets 理解合法動作</h3>
<p>LandlordFormer-Lite 的狀態編碼器只有兩層 Transformer：</p>
<ul>
<li>hidden size 64；</li>
<li>4 個注意力頭；</li>
<li>feed-forward size 128；</li>
<li>15 個手牌牌階／張數 token；</li>
<li>三位玩家的公開已出牌摘要；</li>
<li>叫牌、出牌與 pass 的公開歷史。</li>
</ul>
<p>每個合法動作會獨立編碼，並以 query 的方式讀取狀態序列。接著，模型用 masked mean/max Deep Sets 摘要整個合法動作集合，讓策略知道「當前這個動作與其他選項相比如何」，又不依賴合法動作的排列順序；這一設計也延續了集合模型對排列不變性的處理思路 [@lee2019settransformer]。</p>
<p>我們也測過誘導注意力、三套角色專屬策略頭與額外動作分數回歸頭。它們都增加了模型複雜度，但沒有換來更好的完整對局結果。最後保留下來的是秩為 8 的低秩角色 adapter：大部分知識共享，只用很小的殘差表示地主、地主下家與地主上家的差異。</p>
<p>這個組合把模型控制在 139,021 個參數：</p>
<table>
<thead>
<tr>
<th>模型</th>
<th style="text-align:right">參數量</th>
<th style="text-align:right">相對 DouZero</th>
<th style="text-align:right">權重大小</th>
</tr>
</thead>
<tbody>
<tr>
<td>DouZero-ADP 三角色模型</td>
<td style="text-align:right">4,486,659</td>
<td style="text-align:right">100%</td>
<td style="text-align:right">17.96 MB</td>
</tr>
<tr>
<td>LandlordFormer-Lite</td>
<td style="text-align:right">139,021</td>
<td style="text-align:right">3.10%</td>
<td style="text-align:right">591 KB</td>
</tr>
</tbody>
</table>
<p>這裡得到的第一個方向很明確：<strong>對小模型而言，讓架構符合問題本身，比直接增加 Transformer 容量更有效。</strong> 合法動作是集合，角色不同但共享大量知識；把這兩點直接寫進模型，比多加一層通用模組更划算。</p>
<h3>3. 用牌數守恆限制公開信念</h3>
<p>只看公開歷史仍不足以描述不完全資訊。受到 PerfectDou、DouZero+、BAD 與 ReBeL 的啟發 [@yang2022perfectdou; @zhao2022douzeroplus; @foerster2019bad; @brown2020rebel]，我們加入一個很小的公開信念頭。</p>
<p>對每個牌階 $r$，自己的手牌與已出牌可以確定尚未觀察到的牌數 $u_r$。模型預測下一位對手持有 $k_r$ 張的分布：</p>
<p>$$
P(k_r \mid h_{\mathrm{public}}), \qquad 0 \le k_r \le u_r.
$$</p>
<p>超過 $u_r$ 的張數直接遮罩；另一位對手的期望張數以 $u_r-E[k_r]$ 計算，因此每個牌階都嚴格符合牌數守恆。策略只接收兩位對手的期望張數，不接收完整類別分布，而且信念特徵在輸入策略前停止梯度。</p>
<p>這幾個限制看似保守，結果卻比更豐富的版本好。只把信念當輔助任務、把完整類別分布輸入策略，或再加入二階矩，都沒有穩定改善牌力。最有效的形式反而是「守恆、期望值、停止梯度」。</p>
<p>這指向第二個方向：<strong>不完全資訊模型需要的未必是更大的信念表示，而可能是更可靠的資訊瓶頸。</strong> 下一步值得研究的不是無限制增加隱藏資訊維度，而是如何讓少量信念特徵更準確、更符合規則，也更能服務不同角色。</p>
<h3>4. 從「輸或贏」改成「輸贏多少」</h3>
<p>前幾個版本用 $y\in{-1,1}$ 監督價值頭。這會把小輸與高倍數慘敗視為同一個目標，無法向表示層傳遞風險差異。</p>
<p>目前最有效的修改，是改用經縮放與截斷的終局分差：</p>
<p>$$
v^* = \operatorname{clip}\left(\frac{\Delta_{\mathrm{terminal}}}{24},-1,1\right).
$$</p>
<p>截斷保留了「輸得多重」的訊號，又避免少數極端倍數完全支配梯度。這個修改不增加模型參數，也不改變推論圖，只改變訓練時價值頭看到的目標。</p>
<h2>做完之後，結果發生了什麼</h2>
<h3>探索階段：分數目標帶來最明顯的提升</h3>
<p>所有版本都與 DouZero-ADP 使用同一規則引擎與叫牌流程。每組 300 手原始牌會把學生輪流放到三個座位，形成 900 場鏡像對局。統計時仍以原始牌局為單位，避免把共享同一副牌的三場對局視為完全獨立樣本。</p>
<p>前三組牌局用於比較架構與訓練方法，共 2,700 場對局：</p>
<table>
<thead>
<tr>
<th>版本</th>
<th style="text-align:right">勝率</th>
<th style="text-align:right">平均每局分數</th>
</tr>
</thead>
<tbody>
<tr>
<td>教師軌跡公開信念模型</td>
<td style="text-align:right">31.70%</td>
<td style="text-align:right">-2.580</td>
</tr>
<tr>
<td>加入 50% 學生狀態，統一採樣</td>
<td style="text-align:right">31.81%</td>
<td style="text-align:right">-2.572</td>
</tr>
<tr>
<td>學生／教師分歧重播</td>
<td style="text-align:right">32.04%</td>
<td style="text-align:right">-2.758</td>
</tr>
<tr>
<td><strong>分數感知價值目標</strong></td>
<td style="text-align:right"><strong>33.48%</strong></td>
<td style="text-align:right"><strong>-2.488</strong></td>
</tr>
</tbody>
</table>
<p><img src="https://img.nishikori.dev/openlandlord/stage-paper/exploratory_strength.png" alt="四個階段版本在探索牌局上的勝率與平均分數。分歧重播讓勝率略升，平均分數卻惡化；分數感知價值目標是第一個同時改善兩項指標的版本，因此被帶入全新牌局測試。"></p>
<p>分歧重播提高了部分狀態上的教師模仿率，但平均分數反而惡化，並出現幾場極端失分。分數感知價值目標則同時改善勝率與分數，成為最值得繼續測試的版本。</p>
<p>這裡揭示了第三個方向：<strong>選模不能只看教師一致率，也不能只看勝率。</strong> 完整牌局的分數、角色切片與尾部損失，會暴露局部模仿指標看不到的風險。</p>
<h3>全新牌局：方向延續，但角色仍不均衡</h3>
<p>選定分數感知版本後，我們再使用三組全新牌局，共 2,700 場鏡像對局：</p>
<table>
<thead>
<tr>
<th>版本</th>
<th style="text-align:right">勝場／對局</th>
<th style="text-align:right">勝率</th>
<th style="text-align:right">平均每局分數</th>
</tr>
</thead>
<tbody>
<tr>
<td>統一採樣模型</td>
<td style="text-align:right">925/2,700</td>
<td style="text-align:right">34.26%</td>
<td style="text-align:right">-2.406</td>
</tr>
<tr>
<td><strong>分數感知模型</strong></td>
<td style="text-align:right"><strong>950/2,700</strong></td>
<td style="text-align:right"><strong>35.19%</strong></td>
<td style="text-align:right"><strong>-2.321</strong></td>
</tr>
</tbody>
</table>
<p><img src="https://img.nishikori.dev/openlandlord/stage-paper/heldout_comparison.png" alt="三組全新牌局上的配對比較。灰線表示各組牌局，黑線表示整體平均；三組牌局的勝率與平均分數都朝同一方向改善，說明分數目標的效果延伸到了未參與選模的牌局。"></p>
<p>三組新牌局的勝率與分數全部朝同一方向改善。以原始牌局做配對 bootstrap，勝率差為 +0.93 個百分點，95% 信賴區間為 [-0.26, +2.15]；平均分數差為 +0.084，區間為 [-0.068, +0.239]。這是目前的最優結果，也說明下一輪需要更多全新牌局來縮小波動範圍。</p>
<p>按角色拆開後，新的研究問題也出現了：</p>
<table>
<thead>
<tr>
<th>角色</th>
<th style="text-align:right">統一採樣勝率</th>
<th style="text-align:right">分數感知勝率</th>
<th style="text-align:right">統一採樣分數</th>
<th style="text-align:right">分數感知分數</th>
</tr>
</thead>
<tbody>
<tr>
<td>地主</td>
<td style="text-align:right">16.11%</td>
<td style="text-align:right">18.44%</td>
<td style="text-align:right">-5.753</td>
<td style="text-align:right">-5.413</td>
</tr>
<tr>
<td>地主下家</td>
<td style="text-align:right">43.44%</td>
<td style="text-align:right">45.56%</td>
<td style="text-align:right">-0.740</td>
<td style="text-align:right">-0.663</td>
</tr>
<tr>
<td>地主上家</td>
<td style="text-align:right">43.22%</td>
<td style="text-align:right">41.56%</td>
<td style="text-align:right">-0.723</td>
<td style="text-align:right">-0.887</td>
</tr>
</tbody>
</table>
<p><img src="https://img.nishikori.dev/openlandlord/stage-paper/heldout_role_breakdown.png" alt="全新牌局按學生角色切分後的勝率與平均分數。分數感知目標改善了地主與地主下家，地主上家則退化；整體平均提升之下仍存在角色失衡。"></p>
<p>地主與地主下家受益，地主上家卻退化。未來的角色共享研究需要在「共享表示」與「角色專屬調整」之間找到更好的位置，而不是簡單拆回三套完整模型。</p>
<h3>更大的資料集沒有自然帶來更強的模型</h3>
<p>我們也嘗試把資料從 500 手擴大到 1,000 或 2,000 手。在累計更新量相近時，更多不同狀態意味著每個狀態得到的重複優化更少，實戰表現反而下降。1,000 手版本的離線教師一致率更高，實戰卻只有 26.44% 勝率與 -3.157 平均分數。</p>
<p>同樣地，用學生軌跡完全取代教師軌跡會把勝率降到 29.33%；合併兩種來源才回到 31.81%。這表示資料覆蓋與訓練曝光必須分開控制。下一步不能只問「再收集多少手牌」，而要研究「哪些狀態值得更多更新，以及如何在教師狀態和學生訪問狀態之間分配預算」。</p>
<h3>小模型已經足以支援即時對局</h3>
<p>固定形狀 Core ML 匯出在這次 Apple Silicon 測試中達到 0.466 ms P50、0.623 ms P95：</p>
<table>
<thead>
<tr>
<th>Core ML 設定</th>
<th style="text-align:right">P50</th>
<th style="text-align:right">P95</th>
</tr>
</thead>
<tbody>
<tr>
<td>CPU_ONLY</td>
<td style="text-align:right">0.466 ms</td>
<td style="text-align:right">0.623 ms</td>
</tr>
<tr>
<td>CPU_AND_NE</td>
<td style="text-align:right">0.498 ms</td>
<td style="text-align:right">0.639 ms</td>
</tr>
<tr>
<td>ALL</td>
<td style="text-align:right">0.494 ms</td>
<td style="text-align:right">0.643 ms</td>
</tr>
</tbody>
</table>
<p>三種設定的差異很小，CPU_ONLY 反而略快。compute-unit 描述的是調度偏好；若要進一步利用 Neural Engine，還需要逐算子 profiling 與更針對固定形狀算子的設計。對目前的可視化與人機對局而言，這個延遲已經足以讓模型即時回應。</p>
<h2>這些結果把下一步指向哪裡</h2>
<p>後續研究方向規劃如下。</p>
<h3>1. 讓分數目標真正對應高倍數風險</h3>
<p>目前有效的尺度設定是 24，下一步會比較不同縮放尺度、未截斷分數與更穩健的分位數目標。重點不只看平均分數，也要單獨追蹤炸彈與春天造成的尾部損失。</p>
<h3>2. 改善角色共享，而不是回到三套模型</h3>
<p>地主上家退化說明目前的低秩 adapter 還不夠精細。可以研究依角色與合法動作數動態調節的 adapter，或只在高分支地主狀態增加少量容量，同時保留大部分共享參數。</p>
<h3>3. 把公開信念變得更準，而不是更大</h3>
<p>完整分布與二階矩沒有自然帶來提升。更值得做的是校準期望牌數、利用玩家出牌行為更新信念，並研究信念誤差在三個角色上的不同影響。</p>
<h3>4. 同時控制資料覆蓋與更新次數</h3>
<p>更多牌局不等於更多有效學習。後續資料策略需要按整副牌控制曝光，針對學生常到訪、教師分歧大且終局代價高的狀態分配額外更新，而不是單純擴大資料集。</p>
<h3>5. 把叫牌納入同一套學習問題</h3>
<p>現在的結果主要反映出牌策略。完整版本還需要學習叫地主、搶地主與加倍，讓角色形成、倍數風險與後續出牌共享同一套價值尺度。</p>
<h2>階段性結語</h2>
<p>作為 OpenLandLord 目前的輕量策略模型，LandlordFormer-Lite 用約 3.10% 的教師參數量，實現了快速迭代、Core ML 匯出與完整三座位對局。最有效的改動並不是擴大網路，而是加入符合問題結構的限制：合法動作集合、低秩角色差異、守恆感知公開信念，以及能區分輸贏幅度的價值目標。</p>
<p>目前最優版本在全新牌局上同時改善了勝率與平均分數，但與最初設想相比，仍需要提高整體牌力、解決地主上家的退化，並把叫牌規則整合進來。這些差距使得後續研究從架構變化這個龐大的問題收斂為幾個可以清楚驗證的小問題。</p>
<pre><code class="language-bibtex">@inproceedings{zha2021douzero,
  author = {Zha, Daochen and Xie, Jingru and Ma, Wenye and Zhang, Sheng and Lian, Xiangru and Hu, Xia and Liu, Ji},
  title = {DouZero: Mastering DouDizhu with Self-Play Deep Reinforcement Learning},
  booktitle = {Proceedings of the 38th International Conference on Machine Learning},
  series = {Proceedings of Machine Learning Research},
  volume = {139},
  pages = {12333--12344},
  publisher = {PMLR},
  year = {2021},
  url = {https://proceedings.mlr.press/v139/zha21a.html}
}

@inproceedings{yang2022perfectdou,
  author = {Yang, Guan and Liu, Minghuan and Hong, Weijun and Zhang, Weinan and Fang, Fei and Zeng, Guangjun and Lin, Yue},
  title = {PerfectDou: Dominating DouDizhu with Perfect Information Distillation},
  booktitle = {Advances in Neural Information Processing Systems},
  volume = {35},
  pages = {34954--34965},
  publisher = {Curran Associates, Inc.},
  year = {2022},
  doi = {10.52202/068431-2533}
}

@inproceedings{zhao2022douzeroplus,
  author = {Zhao, Youpeng and Zhao, Jian and Hu, Xunhan and Zhou, Wengang and Li, Houqiang},
  title = {DouZero+: Improving DouDizhu AI by Opponent Modeling and Coach-guided Learning},
  booktitle = {2022 IEEE Conference on Games},
  pages = {127--134},
  publisher = {IEEE},
  year = {2022},
  doi = {10.1109/CoG51982.2022.9893710}
}

@inproceedings{lee2019settransformer,
  author = {Lee, Juho and Lee, Yoonho and Kim, Jungtaek and Kosiorek, Adam and Choi, Seungjin and Teh, Yee Whye},
  title = {Set Transformer: A Framework for Attention-based Permutation-Invariant Neural Networks},
  booktitle = {Proceedings of the 36th International Conference on Machine Learning},
  series = {Proceedings of Machine Learning Research},
  volume = {97},
  pages = {3744--3753},
  publisher = {PMLR},
  year = {2019},
  url = {https://proceedings.mlr.press/v97/lee19d.html}
}

@inproceedings{rusu2016policy,
  author = {Rusu, Andrei A. and Colmenarejo, Sergio Gomez and Gülçehre, Çaglar and Desjardins, Guillaume and Kirkpatrick, James and Pascanu, Razvan and Mnih, Volodymyr and Kavukcuoglu, Koray and Hadsell, Raia},
  title = {Policy Distillation},
  booktitle = {International Conference on Learning Representations},
  year = {2016},
  url = {https://mlanthology.org/iclr/2016/rusu2016iclr-policy/}
}

@inproceedings{foerster2019bad,
  author = {Foerster, Jakob and Song, Francis and Hughes, Edward and Burch, Neil and Dunning, Iain and Whiteson, Shimon and Botvinick, Matthew and Bowling, Michael},
  title = {Bayesian Action Decoder for Deep Multi-Agent Reinforcement Learning},
  booktitle = {Proceedings of the 36th International Conference on Machine Learning},
  series = {Proceedings of Machine Learning Research},
  volume = {97},
  pages = {1942--1951},
  publisher = {PMLR},
  year = {2019},
  url = {https://proceedings.mlr.press/v97/foerster19a.html}
}

@inproceedings{brown2020rebel,
  author = {Brown, Noam and Bakhtin, Anton and Lerer, Adam and Gong, Qucheng},
  title = {Combining Deep Reinforcement Learning and Search for Imperfect-Information Games},
  booktitle = {Advances in Neural Information Processing Systems},
  volume = {33},
  pages = {17057--17069},
  publisher = {Curran Associates, Inc.},
  year = {2020},
  url = {https://proceedings.neurips.cc/paper/2020/hash/c61f571dbd2fb949d3fe5ae1608dd48b-Abstract.html}
}
</code></pre>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>OpenLandLord</category>
            <category>LandlordFormer-Lite</category>
            <category>人工智慧</category>
            <category>強化學習</category>
            <category>模型蒸餾</category>
            <category>Transformer</category>
            <category>Apple Silicon</category>
            <category>鬥地主</category>
        </item>
        <item>
            <title><![CDATA[重建指標、消融證據與結論邊界]]></title>
            <link>https://nishikori.dev/posts/3dgs-series-10-evidence-boundaries-reconstruction-evaluation</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/3dgs-series-10-evidence-boundaries-reconstruction-evaluation</guid>
            <pubDate>Tue, 28 Apr 2026 12:20:00 GMT</pubDate>
            <description><![CDATA[以公開 3DGS 研究的對比與消融為例，區分圖像保真、幾何準確、訓練穩定與運行成本的證據，推導配對差值、置信區間、交互項、曲線穩定度與多目標 Pareto 判讀。]]></description>
            <content:encoded><![CDATA[<p><a href="/posts/3dgs-series-2-training-objective-evaluation">《3DGS 的訓練目標與重建評價》</a>推導了 PSNR、SSIM 與 LPIPS 的定義，也分析了這些指標對像素差異、局部結構和感知特徵的不同偏好 [@wang2004ssim; @zhang2018lpips]。同一項 3DGS 研究若同時改動增密、外觀解碼與幾何正則，單個指標只記錄最終渲染結果在相應度量下的變化，改善可能來自其中任意一條參數路徑。</p>
<h2>測試視圖與配對統計</h2>
<p>對觀測視圖集 $\mathcal V$，訓練、驗證與測試切分分別為</p>
<h1>$$
\mathcal V</h1>
<p>\mathcal V_{\mathrm{train}}
\cup
\mathcal V_{\mathrm{val}}
\cup
\mathcal V_{\mathrm{test}},
\qquad
\mathcal V_i\cap\mathcal V_j=\varnothing.
$$</p>
<p>訓練圖像用於梯度更新，驗證圖像用於選擇權重、停止時刻或檢查點，測試圖像留作最終評價。對每個場景反覆根據測試 PSNR 調整閾值，測試視圖便實際參與了模型選擇；即使沒有對它反向傳播，人工選擇也會引入信息泄漏。</p>
<p>相機軌跡上的相鄰幀高度相關。固定步長抽取的測試幀通常仍靠近訓練軌跡，主要反映局部視角插值；按相機位置和觀察方向拉大間隔後，測試集會包含更明顯的視角變化。公開基準沿用社區常用切分，額外切分單獨成表，兩組結果各自對應一套視圖分佈。</p>
<p>令方向係數 $\eta_m=1$ 表示指標越大越好，$\eta_m=-1$ 表示越小越好。對同一個測試視圖 $v$，方法 B 相對 A 的指標差定義為</p>
<h1>$$
\Delta_v</h1>
<p>\eta_m\left(m_v^{(B)}-m_v^{(A)}\right).
$$</p>
<p>平均差為</p>
<h1>$$
\overline\Delta</h1>
<p>\frac{1}{|\mathcal V_{\mathrm{test}}|}
\sum_v\Delta_v.
$$</p>
<p>按這個定義，$\Delta_v&gt;0$ 表示 B 在視圖 $v$ 上更好。每個視圖自身的難度同時存在於 $m_v^{(A)}$ 和 $m_v^{(B)}$ 中，在差值裏相互抵消。兩個總體平均值 $\overline m^{(A)}$ 和 $\overline m^{(B)}$ 會隱去這層配對關係，也看不出收益分佈在多數視圖，還是集中於少量極端樣本。</p>
<p>不對 $\Delta_v$ 作高斯分佈假設時，可以對測試視圖做 bootstrap。每次有放回抽取 $|\mathcal V_{\mathrm{test}}|$ 個差值並計算均值，重複 $B$ 次得到 ${\overline\Delta^{(b)}}_{b=1}^B$，以其 $2.5%$ 與 $97.5%$ 分位數構造 $95%$ 置信區間：</p>
<p>$$
\overline\Delta
\quad
[q_{0.025},q_{0.975}].
$$</p>
<p>連續軌跡中的逐幀差值並不獨立，逐幀重抽樣會低估不確定性。按連續幀塊做 block bootstrap，或先計算場景均值再在場景層級重抽樣，可以保留一部分相關結構。場景數很少時，置信區間表示的仍是當前場景集內的波動。</p>
<h2>弱紋理區域的統計</h2>
<p>全圖誤差中，每個像素的權重相同，大面積平滑區域因像素數量較多而佔據主要比例。特定材質、弱紋理、邊界或高光區域可以用預先定義的掩碼 $M_v(\mathbf p)$ 單獨統計，其加權 MSE 為</p>
<h1>$$
\operatorname{MSE}_M</h1>
<p>\frac{
\sum_{v,\mathbf p}
M_v(\mathbf p)
\left|
\widehat{\mathbf I}_v(\mathbf p)-\mathbf I_v(\mathbf p)
\right|<em>2^2
}{
3\sum</em>{v,\mathbf p}M_v(\mathbf p)+\varepsilon
}.
$$</p>
<p>對應的區域 PSNR 為</p>
<p>$$
\operatorname{PSNR}<em>M
=10\log</em>{10}
\frac{L^2}{\operatorname{MSE}_M}.
$$</p>
<p>區域結果的可比性取決於掩碼是否獨立於待比較方法。若用某個方法的渲染深度或殘差定義「難區域」，不同方法實際上落在不同像素集上。由真值圖像、外部語義或邊緣檢測生成掩碼，或者預先固定幾何條件，可以讓所有結果共用同一統計區域。</p>
<h2>圖像質量與幾何質量</h2>
<p>對真值深度 $D^*$ 和預測深度 $\widehat D$，有效像素集為 $\Omega_D$，可計算</p>
<h1>$$
\operatorname{RMSE}_D</h1>
<p>\sqrt{
\frac{1}{|\Omega_D|}
\sum_{\mathbf p\in\Omega_D}
\left(
\widehat D(\mathbf p)-D^*(\mathbf p)
\right)^2
}.
$$</p>
<p>全局尺度存在歧義時，尺度與偏置對齊會改變深度 RMSE 的含義。以最小二乘估計 $s$ 與 $b$ 可寫為</p>
<h1>$$
(s^<em>,b^</em>)</h1>
<p>\arg\min_{s,b}
\sum_{\mathbf p\in\Omega_D}
\left(
s\widehat D(\mathbf p)+b-D^*(\mathbf p)
\right)^2.
$$</p>
<p>對點雲 $P$ 與真值表面 $Q$，對稱 Chamfer 距離為</p>
<h1>$$
d_{\mathrm{CD}}(P,Q)</h1>
<p>\frac{1}{|P|}\sum_{\mathbf x\in P}
\min_{\mathbf y\in Q}|\mathbf x-\mathbf y|<em>2
+
\frac{1}{|Q|}\sum</em>{\mathbf y\in Q}
\min_{\mathbf x\in P}|\mathbf y-\mathbf x|_2.
$$</p>
<p>第一項近似準確性，第二項近似完整性。只輸出少量高置信度點可以降低第一項，同時會損失表面覆蓋。準確性與完整性共同描述點集和真值表面的雙向接近程度，也可以進一步組成調和指標。</p>
<figure id="fig_evidence_2dgs_limitations" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-10/2dgs-limitations.webp" alt="2DGS 在半透明玻璃與強高光區域的表面重建失敗案例" />
  <figcaption class="md-figure__caption">2DGS 的兩類失敗案例。半透明玻璃同時包含透射與多層表面，強高光又會隨視角改變；兩者都偏離局部不透明表面的假設，紅框與藍框中的網格因而出現孔洞或缺失 [@huang20242dgs]。</figcaption>
</figure>
<p>全場景平均 Chamfer 距離對這類局部失敗並不敏感。玻璃、高光與細薄結構通常只佔少量像素，局部孔洞會被大面積穩定表面稀釋；按材質類型和結構尺度拆分後，指標可以顯示這些區域的實際變化。圖像指標仍可能保持穩定，因為外觀分支可以在缺失幾何附近合成相近顏色。</p>
<h2>消融中的主效應與交互項</h2>
<p>以越大越好的指標 $y$ 為例，兩個模塊 A 與 B 的 $2\times2$ 消融包含四組結果：基線 $y_{00}$，只加 A 的 $y_{10}$，只加 B 的 $y_{01}$，以及同時加入兩者的 $y_{11}$。A 在 B 關閉時的效應為</p>
<p>$$
\Delta_A^{(B=0)}=y_{10}-y_{00},
$$</p>
<p>A 在 B 開啟時的效應為</p>
<p>$$
\Delta_A^{(B=1)}=y_{11}-y_{01}.
$$</p>
<p>交互項為</p>
<h1>$$
\Delta_{AB}</h1>
<p>y_{11}-y_{10}-y_{01}+y_{00}.
$$</p>
<p>$\Delta_{AB}=0$ 時，兩個模塊對該指標的影響在當前四組設置中近似可加；$\Delta_{AB}&lt;0$ 對應收益重疊或相互干擾；$\Delta_{AB}&gt;0$ 則顯示正向協同。它仍是特定數據、指標和訓練預算下的統計量，具體機制要結合中間輸出判斷。</p>
<p><a href="/posts/3dgs-series-8-propagation-densification-geometric-gating">《傳播式增密中的候選生成與幾何門控》</a>引用的 GaussianPro 消融正好包含這四組結果。傳播與平面約束的 PSNR 單獨收益分別為 $0.95$ dB 和 $0.49$ dB，組合收益為 $1.15$ dB，交互項由此得到 $-0.29$ dB [@cheng2024gaussianpro]。負值表明兩項收益存在重疊；深度、法線、高斯數和候選接受統計可以進一步定位重疊發生在哪些區域與訓練階段。</p>
<p>四組結果共用數據切分、圖像預處理、相機位姿、初始點雲、訓練預算與評價實現，交互項才有一致的計算基礎。GaussianPro 額外列出不同 SfM 點雲下的 3DGS 基線，從傳播收益中分離了初始化變化。Color MLP 的對照固定高斯初始化與增密調度，本徵監督的對照固定偽標籤、置信掩碼和啟用時刻，差值便分別落在外觀參數化與監督信號上。</p>
<h2>定量差值的空間分佈</h2>
<p>均值 $\overline\Delta$ 把視圖間差異壓縮成一個數。將配對差值 ${\Delta_v}$ 排序後，中位數附近、改善分佈上分位和下分位的視圖分別對應典型結果、明顯收益與退化案例。預先固定這三個位置，也能減少先查看渲染圖再挑選樣本帶來的偏差。</p>
<p>視圖內部還可計算逐像素改善圖。以方法 B 相對 A 的 L1 殘差變化為例，</p>
<h1>$$
G_v(\mathbf p)</h1>
<h2>\left|
\widehat{\mathbf I}^{(A)}_v(\mathbf p)-\mathbf I_v(\mathbf p)
\right|_1</h2>
<p>\left|
\widehat{\mathbf I}^{(B)}_v(\mathbf p)-\mathbf I_v(\mathbf p)
\right|_1.
$$</p>
<p>$G_v(\mathbf p)&gt;0$ 的區域表示 B 的像素殘差較小。它與弱紋理掩碼、深度差和法線差並排後，可以顯示收益集中在大面積低頻區域、物體邊界，還是少量高對比像素。比較中的相機、裁切範圍、縮放倍數與色彩空間保持一致。</p>
<figure id="fig_evidence_gaussianpro_comparison" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-10/gaussianpro-main-comparison.webp" alt="Waymo 和 Mip-NeRF 360 場景中真值、GaussianPro 與 3DGS 的新視角局部細節對比" />
  <figcaption class="md-figure__caption">左側 Waymo 場景的樹枝與道路，右側 Mip-NeRF 360 場景的遮陽簾與地面細節，分別展示紋理豐富邊緣和弱紋理表面。放大框呈現 GaussianPro 與 3DGS 的局部差異，測試視圖的總體分佈則由配對統計和失敗案例補足 [@cheng2024gaussianpro]。</figcaption>
</figure>
<p>局部放大圖中的場景上下文用於辨認邊緣、遮擋關係和物體尺度。裁切過緊時，局部結構失去參照；裁切過鬆時，差異在網頁寬度下又會變得過小。保留主圖並附同比例放大框，可以兼顧兩種觀察尺度。</p>
<h2>訓練過程與計算預算</h2>
<p>記測試指標在訓練步 $t$ 為 $m(t)$。最終值 $m(T)$ 不含收斂速度、中途震蕩和後期退化的信息。對固定評價時刻 $t_1&lt;\cdots&lt;t_K$，歸一化曲線面積可以概括訓練期間的表現：</p>
<h1>$$
\operatorname{AUC}_m</h1>
<p>\frac{1}{t_K-t_1}
\sum_{k=1}^{K-1}
\frac{m(t_k)+m(t_{k+1})}{2}
(t_{k+1}-t_k).
$$</p>
<p>後期穩定性可在最後 $J$ 個檢查點上計算</p>
<h1>$$
s_m</h1>
<p>\sqrt{
\frac{1}{J-1}
\sum_{k=K-J+1}^{K}
\left(m(t_k)-\overline m_{\mathrm{tail}}\right)^2
}.
$$</p>
<p>對 PSNR 與 SSIM，AUC 越大且 $s_m$ 越小，表示在當前評價頻率下收斂更快、後期波動更小；LPIPS 與誤差指標的方向相反。曲線平滑與隨機種子穩定性是兩個統計量，同一次訓練中的相鄰檢查點本身具有強相關性。</p>
<p>從整條測試曲線選擇最佳點，相當於使用了 $K$ 次測試反饋。由驗證集選定檢查點後，測試集只在該點評價一次；採用固定訓練預算時，各方法則共用同一預算定義。</p>
<p>終點質量與取得該結果的成本可以組成多目標向量：</p>
<h1>$$
\mathbf y</h1>
<p>\left[
-\operatorname{PSNR},
\operatorname{LPIPS},
d_{\mathrm{geom}},
t_{\mathrm{train}},
-\operatorname{FPS},
M_{\mathrm{model}}
\right].
$$</p>
<p>對所有分量都以越小越好為約定。若方法 A 在每個分量上都不差於 B，且至少一項更好，則 A 支配 B。若 A 的圖像質量更高但訓練更慢、模型更大，兩者位於不同 Pareto 點，具體選擇取決於應用預算。</p>
<p>高斯數 $N$ 只是成本的一個代理量。真實渲染成本還受每個高斯的屏幕覆蓋範圍（footprint）、覆蓋 tile 數、深度排序實例和像素過度繪製影響。較少的高斯直接對應更緊湊的表示，FPS 仍以實測結果為準。</p>
<p>固定迭代數比較每一步優化帶來的收益，固定訓練時間比較端到端計算成本。傳播式增密增加候選生成和多視圖檢查，Color MLP 也改變每次前向與反向傳播的開銷，兩種預算下的排序可能不同。固定分辨率、硬件、預熱方式與數據寫回範圍後，FPS 即可與模型存儲和高斯數一起進入 Pareto 比較。</p>
<h2>結語</h2>
<p>新視角 PSNR、SSIM 和 LPIPS 衡量測試圖像與參考圖的接近程度；深度、法線與表面距離描述幾何誤差；反照率或光照分解則依賴相應真值。三類觀測可以同時改善，也會因外觀補償、尺度對齊和局部失敗而呈現不同趨勢。</p>
<p>對 3DGS 的增密、外觀解碼和幾何正則，配對差值給出收益在視圖間的分佈，區域指標和誤差圖指出變化發生的位置，消融交互項刻畫模塊組合，訓練曲線與 Pareto 向量補充取得結果所需的預算。這些觀測共同描述本次比較中的圖像質量、幾何變化、模塊作用與計算成本。</p>
<pre><code class="language-bibtex">@inproceedings{cheng2024gaussianpro,
  author = {Cheng, Kai and Long, Xiaoxiao and Yang, Kaizhi and Yao, Yao and Yin, Wei and Ma, Yuexin and Wang, Wenping and Chen, Xuejin},
  title = {GaussianPro: 3D Gaussian Splatting with Progressive Propagation},
  booktitle = {Proceedings of the International Conference on Machine Learning},
  pages = {8123--8140},
  year = {2024}
}

@inproceedings{huang20242dgs,
  author = {Huang, Binbin and Yu, Zehao and Chen, Anpei and Geiger, Andreas and Gao, Shenghua},
  title = {2D Gaussian Splatting for Geometrically Accurate Radiance Fields},
  booktitle = {ACM SIGGRAPH 2024 Conference Papers},
  pages = {1--11},
  year = {2024}
}

@article{wang2004ssim,
  author = {Wang, Zhou and Bovik, Alan C. and Sheikh, Hamid R. and Simoncelli, Eero P.},
  title = {Image Quality Assessment: From Error Visibility to Structural Similarity},
  journal = {IEEE Transactions on Image Processing},
  volume = {13},
  number = {4},
  pages = {600--612},
  year = {2004}
}

@inproceedings{zhang2018lpips,
  author = {Zhang, Richard and Isola, Phillip and Efros, Alexei A. and Shechtman, Eli and Wang, Oliver},
  title = {The Unreasonable Effectiveness of Deep Features as a Perceptual Metric},
  booktitle = {Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
  pages = {586--595},
  year = {2018}
}
</code></pre>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>神經渲染</category>
            <category>3D Gaussian Splatting</category>
            <category>3DGS</category>
            <category>實驗設計</category>
            <category>消融實驗</category>
            <category>幾何評價</category>
            <category>新視角合成</category>
            <category>統計分析</category>
        </item>
        <item>
            <title><![CDATA[本徵、外觀與幾何監督的聯合優化]]></title>
            <link>https://nishikori.dev/posts/3dgs-series-9-joint-intrinsic-appearance-geometry-optimization</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/3dgs-series-9-joint-intrinsic-appearance-geometry-optimization</guid>
            <pubDate>Thu, 09 Apr 2026 11:40:00 GMT</pubDate>
            <description><![CDATA[將 Intrinsic 反照率偽先驗、LE3D 式無球諧顏色解碼和 GaussianPro 式幾何增密放入統一優化視角，分析損失歸一化、梯度衝突、外觀—幾何消元、不確定性加權與分階段調度。]]></description>
            <content:encoded><![CDATA[<p><a href="/posts/3dgs-series-5-intrinsic-images-and-albedo-priors">《複雜光照下的本徵圖像與反照率先驗》</a>將單幅圖像分解為材質、陰影與殘差；<a href="/posts/3dgs-series-6-cross-view-albedo-calibration-and-quality-routing">《跨視角反照率校準與質量路由》</a>為偽標籤選擇統一規範並估計可用性；<a href="/posts/3dgs-series-7-sh-free-appearance-and-neural-color-decoding">《無球諧外觀表示與神經顏色解碼》</a>討論材質信號通過逐高斯特徵與 Color MLP 進入渲染的路徑 [@jin2024lighting]；<a href="/posts/3dgs-series-8-propagation-densification-geometric-gating">《傳播式增密中的候選生成與幾何門控》</a>又在 RGB 梯度之外增加了結構候選 [@cheng2024gaussianpro]。這些擴展仍共用 3DGS 的顯式高斯表示與可微光柵化基礎 [@kerbl2023gaussians]。</p>
<p>這些模塊進入同一個訓練循環後，問題從「某個損失如何寫」變為「當多種誤差同時改變幾何、外觀和高斯集合時，殘差會被分配給誰」。加權求和只是目標函數的表面形式；實際優化還受殘差單位、有效像素數、梯度方向、參數共享範圍與離散增密調度影響。</p>
<h2>參數、觀測與殘差空間</h2>
<p>將場景參數分為幾何、外觀與共享解碼器三組：</p>
<h1>$$
\boldsymbol\theta</h1>
<p>\left[
\boldsymbol\theta_g^{\mathsf T},
\boldsymbol\theta_a^{\mathsf T},
\boldsymbol\theta_f^{\mathsf T}
\right]^{\mathsf T}.
$$</p>
<p>$\boldsymbol\theta_g$ 包含高斯中心、協方差與不透明度；$\boldsymbol\theta_a$ 包含逐高斯潛在特徵、顏色偏置或反照率代碼；$\boldsymbol\theta_f$ 是多個高斯共享的 Color MLP 參數。對視圖 $v$ 和像素 $\mathbf p$，多通道渲染器輸出</p>
<p>$$
\begin{aligned}
\mathcal R_v(\boldsymbol\theta)
={}&amp;\bigl(
\widehat{\mathbf I}_v,
\widehat{\mathbf A}_v,
\widehat{\mathbf S}_v,\
&amp;\widehat D_v,
\widehat{\mathbf N}_v,
W_v
\bigr).
\end{aligned}
$$</p>
<p>$\widehat{\mathbf I}$ 是最終顏色，$\widehat{\mathbf A}$ 與 $\widehat{\mathbf S}$ 分別表示反照率與陰影/調制分支，$\widehat D$ 與 $\widehat{\mathbf N}$ 提供幾何觀測，$W$ 表示當前高斯對像素的前景解釋程度。同一個渲染結果可以生成多組殘差，但這些殘差不共享同一種統計含義。</p>
<h2>圖像、本徵與幾何項</h2>
<p>圖像保真項維持對真實觀測的擬合：</p>
<h1>$$
\mathcal L_{\mathrm{rgb}}</h1>
<p>(1-\lambda_s)
\left|
\widehat{\mathbf I}-\mathbf I
\right|<em>1
+\lambda_s\mathcal L</em>{\mathrm{D\text{-}SSIM}}.
$$</p>
<p>反照率偽標籤 $\mathbf A_v^*$ 在進入損失前已經做過跨視角校準，仍然只有局部可靠。記場景級質量為 $q_v$，像素級不確定性為 $u_v(\mathbf p)$，有效掩碼為 $m_v(\mathbf p)$，可定義</p>
<p>$$
\omega_v(\mathbf p)
=q_v,m_v(\mathbf p)
\exp!\left(-\frac{u_v(\mathbf p)}{\tau_u}\right),
$$</p>
<h1>$$
\mathcal L_A</h1>
<p>\frac{
\sum_{\mathbf p}
\omega_v(\mathbf p)
\rho_A!\left(
\widehat{\mathbf A}<em>v(\mathbf p)-\mathbf A_v^*(\mathbf p)
\right)
}{
\sum</em>{\mathbf p}\omega_v(\mathbf p)+\varepsilon
}.
$$</p>
<p>分母使損失不會因「這一幀只有少量可用像素」而系統性變小。$\rho_A$ 採用 Charbonnier 或 Huber 函數時，局部偽標籤失敗不會產生無界梯度。</p>
<p>幾何項可以包含深度分佈集中、渲染法線與深度法線一致，以及局部平面性 [@huang20242dgs; @turkulainen2025dnsplatter]。用 $w_i(\mathbf p)$ 表示射線上第 $i$ 個高斯的 Alpha 混合權重，歸一化權重為</p>
<h1>$$
\widetilde w_i(\mathbf p)</h1>
<p>\frac{w_i(\mathbf p)}{\sum_jw_j(\mathbf p)+\varepsilon}.
$$</p>
<p>沿射線的深度方差為</p>
<h1>$$
V_D(\mathbf p)</h1>
<p>\sum_i\widetilde w_i
\left(z_i-\overline z\right)^2,
\qquad
\overline z=\sum_i\widetilde w_i z_i.
$$</p>
<p>深度分佈正則可寫成</p>
<h1>$$
\mathcal R_{\mathrm{dist}}</h1>
<p>\frac{
\sum_{\mathbf p}m_g(\mathbf p)V_D(\mathbf p)
}{
\sum_{\mathbf p}m_g(\mathbf p)+\varepsilon
},
$$</p>
<p>其中 $m_g$ 應排除半透明物體、深度不連續邊界與前景解釋權重過低的像素。法線一致項為</p>
<h1>$$
\mathcal R_{\mathrm{normal}}</h1>
<p>\frac{
\sum_{\mathbf p}m_g(\mathbf p)
\left[
1-\widehat{\mathbf N}(\mathbf p)^{\mathsf T}
\mathbf N_D(\mathbf p)
\right]
}{
\sum_{\mathbf p}m_g(\mathbf p)+\varepsilon
}.
$$</p>
<p>$\mathbf N_D$ 由深度反投影後的局部切向叉積得到。當深度本身帶有噪聲，$\mathbf N_D$ 也會把高頻差分放大，因此它更適合與圖像邊緣權重和置信掩碼一起使用。</p>
<figure id="fig_joint_2dgs_regularization" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-9/2dgs-regularization-ablation.webp" alt="2DGS 在去除法線一致性、去除深度畸變正則和完整模型下的表面法線對比" />
  <figcaption class="md-figure__caption">從左至右為輸入圖像、去除法線一致項、去除深度畸變項，以及兩項都保留的結果。法線一致性壓低局部方向噪聲，深度分佈正則限制沿射線的多層模糊；完整模型的平面更連續，同時也提示這些損失存在過度平滑風險 [@huang20242dgs]。</figcaption>
</figure>
<h2>多任務目標與有效觀測</h2>
<p>將各項放在一起，可以寫出一個通用的聯合目標：</p>
<p>$$
\begin{aligned}
\mathcal L(\boldsymbol\theta,t)
=;&amp;
\lambda_{\mathrm{rgb}}\mathcal L_{\mathrm{rgb}}
+\eta_A(t)\lambda_A\mathcal L_A\
&amp;+\eta_g(t)
\left(
\lambda_d\mathcal R_{\mathrm{dist}}
+\lambda_n\mathcal R_{\mathrm{normal}}
+\lambda_p\mathcal R_{\mathrm{plane}}
\right)\
&amp;+\eta_s(t)
\left(
\lambda_{\mathrm{id}}\mathcal R_{\mathrm{id}}
+\lambda_{\mathrm{sm}}\mathcal R_{\mathrm{shading}}
\right).
\end{aligned}
$$</p>
<p>$\eta_A(t)$、$\eta_g(t)$ 和 $\eta_s(t)$ 同時包含時間調度與數據可用性門控。當偽反照率不可用時，$\eta_A=0$；當像素處於深度邊界或前景覆蓋不足時，它不進入幾何項的有效集；當反照率分支缺少監督時，陰影恶性震蕩或任意分解的風險才需要 $\mathcal R_{\mathrm{id}}$ 與 $\mathcal R_{\mathrm{shading}}$。</p>
<p>用有效集改寫損失比「所有項永遠開啟，再慢慢調小權重」更清楚。權重表示可靠觀測之間的相對強度，門控則回答某個觀測是否屬於當前目標的定義域。</p>
<h2>殘差尺度與歸一化</h2>
<p>令第 $k$ 項損失是 $n_k$ 個有效殘差的平均：</p>
<p>$$
\mathcal L_k
=\frac{1}{n_k}
\sum_{j=1}^{n_k}\rho_k(r_{kj}).
$$</p>
<p>即使各項都輸出一個標量，它們的數值範圍仍然受殘差單位與魯棒函數影響。RGB $L_1$ 的單位是顏色值，法線項是無量綱角度，深度方差又隨場景尺度的平方變化。若世界座標整體縮放 $s$，</p>
<p>$$
D\rightarrow sD,
\qquad
V_D\rightarrow s^2V_D.
$$</p>
<p>固定 $\lambda_d$ 會讓同一個配置在不同場景尺度下實際強度不同。可以使用相對深度、以場景中位深度 $\widetilde D$ 歸一化，或將深度分佈項寫為</p>
<h1>$$
\overline V_D</h1>
<p>\frac{V_D}{\overline z^2+\varepsilon}.
$$</p>
<p>歸一化還要覆蓋像素數。若一項按全圖求平均，另一項只對弱紋理掩碼求和，後者的有效面積會直接改變損失強度。因此，每項損失都應明確寫出「對誰求和」和「用什麼歸一化」。</p>
<h2>梯度對齊與衝突</h2>
<p>對共享參數子集 $\boldsymbol\theta_s$，第 $a$ 與第 $b$ 項損失的梯度為</p>
<p>$$
\mathbf g_a
=\nabla_{\boldsymbol\theta_s}\mathcal L_a,
\qquad
\mathbf g_b
=\nabla_{\boldsymbol\theta_s}\mathcal L_b.
$$</p>
<p>它們的餘弦相似度為</p>
<h1>$$
\rho_{ab}</h1>
<p>\frac{
\mathbf g_a^{\mathsf T}\mathbf g_b
}{
|\mathbf g_a|_2|\mathbf g_b|_2+\varepsilon
}.
$$</p>
<p>$\rho_{ab}&gt;0$ 時，兩項在當前局部共同降低；$\rho_{ab}&lt;0$ 時，某一項的下降方向會升高另一項。對反照率監督與 RGB 監督，衝突常出現在陰影、高光和曝光截斷區域；對圖像監督與平面幾何正則，衝突常出現在真實小結構與遮擋邊界。</p>
<p>若只查看損失數值，「反照率損失很小」並不代表它沒有主導某些參數。參數梯度還會經過解碼器雅可比、Alpha 混合權重與投影雅可比放大或縮小。實驗記錄中至少應分別統計幾何參數、逐高斯外觀參數和共享 MLP 的梯度范數。</p>
<h2>外觀—幾何消元</h2>
<p>將局部殘差線性化為</p>
<p>$$
\mathbf r
\approx
\mathbf r_0
+\mathbf J_g\delta\boldsymbol\theta_g
+\mathbf J_a\delta\boldsymbol\theta_a.
$$</p>
<p>對應的 Gauss–Newton 矩陣為</p>
<h1>$$
\mathbf H=
\begin{bmatrix}
\mathbf H_{gg}&amp;\mathbf H_{ga}\
\mathbf H_{ag}&amp;\mathbf H_{aa}
\end{bmatrix}</h1>
<p>\begin{bmatrix}
\mathbf J_g^{\mathsf T}\mathbf J_g&amp;
\mathbf J_g^{\mathsf T}\mathbf J_a\
\mathbf J_a^{\mathsf T}\mathbf J_g&amp;
\mathbf J_a^{\mathsf T}\mathbf J_a
\end{bmatrix}.
$$</p>
<p>消去外觀增量後，幾何的有效信息矩陣為</p>
<h1>$$
\mathbf H_{g\mid a}</h1>
<p>\mathbf H_{gg}
-\mathbf H_{ga}
\left(\mathbf H_{aa}+\lambda_a\mathbf I\right)^{-1}
\mathbf H_{ag}.
$$</p>
<p>當 Color MLP、逐高斯特徵與顏色偏置具有很強的殘差吸收能力，$\mathbf H_{aa}$ 的可用方向增加，消元項會減少留給幾何的曲率。Intrinsic 反照率監督和陰影正則可以限制外觀自由度，傳播式增密又為幾何增加新基底；這些模塊的作用不只體現在各自的損失值，還會改變其他殘差可以沿哪些參數方向下降。</p>
<figure id="fig_joint_le3d_regularization" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-9/le3d-regularization-ablation.webp" alt="LE3D 完整模型、移除近遠深度正則和移除深度分佈正則後的深度對比" />
  <figcaption class="md-figure__caption">LE3D 的深度正則消融。完整模型中，渲染深度 $d$ 與近、遠深度 $d^{\mathrm N}$、$d^{\mathrm F}$ 基本重合；移除近遠約束 $\mathcal R_{nf}$ 後，三種深度在弱觀測區域分離；繼續移除分佈正則 $\mathcal R_{dist}$ 時，玻璃與高亮附近的深度異常進一步擴散 [@jin2024lighting]。</figcaption>
</figure>
<h2>不確定性加權</h2>
<p>以同方差不確定性為例，多任務損失可寫成 [@kendall2018multitask]</p>
<h1>$$
\mathcal L</h1>
<p>\sum_k
\left(
\frac{1}{2\sigma_k^2}\mathcal L_k
+\log\sigma_k
\right).
$$</p>
<p>學習到的 $\sigma_k$ 會降低噪聲較大任務的權重，$\log\sigma_k$ 防止所有權重縮到零。這個形式需要殘差對應明確的似然模型。本徵偽標籤中的結構性偏差、幾何邊界上的非高斯誤差，以及根本不可用的標籤，都不能只靠一個全局 $\sigma_k$ 解決。質量路由與像素掩碼仍然需要先定義有效集。</p>
<p>GradNorm 類方法會根據各任務梯度范數和相對訓練速度調整權重 [@chen2018gradnorm]。它能緩解「某一項因單位較大長期壓過其他項」，但梯度范數相等不代表方向相容。對 $\mathbf g_a^{\mathsf T}\mathbf g_b&lt;0$ 的任務，PCGrad 類投影可寫成 [@yu2020pcgrad]</p>
<h1>$$
\mathbf g_a^{\prime}</h1>
<h2>\mathbf g_a</h2>
<p>\frac{
\mathbf g_a^{\mathsf T}\mathbf g_b
}{
|\mathbf g_b|_2^2+\varepsilon
}
\mathbf g_b.
$$</p>
<p>投影後 $\mathbf g_a^{\prime}$ 不再包含反對 $\mathbf g_b$ 的分量。在 3DGS 中，不建議對所有參數盲目做全局梯度手術：本徵項本來就應更直接影響外觀分支，法線項本來就應主要更新幾何。更有解釋性的做法是先限定各損失的參數作用域，再在真正共享的子空間中診斷衝突。</p>
<h2>參數作用域</h2>
<p>用 stop-gradient 或分組優化器可以把監督語義轉化為明確的梯度邊界。一個可用的參數—損失關係如下：</p>
<table>
<thead>
<tr>
<th>損失</th>
<th>主要更新</th>
<th>謹慎更新</th>
<th>通常阻斷</th>
</tr>
</thead>
<tbody>
<tr>
<td>RGB 保真</td>
<td>幾何、不透明度、外觀特徵、Color MLP</td>
<td>結構增密統計</td>
<td>無</td>
</tr>
<tr>
<td>反照率偽監督</td>
<td>反照率/外觀特徵、解碼分支</td>
<td>高斯幾何</td>
<td>顏色偏置的任意補償通道</td>
</tr>
<tr>
<td>深度分佈</td>
<td>中心、尺度、不透明度</td>
<td>外觀特徵</td>
<td>Color MLP</td>
</tr>
<tr>
<td>法線/平面</td>
<td>旋轉、尺度、中心</td>
<td>不透明度</td>
<td>外觀解碼</td>
</tr>
<tr>
<td>陰影恲等/平滑</td>
<td>陰影分支</td>
<td>共享外觀特徵</td>
<td>幾何</td>
</tr>
</tbody>
</table>
<p>反照率項是否應更新幾何沒有固定答案。若偽標籤已做好對齊且邊界可靠，其梯度可以幫助幾何邊界；若偽標籤來自單幅二維模型並含有結構偏差，允許它直接拉動高斯中心會把二維幻覺固化成三維結構。可以用較小幾何學習率、延遲啟用，或只在多視圖一致區域放行這條梯度。</p>
<h2>分階段調度</h2>
<p>聯合目標在不同訓練階段的信任基礎不同。幾何未形成時，渲染反照率、深度和法線都只是初始化狀態的投影；訓練後期仍持續高頻增密，又會讓每次新增高斯重新擾動已穩定的外觀分解。一個通用調度可分為：</p>
<ol>
<li><strong>表示熱身</strong>：以 RGB 保真建立可渲染的主要結構，反照率只做質量統計，幾何正則使用小權重。</li>
<li><strong>幾何形成</strong>：啟用深度分佈、法線一致與傳播式候選，並記錄候選接受率、剪枝率與高斯數量。</li>
<li><strong>外觀解耦</strong>：當基礎結構可靠後，依質量權重漸進啟用反照率監督，避免早期偽標籤將錯誤邊界寫入幾何。</li>
<li><strong>結構冷卻</strong>：停止或大幅降低增密頻率，讓已有高斯的幾何與外觀參數在固定結構上收斂。</li>
</ol>
<p>漸進因子可以用平滑階躍表示。以反照率項為例，</p>
<h1>$$
\eta_A(t)</h1>
<p>q_v,
\operatorname{smoothstep}
\left(
\frac{t-t_A}{\Delta t_A}
\right).
$$</p>
<p>$t_A$ 是啟用中心，$\Delta t_A$ 決定渡越寬度。直接從 $0$ 切換到固定大權重，會讓 Adam 的一階與二階動量同時面對殘差分佈突變，平滑啟用能夠降低這種瞬時震蕩。</p>
<h2>訓練過程的梯度監測</h2>
<p>單獨記錄總損失無法分辨「某項已收斂」與「某項已被其他參數屏蔽」。訓練日誌中更有用的診斷量包括：</p>
<table>
<thead>
<tr>
<th>診斷量</th>
<th>對應問題</th>
</tr>
</thead>
<tbody>
<tr>
<td>各項歸一化損失和有效像素數</td>
<td>數值變化來自誤差還是掩碼面積</td>
</tr>
<tr>
<td>幾何、外觀、MLP 的分組梯度范數</td>
<td>哪組參數正在吸收當前殘差</td>
</tr>
<tr>
<td>主要損失之間的梯度餘弦值</td>
<td>當前是協同更新還是相互抵消</td>
</tr>
<tr>
<td>反照率質量權重分佈</td>
<td>偽監督是否只由少量幀主導</td>
</tr>
<tr>
<td>候選數、接受率、新增與剪枝高斯數</td>
<td>結構改變來自哪個階段</td>
</tr>
<tr>
<td>深度方差與法線誤差的掩碼內/外統計</td>
<td>幾何收益是局部還是全局</td>
</tr>
</tbody>
</table>
<p>聯合損失的價值不在於把更多項加到一行公式中。Intrinsic 把外觀殘差分配到材質與陰影語義，LE3D 式解碼器決定這些語義通過哪些參數表達，GaussianPro 式傳播在圖像梯度不足時提出新幾何，而深度與法線正則限制新舊圖元如何組成表面。只有將數據有效性、參數作用域、梯度尺度和結構調度同時寫清，這些模塊才能形成可診斷的優化管線。</p>
<p><a href="/posts/3dgs-series-10-evidence-boundaries-reconstruction-evaluation">《重建指標、消融證據與結論邊界》</a>以測試視圖的配對統計、局部幾何、消融交互和計算預算整理這些變化的評價方式。</p>
<pre><code class="language-bibtex">@article{kerbl2023gaussians,
  author = {Kerbl, Bernhard and Kopanas, Georgios and Leimkühler, Thomas and Drettakis, George},
  title = {3D Gaussian Splatting for Real-Time Radiance Field Rendering},
  journal = {ACM Transactions on Graphics},
  volume = {42},
  number = {4},
  pages = {139:1--139:14},
  year = {2023}
}

@inproceedings{jin2024lighting,
  author = {Jin, Xin and Jiao, Pengyi and Duan, Zheng-Peng and Yang, Xingchao and Li, Chongyi and Guo, Chun-Le and Ren, Bo},
  title = {Lighting Every Darkness with 3DGS: Fast Training and Real-Time Rendering for HDR View Synthesis},
  booktitle = {Advances in Neural Information Processing Systems},
  volume = {37},
  pages = {80191--80219},
  year = {2024}
}

@inproceedings{cheng2024gaussianpro,
  author = {Cheng, Kai and Long, Xiaoxiao and Yang, Kaizhi and Yao, Yao and Yin, Wei and Ma, Yuexin and Wang, Wenping and Chen, Xuejin},
  title = {GaussianPro: 3D Gaussian Splatting with Progressive Propagation},
  booktitle = {Proceedings of the International Conference on Machine Learning},
  pages = {8123--8140},
  year = {2024}
}

@inproceedings{huang20242dgs,
  author = {Huang, Binbin and Yu, Zehao and Chen, Anpei and Geiger, Andreas and Gao, Shenghua},
  title = {2D Gaussian Splatting for Geometrically Accurate Radiance Fields},
  booktitle = {ACM SIGGRAPH 2024 Conference Papers},
  pages = {1--11},
  year = {2024}
}

@inproceedings{turkulainen2025dnsplatter,
  author = {Turkulainen, Matias and Ren, Xin and Melekhov, Iaroslav and Seiskari, Otto and Rahtu, Esa and Kannala, Juho},
  title = {DN-Splatter: Depth and Normal Priors for Gaussian Splatting and Meshing},
  booktitle = {Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision},
  pages = {2421--2431},
  year = {2025}
}

@inproceedings{kendall2018multitask,
  author = {Kendall, Alex and Gal, Yarin and Cipolla, Roberto},
  title = {Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics},
  booktitle = {Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
  pages = {7482--7491},
  year = {2018}
}

@inproceedings{chen2018gradnorm,
  author = {Chen, Zhao and Badrinarayanan, Vijay and Lee, Chen-Yu and Rabinovich, Andrew},
  title = {GradNorm: Gradient Normalization for Adaptive Loss Balancing in Deep Multitask Networks},
  booktitle = {Proceedings of the International Conference on Machine Learning},
  pages = {794--803},
  year = {2018}
}

@inproceedings{yu2020pcgrad,
  author = {Yu, Tianhe and Kumar, Saurabh and Gupta, Abhishek and Levine, Sergey and Hausman, Karol and Finn, Chelsea},
  title = {Gradient Surgery for Multi-Task Learning},
  booktitle = {Advances in Neural Information Processing Systems},
  volume = {33},
  pages = {5824--5836},
  year = {2020}
}
</code></pre>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>神經渲染</category>
            <category>3D Gaussian Splatting</category>
            <category>3DGS</category>
            <category>本徵圖像</category>
            <category>LE3D</category>
            <category>GaussianPro</category>
            <category>聯合損失</category>
            <category>多任務優化</category>
            <category>梯度衝突</category>
        </item>
        <item>
            <title><![CDATA[在macOS切換Office套件顯示語言的方法]]></title>
            <link>https://nishikori.dev/posts/set-microsoft-office-display-language-on-macos</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/set-microsoft-office-display-language-on-macos</guid>
            <pubDate>Thu, 02 Apr 2026 12:33:16 GMT</pubDate>
            <description><![CDATA[使用終端機切換Office套件的默認顯示語言。]]></description>
            <content:encoded><![CDATA[<p>由於工作需要，最近需要使用簡體中文環境的Office套件，但是微軟官方技術支持提供的解決辦法過於極端了——</p>
<blockquote>
<p>Office for Mac 的顯示語言會使用作業系統的主要語言設定。若要更改 Office for Mac 的顯示語言，需要為你的作業系統設定不同的主要語言：</p>
<p>在「Apple」選單中，選擇「系統偏好設定」&gt;「語言與地區」</p>
<p>在「偏好語言」列表中，將所需語言拖曳到列表頂端，以將其設為主要語言。</p>
<p>如果未顯示所需語言，請點擊「+」符號新增。</p>
<p>可能需要重新啟動 Office 應用程式，才能讓此變更生效。</p>
</blockquote>
<p>但出於習慣，我不能接受這種通過修改全局語言來實現需求的辦法。隨後通過檢索互聯網，發現了一個方便的方法，可以快速的切換Office套件的顯示語言。</p>
<p>以Word為例，如果需要將顯示語言切換至簡體中文，只需要在終端機中執行：</p>
<pre><code class="language-shell">defaults write com.microsoft.Word AppleLanguages '(&quot;zh-cn&quot;)'
</code></pre>
<p>如果需要切換Powerpoint、Excel的顯示語言，僅需要將其中的<code>Word</code>更換成對應的軟體名稱就好。</p>
<p>需要切回默認顯示語言也同理，僅需要替換<code>zh-cn</code>為所需要的語言代碼即可。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>MS Office</category>
        </item>
        <item>
            <title><![CDATA[傳播式增密中的候選生成與幾何門控]]></title>
            <link>https://nishikori.dev/posts/3dgs-series-8-propagation-densification-geometric-gating</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/3dgs-series-8-propagation-densification-geometric-gating</guid>
            <pubDate>Mon, 30 Mar 2026 12:10:00 GMT</pubDate>
            <description><![CDATA[從 3DGS 的視空間梯度出發，推導深度—法線假設的傳播、平面單應性、光度與幾何代價、多視圖門控以及候選高斯的初始化與增長預算。]]></description>
            <content:encoded><![CDATA[<p><a href="/posts/3dgs-series-1-original-principles">《3DGS 的表示、渲染與優化》</a>中的自適應密度控制把圖像殘差轉化為高斯集合的 clone、split 與 prune [@kerbl2023gaussians]。對紋理豐富且已有高斯覆蓋的區域，視空間位置梯度能夠指示局部表示不足；對稀疏點雲沒有覆蓋的淺色牆面、地面或道路，現有高斯可能連「應該向哪裏生長」都無法從 RGB 梯度中得到。</p>
<p><a href="/posts/3dgs-series-3-geometric-observability-low-texture">《弱紋理場景中的幾何可觀測性》</a>已經給出這個退化的局部形式：當圖像梯度趨近零，幾何位移對光度殘差的雅可比也會變弱。GaussianPro 將增密問題映射到有規則網格的二維圖像平面，先傳播深度與法線假設，再將通過多視圖檢查的像素反投影成新高斯 [@cheng2024gaussianpro]。這條路徑的核心是一個帶有拒絕機制的幾何提案器。</p>
<h2>增密中的離散結構選擇</h2>
<p>設當前場景含有 $N$ 個高斯，連續參數記為 $\Theta_N$。訓練問題可寫成</p>
<p>$$
\min_{N,\Theta_N}
\sum_{v\in\mathcal V}
\mathcal L_{\mathrm{img}}
\left(
\mathcal R(\Theta_N;\mathcal C_v),
\mathbf I_v
\right)
+\beta,\Omega(\Theta_N,N).
$$</p>
<p>Adam 在固定 $N$ 時更新 $\Theta_N$；增密、剪枝和不透明度重置會改變 $N$ 以及參數空間。$\Omega$ 可以表示模型規模、尺度畸變或幾何不連續的隱式代價。3DGS 以視空間梯度選擇 clone 或 split 的對象，用啟發式結構操作近似這個混合離散—連續優化。</p>
<p>對像素 $\mathbf p$ 的顏色殘差 $r(\mathbf p)$，高斯投影中心 $\mathbf u_i$ 接收到的梯度含有</p>
<h1>$$
\frac{\partial r(\mathbf p)}{\partial \boldsymbol\mu_i}</h1>
<p>\underbrace{
\frac{\partial r(\mathbf p)}{\partial \mathbf u_i}
}<em>{\text{圖像與覆蓋變化}}
\underbrace{
\frac{\partial \mathbf u_i}{\partial \boldsymbol\mu_i}
}</em>{\text{透視投影}}
.
$$</p>
<p>第一項同時受圖像紋理、透射率、遮擋順序與當前高斯覆蓋影響。當某處沒有任何高斯投影，$\mathbf u_i$ 根本不存在；當區域近似常色，位移引起的光度變化又很小。因此，梯度門限擅長決定「已有圖元是否需要增加容量」，卻難以從空無一物的位置提出新幾何。</p>
<h2>深度—法線假設的二維表示</h2>
<p>對參考視圖 $r$ 中的像素 $\mathbf p=[u,v,1]^{\mathsf T}$，一個局部表面假設可用深度 $d$ 和參考相機下的單位法線 $\mathbf n$ 表示。像素對應的三維點為</p>
<p>$$
\mathbf X_r(d)
=d,\mathbf K_r^{-1}\mathbf p.
$$</p>
<p>當前高斯集合可以渲染出初始深度 $D_r^{(0)}$ 與法線 $\mathbf N_r^{(0)}$。若第 $i$ 個高斯的尺度為 $s_{i1},s_{i2},s_{i3}$，旋轉矩陣為 $\mathbf R_i$，可用最短主軸近似其法線：</p>
<p>$$
k_i=\arg\min_k s_{ik},
\qquad
\mathbf n_i=\mathbf R_i\mathbf e_{k_i}.
$$</p>
<p>經過符號統一後，深度與法線都能使用與 RGB 相同的 Alpha 混合權重生成二維圖。二維網格為每個像素提供固定數量的鄰域，比在不規則高斯集合中反復建立三維近鄰關係更適合做局部假設傳播。</p>
<h2>平面單應性與光度代價</h2>
<p>假設參考相機到源相機 $s$ 的相對位姿為 $(\mathbf R_{sr},\mathbf t_{sr})$，局部平面在參考相機座標中滿足</p>
<p>$$
\mathbf n^{\mathsf T}\mathbf X_r=d_\pi.
$$</p>
<p>該平面在兩幅圖像之間誘導單應矩陣 [@hartley2004multiple]</p>
<h1>$$
\mathbf H_{r\rightarrow s}(\mathbf n,d_\pi)</h1>
<p>\mathbf K_s
\left(
\mathbf R_{sr}
+\frac{\mathbf t_{sr}\mathbf n^{\mathsf T}}{d_\pi}
\right)
\mathbf K_r^{-1}.
$$</p>
<p>右側分數的符號取決於平面方程與位姿定義；只要全文使用同一約定，單應映射的幾何含義不變。參考圖的局部圖像塊 $P_r(\mathbf p)$ 可以經 $\mathbf H_{r\rightarrow s}$ 畸變到源圖。常用的零均值歸一化互相關代價為</p>
<h1>$$
C_{\mathrm{photo}}^{(s)}</h1>
<p>\frac{1-\operatorname{ZNCC}
\left(P_r,P_{s\leftarrow r}(\mathbf n,d_\pi)\right)}{2}.
$$</p>
<p>ZNCC 消去圖像塊的加性偏置並歸一化對比度，對局部曝光變化比直接 RGB 差更穩定，仍然依賴圖像塊內有可區分的結構。完全常色的平面上，多個深度假設可以取得相近分數；傳播必須依靠鄰近的可觀測區域把幾何信息延伸進來。</p>
<h2>鄰域傳播與假設選擇</h2>
<p>記第 $t$ 輪傳播後像素 $\mathbf p$ 的假設為 $h_{\mathbf p}^{(t)}=(d_{\mathbf p}^{(t)},\mathbf n_{\mathbf p}^{(t)})$。從四鄰域或八鄰域收集候選 $\mathcal H_{\mathbf p}^{(t)}$，再以多視圖代價選擇</p>
<h1>$$
h_{\mathbf p}^{(t+1)}</h1>
<p>\arg\min_{h\in\mathcal H_{\mathbf p}^{(t)}}
\sum_{s\in\mathcal V_{\mathbf p}}
\omega_s(h),
\rho!\left(C_{\mathrm{photo}}^{(s)}(h)\right).
$$</p>
<p>$\rho$ 是截斷或 Huber 類的魯棒函數，$\omega_s$ 由視角、遮擋、投影範圍與源視圖可用性決定。這一步與 PatchMatch 類多視圖立體匹配共享「鄰域傳播 + 隨機擾動 + 代價競爭」的結構 [@bleyer2011patchmatch]。從優化角度看，它以有限候選近似求解每個像素的非凸深度—法線問題，並用空間鄰近性限制搜索範圍。</p>
<p>傳播次數不宜無限增加。若一個錯誤平面假設在局部代價上占優，過多輪傳播會擴大其空間範圍。因此，傳播只負責提案，寫入三維場景前還需要更嚴格的多視圖門控。</p>
<h2>多視圖幾何一致性</h2>
<p>參考像素的候選三維點為 $\mathbf X_r$。將它投影到源視圖 $s$，得到 $\mathbf p_s=\pi_s(\mathbf X_r)$ 與預測深度 $d_{r\rightarrow s}$。若源視圖的當前深度為 $D_s(\mathbf p_s)$，可定義相對深度誤差</p>
<h1>$$
e_d^{(s)}</h1>
<p>\frac{
\left|d_{r\rightarrow s}-D_s(\mathbf p_s)\right|
}{d_{r\rightarrow s}+D_s(\mathbf p_s)+\varepsilon}.
$$</p>
<p>將 $\mathbf p_s$ 依源視圖深度反投影，再投回參考視圖，可得到循環重投影誤差</p>
<h1>$$
e_p^{(s)}</h1>
<p>\left|
\mathbf p-
\pi_r!\left(
\mathbf T_{rs}
\pi_s^{-1}(\mathbf p_s,D_s(\mathbf p_s))
\right)
\right|_2.
$$</p>
<p>法線在坐標轉換後的角度誤差為</p>
<h1>$$
e_n^{(s)}</h1>
<p>1-
\left|
(\mathbf R_{sr}\mathbf n_r)^{\mathsf T}
\mathbf n_s(\mathbf p_s)
\right|.
$$</p>
<p>絕對值消去法線朝向的二義性，但在有明確前後關係的渲染器中，更合理的做法是先統一法線朝向再比較。源視圖通過檢查的條件可寫成</p>
<h1>$$
v_s</h1>
<p>\mathbb I
\left[
e_d^{(s)}&lt;\tau_d,
\ e_p^{(s)}&lt;\tau_p,
\ e_n^{(s)}&lt;\tau_n
\right].
$$</p>
<p>只用單一最佳源視圖會放大偶然匹配，多視圖選擇需要同時考慮視角、遮擋與幾何支持 [@schonberger2016pixelwise]。對有效集合 $\mathcal V_k={s:v_s=1}$，可組織魯棒幾何代價</p>
<h1>$$
C_{\mathrm{geom}}^{(k)}</h1>
<p>\operatorname{median}_{s\in\mathcal V_k}
\left(
e_d^{(s)}+\lambda_p e_p^{(s)}+\lambda_n e_n^{(s)}
\right).
$$</p>
<p>中位數允許少量視圖因遮擋或反射而失敗，同時要求 $|\mathcal V_k|\ge n_{\min}$ 才能防止「只有一個支持者」的脆弱候選進入場景。</p>
<h2>候選接受門控</h2>
<p>傳播深度 $d_k^{\mathrm{prop}}$ 與當前渲染深度 $d_k^{\mathrm{rend}}$ 之間還需要有足夠大的差異：</p>
<h1>$$
\Delta d_k</h1>
<p>\frac{
\left|d_k^{\mathrm{prop}}-d_k^{\mathrm{rend}}\right|
}{d_k^{\mathrm{rend}}+\varepsilon}.
$$</p>
<p>$\Delta d_k$ 太小時，當前高斯已經解釋了該區域，新增圖元只會提高冗餘。綜合弱紋理掩碼、多視圖支持、光度代價與幾何代價，最終門控可寫成</p>
<p>$$
\delta_k=
\mathbb I
\left[
m_{\mathrm{weak}}(\mathbf p_k)=1,
\ |\mathcal V_k|\ge n_{\min},
\ C_{\mathrm{photo}}^{(k)}&lt;\tau_c,
\ C_{\mathrm{geom}}^{(k)}&lt;\tau_g,
\ \Delta d_k&gt;\tau_{\Delta d}
\right].
$$</p>
<p>硬門控便於調試，閾值附近的候選會出現不連續翻轉。可以進一步構造連續置信度</p>
<h1>$$
q_k</h1>
<p>\sigma!\left(a_v(|\mathcal V_k|-n_{\min})\right)
\sigma!\left(a_d(\Delta d_k-\tau_{\Delta d})\right)
\exp!\left(
-\frac{C_{\mathrm{photo}}^{(k)}}{\tau_c}
-\frac{C_{\mathrm{geom}}^{(k)}}{\tau_g}
\right),
$$</p>
<p>再在每輪中選擇 $q_k$ 最高的固定數量候選。這個改寫把「門限」轉化為「置信度排序 + 增長預算」，可以避免場景尺度或圖像數量改變時高斯數量突然失控。</p>
<h2>候選高斯的三維初始化</h2>
<p>通過門控的像素先反投影為</p>
<h1>$$
\boldsymbol\mu_k</h1>
<p>\mathbf T_{wr}
\begin{bmatrix}
d_k\mathbf K_r^{-1}\mathbf p_k\
1
\end{bmatrix}.
$$</p>
<p>令世界座標下的法線為 $\mathbf n_k$，在切平面內構造正交基 $\mathbf t_{k1},\mathbf t_{k2}$，則旋轉矩陣可取</p>
<p>$$
\mathbf R_k=
\begin{bmatrix}
\mathbf t_{k1}&amp;\mathbf t_{k2}&amp;\mathbf n_k
\end{bmatrix}.
$$</p>
<p>單像素在深度 $d_k$ 處對應的世界尺度約為 $d_k/f$。若局部支持區半徑為 $r_p$ 個像素，初始切向尺度可設為</p>
<p>$$
s_{k1}=s_{k2}=\eta_t\frac{r_p d_k}{f},
\qquad
s_{k3}=\eta_n\min(s_{k1},s_{k2}),
\quad \eta_n\ll1.
$$</p>
<p>扁平的初始協方差將新高斯限制在候選平面附近，同時保留後續優化尺度與旋轉的空間。顏色、潛在特徵或偏置可由鄰近可見高斯的透射率權重均值初始化；若直接複製單個最近高斯，遮擋邊界兩側的外觀更容易被混合。</p>
<p>在插入前還要檢查現有高斯。以局部協方差 $\boldsymbol\Sigma_j$ 定義馬氏距離</p>
<h1>$$
d_M^2(k,j)</h1>
<p>(\boldsymbol\mu_k-\boldsymbol\mu_j)^{\mathsf T}
\boldsymbol\Sigma_j^{-1}
(\boldsymbol\mu_k-\boldsymbol\mu_j).
$$</p>
<p>若候選與某個現有高斯的 $d_M^2$ 很小，且法線與外觀都一致，更合適的操作是更新現有高斯的置信統計，而非再創建一個幾乎重疊的圖元。</p>
<h2>調度、預算與穩定性</h2>
<p>傳播式增密不適合每次梯度更新都執行。深度與法線在訓練早期還不穩定，頻繁插入候選會把瞬時誤差固化為新高斯。一個可解釋的調度策略包含四個時間尺度：</p>
<table>
<thead>
<tr>
<th>時間尺度</th>
<th>狀態</th>
<th>結構操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>訓練初期</td>
<td>深度與外觀仍在建立</td>
<td>只執行基礎優化，不傳播</td>
</tr>
<tr>
<td>幾何形成期</td>
<td>主要表面已可渲染</td>
<td>每 $K$ 步提案一次候選</td>
</tr>
<tr>
<td>結構增長期</td>
<td>候選置信度可比較</td>
<td>按分位數或上限接受新高斯</td>
</tr>
<tr>
<td>收斂期</td>
<td>圖元集合接近固定</td>
<td>停止增長，只做連續參數優化與剪枝</td>
</tr>
</tbody>
</table>
<p>設每輪候選數為 $M_t$，接受上限為 $B_t$，則增長率為</p>
<p>$$
g_t=\frac{\min(M_t,B_t)}{N_t}.
$$</p>
<p>保持 $g_t$ 隨訓練逐步衰減，能夠防止後期因少量高頻殘差持續增加模型規模。增長預算還應與剪枝率、可見高斯數、tile 實例數與顯存佔用一起記錄；高斯總數相同時，更大的屏幕 footprint 仍然可能帶來更高的光柵化成本。</p>
<h2>傳播與平面約束的消融結果</h2>
<p>GaussianPro 的消融實驗將傳播和平面約束分開。在 Waymo 實驗中，基線的 PSNR 為 $33.53$ dB；只使用傳播時為 $34.48$ dB，再加入平面約束後為 $34.68$ dB。對應的 SSIM 從 $0.938$ 增至 $0.949$，LPIPS 從 $0.226$ 降至 $0.191$ [@cheng2024gaussianpro]。</p>
<figure id="fig_gaussianpro_normal_constraint" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-8/gaussianpro-normal-constraint.webp" alt="3DGS 與 GaussianPro 在道路場景中的渲染結果和高斯分佈對比" />
  <figcaption class="md-figure__caption">道路場景中的渲染結果與高斯分佈。3DGS 使用體積較大的高斯覆蓋弱紋理路面，局部幾何呈現團塊狀；GaussianPro 引入傳播與法線約束後，高斯更貼近道路表面排列，紅框內的渲染模糊也相應減少 [@cheng2024gaussianpro]。</figcaption>
</figure>
<figure id="fig_gaussianpro_propagation_ablation" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-8/gaussianpro-ablation-v2.webp" alt="GaussianPro 基線、加入傳播和加入平面損失後的渲染誤差、深度與法線比較" />
  <figcaption class="md-figure__caption">由上至下分別為基線、加入傳播，以及繼續加入平面約束的結果。傳播補齊路面深度後，淺色平面的渲染誤差下降；平面約束進一步統一局部法線，同時也會壓抑真實起伏，因此需要遮擋邊界與非平面掩碼 [@cheng2024gaussianpro]。</figcaption>
</figure>
<p>從消融表還能計算交互項。記 PSNR 基線為 $y_0$，傳播、平面約束和兩者同時使用的結果分別為 $y_P,y_L,y_{PL}$，則</p>
<p>$$
\Delta_{\mathrm{int}}
=y_{PL}-y_P-y_L+y_0
=34.68-34.48-34.02+33.53
=-0.29\ \mathrm{dB}.
$$</p>
<p>負交互項表明兩個模塊修正了部分重疊誤差，不適合把單獨增益直接相加當成組合收益。它也提示一個重要實驗要求：傳播提供了新結構，平面約束改變了已有結構的參數，兩者要同時用候選接受率、深度/法線指標與 RGB 指標判斷。</p>
<h2>傳播式增密的失效情形</h2>
<p>傳播依賴已有局部表面作為種子，並默認鄰域中存在可延伸的幾何結構。以下情況需要額外診斷：</p>
<ul>
<li>完全無紋理且沒有邊界錨點的大平面，局部圖像塊不能區分不同深度假設。</li>
<li>鏡面、透明物體和強高光破壞跨視圖光度一致性，ZNCC 也無法將反射運動轉化為幾何證據。</li>
<li>細桿、植被和穿孔結構不滿足局部單平面假設，鄰域傳播會把前後層合併。</li>
<li>相機位姿誤差會同時升高光度與幾何代價，若放寬閾值強行保留候選，錯位會被寫入高斯集合。</li>
<li>遮擋邊界的深度與法線本來就不連續，平面傳播與平滑約束應在邊界兩側分別運行。</li>
<li>外觀模型容量過強時，錯誤幾何仍可被顏色偏置或解碼器補償，候選生成與外觀監督之間需要共同調度。</li>
</ul>
<p>傳播式增密為弱紋理區域增加了 RGB 中心梯度之外的結構信號，但它沒有消除幾何歧義。完整路徑包含假設生成、多視圖檢查、反投影初始化、去重、增長預算與後期剪枝；其中任意一步過於寬鬆，都會把二維匹配中的偶然最優轉化為長期存在的三維圖元。</p>
<p><a href="/posts/3dgs-series-9-joint-intrinsic-appearance-geometry-optimization">《本徵、外觀與幾何監督的聯合優化》</a>將繼續處理這條關係：傳播改變高斯集合，Intrinsic 偽監督約束材質，LE3D 式顏色解碼器分配外觀殘差，幾種信號並不天然具有相容的尺度和梯度方向。</p>
<pre><code class="language-bibtex">@article{kerbl2023gaussians,
  author = {Kerbl, Bernhard and Kopanas, Georgios and Leimkühler, Thomas and Drettakis, George},
  title = {3D Gaussian Splatting for Real-Time Radiance Field Rendering},
  journal = {ACM Transactions on Graphics},
  volume = {42},
  number = {4},
  pages = {139:1--139:14},
  year = {2023}
}

@inproceedings{cheng2024gaussianpro,
  author = {Cheng, Kai and Long, Xiaoxiao and Yang, Kaizhi and Yao, Yao and Yin, Wei and Ma, Yuexin and Wang, Wenping and Chen, Xuejin},
  title = {GaussianPro: 3D Gaussian Splatting with Progressive Propagation},
  booktitle = {Proceedings of the International Conference on Machine Learning},
  pages = {8123--8140},
  year = {2024}
}

@inproceedings{bleyer2011patchmatch,
  author = {Bleyer, Michael and Rhemann, Christoph and Rother, Carsten},
  title = {PatchMatch Stereo---Stereo Matching with Slanted Support Windows},
  booktitle = {Proceedings of the British Machine Vision Conference},
  pages = {14.1--14.11},
  year = {2011}
}

@inproceedings{schonberger2016pixelwise,
  author = {Schönberger, Johannes L. and Zheng, Enliang and Frahm, Jan-Michael and Pollefeys, Marc},
  title = {Pixelwise View Selection for Unstructured Multi-View Stereo},
  booktitle = {Proceedings of the European Conference on Computer Vision},
  pages = {501--518},
  year = {2016}
}

@book{hartley2004multiple,
  author = {Hartley, Richard and Zisserman, Andrew},
  title = {Multiple View Geometry in Computer Vision},
  edition = {2},
  publisher = {Cambridge University Press},
  year = {2004}
}
</code></pre>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>神經渲染</category>
            <category>3D Gaussian Splatting</category>
            <category>3DGS</category>
            <category>GaussianPro</category>
            <category>PatchMatch</category>
            <category>傳播式增密</category>
            <category>多視圖幾何</category>
            <category>弱紋理</category>
        </item>
        <item>
            <title><![CDATA[無球諧外觀表示與神經顏色解碼]]></title>
            <link>https://nishikori.dev/posts/3dgs-series-7-sh-free-appearance-and-neural-color-decoding</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/3dgs-series-7-sh-free-appearance-and-neural-color-decoding</guid>
            <pubDate>Wed, 11 Mar 2026 11:15:00 GMT</pubDate>
            <description><![CDATA[比較 3DGS 的球諧顏色、逐高斯潛在特徵與像素級神經解碼，推導非線性解碼和 Alpha 混合的次序差異、視角導數、外觀容量對幾何雅可比的遮蔽效應，以及反照率與陰影分支的規範約束。]]></description>
            <content:encoded><![CDATA[<p>反照率偽標籤經過跨視角校準和質量路由後，仍需通過具體的外觀參數化進入 3DGS。球諧係數、逐高斯潛在特徵和共享顏色網絡都能生成視角相關顏色，卻具有不同的參數共享範圍、頻率偏置與梯度路徑。除了最終 RGB 的表達能力，外觀參數化還決定圖像誤差由哪些參數吸收，以及有多少梯度能繼續修正高斯幾何。</p>
<h2>球諧顏色的解析結構</h2>
<p>3DGS 為第 $i$ 個高斯保存球諧（Spherical Harmonics，SH）係數，用觀察方向 $\mathbf d\in\mathbb S^2$ 解碼顏色 [@kerbl2023gaussians]。對顏色通道 $c$，階數為 $L$ 的展開為</p>
<p>$$
c_{i,c}(\mathbf d)
=\sum_{l=0}^{L}
\sum_{m=-l}^{l}
k_{i,c,lm}Y_l^m(\mathbf d).
$$</p>
<p>令</p>
<p>$$
\mathbf y_L(\mathbf d)
=\begin{bmatrix}
Y_0^0(\mathbf d)&amp;Y_1^{-1}(\mathbf d)&amp;\cdots&amp;Y_L^L(\mathbf d)
\end{bmatrix}^{\mathsf T},
$$</p>
<p>則三通道顏色可以緊湊寫成</p>
<p>$$
\mathbf c_i(\mathbf d)
=\mathbf K_i\mathbf y_L(\mathbf d),
\qquad
\mathbf K_i\in\mathbb R^{3\times(L+1)^2}.
$$</p>
<p>固定方向後，顏色對係數是線性的：</p>
<p>$$
\frac{\partial\mathbf c_i}{\partial\operatorname{vec}(\mathbf K_i)}
=\mathbf y_L^{\mathsf T}(\mathbf d)\otimes\mathbf I_3.
$$</p>
<p>這一結構帶來穩定而便宜的前向計算，也使每個高斯的外觀參數相互獨立。$L=0$ 只有常量顏色；增加階數後，基函數數量按 $(L+1)^2$ 增長。3DGS 常逐步啟用更高階球諧，使優化先建立近似漫反射基色，再學習視角相關分量。</p>
<p>球諧函數是定義在完整球面上的正交基，但訓練相機只覆蓋有限方向集合 ${\mathbf d_v}$。對單個高斯，把這些方向上的基向量堆疊成</p>
<p>$$
\mathbf Y_i=
\begin{bmatrix}
\mathbf y_L^{\mathsf T}(\mathbf d_1)\
\vdots\
\mathbf y_L^{\mathsf T}(\mathbf d_M)
\end{bmatrix}.
$$</p>
<p>可辨識的係數方向由 $\operatorname{rank}(\mathbf Y_i)$ 決定。若高斯僅從很窄的視角範圍可見，某些高階基在採樣方向上近似相關，$\mathbf Y_i^{\mathsf T}\mathbf Y_i$ 會病態。訓練視圖顏色可以擬合得很好，未觀測方向卻可能出現振盪或顏色突變。解析基的正交性只在連續完整球面積分下成立，不保證有限相機採樣下的數值正交。</p>
<h2>共享神經解碼器的參數組織</h2>
<p>無球諧表示通常讓每個高斯保存低維潛在特徵 $\mathbf f_i\in\mathbb R^D$ 與可選顏色偏置 $\mathbf b_i$，再由共享網絡 $F_{\boldsymbol\phi}$ 根據特徵和視角生成顏色：</p>
<p>$$
\mathbf c_i(\mathbf d)
=g!\left(
F_{\boldsymbol\phi}(\mathbf f_i,\gamma(\mathbf d))
+\mathbf b_i
\right).
$$</p>
<p>$\gamma$ 是方向編碼，$g$ 決定輸出域。LDR 顏色可以使用 sigmoid 或有界映射；在線性 HDR 域中，上界會截斷亮度，LE3D 使用指數輸出</p>
<p>$$
\mathbf c_i
=\exp!\left(
F_{\boldsymbol\phi}(\mathbf f_i,\mathbf v)
+\mathbf b_i
\right),
$$</p>
<p>並用多視圖投影顏色的對數均值初始化偏置，使初始輸出接近觀測亮度 [@jin2024lighting]。</p>
<figure id="fig_le3d_color_mlp_pipeline" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-7/le3d-pipeline.webp" alt="LE3D 從噪聲 RAW 圖像初始化高斯並用逐高斯特徵、視角和偏置輸入 Color MLP 的管線" />
  <figcaption class="md-figure__caption">LE3D 用逐高斯特徵 $f_i$、視角 $v$ 和顏色偏置 $b_i$ 生成線性 RAW 顏色，幾何、不透明度與外觀特徵仍由同一組高斯承載。圖中同時包含該工作的初始化和幾何正則模塊；這裏關注中部的 Color MLP 顏色路徑 [@jin2024lighting]。</figcaption>
</figure>
<p>共享網絡把外觀先驗從“每個高斯獨立的一組解析係數”改為“每個高斯代碼與全局解碼函數”。其參數量近似為</p>
<p>$$
P_{\mathrm{MLP}}
=ND+N_b+P_{\boldsymbol\phi},
$$</p>
<p>球諧參數量則為</p>
<p>$$
P_{\mathrm{SH}}
=3N(L+1)^2.
$$</p>
<p>當 $N$ 很大且 $D&lt;3(L+1)^2$ 時，潛在代碼可以降低逐高斯存儲；但共享網絡的計算成本、緩存訪問和批處理方式會進入渲染開銷。參數更少也不等於表達更弱：$F_{\boldsymbol\phi}$ 在全部高斯之間共享統計規律，能夠用非線性組合複用容量。</p>
<h2>解碼與 Alpha 混合的次序</h2>
<p>“先解碼再混合”和“先混合再解碼”經常都被稱為顏色 MLP，二者在非線性網絡下並不等價。</p>
<p>逐高斯解碼先得到</p>
<p>$$
\mathbf c_i=F(\mathbf f_i,\mathbf d_i),
$$</p>
<p>再執行 Alpha 混合：</p>
<p>$$
\mathbf C_{\mathrm{pre}}(p)
=\sum_iw_i(p)\mathbf c_i.
$$</p>
<p>像素級解碼先聚合特徵</p>
<p>$$
\overline{\mathbf f}(p)
=\frac{\sum_iw_i(p)\mathbf f_i}{W(p)+\epsilon},
\qquad
W(p)=\sum_iw_i(p),
$$</p>
<p>再生成顏色：</p>
<p>$$
\mathbf C_{\mathrm{post}}(p)
=F(\overline{\mathbf f}(p),\mathbf d_p).
$$</p>
<p>若 $F$ 對特徵是仿射函數，且權重已歸一化，則兩者可以相等。對一般非線性網絡，令</p>
<p>$$
\widetilde w_i=\frac{w_i}{W},
\qquad
\overline{\mathbf f}=\sum_i\widetilde w_i\mathbf f_i,
$$</p>
<p>在 $\overline{\mathbf f}$ 附近作二階展開：</p>
<p>$$
F(\mathbf f_i)
\approx
F(\overline{\mathbf f})
+\mathbf J_F(\mathbf f_i-\overline{\mathbf f})
+\frac12
(\mathbf f_i-\overline{\mathbf f})^{\mathsf T}
\mathbf H_F
(\mathbf f_i-\overline{\mathbf f}).
$$</p>
<p>按 $\widetilde w_i$ 求和後，一階項消失：</p>
<p>$$
\sum_i\widetilde w_iF(\mathbf f_i)
-F(\overline{\mathbf f})
\approx
\frac12\sum_i\widetilde w_i
(\mathbf f_i-\overline{\mathbf f})^{\mathsf T}
\mathbf H_F
(\mathbf f_i-\overline{\mathbf f}).
$$</p>
<p>差異由特徵在射線上的方差和網絡曲率共同決定。單一表面、權重高度集中時，兩者接近；遮擋邊界、半透明區域或多層高斯混合時，像素級解碼會先把不同表面的特徵混在一起，可能生成任何一個高斯都沒有的顏色。逐高斯解碼保持圖元語義，代價是對每個可見高斯執行網絡或查表。</p>
<h2>視角方向的導數</h2>
<p>球諧顏色的方向導數為</p>
<p>$$
\frac{\partial\mathbf c_i}{\partial\mathbf d}
=\mathbf K_i
\frac{\partial\mathbf y_L(\mathbf d)}{\partial\mathbf d}.
$$</p>
<p>最高階數限制了方向頻率，也使導數具有明確的解析結構。神經解碼器則有</p>
<p>$$
\frac{\partial\mathbf c_i}{\partial\mathbf d}
=\mathbf J_{\mathrm{out}}
\frac{\partial F_{\boldsymbol\phi}}
{\partial\gamma}
\frac{\partial\gamma(\mathbf d)}{\partial\mathbf d}.
$$</p>
<p>若方向編碼包含高頻正餘弦，$\partial\gamma/\partial\mathbf d$ 會隨頻率增大；網絡能夠表示更尖銳的視角變化，也更容易在訓練方向之間出現高頻振盪。對鏡面高光這可能是必要容量，對漫反射牆面則可能成為記憶相機方向的捷徑。</p>
<p>方向本身由相機中心 $\mathbf o_v$ 與高斯位置 $\boldsymbol\mu_i$ 決定：</p>
<p>$$
\mathbf d_{iv}
=\frac{\boldsymbol\mu_i-\mathbf o_v}
{|\boldsymbol\mu_i-\mathbf o_v|_2}.
$$</p>
<p>令 $r=|\boldsymbol\mu_i-\mathbf o_v|_2$，則</p>
<p>$$
\frac{\partial\mathbf d_{iv}}
{\partial\boldsymbol\mu_i}
=\frac{1}{r}
\left(
\mathbf I_3-\mathbf d_{iv}\mathbf d_{iv}^{\mathsf T}
\right).
$$</p>
<p>因此，顏色對位置還存在一條經過觀察方向的路徑：</p>
<p>$$
\frac{\partial\mathbf c_i}
{\partial\boldsymbol\mu_i}
=\frac{\partial\mathbf c_i}{\partial\mathbf d_{iv}}
\frac{\partial\mathbf d_{iv}}{\partial\boldsymbol\mu_i}.
$$</p>
<p>當神經外觀對方向非常敏感時，移動高斯不僅改變投影權重，也會顯著改變解碼顏色。幾何梯度由此混入外觀方向導數，位置更新更難單獨解釋為投影對齊。</p>
<h2>外觀容量與幾何補償</h2>
<p>設所有像素殘差堆疊為</p>
<p>$$
\mathbf r
=\mathbf I_{\mathrm{render}}(\boldsymbol\theta_g,\boldsymbol\theta_a)
-\mathbf I_{\mathrm{gt}},
$$</p>
<p>$\boldsymbol\theta_g$ 是幾何參數，$\boldsymbol\theta_a$ 是外觀參數。局部線性化得到</p>
<p>$$
\mathbf r(\Delta\boldsymbol\theta_g,\Delta\boldsymbol\theta_a)
\approx
\mathbf r_0
+\mathbf J_g\Delta\boldsymbol\theta_g
+\mathbf J_a\Delta\boldsymbol\theta_a.
$$</p>
<p>消去外觀增量後的幾何正規矩陣為</p>
<p>$$
\mathbf H_{g\mid a}
=\mathbf J_g^{\mathsf T}
\left[
\mathbf I
-\mathbf J_a
(\mathbf J_a^{\mathsf T}\mathbf J_a+\lambda_a\mathbf I)^{-1}
\mathbf J_a^{\mathsf T}
\right]
\mathbf J_g.
$$</p>
<p>中括號把可以由外觀子空間解釋的殘差方向投影出去。$\operatorname{col}(\mathbf J_a)$ 越大，落到幾何上的有效信息越少。增加 MLP 寬度、潛在特徵維度或方向編碼頻率，可能提高訓練圖像擬合，同時降低某些幾何方向的條件數。外觀容量與幾何質量之間不存在單調關係。</p>
<p>一個更直觀的標量例子是帶顏色斜率的邊緣。設投影位置誤差為 $\delta u$，圖像梯度為 $I_u$，外觀偏置為 $\delta b$，殘差近似為</p>
<p>$$
r\approx I_u\delta u+\delta b.
$$</p>
<p>若 $\delta b$ 可自由調整，則取 $\delta b=-I_u\delta u$ 可以完全抵消位置誤差。給偏置加入 $\lambda_b\delta b^2$ 後，消去 $\delta b$ 得到位置方向的有效曲率</p>
<p>$$
H_{u\mid b}
=I_u^2\frac{\lambda_b}{1+lambda_b}.
$$</p>
<p>$\lambda_b\rightarrow0$ 時，幾何曲率趨近於零；強約束外觀後，位置才重新受到圖像證據約束。這個推導解釋了為何獨立顏色偏置既能加速初期擬合，也可能在弱紋理區域長期掩蓋幾何偏移。</p>
<figure id="fig_le3d_color_mlp_ablation" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-7/le3d-ablation.webp" alt="LE3D 對初始化、Color MLP 和幾何正則的消融結果，包括訓練早期使用和不使用 Color MLP 的顏色差異" />
  <figcaption class="md-figure__caption">LE3D 的消融把顏色表示與幾何結果放在同一組對比中：去除 Color MLP 後，線性 RAW 顏色在訓練早期出現明顯異常，相關結構結果也發生變化；同時，初始化與幾何正則仍各自影響深度。該結果說明外觀路徑會參與幾何優化，但不能據此把全部幾何改善歸因於解碼器 [@jin2024lighting]。</figcaption>
</figure>
<h2>反照率與陰影分支的規範</h2>
<p>若神經解碼器輸出反照率與陰影</p>
<p>$$
\mathbf A_i
=\sigma(F_A(\mathbf f_i,\mathbf d)),
\qquad
\mathbf S_i
=g_S(F_S(\mathbf f_i,\mathbf d)),
$$</p>
<p>並組合為</p>
<p>$$
\mathbf c_i=\mathbf A_i\odot\mathbf S_i+mathbf b_i,
$$</p>
<p>則本徵分解的尺度自由度直接進入三維外觀表示。對正數 $\mathbf k$，</p>
<p>$$
(\mathbf A_i,\mathbf S_i)
\mapsto
(\mathbf k\odot\mathbf A_i,
\mathbf S_i\oslash\mathbf k)
$$</p>
<p>保持顏色不變；若還有自由偏置 $\mathbf b_i$，加性誤差也能被第三條路徑吸收。僅用 RGB 重建損失無法讓分支獲得穩定語義。</p>
<p>跨視角反照率偽監督為 $\mathbf A$ 選擇規範，陰影正則限制 $\mathbf S$ 的空間與時間變化，偏置容量則應保持受控。聯合目標可以寫成</p>
<p>$$
\mathcal L
=\mathcal L_{\mathrm{rgb}}
+w_A\mathcal L_A
+\lambda_S\mathcal R_S
+\lambda_b\mathcal R_b.
$$</p>
<p>如果 $w_A=0$，反照率與陰影的變量名不保證任何分解；如果 $w_A$ 過大且偽標籤有偏，錯誤材質會反向污染共享特徵。第 6 篇中的質量路由恰好控制這一入口。</p>
<p>對像素級特徵解碼，還需決定反照率偽標籤監督的是</p>
<p>$$
F_A!\left(
\sum_i\widetilde w_i\mathbf f_i
\right)
$$</p>
<p>還是</p>
<p>$$
\sum_i\widetilde w_iF_A(\mathbf f_i).
$$</p>
<p>兩者的差異仍由網絡曲率和射線特徵方差決定。在遮擋邊界處，前者容易把前後表面的材質代碼混合，後者更接近可見圖元的反照率合成；但後者計算更重，並要求每個圖元分支具有明確含義。</p>
<h2>初始化、複製與分裂</h2>
<p>神經顏色表示引入了新的結構演化問題。高斯複製或分裂時，子高斯通常繼承父高斯的 $\mathbf f_i$ 與 $\mathbf b_i$。這樣能保持渲染連續，但兩個子高斯初始外觀完全相同。若後續可見視角也相似，它們可能長期無法分化。</p>
<p>設兩個子高斯特徵為</p>
<p>$$
\mathbf f_{i_1}=\mathbf f_i+\boldsymbol\epsilon,
\qquad
\mathbf f_{i_2}=\mathbf f_i-\boldsymbol\epsilon.
$$</p>
<p>對稱小擾動可打破完全相同的狀態，但 $\boldsymbol\epsilon$ 過大會在緻密化瞬間造成顏色閃爍。另一種方式是複製特徵而改變幾何，讓可見性差異自然產生不同梯度。選擇取決於解碼器是否容易出現特徵塌縮，以及渲染連續性要求。</p>
<p>偏置初始化同樣影響優化。若使用觀測顏色均值初始化 $\mathbf b_i$，網絡殘差從接近零開始，能夠快速得到合理圖像；但觀測均值包含陰影和曝光，偏置可能先佔據本應由反照率或陰影分支解釋的成分。初始化提供的是優化起點，不應被當作材質估計。</p>
<h2>解析基與神經解碼的取捨</h2>
<table>
<thead>
<tr>
<th>維度</th>
<th>球諧顏色</th>
<th>逐高斯神經解碼</th>
<th>像素級特徵解碼</th>
</tr>
</thead>
<tbody>
<tr>
<td>參數共享</td>
<td>每個高斯獨立係數</td>
<td>逐高斯代碼 + 全局網絡</td>
<td>逐高斯代碼 + 全局網絡</td>
</tr>
<tr>
<td>方向頻率</td>
<td>由階數明確限制</td>
<td>由編碼和網絡容量決定</td>
<td>由編碼和網絡容量決定</td>
</tr>
<tr>
<td>混合次序</td>
<td>解碼後混合</td>
<td>解碼後混合</td>
<td>混合後解碼</td>
</tr>
<tr>
<td>多層邊界</td>
<td>線性顏色組合</td>
<td>非線性顏色的線性組合</td>
<td>潛在特徵先發生混合</td>
</tr>
<tr>
<td>渲染成本</td>
<td>低且規則</td>
<td>與可見高斯數相關</td>
<td>與像素數相關</td>
</tr>
<tr>
<td>外觀捷徑</td>
<td>高階係數擬合視角</td>
<td>特徵、偏置和網絡共同補償</td>
<td>混合特徵與網絡共同補償</td>
</tr>
<tr>
<td>可解釋性</td>
<td>基函數頻率明確</td>
<td>潛在維度缺少直接語義</td>
<td>像素輸出更難回到單個高斯</td>
</tr>
</tbody>
</table>
<p>球諧適合受限頻率的視角相關外觀，計算路徑簡單；神經解碼適合線性 HDR、複雜相機響應或需要顯式反照率/陰影接口的場景。選擇外觀模型時，至少要同時報告訓練視圖擬合、新視角穩定性、方向導數、幾何指標與運行開銷。只比較 PSNR 會把外觀容量和幾何質量混為一個結論。</p>
<p>無球諧表示的真正變化不在於刪除一組係數，而在於重新分配場景級與圖元級參數。共享網絡可以建立跨高斯外觀先驗，潛在代碼可以提供更靈活的輸入，反照率分支也能接收經過路由的偽監督；相應代價是非線性混合、規範自由度和更大的外觀捷徑空間。<a href="/posts/3dgs-series-8-propagation-densification-geometric-gating">《傳播式增密中的候選生成與幾何門控》</a>將局部 RGB 梯度不足時的結構增長問題獨立展開，並保留這條外觀消元視角。</p>
<pre><code class="language-bibtex">@article{kerbl2023gaussians,
  author = {Kerbl, Bernhard and Kopanas, Georgios and Leimkühler, Thomas and Drettakis, George},
  title = {3D Gaussian Splatting for Real-Time Radiance Field Rendering},
  journal = {ACM Transactions on Graphics},
  volume = {42},
  number = {4},
  pages = {139:1--139:14},
  year = {2023}
}

@inproceedings{jin2024lighting,
  author = {Jin, Xin and Jiao, Pengyi and Duan, Zheng-Peng and Yang, Xingchao and Li, Chongyi and Guo, Chun-Le and Ren, Bo},
  title = {Lighting Every Darkness with 3DGS: Fast Training and Real-Time Rendering for HDR View Synthesis},
  booktitle = {Advances in Neural Information Processing Systems},
  volume = {37},
  pages = {80191--80219},
  year = {2024}
}
</code></pre>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>神經渲染</category>
            <category>3D Gaussian Splatting</category>
            <category>3DGS</category>
            <category>球諧函數</category>
            <category>Color MLP</category>
            <category>外觀表示</category>
            <category>神經渲染</category>
        </item>
        <item>
            <title><![CDATA[跨視角反照率校準與質量路由]]></title>
            <link>https://nishikori.dev/posts/3dgs-series-6-cross-view-albedo-calibration-and-quality-routing</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/3dgs-series-6-cross-view-albedo-calibration-and-quality-routing</guid>
            <pubDate>Thu, 05 Mar 2026 11:40:00 GMT</pubDate>
            <description><![CDATA[將單視圖反照率整理為可用的多視圖偽監督，推導帶掩碼的逐通道仿射校準、魯棒重加權、參數不確定性與循環一致性，並從決策風險分析質量路由、連續置信度和時間調度。]]></description>
            <content:encoded><![CDATA[<p>單幀本徵分解允許多種合理解釋。即使每一幀單獨看起來平滑、材質邊界清楚，不同視角的反照率仍可能處於不同尺度和色彩規範中。3DGS 的外觀參數由多張訓練圖像共享；把這些預測直接作為等權標籤，會在同一三維表面上產生互相衝突的梯度。</p>
<p>跨視角處理需要完成兩層工作。第一層是校準：估計可以由低維變換解釋的全局或逐通道漂移。第二層是決策：判斷校準後的殘差來自正常噪聲、局部失敗還是錯誤對應，並據此決定監督是否進入訓練。兩層不能合併為一個誤差閾值，因為一個自由度過高的校準模型也能降低殘差，卻不一定提高偽標籤質量。</p>
<h2>多視圖重疊區域</h2>
<p>設第 $i$ 個視角的反照率預測為 $\widehat{\mathbf A}_i$，參考視角為 $r$。像素 $p$ 通過當前深度 $D_i(p)$ 反投影到三維：</p>
<p>$$
\mathbf X_i(p)
=\mathbf R_i^{\mathsf T}
\left(D_i(p)\mathbf K_i^{-1}\widetilde p-\mathbf t_i\right),
$$</p>
<p>再投影到參考視角：</p>
<p>$$
q_{ir}(p)
=\pi!\left(
\mathbf K_r
(\mathbf R_r\mathbf X_i(p)+\mathbf t_r)
\right).
$$</p>
<p>這裏的 $\widetilde p$ 是齊次像素座標。只有同時滿足下列條件的像素才能進入重疊域 $\Omega_{ir}$：投影位於參考圖像內部，兩側深度在容差內一致，視線未被遮擋，反照率預測有效，且像素不處於明顯飽和或動態區域。可以寫成</p>
<p>$$
m_{ir}(p)
=m_{\mathrm{in}}(p)\cdot
m_{\mathrm{depth}}(p)\cdot
m_{\mathrm{visible}}(p)\cdot
m_{\mathrm{valid}}(p)
\in{0,1},
$$</p>
<p>$$
\Omega_{ir}={p:m_{ir}(p)=1},
$$</p>
<p>其中乘號表示多個二值條件的合取。</p>
<p>深度一致性常用相對形式：</p>
<p>$$
m_{\mathrm{depth}}(p)
=\mathbb{I}!\left[
\frac{|z_r(\mathbf X_i(p))-D_r(q_{ir}(p))|}
{D_r(q_{ir}(p))+\epsilon}&lt;\tau_z
\right].
$$</p>
<p>若幾何本身尚不穩定，$\Omega_{ir}$ 會繼承深度誤差。反照率校準因此不應在訓練最早期由任意像素對應驅動；更穩妥的做法是使用可靠的初始幾何、稀疏匹配或經過前後向檢查的對應，並保留重疊率作為質量變量。</p>
<h2>逐通道仿射校準</h2>
<p>本徵分解中的尺度規範、相機曝光與白平衡通常表現為低維色彩漂移。對顏色通道 $c$，用仿射模型</p>
<p>$$
A^{*}<em>{i,c}(p)
=a</em>{i,c}\widehat A_{i,c}(p)+b_{i,c}
$$</p>
<p>將第 $i$ 幀映射到參考域。忽略魯棒損失時，加權最小二乘問題為</p>
<p>$$
\min_{a,b}
\sum_{p\in\Omega_{ir}}
\omega_p
\left(a x_p+b-y_p\right)^2,
$$</p>
<p>其中</p>
<p>$$
x_p=\widehat A_{i,c}(p),
\qquad
y_p=\widehat A_{r,c}(q_{ir}(p)).
$$</p>
<p>令</p>
<p>$$
\overline x_w=\frac{\sum_p\omega_px_p}{\sum_p\omega_p},
\qquad
\overline y_w=\frac{\sum_p\omega_py_p}{\sum_p\omega_p},
$$</p>
<p>閉式解為</p>
<p>$$
a^{<em>}
=\frac{
\sum_p\omega_p(x_p-\overline x_w)(y_p-\overline y_w)
}{
\sum_p\omega_p(x_p-\overline x_w)^2
},
\qquad
b^{</em>}=\overline y_w-a^{*}\overline x_w.
$$</p>
<p>分母是源預測在有效重疊域內的加權方差。當場景幾乎只有均勻白牆時，</p>
<p>$$
\sum_p\omega_p(x_p-\overline x_w)^2\approx0,
$$</p>
<p>尺度 $a$ 變得不可辨識；這時很小的像素噪聲也會導致很大的尺度變化。給分母加 $\epsilon$ 只能避免數值除零，不能恢復缺失的信息。工程上需要限制 $a$ 與 $b$ 的合理範圍、增加先驗，或者在色彩跨度不足時退化為僅估計偏置/尺度。</p>
<p>將問題寫成矩陣形式</p>
<p>$$
\mathbf y=\mathbf X\boldsymbol\beta+\boldsymbol\epsilon,
\qquad
\mathbf X=
\begin{bmatrix}
x_1&amp;1\
\vdots&amp;\vdots\
x_n&amp;1
\end{bmatrix},
\qquad
\boldsymbol\beta=
\begin{bmatrix}a\b\end{bmatrix},
$$</p>
<p>若殘差方差近似為 $\sigma^2$，參數協方差為</p>
<p>$$
\operatorname{Cov}(\widehat{\boldsymbol\beta})
\approx
\sigma^2(\mathbf X^{\mathsf T}\mathbf W\mathbf X)^{-1}.
$$</p>
<p>$\mathbf X^{\mathsf T}\mathbf W\mathbf X$ 的最小特徵值越小，對齊參數越不穩定。因而質量評估除了查看校準誤差，還應檢查重疊面積、源值方差和法方程條件數。</p>
<h2>魯棒重加權與局部失敗</h2>
<p>遮擋邊界、鏡面高光、錯誤深度和單幀分解失敗會形成離群殘差。把平方損失替換為魯棒 M 估計：</p>
<p>$$
\min_{a,b}
\sum_{p\in\Omega_{ir}}
\omega_p
\rho_{\delta}(a x_p+b-y_p),
$$</p>
<p>以 Huber 損失為例 [@huber1964robust]，</p>
<p>$$
\rho_{\delta}(r)=
\begin{cases}
\frac12r^2, &amp; |r|\leq\delta,\
\delta\left(|r|-\frac12\delta\right), &amp; |r|&gt;\delta.
\end{cases}
$$</p>
<p>它對應的迭代重加權係數為</p>
<p>$$
u(r)=\frac{\rho_{\delta}'(r)}{r}
=\begin{cases}
1, &amp; |r|\leq\delta,\
\delta/|r|, &amp; |r|&gt;\delta.
\end{cases}
$$</p>
<p>每輪用 $\omega_pu(r_p)$ 更新加權最小二乘，能夠降低孤立大殘差的影響。然而，若一整塊牆面都被預測成錯誤色調，這些殘差可能彼此一致，並不會表現為統計離群點。魯棒估計保護的是參數免受少量異常值支配，不負責判斷模型偏差是否具有空間結構。</p>
<p>可以用有效樣本量觀察權重是否集中在少數像素：</p>
<p>$$
N_{\mathrm{eff}}
=\frac{\left(\sum_p\widetilde\omega_p\right)^2}
{\sum_p\widetilde\omega_p^2},
\qquad
\widetilde\omega_p=\omega_pu(r_p).
$$</p>
<p>即使 $|\Omega_{ir}|$ 很大，若大多數像素被降權，$N_{\mathrm{eff}}$ 仍會很小。僅報告重疊像素數量會高估校準的實際支撐。</p>
<h2>多視圖圖上的規範傳播</h2>
<p>逐幀都對齊到單一參考視角會讓參考幀的局部錯誤傳播到整個場景。把視角看成圖 $\mathcal G=(\mathcal V,\mathcal E)$，邊 $(i,j)$ 上估計相對仿射參數。為便於推導，先考慮無偏置的對數尺度</p>
<p>$$
g_{ij}=\log a_{ij}.
$$</p>
<p>每個視角具有未知規範 $s_i=\log a_i$，理想情況下</p>
<p>$$
g_{ij}=s_j-s_i+\epsilon_{ij}.
$$</p>
<p>全局估計可以寫成</p>
<p>$$
\min_{{s_i}}
\sum_{(i,j)\in\mathcal E}
w_{ij}(s_j-s_i-g_{ij})^2,
\qquad s_r=0.
$$</p>
<p>其法方程由加權圖拉普拉斯矩陣給出。固定一個參考規範後，只有與參考節點連通的視角才能被確定；弱連接節點的不確定性會明顯增大。這個圖結構比“每幀是否存在預測文件”更接近多視圖監督的真實可用性。</p>
<p>環路還能提供不依賴絕對規範的一致性檢查。對閉環 $i\rightarrow j\rightarrow k\rightarrow i$，理想情況下</p>
<p>$$
g_{ij}+g_{jk}+g_{ki}=0.
$$</p>
<p>帶偏置的仿射變換記為 $T_{ij}(x)=a_{ij}x+b_{ij}$，則複合閉環應滿足</p>
<p>$$
T_{ki}\circ T_{jk}\circ T_{ij}\approx\operatorname{Id}.
$$</p>
<p>較大的閉環誤差說明至少一條邊的對應或校準不可靠。它仍不能定位哪一幀必然錯誤，但能發現單參考誤差指標無法暴露的相互矛盾。</p>
<h2>校準一致性與反照率偏差</h2>
<p>記校準前後在驗證重疊域上的誤差為</p>
<p>$$
E_{\mathrm{before}}
=\frac{1}{Z}
\sum_p\omega_p
|\widehat{\mathbf A}_i(p)-\widehat{\mathbf A}_r(q_p)|_1,
$$</p>
<p>$$
E_{\mathrm{after}}
=\frac{1}{Z}
\sum_p\omega_p
|\mathbf A_i^{*}(p)-\widehat{\mathbf A}_r(q_p)|_1,
\qquad
Z=\sum_p\omega_p.
$$</p>
<p>改善比例可寫為</p>
<p>$$
\rho_i
=\frac{E_{\mathrm{before}}-E_{\mathrm{after}}}
{E_{\mathrm{before}}+\epsilon}.
$$</p>
<p>$\rho_i&gt;0$ 表示低維校準提高了兩幀的一致性，但它不證明二者接近真實反照率。若兩幀都把陰影錯誤地烘焙進材質，校準後仍可高度一致；若參考幀自身錯誤，其他幀向它靠近反而擴大偏差。質量向量至少應包括</p>
<p>$$
\mathbf q_i=
\left[
E_{\mathrm{after}},
\rho_i,
r_{\mathrm{overlap}},
N_{\mathrm{eff}},
\kappa_i,
E_{\mathrm{cycle}},
u_i
\right],
$$</p>
<p>分別描述殘餘誤差、改善比例、重疊率、有效樣本量、條件數、閉環誤差與預測不確定性。多維質量不能由一個指標完全替代。</p>
<figure id="fig_intrinsic_uncertainty" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-6/intrinsic-uncertainty.webp" alt="三組真實室內圖像的反照率基線、多個預測樣本、均值和方差圖" />
  <figcaption class="md-figure__caption">真實圖像中的反照率候選並非處處同樣可靠。多個樣本在大面積漫反射表面較一致，在燈具、鏡面、物體邊緣和小結構附近方差升高；場景級校準只能處理整體規範，局部不確定性仍需進入像素掩碼或連續權重 [@kocsis2024intrinsic]。</figcaption>
</figure>
<h2>質量路由與監督權重</h2>
<p>令渲染或解碼得到的反照率為 $\mathbf A_{\theta,i}(p)$，校準後的偽標籤為 $\mathbf A_i^{*}(p)$。帶路由的監督項可以寫成</p>
<p>$$
\mathcal L_A(t)
=\frac{
\sum_{i,p}
w_A^{(0)}
\eta(t)
\Gamma(\mathbf q_i)
c_i(p)
m_i(p)
\ell!\left(
\mathbf A_{\theta,i}(p),
\mathbf A_i^{*}(p)
\right)
}{
\sum_{i,p}
\eta(t)\Gamma(\mathbf q_i)c_i(p)m_i(p)+\epsilon
}.
$$</p>
<p>$w_A^{(0)}$ 是基礎權重，$\eta(t)$ 是時間調度，$\Gamma(\mathbf q_i)$ 是場景/幀級質量路由，$c_i(p)$ 是像素級連續置信度，$m_i(p)$ 處理無效區域。將這些因子分開，可以區分四類問題：監督總體量綱、當前訓練階段、整幀是否可信、局部像素是否有效。</p>
<p>離散路由可以取</p>
<p>$$
\Gamma(s_i)=
\begin{cases}
1, &amp; s_i=\text{通過},\
\gamma, &amp; s_i=\text{警告},\
0, &amp; s_i=\text{失敗},
\end{cases}
\qquad 0&lt;\gamma&lt;1.
$$</p>
<p>它便於記錄和復現實驗，但閾值附近會產生跳變。連續形式可以用標準化風險分數 $r_i$：</p>
<p>$$
\Gamma_i
=\sigma!\left(
\frac{\tau-r_i}{T}
\right),
$$</p>
<p>其中 $T$ 控制過渡寬度。連續權重更平滑，代價是質量變量的標定必須穩定；若不同場景的分數分佈不一致，同一個 $\tau$ 並不代表相同風險。</p>
<h2>質量路由的誤判代價</h2>
<p>設偽標籤正確的概率為 $q$。啟用監督時，正確標籤帶來的期望收益為 $B$，錯誤標籤帶來的代價為 $C$；禁用監督的收益記為零。啟用的期望效用為</p>
<p>$$
U_{\mathrm{on}}
=qB-(1-q)C.
$$</p>
<p>只有當</p>
<p>$$
q&gt;\frac{C}{B+C}
$$</p>
<p>時，啟用監督才更合適。如果錯誤偽標籤會通過共享外觀進一步擾動幾何，$C$ 較大，閾值自然應更保守；若反照率分支與幾何完全隔離且具有強魯棒性，$C$ 較小，可以保留更多弱監督。這說明路由閾值取決於下游損害，不只是上游預測指標。</p>
<p>質量狀態還會改變梯度偏差。設真實反照率梯度為 $\mathbf g^{*}$，偽標籤產生的梯度為</p>
<p>$$
\widetilde{\mathbf g}
=\mathbf g^{*}+\mathbf b+\boldsymbol\xi,
$$</p>
<p>$\mathbf b$ 是系統偏差，$\boldsymbol\xi$ 是零均值噪聲。乘以置信度 $w$ 後，梯度均方誤差為</p>
<p>$$
\mathbb E
|w\widetilde{\mathbf g}-\mathbf g^{<em>}|_2^2
=|(w-1)\mathbf g^{</em>}+w\mathbf b|_2^2
+w^2\mathbb E|\boldsymbol\xi|_2^2.
$$</p>
<p>降權能壓低噪聲方差，也會削弱有效信號；若偏差方向與真實梯度相反，較大的 $w$ 尤其危險。質量路由需要在信息增益與偏差傳播之間取得可解釋的折中，偽標籤的使用數量並非優先目標。</p>
<h2>時間調度與幾何狀態</h2>
<p>訓練初期的投影、覆蓋率和外觀特徵都在快速變化。過早啟用跨視角反照率監督，可能把錯誤對應固定到共享表示；過晚啟用則讓顏色參數先吸收照明。一個平滑的升權函數可以寫為</p>
<p>$$
\eta(t)
=\begin{cases}
0, &amp; t&lt;t_0,\
\frac12\left[
1-\cos!\left(
\pi\frac{t-t_0}{t_1-t_0}
\right)
\right], &amp; t_0\leq t&lt;t_1,\
1, &amp; t\geq t_1.
\end{cases}
$$</p>
<p>固定迭代數只是近似。更直接的啟用條件可以依賴幾何狀態，例如覆蓋率、深度方差、重投影殘差或對應閉環誤差。當這些量穩定後再提高 $\eta$，調度會更接近監督實際可靠性的變化。</p>
<p>質量也可能隨訓練發生改變。若偽標籤對齊完全基於固定初始幾何，後期幾何改善不會反映到對應；若每輪都在線重算，標籤與模型又形成強反饋迴路。常見折中是低頻更新對應與質量緩存，並用滯回閾值避免狀態在邊界附近反覆切換：</p>
<p>$$
s_i^{(t+1)}=
\begin{cases}
\text{通過}, &amp; q_i&gt;\tau_{\mathrm{on}},\
\text{失敗}, &amp; q_i&lt;\tau_{\mathrm{off}},\
s_i^{(t)}, &amp; \tau_{\mathrm{off}}\leq q_i\leq\tau_{\mathrm{on}},
\end{cases}
$$</p>
<p>其中 $\tau_{\mathrm{off}}&lt;\tau_{\mathrm{on}}$。</p>
<h2>校準與路由的適用範圍</h2>
<table>
<thead>
<tr>
<th>診斷量</th>
<th>能說明的內容</th>
<th>不能說明的內容</th>
</tr>
</thead>
<tbody>
<tr>
<td>校準後誤差</td>
<td>低維變換後的剩餘不一致</td>
<td>反照率是否接近物理真值</td>
</tr>
<tr>
<td>改善比例</td>
<td>仿射校準是否有作用</td>
<td>參考幀是否正確</td>
</tr>
<tr>
<td>重疊率</td>
<td>對齊可用區域的覆蓋程度</td>
<td>對應是否沒有系統偏差</td>
</tr>
<tr>
<td>有效樣本量</td>
<td>魯棒權重是否集中</td>
<td>大範圍一致錯誤是否存在</td>
</tr>
<tr>
<td>條件數</td>
<td>仿射參數是否可辨識</td>
<td>分解語義是否正確</td>
</tr>
<tr>
<td>閉環誤差</td>
<td>多視圖相對變換是否矛盾</td>
<td>錯誤具體位於哪條邊</td>
</tr>
<tr>
<td>預測方差</td>
<td>單幀模型的解空間分散程度</td>
<td>低方差預測是否無偏</td>
</tr>
</tbody>
</table>
<p>多視圖反照率偽監督需要把圖像、對應、校準參數、掩碼和質量狀態作為一個整體保存。缺少其中任何一項，後續訓練都難以區分“沒有標籤”“標籤未對齊”“標籤不可靠”和“標籤只在局部有效”。</p>
<p>校準解決的是規範差異，路由控制的是錯誤傳播。它們都不改變 3DGS 的外觀參數化：即使偽標籤已經足夠穩定，球諧係數、逐高斯潛在特徵和顏色解碼器仍會以不同方式吸收監督並影響幾何。<a href="/posts/3dgs-series-7-sh-free-appearance-and-neural-color-decoding">《無球諧外觀表示與神經顏色解碼》</a>從這條梯度路徑繼續分析外觀參數化的影響。</p>
<pre><code class="language-bibtex">@inproceedings{kocsis2024intrinsic,
  author = {Kocsis, Peter and Sitzmann, Vincent and Nießner, Matthias},
  title = {Intrinsic Image Diffusion for Indoor Single-View Material Estimation},
  booktitle = {IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages = {5198--5208},
  year = {2024}
}

@article{huber1964robust,
  author = {Huber, Peter J.},
  title = {Robust Estimation of a Location Parameter},
  journal = {The Annals of Mathematical Statistics},
  volume = {35},
  number = {1},
  pages = {73--101},
  year = {1964}
}
</code></pre>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>神經渲染</category>
            <category>3D Gaussian Splatting</category>
            <category>3DGS</category>
            <category>反照率</category>
            <category>多視圖一致性</category>
            <category>魯棒估計</category>
            <category>質量路由</category>
        </item>
        <item>
            <title><![CDATA[複雜光照下的本徵圖像與反照率先驗]]></title>
            <link>https://nishikori.dev/posts/3dgs-series-5-intrinsic-images-and-albedo-priors</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/3dgs-series-5-intrinsic-images-and-albedo-priors</guid>
            <pubDate>Mon, 09 Feb 2026 11:20:00 GMT</pubDate>
            <description><![CDATA[從圖像形成方程出發，推導反照率與光照分解的尺度規範、局部零空間和可辨識條件，分析彩色照明、鏡面反射、曝光與截斷對反照率先驗的影響，以及它在 3DGS 訓練中的有效邊界。]]></description>
            <content:encoded><![CDATA[<p>多通道渲染把深度、法線和特徵接入了 3DGS 的可微管線，卻沒有拆開 RGB 本身。對同一塊淺色牆面，像素變暗可能來自牆面材質、入射光減弱、遮擋形成的陰影，也可能來自曝光和相機響應。這些因素最後落入同一個三通道觀測，僅靠重投影殘差很難判定應當修改幾何還是外觀。</p>
<p>本徵圖像（Intrinsic Image）提供了一種中間描述：把相對穩定的表面反射屬性與隨照明變化的成分分開。它並不自動給出場景的真實材質，也不能消除單張圖像中的固有歧義；更合適的定位是帶有物理含義、同時受模型假設約束的外觀先驗 [@garces2022survey]。</p>
<h2>反射方程與像素乘積</h2>
<p>表面點 $\mathbf x$ 沿觀察方向 $\boldsymbol\omega_o$ 的出射輻亮度可寫為</p>
<p>$$
L_o(\mathbf x,\boldsymbol\omega_o)
=\int_{\Omega^+}
f_r(\mathbf x,\boldsymbol\omega_i,\boldsymbol\omega_o)
L_i(\mathbf x,\boldsymbol\omega_i)
V(\mathbf x,\boldsymbol\omega_i)
(\mathbf n^{\mathsf T}\boldsymbol\omega_i)_+
,\mathrm d\boldsymbol\omega_i.
$$</p>
<p>$f_r$ 是雙向反射分佈函數，$L_i$ 是入射光，$V$ 表示可見性，$\mathbf n$ 是表面法線。若表面近似朗伯反射，則</p>
<p>$$
f_r=\frac{\boldsymbol\rho(\mathbf x)}{\pi},
$$</p>
<p>其中 $\boldsymbol\rho\in[0,1]^3$ 為漫反射反照率。代回積分可得</p>
<p>$$
\mathbf L_o(\mathbf x)
=\boldsymbol\rho(\mathbf x)\odot
\frac{1}{\pi}
\int_{\Omega^+}
\mathbf L_iV
(\mathbf n^{\mathsf T}\boldsymbol\omega_i)_+
,\mathrm d\boldsymbol\omega_i.
$$</p>
<p>把積分項記為彩色漫反射陰影 $\mathbf S(\mathbf x)$，在線性相機響應、沒有飽和與後處理的近似下，像素形成式為</p>
<p>$$
\mathbf I(p)=\mathbf A(p)\odot\mathbf S(p)+\boldsymbol\varepsilon(p).
$$</p>
<p>$\mathbf A$ 是反照率，$\mathbf S$ 同時包含光源強度、光源顏色、法線朝向、遮擋和間接光；$\boldsymbol\varepsilon$ 則吸收鏡面反射、透射、傳感器噪聲以及模型未表示的部分。常見的灰度陰影模型進一步令</p>
<p>$$
\mathbf S(p)=s(p)\mathbf 1,
$$</p>
<p>它等價於假設入射光在三個通道上的比例固定。室內混合色溫、彩色牆面二次反射和窗外光進入後，這個條件很容易失效。</p>
<h2>分解中的尺度規範</h2>
<p>即使乘法模型完全成立，$\mathbf I=\mathbf A\odot\mathbf S$ 仍然沒有唯一解。任取逐通道正數 $\mathbf k$，都有</p>
<p>$$
\mathbf I
=(\mathbf k\odot\mathbf A)
\odot
(\mathbf S\oslash\mathbf k).
$$</p>
<p>因此，反照率絕對尺度無法僅由像素乘積恢復。轉到對數域，令</p>
<p>$$
\mathbf i=\log(\mathbf I+\epsilon),\qquad
\mathbf a=\log(\mathbf A+\epsilon),\qquad
\mathbf s=\log(\mathbf S+\epsilon),
$$</p>
<p>則</p>
<p>$$
\mathbf i=\mathbf a+\mathbf s.
$$</p>
<p>對任意常量向量 $\boldsymbol\delta$，變換</p>
<p>$$
\mathbf a^{\prime}=\mathbf a+\boldsymbol\delta,
\qquad
\mathbf s^{\prime}=\mathbf s-\boldsymbol\delta
$$</p>
<p>保持觀測不變。其雅可比</p>
<p>$$
\mathbf J=
\begin{bmatrix}
\mathbf I_3 &amp; \mathbf I_3
\end{bmatrix}
$$</p>
<p>至少具有三維零空間</p>
<p>$$
\operatorname{null}(\mathbf J)
=\left{
\begin{bmatrix}\boldsymbol\delta\-\boldsymbol\delta\end{bmatrix}
:\boldsymbol\delta\in\mathbb R^3
\right}.
$$</p>
<p>灰度陰影把自由度從三個通道縮到一個全局尺度，卻仍需要規範條件。固定某一區域的平均陰影、約束反照率動態範圍、使用已知白色表面或在評價時先作尺度對齊，都屬於選擇規範（gauge fixing）；它們讓數值可比較，卻沒有從觀測中創造新的物理信息。</p>
<figure id="fig_intrinsic_hypotheses" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-5/intrinsic-hypotheses-centered-v2.webp" alt="一幅室內輸入圖像對應多組材質假設、方差區域和重照明結果" />
  <figcaption class="md-figure__caption">同一幅室內圖像可以對應多組合理的材質解釋。中間的候選在整體反照率、局部材質和高光歸屬上不同，方差圖在燈具、鏡面及邊緣附近響應更強；這種多解性來自觀測本身，不能只靠確定性迴歸消除 [@kocsis2024intrinsic]。</figcaption>
</figure>
<h2>局部變化的分解歧義</h2>
<p>對乘法模型作一階微分，有</p>
<p>$$
\delta\mathbf I
=\operatorname{diag}(\mathbf S),\delta\mathbf A
+\operatorname{diag}(\mathbf A),\delta\mathbf S.
$$</p>
<p>若要求像素保持不變，則</p>
<p>$$
\delta\mathbf S
=-\operatorname{diag}(\mathbf A)^{-1}
\operatorname{diag}(\mathbf S),\delta\mathbf A.
$$</p>
<p>任何小的反照率擾動都能被相應的陰影擾動抵消。實際方法必須加入空間或語義先驗，決定哪些變化更像材質、哪些變化更像照明。例如，反照率通常被假設為分段平滑且在材質邊界跳變；陰影通常變化較緩，但投影陰影邊緣又可以非常銳利。簡單的“高頻歸反照率、低頻歸陰影”無法處理牆紙緩變、軟陰影邊界和帶紋理光源。</p>
<p>序關係為尺度歧義之外增加了另一類約束。若人工或模型判斷像素 $p$ 與 $q$ 屬於相同反照率，可約束 $a(p)-a(q)\approx0$；若判斷一個表面更亮，則約束差值符號。Ordinal Shading 通過陰影序關係和全局結構組織分解，說明相對判斷能夠在沒有絕對反照率標定時提供信息 [@careaga2023intrinsic]。不過，序關係只縮小可行集，仍不會給出唯一的輻射尺度。</p>
<h2>反照率的條件分佈</h2>
<p>單張圖像同時容許多組材質與光照解釋時，確定性模型只能把它們壓到一個輸出。設輸入圖像為 $\mathbf x$，材質屬性圖為 $\mathbf m$，使用均方誤差訓練的確定性預測器滿足</p>
<p>$$
f^*(\mathbf x)
=\arg\min_{\mathbf y}
\mathbb E!\left[
|\mathbf m-\mathbf y|_2^2
\mid \mathbf x
\right]
=\mathbb E[\mathbf m\mid\mathbf x].
$$</p>
<p>條件分佈 $p(\mathbf m\mid\mathbf x)$ 若含有多個峰，條件均值可能落在任何一個峰之外。對反照率來說，表現為材質邊界變軟、小結構被平均，或同一區域混合了相互排斥的材質解釋。機率模型改為描述這個條件分佈，在同一 $\mathbf x$ 下通過不同隨機噪聲產生 $\mathbf m^{(1)},\ldots,\mathbf m^{(K)}$。</p>
<p>Intrinsic Image Diffusion 先把反照率與 BRDF 屬性編碼到潛空間。對潛在材質 $\mathbf z_0$ 加噪得到</p>
<p>$$
\mathbf z_t
=\sqrt{\bar\alpha_t},\mathbf z_0
+\sqrt{1-\bar\alpha_t},\boldsymbol\epsilon,
\qquad
\boldsymbol\epsilon\sim\mathcal N(\mathbf 0,\mathbf I),
$$</p>
<p>並以輸入圖像的條件特徵 $c(\mathbf x)$ 預測噪聲：</p>
<p>$$
\mathcal L_{\mathrm{diff}}
=\mathbb E_{t,\mathbf z_0,\boldsymbol\epsilon}
\left[
\left|
\boldsymbol\epsilon
-\boldsymbol\epsilon_\theta(\mathbf z_t,t,c(\mathbf x))
\right|_2^2
\right].
$$</p>
<p>去噪過程對應從條件分佈中取樣，每個樣本仍需滿足輸入圖像中可觀測的邊界、語義和幾何線索。訓練集來自含有反照率、粗糙度和金屬度標籤的合成場景，預訓練圖像先驗則為真實圖像提供高頻細節與物體語義線索 [@kocsis2024intrinsic]。</p>
<figure id="fig_intrinsic_diffusion_pipeline" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-5/intrinsic-diffusion-pipeline.webp" alt="Intrinsic Image Diffusion 把反照率和 BRDF 屬性編碼到潛空間並由輸入圖像條件引導去噪的訓練管線" />
  <figcaption class="md-figure__caption">反照率與粗糙度、金屬度分別編碼為潛在材質特徵，輸入圖像同時提供空間特徵與 CLIP 條件。模型在潛空間學習預測所加噪聲，推理時從不同噪聲起點得到多組可能的材質圖 [@kocsis2024intrinsic]。</figcaption>
</figure>
<h2>彩色照明與殘差分量</h2>
<p>真實圖像中，把全部非反照率變化塞入單通道 $s$ 會產生系統誤差。一個更寬的分量模型可以寫成</p>
<p>$$
\mathbf I
=\mathbf A_d\odot\mathbf S_d
+\mathbf R,
$$</p>
<p>$\mathbf A_d$ 和 $\mathbf S_d$ 分別表示漫反射反照率與彩色漫反射陰影，$\mathbf R$ 表示非漫反射殘差。進一步分解</p>
<p>$$
\mathbf R=\mathbf R_+-\mathbf R_-,
\qquad
\mathbf R_+,\mathbf R_-\geq0,
$$</p>
<p>可以分別表示在漫反射預測之上增加亮度的鏡面/發光分量，以及曝光截斷或模型過估導致的負殘差。Colorful Diffuse Intrinsic Image Decomposition 使用彩色陰影與殘差層處理多光源、二次反射和高光，給出了比灰度乘法更接近複雜圖像的描述 [@careaga2024colorful]。</p>
<figure id="fig_colorful_intrinsic_components" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-5/colorful-components.webp" alt="威尼斯場景的輸入圖像、反照率、彩色漫反射陰影和鏡面殘差四個分量" />
  <figcaption class="md-figure__caption">輸入圖像被分解為反照率、彩色漫反射陰影與非漫反射殘差。天空與水面的色調需要彩色照明解釋，強反射和局部高光則集中在殘差中；若只保留灰度陰影，這些變化更容易泄漏到反照率 [@careaga2024colorful]。</figcaption>
</figure>
<p>分量增加會降低單個分支的建模偏差，同時擴大解空間。對</p>
<p>$$
\widehat{\mathbf I}
=\mathbf A_d\odot\mathbf S_d+\mathbf R
$$</p>
<p>而言，僅使用重建損失</p>
<p>$$
\mathcal L_{\mathrm{rec}}
=|\widehat{\mathbf I}-\mathbf I|_1
$$</p>
<p>不能阻止 $\mathbf R$ 吸收全部圖像，也不能阻止 $\mathbf A_d$ 與 $\mathbf S_d$ 交換內容。分支必須具有不同的容量、輸入和正則：反照率需要跨照明穩定，陰影應與幾何和光照相關，殘差應保持稀疏或低容量。分解的意義來自這些結構約束，而非變量名稱。</p>
<h2>相機管線帶來的額外歧義</h2>
<p>相機記錄值通常不是線性輻亮度。把曝光時間記為 $t$、每通道增益記為 $\mathbf g$、相機響應與色調映射記為 $h$，則</p>
<p>$$
\mathbf I_{\mathrm{obs}}
=Q!\left(
h!\left(
\operatorname{clip}
(t,\mathbf g\odot\mathbf L,0,L_{\max})
\right)
\right)+\boldsymbol\eta,
$$</p>
<p>其中 $Q$ 表示量化。若直接在顯示域應用 $\mathbf I=\mathbf A\odot\mathbf S$，響應曲線會改變乘法關係；白平衡會製造逐通道尺度；局部色調映射還會讓相鄰像素的響應彼此相關。</p>
<p>飽和區域的信息損失更直接。標量通道滿足</p>
<p>$$
I_{\mathrm{obs}}=\min(tL,L_{\max}),
$$</p>
<p>當 $tL&gt;L_{\max}$ 時，</p>
<p>$$
\frac{\partial I_{\mathrm{obs}}}{\partial L}=0.
$$</p>
<p>高光區域中多個不同的輻亮度會映射為同一上限值，分解模型只能依靠鄰域和數據先驗猜測被截斷的內容。暗部量化與讀出噪聲也會降低有效信噪比。因此，反照率置信度應當在飽和、極暗、鏡面和透明區域下降，而不能只根據預測圖是否平滑來判斷。</p>
<h2>多視圖條件下的可辨識性</h2>
<p>設同一三維表面點在視角 $v$ 中的觀測為</p>
<p>$$
\mathbf I_v
=\mathbf A\odot\mathbf S_v+\boldsymbol\varepsilon_v.
$$</p>
<p>共享的 $\mathbf A$ 為多視圖提供了耦合。若多個視角的光照調製不同，而反照率保持不變，聯合觀測可以排除一部分單幀解釋。對數域中</p>
<p>$$
\mathbf i_v=\mathbf a+\mathbf s_v,
$$</p>
<p>兩視角作差後得到</p>
<p>$$
\mathbf i_v-\mathbf i_u
=\mathbf s_v-\mathbf s_u,
$$</p>
<p>共享反照率被消去。這有助於估計相對照明變化，卻仍保留共同尺度自由度。更重要的是，只有對應到同一表面點、沒有遮擋切換且材質近似視角無關時，共享假設才成立。位姿誤差、深度誤差和鏡面反射都會讓所謂的跨視角反照率差異混入幾何與視角效應。</p>
<p>若把像素對應寫為由幾何參數 $\boldsymbol\theta_g$ 決定的映射 $q=\pi_u(\mathbf X(p;\boldsymbol\theta_g))$，反照率一致性殘差為</p>
<p>$$
\mathbf r_{uv}(p)
=\widehat{\mathbf A}_v(p)
-\widehat{\mathbf A}_u(q).
$$</p>
<p>其幾何雅可比包含</p>
<p>$$
\frac{\partial\mathbf r_{uv}}
{\partial\boldsymbol\theta_g}
=-
\nabla\widehat{\mathbf A}_u(q)
\frac{\partial q}{\partial\boldsymbol\theta_g}.
$$</p>
<p>反照率在平坦區域的梯度很小，跨視角一致性對幾何的直接約束仍然會變弱；它主要減少光照變化造成的偽殘差，不能憑空恢復弱紋理區域的深度。這個結論與前文的幾何可觀測性分析一致：更乾淨的外觀信號能夠減少錯誤梯度，但新增幾何秩仍需深度、法線、邊界或多視圖傳播等證據提供。</p>
<h2>本徵分解的實驗結果</h2>
<p>Intrinsic Image Diffusion 在 InteriorVerse 合成測試集上對每張圖像取樣 $10$ 組材質解。原文同時報告逐樣本指標的均值（Mean metric）、先對 $10$ 張預測圖取均值後的指標（Mean），以及借助真值選出的最佳樣本（Best） [@kocsis2024intrinsic]。</p>
<table>
<thead>
<tr>
<th>方法與統計口徑</th>
<th>PSNR ↑</th>
<th>SSIM ↑</th>
<th>LPIPS ↓</th>
<th>FID ↓</th>
</tr>
</thead>
<tbody>
<tr>
<td>Li 等 [@li2020inverse]</td>
<td>12.31<br>± 3.32</td>
<td>0.68<br>± 0.11</td>
<td>0.52<br>± 0.11</td>
<td>77.79</td>
</tr>
<tr>
<td>Zhu 等 [@zhu2022inverse]</td>
<td>15.92<br>± 3.93</td>
<td>0.78<br>± 0.09</td>
<td>0.34<br>± 0.09</td>
<td>46.21</td>
</tr>
<tr>
<td>逐樣本指標的均值</td>
<td>16.14<br>± 3.27</td>
<td>0.73<br>± 0.10</td>
<td>0.26<br>± 0.11</td>
<td>—</td>
</tr>
<tr>
<td>均值圖像</td>
<td>17.42<br>± 3.08</td>
<td><strong>0.80</strong><br>± 0.08</td>
<td><strong>0.22</strong><br>± 0.08</td>
<td><strong>25.42</strong></td>
</tr>
<tr>
<td>最佳樣本</td>
<td><strong>18.43</strong><br>± 2.97</td>
<td>0.77<br>± 0.09</td>
<td>0.26<br>± 0.11</td>
<td>—</td>
</tr>
</tbody>
</table>
<p>均值圖像的 PSNR 比逐樣本均值高 $1.28,\mathrm{dB}$，說明隨機樣本中有一部分偏差可被平均抵消。最佳樣本又比均值圖像高 $1.01,\mathrm{dB}$，則顯示取樣集合中確實存在更接近真值的解。這一列需要真值才能選擇，它描述候選集的上限，無法代表實際部署時的可獲得誤差。</p>
<p>與 Zhu 等的確定性基線相比，均值圖像的 FID 從 $46.21$ 降至 $25.42$，相對降幅約為 $44.99%$。FID 比較的是預測集與真值集的特徵分佈；數值下降支持整體分佈更接近數據集，對某一張圖像的材質是否正確仍需逐張判斷。</p>
<figure id="fig_whdr_metric_imperfection" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-5/whdr-metric-imperfection.webp" alt="IIW 中兩個場景的輸入圖像、三組反照率預測與對應 WHDR 數值" />
  <figcaption class="md-figure__caption">WHDR 只在人工標註的像素對上檢查相對深淺關係，對高頻細節、陰影泄漏與全局色彩的覆蓋有限。上排中 Li 等的結果取得最低 WHDR，卻保留了明顯的照明色塊；下排又出現指標次序與視覺細節不一致的情況 [@bell2014intrinsic; @kocsis2024intrinsic]。</figcaption>
</figure>
<p>表中的尺度不變指標、分佈指標與圖中的序關係指標分別覆蓋不同性質。一個反照率先驗需要同時檢查三者，並保留樣本間方差、飽和率以及局部邊界誤差。後續跨視角訓練中，這些量會比單一的 PSNR 或 WHDR 更直接地決定偽標籤權重。</p>
<h2>反照率先驗的監督範圍</h2>
<p>把二維反照率估計接入 3DGS 時，需要區分三種對象：單幀預測給出的候選解釋、跨視角共享的材質狀態、最終 RGB 渲染。它們不應被默認視為同一個真值。</p>
<table>
<thead>
<tr>
<th>條件</th>
<th>反照率先驗的作用</th>
<th>主要風險</th>
<th>需要同步檢查</th>
</tr>
</thead>
<tbody>
<tr>
<td>漫反射、曝光穩定、對應準確</td>
<td>減少陰影對顏色參數的佔用</td>
<td>全局尺度漂移</td>
<td>對齊參數與跨視角殘差</td>
</tr>
<tr>
<td>彩色混合照明</td>
<td>提供材質色的粗約束</td>
<td>光源色泄漏到反照率</td>
<td>陰影色度與殘差圖</td>
</tr>
<tr>
<td>鏡面或透明表面</td>
<td>僅能作為低置信提示</td>
<td>視角效應被固化為材質</td>
<td>視角變化與高光掩碼</td>
</tr>
<tr>
<td>飽和或極暗區域</td>
<td>鄰域先驗和缺失值提示</td>
<td>不可逆信息丟失</td>
<td>飽和率、信噪比與曝光</td>
</tr>
<tr>
<td>幾何或位姿不準</td>
<td>輔助外觀診斷</td>
<td>錯誤對應污染三維參數</td>
<td>重投影誤差與遮擋一致性</td>
</tr>
</tbody>
</table>
<p>二維模型給出的反照率更適合作為偽標籤，並攜帶尺度、對齊狀態、有效掩碼和置信度。若直接以固定權重監督三維外觀，單幀模型的錯誤會被寫入共享場景表示；若完全捨棄它，又失去複雜光照下有價值的材質線索。<a href="/posts/3dgs-series-6-cross-view-albedo-calibration-and-quality-routing">《跨視角反照率校準與質量路由》</a>將這個問題轉化為明確的估計與決策過程：在重疊區域校準多視圖反照率，區分可校準漂移與局部失敗，並讓質量狀態控制監督進入訓練的強度。</p>
<pre><code class="language-bibtex">@article{garces2022survey,
  author = {Garces, Elena and Rodriguez-Pardo, Carlos and Casas, Dan and Lopez-Moreno, Jorge},
  title = {A Survey on Intrinsic Images: Delving Deep Into Lambert and Beyond},
  journal = {International Journal of Computer Vision},
  volume = {130},
  number = {3},
  pages = {836--868},
  year = {2022}
}

@article{careaga2023intrinsic,
  author = {Careaga, Chris and Aksoy, Yağız},
  title = {Intrinsic Image Decomposition via Ordinal Shading},
  journal = {ACM Transactions on Graphics},
  volume = {43},
  number = {1},
  pages = {1--24},
  year = {2023}
}

@inproceedings{kocsis2024intrinsic,
  author = {Kocsis, Peter and Sitzmann, Vincent and Nießner, Matthias},
  title = {Intrinsic Image Diffusion for Indoor Single-View Material Estimation},
  booktitle = {IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages = {5198--5208},
  year = {2024}
}

@article{bell2014intrinsic,
  author = {Bell, Sean and Bala, Kavita and Snavely, Noah},
  title = {Intrinsic Images in the Wild},
  journal = {ACM Transactions on Graphics},
  volume = {33},
  number = {4},
  pages = {159:1--159:12},
  year = {2014}
}

@inproceedings{li2020inverse,
  author = {Li, Zhengqin and Shafiei, Mohammad and Ramamoorthi, Ravi and Sunkavalli, Kalyan and Chandraker, Manmohan},
  title = {Inverse Rendering for Complex Indoor Scenes: Shape, Spatially-Varying Lighting and SVBRDF from a Single Image},
  booktitle = {IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages = {2472--2481},
  year = {2020}
}

@inproceedings{zhu2022inverse,
  author = {Zhu, Jingsen and Luan, Fujun and Huo, Yuchi and Lin, Zihao and Zhong, Zhihua and Xi, Dianbing and Wang, Rui and Bao, Hujun and Zheng, Jiaxiang and Tang, Rui},
  title = {Learning-Based Inverse Rendering of Complex Indoor Scenes with Differentiable Monte Carlo Raytracing},
  booktitle = {SIGGRAPH Asia 2022 Conference Papers},
  pages = {6:1--6:8},
  year = {2022}
}

@article{careaga2024colorful,
  author = {Careaga, Chris and Aksoy, Yağız},
  title = {Colorful Diffuse Intrinsic Image Decomposition in the Wild},
  journal = {ACM Transactions on Graphics},
  volume = {43},
  number = {6},
  pages = {1--12},
  year = {2024}
}
</code></pre>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>神經渲染</category>
            <category>3D Gaussian Splatting</category>
            <category>3DGS</category>
            <category>本徵圖像</category>
            <category>反照率</category>
            <category>複雜光照</category>
            <category>逆向渲染</category>
        </item>
        <item>
            <title><![CDATA[3DGS 的多通道可微渲染與監督傳遞]]></title>
            <link>https://nishikori.dev/posts/3dgs-series-4-multichannel-differentiable-rendering</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/3dgs-series-4-multichannel-differentiable-rendering</guid>
            <pubDate>Mon, 26 Jan 2026 11:30:00 GMT</pubDate>
            <description><![CDATA[從 Alpha 混合的通用屬性形式出發，推導 3DGS 的覆蓋率、期望深度、深度方差與法線合成，分析輔助監督抵達高斯幾何參數的梯度路徑、遮擋衰減和多目標衝突。]]></description>
            <content:encoded><![CDATA[<p><a href="/posts/3dgs-series-3-geometric-observability-low-texture">《弱紋理場景中的幾何可觀測性》</a>分析了弱紋理區域中的局部零空間：圖像梯度不足時，移動高斯引起的 RGB 變化很小，顏色、不透明度和協方差還能進一步吸收幾何擾動。這個結論限定了純光度優化能提供的幾何信息，也留下了下一段梯度鏈——深度、法線和特徵等輔助通道如何從同一組高斯得到，又如何把誤差傳回位置、尺度與旋轉。</p>
<p>3DGS 的 Alpha 混合並不專屬於 RGB。只要為每個高斯指定一組屬性，同一套可見性權重就能在屏幕上合成相應通道。問題的關鍵隨之轉向三個更細的環節：屬性的像素定義是否符合幾何含義，通道損失的梯度是否真正抵達幾何參數，不同來源的監督是否在當前狀態下彼此相容。</p>
<h2>Alpha 混合的通用屬性形式</h2>
<p>考慮像素 $p$ 上按深度由近到遠排列的 $N$ 個高斯。第 $i$ 個高斯的有效不透明度、到達該高斯前的透射率及其混合權重分別為 [@kerbl2023gaussians]</p>
<p>$$
\alpha_i(p)=o_iG_i(p),
\qquad
T_i(p)=\prod_{j&lt;i}\left(1-\alpha_j(p)\right),
\qquad
w_i(p)=T_i(p)\alpha_i(p).
$$</p>
<p>若每個高斯攜帶 $d$ 維屬性 $\mathbf a_i\in\mathbb R^d$，背景屬性為 $\mathbf a_{\mathrm{bg}}$，像素通道可以統一寫成</p>
<p>$$
\mathbf A(p)
=\sum_{i=1}^{N}w_i(p)\mathbf a_i
+T_{N+1}(p)\mathbf a_{\mathrm{bg}},
$$</p>
<p>其中</p>
<p>$$
T_{N+1}(p)=\prod_{i=1}^{N}\left(1-\alpha_i(p)\right).
$$</p>
<p>令 $\mathbf a_i=\mathbf c_i$ 得到 RGB，令 $\mathbf a_i=z_i$ 得到深度矩，令 $\mathbf a_i=\mathbf n_i$ 得到法線向量和；高維的語義或外觀特徵也能以相同方式累積。光柵化器仍然執行一次投影、分塊、排序和前向遍歷，附加通道主要增加每個像素需要維護的累加量。</p>
<p>混合權重之和具有一個有用的閉式形式。由</p>
<p>$$
w_i=T_i-T_{i+1}
$$</p>
<p>可得</p>
<p>$$
W(p)=\sum_{i=1}^{N}w_i(p)
=1-T_{N+1}(p).
$$</p>
<p>$W$ 是前景累積不透明度，也可以看作當前高斯集合對像素的覆蓋程度。當 $W\approx0$ 時，顏色可以由背景補齊，深度和法線卻沒有可靠的前景支撐；因此，幾何通道通常需要保留 $W$，用於歸一化、掩碼或置信度估計。</p>
<figure id="fig_2dgs_multichannel" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-4/2dgs-multichannel.webp" alt="2D Gaussian Splatting 對同一場景渲染顏色、表面法線並提取網格的結果" />
  <figcaption class="md-figure__caption">顯式高斯圖元可以同時承載外觀和幾何屬性。圖中 2DGS 從同一組平面高斯得到顏色與法線渲染，並進一步提取網格；多通道輸出由此成為圖像重建和表面重建之間的接口 [@huang20242dgs]。</figcaption>
</figure>
<h2>通道梯度的兩條路徑</h2>
<p>設 $\boldsymbol\theta$ 包含全部高斯參數。忽略固定背景後，通用屬性通道的導數為</p>
<p>$$
\frac{\partial\mathbf A(p)}{\partial\boldsymbol\theta}
=\sum_i
\left[
\mathbf a_i
\frac{\partial w_i(p)}{\partial\boldsymbol\theta}
+w_i(p)
\frac{\partial\mathbf a_i}{\partial\boldsymbol\theta}
\right].
$$</p>
<p>第一項經過混合權重傳遞，會改變投影位置、二維 footprint、不透明度與遮擋關係；第二項更新高斯攜帶或由高斯推導的屬性。兩條路徑是否同時存在，取決於通道的定義。</p>
<p>以法線為例，若 $\mathbf n_i$ 是每個高斯獨立學習的向量，法線損失可以直接修改 $\mathbf n_i$，對尺度和旋轉的影響主要經過 $w_i$ 間接產生。若 $\mathbf n_i$ 由協方差的最短軸推導，$\partial\mathbf n_i/\partial\boldsymbol\theta$ 會把法線誤差直接傳給旋轉和尺度。兩種設計輸出同樣是法線圖，對幾何的約束強度卻不同。</p>
<p>混合權重本身也揭示了遮擋下的梯度衰減。對第 $k$ 個不透明度有</p>
<h1>$$
\frac{\partial w_i}{\partial\alpha_k}</h1>
<p>\begin{cases}
0, &amp; i&lt;k,\
T_k, &amp; i=k,\
-\dfrac{w_i}{1-\alpha_k}, &amp; i&gt;k.
\end{cases}
$$</p>
<p>前方高斯的 $\alpha_k$ 增大時，自身貢獻增加，後方所有層的權重同時下降。對直接攜帶的屬性，還有</p>
<p>$$
\frac{\partial\mathbf A}{\partial\mathbf a_k}=w_k\mathbf I_d.
$$</p>
<p>遠處高斯若被前景遮擋，$T_k$ 和 $w_k$ 都會很小；即使該位置的深度或法線誤差很大，單個視角也難以向它傳遞有效梯度。多通道渲染共享可見性，因此不能繞過遮擋，只能從其他視角、外部觀測或空間先驗補充約束。</p>
<h2>深度通道的統計含義</h2>
<p>把相機空間中的高斯深度記為 $z_i$。直接替換 RGB 屬性得到的是一階深度矩</p>
<p>$$
M_1(p)=\sum_iw_i(p)z_i,
$$</p>
<p>它同時受表面深度和覆蓋率影響。相同平面在圖像邊緣的 $W$ 較低時，$M_1$ 會向零收縮，不能直接解釋為表面深度。常用的期望深度因此寫成 [@huang20242dgs; @turkulainen2025dnsplatter]</p>
<p>$$
D_{\mathrm{mean}}(p)
=\frac{M_1(p)}{W(p)+\varepsilon}
=\frac{\sum_iw_i(p)z_i}
{\sum_iw_i(p)+\varepsilon}.
$$</p>
<p>暫時忽略 $\varepsilon$，它對某個權重的導數為</p>
<p>$$
\frac{\partial D_{\mathrm{mean}}}{\partial w_k}
=\frac{z_k-D_{\mathrm{mean}}}{W}.
$$</p>
<p>位於當前均值前方的高斯接收負梯度，後方高斯接收正梯度，偏離均值越遠，權重變化對期望深度的影響越大。分母中的 $W$ 也說明低覆蓋像素存在放大效應：$W$ 很小時，微小權重擾動就可能令深度劇烈變化。實際監督需要對低 $W$ 區域設置有效掩碼，或者讓置信度隨 $W$ 連續衰減。</p>
<p>二階矩可以進一步描述同一光線上的深度分散程度：</p>
<p>$$
M_2(p)=\sum_iw_i(p)z_i^2,
$$</p>
<p>$$
\sigma_z^2(p)
=\frac{M_2(p)}{W(p)+\varepsilon}
-D_{\mathrm{mean}}^2(p).
$$</p>
<p>兩個場景可能具有相近的 $D_{\mathrm{mean}}$，其中一個由窄而集中的權重峰形成，另一個由前後兩層半透明高斯共同平均得到。深度均值看不出這項差異，$\sigma_z^2$ 則會直接暴露沿射線的厚度。</p>
<p>在 $W&gt;0$ 且省略數值穩定項 $\varepsilon$ 的有效像素上，考慮平方形式的兩兩深度失真項</p>
<p>$$
\mathcal L_{\mathrm{dist}}(p)
=\sum_{i,j}w_iw_j(z_i-z_j)^2,
$$</p>
<p>展開後可以得到</p>
<p>$$
\begin{aligned}
\mathcal L_{\mathrm{dist}}
&amp;=2WM_2-2M_1^2\
&amp;=2W^2\sigma_z^2.
\end{aligned}
$$</p>
<p>因此，深度失真正則本質上在壓縮可見權重的深度方差。2DGS 沿用 Mip-NeRF 360 的射線失真思想，使用相近的兩兩距離形式，使沿同一光線分散的圖元向較薄的表面集中 [@barron2022mipnerf360; @huang20242dgs]。這項假設適合單一不透明表面，在玻璃、植被、毛髮或真實多層結構中需要降低權重，否則會把合理的深度多峰分佈強行壓成單峰。</p>
<h3>中值深度與可導性</h3>
<p>期望深度容易受遠處小權重離群點影響。另一種做法是沿前向合成順序尋找累積不透明度首次越過閾值 $\tau$ 的位置：</p>
<p>$$
k^<em>=\min\left{k:\sum_{i\leq k}w_i\geq\tau\right},
\qquad
D_{\mathrm{median}}=z_{k^</em>}.
$$</p>
<p>常見的 $\tau=0.5$ 對應近似的中值表面。若 $W&lt;\tau$，該像素沒有越過閾值的有效表面，應當標記為無效或採用明確的回退規則。中值深度對少量遠處浮點更穩健，也更適合把多視圖深度融合為網格；但 $k^*$ 是離散索引，權重尚未跨過閾值時深度不變，跨過閾值後又會突然跳到另一層。它適合幾何提取和診斷，直接作為訓練通道時通常需要平滑近似或額外處理不可導的閾值選擇。</p>
<h2>法線通道與局部表面方向</h2>
<p>三維高斯的協方差可寫為</p>
<p>$$
\boldsymbol\Sigma_i
=\mathbf R_i
\operatorname{diag}(s_{i1}^2,s_{i2}^2,s_{i3}^2)
\mathbf R_i^{\mathsf T}.
$$</p>
<p>當一個尺度明顯小於另外兩個尺度時，高斯接近薄橢球，其最短軸可以近似局部法線。令</p>
<p>$$
m_i=\arg\min_{r\in{1,2,3}}s_{ir},
\qquad
\mathbf n_i=\mathbf R_i\mathbf e_{m_i}.
$$</p>
<p>$\mathbf n_i$ 的符號需要相對相機或鄰域統一，因為 $\mathbf n$ 和 $-\mathbf n$ 描述同一個無向切平面。最短軸索引在尺度次序交換時也會發生離散跳變；當三個尺度接近時，高斯仍是體積圖元，法線方向本身就缺少穩定含義。</p>
<p>把相機座標系下的法線以可見性權重合成，得到</p>
<p>$$
\widetilde{\mathbf N}(p)
=\sum_iw_i(p)\mathbf n_i,
\qquad
\mathbf N(p)
=\frac{\widetilde{\mathbf N}(p)}
{|\widetilde{\mathbf N}(p)|_2+\varepsilon}.
$$</p>
<p>若忽略 $\varepsilon$ 且令 $r=|\widetilde{\mathbf N}|_2$，歸一化的雅可比為</p>
<p>$$
\frac{\partial\mathbf N}
{\partial\widetilde{\mathbf N}}
=\frac{1}{r}
\left(\mathbf I-\mathbf N\mathbf N^{\mathsf T}\right).
$$</p>
<p>$\mathbf I-\mathbf N\mathbf N^{\mathsf T}$ 會去掉平行於當前法線的分量，反向傳播主要調整方向。若前後層法線相反，向量和可能接近零，$1/r$ 會放大數值波動；這也是法線符號、遮擋邊界掩碼和低覆蓋過濾不能省略的原因。</p>
<p>另一條法線來源是渲染深度。對像素齊次座標 $\widetilde{\mathbf p}=(u,v,1)^{\mathsf T}$，反投影點為</p>
<p>$$
\mathbf X(u,v)
=D(u,v)\mathbf K^{-1}\widetilde{\mathbf p}.
$$</p>
<p>局部切向量給出深度法線</p>
<p>$$
\mathbf N_D(u,v)
=\frac{
\partial_u\mathbf X\times\partial_v\mathbf X
}{
|\partial_u\mathbf X\times\partial_v\mathbf X|_2+\varepsilon
}.
$$</p>
<p>渲染法線 $\mathbf N$ 來自高斯的方向與權重，深度法線 $\mathbf N_D$ 來自鄰域深度變化。二者一致時，單個高斯的局部朝向、沿射線的表面位置和圖像鄰域中的幾何變化互相支持。常用一致性項為</p>
<p>$$
\mathcal L_{\mathrm{normal}}
=\sum_{p\in\Omega_v}
\left(1-\mathbf N(p)^{\mathsf T}\mathbf N_D(p)\right),
$$</p>
<p>其中 $\Omega_v$ 應排除低覆蓋、深度不連續和法線退化區域。深度的有限差分會把單像素噪聲傳播到相鄰法線，邊界兩側還可能屬於不同表面；不加選擇地平滑整張法線圖，會令真實折線和薄結構一同變鈍。</p>
<figure id="fig_2dgs_geometric_regularization" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-4/2dgs-geometric-regularization.webp" alt="輸入圖像、移除法線一致性、移除深度失真以及完整模型的法線渲染對比" />
  <figcaption class="md-figure__caption">2DGS 的幾何正則消融。移除法線一致性（w/o. NC）後，屋頂和平面出現高頻方向噪聲；移除深度失真（w/o. DD）後，法線邊界和局部表面變得模糊。兩項約束分別處理表面朝向與沿射線厚度，作用範圍並不相同 [@huang20242dgs]。</figcaption>
</figure>
<h2>正則項與幾何提取的定量影響</h2>
<p>2DGS 在 DTU 上使用 Accuracy、Completion 及兩者的平均值評估重建表面，三項均為距離誤差，數值越低越好。消融實驗同時變化了訓練正則、深度統計量和網格提取方法，可以看出最終幾何誤差並非只由渲染模型決定 [@huang20242dgs]。</p>
<table>
<thead>
<tr>
<th>設置</th>
<th style="text-align:right">Accuracy $\downarrow$</th>
<th style="text-align:right">Completion $\downarrow$</th>
<th style="text-align:right">Average $\downarrow$</th>
</tr>
</thead>
<tbody>
<tr>
<td>無法線一致性</td>
<td style="text-align:right">1.35</td>
<td style="text-align:right">1.13</td>
<td style="text-align:right">1.24</td>
</tr>
<tr>
<td>無深度失真</td>
<td style="text-align:right">0.89</td>
<td style="text-align:right">0.87</td>
<td style="text-align:right">0.88</td>
</tr>
<tr>
<td>使用期望深度</td>
<td style="text-align:right">0.88</td>
<td style="text-align:right">1.01</td>
<td style="text-align:right">0.94</td>
</tr>
<tr>
<td>使用 SPSR</td>
<td style="text-align:right">1.25</td>
<td style="text-align:right">0.89</td>
<td style="text-align:right">1.07</td>
</tr>
<tr>
<td>完整模型</td>
<td style="text-align:right">0.79</td>
<td style="text-align:right">0.86</td>
<td style="text-align:right">0.83</td>
</tr>
</tbody>
</table>
<p>移除法線一致性後，Average 由 $0.83$ 上升到 $1.24$，相對增幅約為</p>
<p>$$
\frac{1.24-0.83}{0.83}\times100%\approx49.4%.
$$</p>
<p>移除深度失真後，Average 增至 $0.88$，相對增幅約為 $6.0%$。在這組 DTU 實驗中，法線一致性對平均誤差的影響更大；這個結果依賴訓練數據的視角覆蓋、場景的局部平面結構和後續網格提取策略，不能直接推廣到透明、多層或極薄表面。</p>
<p>期望深度的 Average 為 $0.94$，差於完整模型使用的中值深度。這與前面的導數分析一致：期望深度對每個權重的敏感度為 $(z_k-D_{\mathrm{mean}})/W$，少量遠離主表面的權重就能拉動均值；中值深度只取累積不透明度跨過閾值的主要表面，用於 TSDF 融合時對小權重浮點更穩健。SPSR 的 Average 為 $1.07$，則說明將高斯中心和法線轉換為網格時，若未顯式利用圖元的不透明度和尺度，渲染模型中已經學到的可見性信息會在提取階段損失。</p>
<figure id="fig_2dgs_dtu_results" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-4/2dgs-dtu-results.webp" alt="DTU Scan 24 和 Scan 105 上 3DGS、SuGaR 與 2DGS 的表面重建對比" />
  <figcaption class="md-figure__caption">DTU Scan 24 與 Scan 105 的表面重建結果。對比同時顯示全局網格與局部細節；2DGS 在細薄邊緣、局部平面和幾何邊界上保留了更連續的表面 [@huang20242dgs]。</figcaption>
</figure>
<p>因此，正則項的幾何收益需要沿完整管線解讀：訓練階段的法線一致性限制局部方向，深度失真壓縮沿射線的權重分佈，深度統計量決定來自多層高斯的信息如何被折疊，網格提取又決定這些信息如何落到最終表面。只看渲染法線或單個平均誤差，都會隱藏這幾個環節之間的誤差傳遞。</p>
<h2>特徵通道與解碼位置</h2>
<p>高維特徵的合成形式為</p>
<p>$$
\mathbf F(p)=\sum_iw_i(p)\mathbf f_i.
$$</p>
<p>它可以用於語義分類、材質預測或顏色解碼。非線性解碼器 $g(\cdot)$ 放在 Alpha 混合前後，會形成兩種不同的模型：</p>
<p>$$
\mathbf C_{\mathrm{decode\text{-}then\text{-}blend}}
=\sum_iw_i g(\mathbf f_i),
$$</p>
<p>$$
\mathbf C_{\mathrm{blend\text{-}then\text{-}decode}}
=g!\left(
\frac{\sum_iw_i\mathbf f_i}{W+\varepsilon}
\right).
$$</p>
<p>只在線性 $g$ 和適當歸一化條件下，兩者才可能等價。前者在高斯層面生成屬性，遮擋關係清晰，但每個高斯都要執行解碼；後者先在像素上匯聚特徵，計算更集中，解碼結果會依賴當前視角下共同覆蓋該像素的高斯集合。模型將材質、光照或視角相關外觀放在哪一側，會改變通道的物理解釋，也會改變輔助損失能夠抵達的參數塊。</p>
<p>這一差別對偽監督尤其重要。若監督目標描述的是表面固有屬性，而解碼器輸入已經混合了多個深度層，遮擋邊界處的標籤誤差可能同時更新前景和背景高斯。屬性通道的名字不能保證其可解釋性，合成位置、歸一化方式和參數依賴關係才決定實際含義。</p>
<h2>多通道監督的幾何信息</h2>
<p>設幾何參數為 $\mathbf g$，外觀及其他屬性參數為 $\mathbf a$，第 $k$ 個通道的殘差在當前狀態附近線性化為</p>
<p>$$
\mathbf r_k
\approx
\mathbf r_{k,0}
+\mathbf J_{k,g},\delta\mathbf g
+\mathbf J_{k,a},\delta\mathbf a.
$$</p>
<p>所有通道的加權信息矩陣為</p>
<p>$$
\mathbf H
=\sum_k
\lambda_k
\begin{bmatrix}
\mathbf J_{k,g}^{\mathsf T}\mathbf W_k\mathbf J_{k,g}
&amp;
\mathbf J_{k,g}^{\mathsf T}\mathbf W_k\mathbf J_{k,a}\
\mathbf J_{k,a}^{\mathsf T}\mathbf W_k\mathbf J_{k,g}
&amp;
\mathbf J_{k,a}^{\mathsf T}\mathbf W_k\mathbf J_{k,a}
\end{bmatrix}.
$$</p>
<p>消去屬性增量後，幾何實際獲得的約化信息仍由 Schur 補決定：</p>
<p>$$
\mathbf H_{g}^{\mathrm{eff}}
=\mathbf H_{gg}
-\mathbf H_{ga}\mathbf H_{aa}^{-1}\mathbf H_{ag}.
$$</p>
<p>新增通道若只重複 RGB 已有的雅可比方向，或者其誤差能被獨立屬性參數完全吸收，$\mathbf H_g^{\mathrm{eff}}$ 的最小特徵值未必明顯提高。深度傳感器、多視圖匹配和可靠法線先驗能夠提供與顏色不同的方向；單目預測、平滑項和深度失真項則通過模型假設壓縮解空間。二者都能改善數值可解性，信息來源需要分開表述：前者引入額外觀測，後者引入外部先驗或結構偏置。</p>
<p>這個區分還能解釋一種常見現象。將可學習法線直接擬合偽標籤時，法線圖可能很快變得平滑，位置和協方差仍然噪雜；從協方差最短軸推導法線時，同樣的誤差會更直接地限制高斯方向，卻依賴“高斯應當趨於扁平”這一額外假設。監督目標、通道參數化和幾何收益之間沒有一一對應關係。</p>
<h2>監督衝突與權重</h2>
<p>把各通道損失對共享參數的梯度記為</p>
<p>$$
\mathbf g_k=\nabla_{\boldsymbol\theta}\mathcal L_k,
$$</p>
<p>總更新為</p>
<p>$$
\Delta\boldsymbol\theta
=-\eta\sum_j\lambda_j\mathbf g_j.
$$</p>
<p>對第 $k$ 個損失作一階展開：</p>
<p>$$
\begin{aligned}
\Delta\mathcal L_k
&amp;\approx
\mathbf g_k^{\mathsf T}\Delta\boldsymbol\theta\
&amp;=-\eta\lambda_k|\mathbf g_k|<em>2^2
-\eta\sum</em>{j\ne k}
\lambda_j\mathbf g_k^{\mathsf T}\mathbf g_j.
\end{aligned}
$$</p>
<p>第一項保證該損失沿自身負梯度下降，第二項描述其他通道帶來的幫助或衝突。可用梯度夾角</p>
<p>$$
\cos\phi_{kj}
=\frac{
\mathbf g_k^{\mathsf T}\mathbf g_j
}{
|\mathbf g_k|_2|\mathbf g_j|_2
}
$$</p>
<p>觀察局部關係。$\cos\phi_{kj}&gt;0$ 時，兩項在當前附近相互促進；$\cos\phi_{kj}&lt;0$ 時，一項的下降方向會推高另一項。遮擋邊界處，RGB 可能希望移動高斯以修正顏色輪廓，平滑法線項卻傾向於保持鄰域方向一致；錯誤的單目深度也可能與多視圖光度證據直接衝突。</p>
<p>損失數值的量綱同樣會影響更新。米制深度誤差、單位法線的角度誤差和 $[0,1]$ RGB 殘差不能僅按標量大小比較。除了固定權重，還可以把空間有效性、先驗質量和時間調度分開寫成</p>
<p>$$
\mathcal L(t)
=\sum_k\sum_{p\in\Omega}
\overline\lambda_k
s_k(t)
q_k(p)
m_k(p)
\ell_k(p).
$$</p>
<p>$\overline\lambda_k$ 控制通道的基礎尺度，$s_k(t)$ 描述訓練階段，$q_k(p)$ 表示連續置信度，$m_k(p)$ 則處理遮擋、缺失值和無效區域。訓練初期幾何和可見性尚未穩定，強輔助監督可能固定錯誤對應；後期若始終保持過強平滑，又可能抹去已經形成的細節。時間權重需要針對監督可靠性變化設置，不能只把全部通道同時打開。</p>
<p>若某個觀測殘差 $r(p)$ 的噪聲近似為方差 $\sigma^2(p)$ 的高斯分佈，其負對數似然給出</p>
<p>$$
\ell(p)
=\frac{r^2(p)}{2\sigma^2(p)}
+\frac12\log\sigma^2(p).
$$</p>
<p>$1/\sigma^2$ 自然充當置信度權重，$\log\sigma^2$ 防止通過無限增大不確定性逃避監督。傳感器誤差模型、單目預測置信度、多視圖一致性和渲染覆蓋率都可以進入 $\sigma^2(p)$，比單一全局係數更接近各通道真實的可靠範圍。</p>
<h2>多通道監督的適用範圍</h2>
<p>多通道輸出既服務訓練，也服務診斷。兩種用途需要保留不同的信息：訓練通道強調可導和穩定，診斷通道還要揭示被歸一化或聚合隱藏的狀態。</p>
<table>
<thead>
<tr>
<th>通道</th>
<th>像素量</th>
<th>主要參數路徑</th>
<th>需要同時檢查的量</th>
<th>常見失效條件</th>
</tr>
</thead>
<tbody>
<tr>
<td>RGB</td>
<td>$\sum_iw_i\mathbf c_i$</td>
<td>權重、顏色與視角外觀</td>
<td>訓練/測試視圖殘差</td>
<td>曝光變化、鏡面反射、外觀補償</td>
</tr>
<tr>
<td>覆蓋率</td>
<td>$W=\sum_iw_i$</td>
<td>不透明度與 footprint</td>
<td>背景透射率 $T_{N+1}$</td>
<td>空洞、低不透明度、邊界混合</td>
</tr>
<tr>
<td>期望深度</td>
<td>$M_1/(W+\varepsilon)$</td>
<td>權重與高斯位置</td>
<td>$W$、$\sigma_z^2$</td>
<td>低覆蓋、多層半透明、浮點</td>
</tr>
<tr>
<td>中值深度</td>
<td>$z_{k^*}$</td>
<td>排序與閾值層</td>
<td>閾值是否被越過</td>
<td>離散跳變、薄結構、透明表面</td>
</tr>
<tr>
<td>渲染法線</td>
<td>$\operatorname{normalize}(\sum_iw_i\mathbf n_i)$</td>
<td>權重、旋轉與尺度</td>
<td>向量和範數、符號一致性</td>
<td>球狀高斯、相反法線抵消</td>
</tr>
<tr>
<td>深度法線</td>
<td>$\operatorname{normalize}(\partial_u\mathbf X\times\partial_v\mathbf X)$</td>
<td>深度及其鄰域</td>
<td>深度梯度、遮擋邊界</td>
<td>深度噪聲、有限差分跨表面</td>
</tr>
<tr>
<td>特徵</td>
<td>$\sum_iw_i\mathbf f_i$</td>
<td>權重與特徵參數</td>
<td>解碼前後位置、歸一化方式</td>
<td>多層特徵混合、語義邊界洩漏</td>
</tr>
</tbody>
</table>
<p>只保存歸一化深度會丟失 $W$，只保存法線顏色圖會丟失歸一化前的向量範數，只觀察總損失會混合各通道的量綱和啟用狀態。更完整的訓練記錄應至少保留覆蓋率、深度一二階矩、法線有效掩碼、各子項的未加權值與加權貢獻。這樣才能判斷某次指標改善來自新增幾何約束、外觀參數補償，還是監督區域本身發生了變化。</p>
<h2>結語</h2>
<p>多通道可微渲染建立在同一組 Alpha 權重上。顏色、深度、法線和特徵因而觀察同一個高斯集合，也共同受到投影誤差、近似排序、遮擋和覆蓋不足的影響。期望深度需要與覆蓋率和深度方差一起解釋，法線合成需要處理方向符號、歸一化和深度邊界，特徵通道還受到非線性解碼位置的影響。</p>
<p>輔助監督能否改善幾何，最終取決於它對幾何參數的雅可比是否提供了新的有效方向。外部深度和多視圖幾何可以增加觀測證據，單目預測、法線平滑與深度失真則引入先驗假設；兩類信息都要經過可見性權重和通道參數化才能抵達高斯。<a href="/posts/3dgs-series-5-intrinsic-images-and-albedo-priors">《複雜光照下的本徵圖像與反照率先驗》</a>繼續拆開顏色通道內部的反照率、光照和視角相關外觀，並分析這些分量各自能夠吸收哪些誤差。</p>
<pre><code class="language-bibtex">@article{kerbl2023gaussians,
  author = {Kerbl, Bernhard and Kopanas, Georgios and Leimkühler, Thomas and Drettakis, George},
  title = {3D Gaussian Splatting for Real-Time Radiance Field Rendering},
  journal = {ACM Transactions on Graphics},
  volume = {42},
  number = {4},
  pages = {139:1--139:14},
  year = {2023}
}

@inproceedings{huang20242dgs,
  author = {Huang, Binbin and Yu, Zehao and Chen, Anpei and Geiger, Andreas and Gao, Shenghua},
  title = {2D Gaussian Splatting for Geometrically Accurate Radiance Fields},
  booktitle = {ACM SIGGRAPH 2024 Conference Papers},
  year = {2024}
}

@inproceedings{turkulainen2025dnsplatter,
  author = {Turkulainen, Matias and Ren, Xuqian and Melekhov, Iaroslav and Seiskari, Otto and Rahtu, Esa and Kannala, Juho},
  title = {DN-Splatter: Depth and Normal Priors for Gaussian Splatting and Meshing},
  booktitle = {IEEE/CVF Winter Conference on Applications of Computer Vision},
  year = {2025}
}

@inproceedings{barron2022mipnerf360,
  author = {Barron, Jonathan T. and Mildenhall, Ben and Verbin, Dor and Srinivasan, Pratul P. and Hedman, Peter},
  title = {Mip-NeRF 360: Unbounded Anti-Aliased Neural Radiance Fields},
  booktitle = {IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages = {5470--5479},
  year = {2022}
}
</code></pre>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>神經渲染</category>
            <category>3D Gaussian Splatting</category>
            <category>3DGS</category>
            <category>可微渲染</category>
            <category>多通道渲染</category>
            <category>深度</category>
            <category>法線</category>
            <category>幾何監督</category>
        </item>
        <item>
            <title><![CDATA[弱紋理場景中的幾何可觀測性]]></title>
            <link>https://nishikori.dev/posts/3dgs-series-3-geometric-observability-low-texture</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/3dgs-series-3-geometric-observability-low-texture</guid>
            <pubDate>Thu, 08 Jan 2026 11:10:00 GMT</pubDate>
            <description><![CDATA[從光度殘差的雅可比出發，推導弱紋理區域的結構張量、視差與深度不確定性、光束法平差零空間，以及 3DGS 中外觀參數對幾何誤差的補償。]]></description>
            <content:encoded><![CDATA[<p><a href="/posts/3dgs-series-2-training-objective-evaluation">《3DGS 的訓練目標與重建評價》</a>將微小屏幕位移展開為圖像梯度與位移的內積：幾何位置已經改變，平滑區域的 RGB 誤差仍可能很小。沿着這個結果繼續向參數空間追蹤，會遇到一個更基本的條件——觀測圖像能否區分相鄰的幾何狀態。</p>
<p>設場景參數為 $\boldsymbol\theta$，觀測模型為 $\mathbf h(\boldsymbol\theta)$，圖像數據為 $\mathbf y$。在當前估計 $\boldsymbol\theta_0$ 附近，殘差可以線性化為</p>
<p>$$
\mathbf r(\boldsymbol\theta_0+\delta\boldsymbol\theta)
\approx \mathbf r_0+\mathbf J\delta\boldsymbol\theta,
\qquad
\mathbf J=
\left.\frac{\partial\mathbf r}{\partial\boldsymbol\theta}\right|_{\boldsymbol\theta_0}.
$$</p>
<p>若存在非零方向 $\mathbf v$ 滿足 $\mathbf J\mathbf v\approx\mathbf 0$，參數沿 $\mathbf v$ 改變後，當前觀測幾乎不變。這個方向在局部缺少可觀測性。加權最小二乘對應的信息矩陣為</p>
<p>$$
\mathbf H=\mathbf J^{\mathsf T}\mathbf W\mathbf J.
$$</p>
<p>$\mathbf H$ 的小特徵值標記弱約束方向，零特徵值則對應局部零空間。弱紋理的影響由此可以拆成三層：圖像是否提供位移方向，視角是否提供足夠視差，以及渲染模型中的幾何變化能否同外觀變化區分開來。</p>
<h2>光度殘差的幾何雅可比</h2>
<p>取參考圖像 $I_r$ 中的像素 $\mathbf p$，根據深度、相機位姿和投影模型，把它映射到目標圖像中的 $\mathbf w(\mathbf p;\boldsymbol\theta)$。直接法使用的光度殘差可寫為 [@engel2018dso]</p>
<p>$$
r_{\mathbf p}(\boldsymbol\theta)
=I_t!\left(\mathbf w(\mathbf p;\boldsymbol\theta)\right)-I_r(\mathbf p).
$$</p>
<p>對幾何參數求導，鏈式法則得到</p>
<h1>$$
\mathbf J_{\mathbf p}</h1>
<p>\underbrace{\nabla I_t(\mathbf w)^{\mathsf T}}<em>{\text{圖像方向}}
\underbrace{\frac{\partial\mathbf w}{\partial\boldsymbol\theta}}</em>{\text{投影與幾何}}.
$$</p>
<p>第二項描述深度或位姿變化會把像素移到哪裏，第一項決定這次移動能否改變觀測值。當 $|\nabla I_t|$ 很小時，即使投影位置對幾何非常敏感，乘積仍然接近零；圖像沒有為這次幾何變化提供足夠的判別信號。</p>
<p>把圖像噪聲近似為方差 $\sigma_I^2$ 的獨立高斯噪聲，局部參數協方差可由高斯—牛頓近似寫成</p>
<p>$$
\operatorname{Cov}(\delta\boldsymbol\theta)
\approx\sigma_I^2(\mathbf J^{\mathsf T}\mathbf J)^{-1}.
$$</p>
<p>這個表達式需要 $\mathbf J$ 滿列秩；退化時應使用偽逆，零空間方向的方差沒有有限上界。低 RGB 殘差只表示某個解能解釋訓練圖像，沒有給出 $\mathbf J^{\mathsf T}\mathbf J$ 的譜，也就沒有給出幾何置信度。</p>
<h2>局部窗口的秩</h2>
<p>先把幾何變化簡化成圖像窗口的二維平移 $\boldsymbol\delta=(u,v)^{\mathsf T}$。亮度恆常假設給出</p>
<p>$$
I(x+u,y+v)\approx I(x,y)+I_xu+I_yv.
$$</p>
<p>在窗口 $\Omega$ 中疊加殘差，得到經典的二階矩陣 [@lucas1981iterative; @shi1994good]</p>
<p>$$
\mathbf G
=\sum_{\mathbf p\in\Omega}w_{\mathbf p}
\begin{bmatrix}
I_x^2&amp;I_xI_y\
I_xI_y&amp;I_y^2
\end{bmatrix}
=\sum_{\mathbf p\in\Omega}w_{\mathbf p}
\nabla I_{\mathbf p}\nabla I_{\mathbf p}^{\mathsf T}.
$$</p>
<p>$\mathbf G$ 正是位移參數的信息矩陣。令其特徵值滿足 $\lambda_1\geq\lambda_2\geq0$：</p>
<ul>
<li>平坦窗口中，$\lambda_1$、$\lambda_2$ 都很小，兩個平移方向都缺少約束；</li>
<li>單一邊緣通常只有 $\lambda_1$ 較大，沿邊緣方向仍可滑動，形成孔徑問題；</li>
<li>角點或方向豐富的紋理使兩個特徵值都較大，二維位移才能穩定估計。</li>
</ul>
<figure id="fig_dso_gradient_selection" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-3/dso-gradient-candidate-selection.png" alt="四幅室內外圖像及 Direct Sparse Odometry 根據局部梯度分層選出的候選像素" />
  <figcaption class="md-figure__caption">Direct Sparse Odometry 的候選像素選擇。上排為輸入圖像，下排為分層梯度閾值選出的像素；高梯度候選覆蓋邊緣和紋理，較弱的亮度變化需要降低閾值、擴大分塊後才能得到稀疏採樣 [@engel2018dso]。</figcaption>
</figure>
<p>如果每個像素殘差的噪聲方差仍為 $\sigma_I^2$，位移估計的協方差近似為</p>
<p>$$
\operatorname{Cov}(\hat{\boldsymbol\delta})
\approx\sigma_I^2\mathbf G^{-1}
=\mathbf V
\begin{bmatrix}
\sigma_I^2/\lambda_1&amp;0\
0&amp;\sigma_I^2/\lambda_2
\end{bmatrix}
\mathbf V^{\mathsf T}.
$$</p>
<p>因而 $\lambda_2$ 直接控制最差方向的方差上界，條件數</p>
<p>$$
\kappa(\mathbf G)=\frac{\lambda_1}{\lambda_2}
$$</p>
<p>則描述兩個方向的敏感度差異。只使用平均梯度幅值會把「兩個方向都弱」和「一個方向很強、另一個方向近乎為零」混在一起。對幾何可觀測性而言，最小特徵值和條件數比單個梯度閾值更有解釋力。</p>
<h2>視差的深度靈敏度</h2>
<p>局部窗口可被穩定匹配後，深度仍取決於視角幾何。在校正後的雙目模型中，焦距為 $f$，基線為 $B$，深度為 $Z$，視差 $d$ 滿足</p>
<p>$$
d=\frac{fB}{Z},
\qquad
Z=\frac{fB}{d}.
$$</p>
<p>對視差做一階誤差傳播，可得</p>
<p>$$
\sigma_Z
\approx\left|\frac{\partial Z}{\partial d}\right|\sigma_d
=\frac{Z^2}{fB}\sigma_d,
\qquad
\frac{\sigma_Z}{Z}\approx\frac{Z}{fB}\sigma_d.
$$</p>
<p>深度越遠、基線越小，固定的亞像素匹配誤差會被放大得越嚴重。視差誤差本身又受紋理約束。對一維水平匹配，信息量近似為</p>
<p>$$
\mathcal I_d
=\frac{1}{\sigma_I^2}\sum_{\mathbf p\in\Omega}I_x(\mathbf p)^2,
\qquad
\sigma_d^2
\approx\frac{\sigma_I^2}{\sum_{\mathbf p\in\Omega}I_x(\mathbf p)^2}.
$$</p>
<p>把兩段誤差傳播連起來，得到</p>
<p>$$
\sigma_Z^2
\approx
\frac{Z^4}{f^2B^2}
\frac{\sigma_I^2}{\sum_{\mathbf p\in\Omega}I_x(\mathbf p)^2}.
$$</p>
<p>這個式子把弱紋理和視角退化放在了同一個尺度上：低梯度減小分母，遠距離和小基線增大分子。增加視圖數只有在新視圖帶來有效梯度、共視關係和新的射線方向時，才會真正增加信息量。</p>
<p>一般相機模型下可以用兩條觀測射線的夾角 $\theta$ 代替校正雙目的水平視差。當 $\theta\to0$ 時，兩條射線接近平行，三角化信息矩陣沿深度方向的特徵值趨近於零。基線—深度比、共視數量和射線夾角應一起考察，單獨統計「看見了幾次」仍可能高估幾何約束 [@hartley2004multiple]。</p>
<figure id="fig_gaussianpro_homography" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-3/gaussianpro-homography-candidates-v2.png" alt="參考視圖中的像素和多個深度法線平面候選通過單應變換投影到相鄰視圖" />
  <figcaption class="md-figure__caption">GaussianPro 的平面候選匹配示意。每組深度與法線 $(d_k,\mathbf n_k)$ 都會在相鄰視圖中產生不同的單應映射；只有圖像塊具有足夠辨識度且視角幾何有效時，跨視圖光度代價才能排除錯誤候選 [@cheng2024gaussianpro]。</figcaption>
</figure>
<figure id="fig_gaussianpro_framework" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-3/gaussianpro-framework-v2.webp" alt="GaussianPro 從現有高斯渲染深度與法線，經幾何傳播、過濾與選擇後生成新高斯的管線" />
  <figcaption class="md-figure__caption">GaussianPro 的漸進高斯傳播管線。現有高斯先渲染深度和法線，再經由鄰域傳播產生候選，通過幾何過濾與選擇保留可信的深度、法線，最後將需要補充的像素投影到三維空間初始化為新高斯，再回到訓練管線 [@cheng2024gaussianpro]。</figcaption>
</figure>
<h2>位姿與結構的聯合零空間</h2>
<p>SfM 在多幅圖像中建立特徵軌跡，並通過光束法平差聯合優化相機與三維點 [@schonberger2016structure; @triggs2000bundle]。第 $i$ 個相機觀測第 $j$ 個點時，重投影殘差可寫成</p>
<p>$$
\mathbf r_{ij}
=\mathbf z_{ij}-\pi(\mathbf T_i\mathbf X_j).
$$</p>
<p>線性化後，每條觀測只連接一個相機塊和一個點塊：</p>
<p>$$
\delta\mathbf r_{ij}
\approx
\mathbf J_{c,ij}\delta\boldsymbol\xi_i
+\mathbf J_{x,ij}\delta\mathbf X_j.
$$</p>
<p>全部觀測形成的法方程具有分塊結構</p>
<p>$$
\begin{bmatrix}
\mathbf H_{cc}&amp;\mathbf H_{cx}\
\mathbf H_{xc}&amp;\mathbf H_{xx}
\end{bmatrix}
\begin{bmatrix}
\delta\mathbf c\
\delta\mathbf x
\end{bmatrix}
=-
\begin{bmatrix}
\mathbf g_c\
\mathbf g_x
\end{bmatrix}.
$$</p>
<p>消去三維點後，相機位姿接收到的有效信息由 Schur 補給出</p>
<p>$$
\mathbf S_c
=\mathbf H_{cc}
-\mathbf H_{cx}\mathbf H_{xx}^{-1}\mathbf H_{xc}.
$$</p>
<p>某個三維點只有短軌跡、小三角化角或集中在單一方向的觀測時，$\mathbf H_{xx}$ 會變得病態；這部分不確定性經交叉塊傳到 $\mathbf S_c$，令位姿和結構沿某些組合方向一起漂移。弱紋理在特徵法中常表現為軌跡數量不足，在直接法中則表現為光度雅可比過小，最後都會反映到法方程的譜上。</p>
<p>單目重建還天然具有全局相似變換自由度：同時旋轉、平移和縮放全部相機與三維點，重投影不變。未固定坐標系時，這對應 $3+3+1=7$ 個規範自由度。它和弱紋理造成的局部退化需要分開處理：前者可通過固定參考相機與尺度消除，後者即使在規範固定後仍然存在。</p>
<h2>3DGS 的外觀—幾何耦合</h2>
<p>3DGS 通常從 SfM 稀疏點初始化高斯位置，然後依靠渲染損失更新位置、尺度、旋轉、不透明度與顏色，並根據屏幕空間位置梯度進行致密化 [@kerbl2023gaussians]。SfM 在弱紋理表面留下的稀疏或不穩定初始化，會直接縮小後續幾何優化的有效支撐域。</p>
<p>對某個像素，按深度排序的 Alpha 混合為</p>
<p>$$
\hat{\mathbf C}(\mathbf p)
=\sum_iT_i(\mathbf p)\alpha_i(\mathbf p)\mathbf c_i,
\qquad
T_i=\prod_{j&lt;i}(1-\alpha_j).
$$</p>
<p>令第 $k$ 個高斯的二維核為</p>
<p>$$
G_k(\mathbf p)
=\exp!\left[-\frac12
(\mathbf p-\boldsymbol\mu_k')^{\mathsf T}
\mathbf Q_k
(\mathbf p-\boldsymbol\mu_k')\right],
\qquad
\alpha_k=o_kG_k,
$$</p>
<p>其中 $\mathbf Q_k=(\boldsymbol\Sigma_k')^{-1}$。把第 $k$ 層之後的合成顏色記為 $\mathbf B_{k+1}$，則</p>
<p>$$
\frac{\partial\hat{\mathbf C}}{\partial\alpha_k}
=T_k(\mathbf c_k-\mathbf B_{k+1}),
$$</p>
<p>$$
\frac{\partial\alpha_k}{\partial\boldsymbol\mu_k'}
=o_kG_k\mathbf Q_k(\mathbf p-\boldsymbol\mu_k').
$$</p>
<p>再乘上投影雅可比，就得到世界空間高斯中心的像素梯度。平坦區域中，相鄰位置產生的顏色差異很小，footprint 兩側的殘差也容易對稱抵消；位置梯度隨之變弱。此時致密化缺少觸發信號，增加訓練迭代並不會憑空增加新的幾何證據。</p>
<p>參數耦合會進一步削弱幾何的可觀測性。把位置、旋轉和尺度合記為幾何參數 $\mathbf g$，把顏色與不透明度合記為外觀參數 $\mathbf a$，局部渲染變化為</p>
<p>$$
\delta\hat{\mathbf C}
\approx
\mathbf J_g\delta\mathbf g+\mathbf J_a\delta\mathbf a.
$$</p>
<p>若先允許外觀參數自由調整，再考察幾何剩餘的信息量，可消去 $\delta\mathbf a$，得到幾何的約化信息矩陣</p>
<p>$$
\mathbf S_g
=\mathbf J_g^{\mathsf T}\mathbf W\mathbf J_g
-\mathbf J_g^{\mathsf T}\mathbf W\mathbf J_a
(\mathbf J_a^{\mathsf T}\mathbf W\mathbf J_a)^{-1}
\mathbf J_a^{\mathsf T}\mathbf W\mathbf J_g.
$$</p>
<p>第一項是固定外觀時的幾何信息，第二項扣除了可以由外觀參數解釋的分量。若 $\mathbf J_g$ 的列接近 $\mathbf J_a$ 的列空間，$\mathbf S_g$ 便會出現小特徵值：移動高斯造成的圖像變化，可以通過調整顏色、不透明度或 footprint 近似抵消。訓練視角的 RGB 因而能繼續改善，表面位置、法線與新視角遮擋關係仍可能不穩定。</p>
<figure id="fig_gaussianpro_geometry" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-3/gaussianpro-geometry-comparison-v2.png" alt="3DGS 與帶幾何傳播約束的方法在高斯分佈、渲染圖像和渲染法線上的對比" />
  <figcaption class="md-figure__caption">訓練圖像指標接近時，高斯分佈和渲染法線仍可能存在明顯差異。上排 3DGS 的道路區域可以形成連貫 RGB 外觀，幾何分佈與法線卻更噪雜；下排加入多視圖幾何傳播後，幾何結構更集中 [@cheng2024gaussianpro]。</figcaption>
</figure>
<h2>傳播與平面約束的實驗分解</h2>
<p>GaussianPro 將相鄰高斯的幾何線索傳播到低紋理區域，並用多視圖單應代價篩選深度—法線候選。其 Waymo 消融實驗把幾何傳播和平面約束分別開關，因而可以觀察兩條路徑對渲染結果的單獨與聯合影響 [@cheng2024gaussianpro]。</p>
<table>
<thead>
<tr>
<th>幾何傳播</th>
<th>平面約束</th>
<th style="text-align:right">PSNR</th>
<th style="text-align:right">SSIM</th>
<th style="text-align:right">LPIPS</th>
</tr>
</thead>
<tbody>
<tr>
<td>無</td>
<td>無</td>
<td style="text-align:right">33.53</td>
<td style="text-align:right">0.938</td>
<td style="text-align:right">0.226</td>
</tr>
<tr>
<td>無</td>
<td>有</td>
<td style="text-align:right">34.02</td>
<td style="text-align:right">0.942</td>
<td style="text-align:right">0.218</td>
</tr>
<tr>
<td>有</td>
<td>無</td>
<td style="text-align:right">34.48</td>
<td style="text-align:right">0.946</td>
<td style="text-align:right">0.203</td>
</tr>
<tr>
<td>有</td>
<td>有</td>
<td style="text-align:right">34.68</td>
<td style="text-align:right">0.949</td>
<td style="text-align:right">0.191</td>
</tr>
</tbody>
</table>
<p>幾何傳播單獨使 PSNR 由 $33.53$ dB 增至 $34.48$ dB，增量為 $0.95$ dB；只啟用平面約束時，增量為 $0.49$ dB。當傳播已經啟用，再加入平面約束只增加 $0.20$ dB。若兩項影響可以線性相加，完整設置的預期增量應為 $0.95+0.49=1.44$ dB；實際增量為 $1.15$ dB，少了 $0.29$ dB。這部分差值反映出兩項約束會更新重疊的高斯參數，並沿共享的誤差路徑改變相同的渲染結果；後加入的約束只能繼續修正尚未被前一項消除的分量。</p>
<figure id="fig_gaussianpro_room_compactness" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-3/gaussianpro-room-gaussians-centered-v3.webp" alt="Room 場景中 3DGS 與 GaussianPro 的高斯分佈對比" />
  <figcaption class="md-figure__caption">Room 場景中 3DGS 與 GaussianPro 的高斯分佈。左圖的雜散高斯和紅圈浮點顯示弱紋理區域的幾何分佈不夠集中，右圖的高斯更近於主要表面 [@cheng2024gaussianpro]。</figcaption>
</figure>
<p>表中三項都是圖像指標，只能間接支撐幾何改善。PSNR 和 SSIM 的增長可能同時來自更正確的表面位置、更密集的高斯覆蓋以及外觀參數調整。因此，定量表格要同時對照高斯分佈和法線圖：前者顯示幾何質量是否集中在表面附近，後者顯示局部方向是否連續。這比單獨用 RGB 指標推斷可觀測性更符合前面的約化信息矩陣分析。</p>
<h2>弱紋理的幾種退化型態</h2>
<p>「弱紋理」常被簡化成梯度小於某個閾值，實際退化還包含方向、對應唯一性、成像假設和視角幾何。它們在信息矩陣中留下的症狀不同。</p>
<table>
<thead>
<tr>
<th>場景條件</th>
<th>主要退化</th>
<th>信息矩陣中的表現</th>
<th>常見結果</th>
</tr>
</thead>
<tbody>
<tr>
<td>大面積平坦區域</td>
<td>兩個圖像方向都缺少變化</td>
<td>$\lambda_1,\lambda_2$ 都小</td>
<td>匹配漂移、深度不確定、致密化不足</td>
</tr>
<tr>
<td>單一長邊緣</td>
<td>孔徑問題</td>
<td>$\lambda_1$ 大、$\lambda_2$ 小</td>
<td>沿邊緣方向滑動</td>
</tr>
<tr>
<td>重複紋理</td>
<td>對應不唯一</td>
<td>局部曲率可大，但存在多個離散極小值</td>
<td>錯誤匹配、週期性深度跳變</td>
</tr>
<tr>
<td>小基線或遠距離</td>
<td>三角化角過小</td>
<td>深度方向特徵值小</td>
<td>深度方差快速放大</td>
</tr>
<tr>
<td>鏡面反射與曝光變化</td>
<td>亮度恆常失效</td>
<td>殘差帶系統偏差</td>
<td>幾何吸收外觀誤差，或反之</td>
</tr>
<tr>
<td>遮擋與視野邊界</td>
<td>共視關係中斷</td>
<td>有效觀測行數減少</td>
<td>前後景錯連、浮點與空洞</td>
</tr>
<tr>
<td>外觀自由度過高</td>
<td>幾何與外觀列空間重疊</td>
<td>$\mathbf S_g$ 出現小特徵值</td>
<td>RGB 良好，深度與法線不穩定</td>
</tr>
</tbody>
</table>
<p>重複紋理尤其容易被單純的局部特徵值判斷漏掉。每個候選位置附近都可能具有很強的二階曲率，但全局目標包含多個相似極小值；這屬於離散歧義。局部可觀測性回答「當前解附近能否辨識」，還需要多視圖循環一致性、極線約束或更大範圍的上下文排除錯誤分支。</p>
<h2>可觀測性的診斷尺度</h2>
<p>弱紋理區域的判定可以沿着優化管線逐層記錄，而不必壓縮成單一掩碼：</p>
<ul>
<li><strong>圖像層</strong>：統計窗口結構張量的 $\lambda_2$、$\kappa(\mathbf G)$ 和梯度方向分佈；</li>
<li><strong>匹配層</strong>：保留代價曲線的峰值比、次優候選間隔和前後向一致性；</li>
<li><strong>視角層</strong>：統計有效共視數、基線—深度比、三角化角與遮擋狀態；</li>
<li><strong>優化層</strong>：觀察重投影雅可比或近似 Hessian 的小特徵值，以及阻尼前後的條件數；</li>
<li><strong>3DGS 層</strong>：比較幾何梯度與外觀梯度範數，檢查屏幕空間位置梯度、可見視圖數、深度和法線的跨視圖一致性；</li>
<li><strong>結果層</strong>：把 RGB 指標同深度、法線、點雲或網格指標分開報告，並保留新視角誤差圖。</li>
</ul>
<p>正則項與先驗會抬高某些弱方向的曲率。若原始信息矩陣為 $\mathbf H$，加入二次先驗</p>
<p>$$
\frac{\lambda}{2}
|\mathbf L(\boldsymbol\theta-\boldsymbol\theta_0)|_2^2
$$</p>
<p>後，法方程變為</p>
<p>$$
\mathbf H_{\mathrm{reg}}
=\mathbf H+\lambda\mathbf L^{\mathsf T}\mathbf L.
$$</p>
<p>數值條件會改善，但新增曲率來自先驗假設。當數據項在某個方向沒有信息時，結果主要由 $\boldsymbol\theta_0$、$\mathbf L$ 和 $\lambda$ 決定；先驗的偏差也會直接進入幾何。診斷時應把數據可觀測性和正則化後的可解性分開記錄。</p>
<h2>結語</h2>
<p>弱紋理場景的幾何困難可以沿一條連續的誤差鏈理解：圖像梯度決定局部位移信息，視差和射線夾角把像素不確定性傳到深度，位姿—結構耦合把局部退化擴散到整個重建，而 3DGS 的顏色、不透明度和協方差又能吸收一部分幾何引起的圖像變化。</p>
<p>局部結構張量的最小特徵值、三角化角、光束法平差的 Schur 補和 3DGS 的約化幾何信息矩陣，描述的是同一件事在不同階段的投影：幾何擾動是否會留下無法被其他參數消除的觀測差異。這也解釋了弱紋理平面上常見的現象——訓練視角已經平滑、乾淨，深度、法線和新視角邊界仍然漂移。後續幾何約束應當針對這些弱方向補充跨視圖證據，同時明確新增信息來自觀測、模型假設還是外部先驗。</p>
<pre><code class="language-bibtex">@inproceedings{lucas1981iterative,
  author = {Lucas, Bruce D. and Kanade, Takeo},
  title = {An Iterative Image Registration Technique with an Application to Stereo Vision},
  booktitle = {Proceedings of the International Joint Conference on Artificial Intelligence},
  pages = {674--679},
  year = {1981}
}

@inproceedings{shi1994good,
  author = {Shi, Jianbo and Tomasi, Carlo},
  title = {Good Features to Track},
  booktitle = {Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
  pages = {593--600},
  year = {1994}
}

@book{hartley2004multiple,
  author = {Hartley, Richard and Zisserman, Andrew},
  title = {Multiple View Geometry in Computer Vision},
  edition = {2},
  publisher = {Cambridge University Press},
  year = {2004}
}

@incollection{triggs2000bundle,
  author = {Triggs, Bill and McLauchlan, Philip F. and Hartley, Richard I. and Fitzgibbon, Andrew W.},
  title = {Bundle Adjustment---A Modern Synthesis},
  booktitle = {Vision Algorithms: Theory and Practice},
  volume = {1883},
  pages = {298--372},
  publisher = {Springer},
  year = {2000}
}

@article{engel2018dso,
  author = {Engel, Jakob and Koltun, Vladlen and Cremers, Daniel},
  title = {Direct Sparse Odometry},
  journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence},
  volume = {40},
  number = {3},
  pages = {611--625},
  year = {2018}
}

@inproceedings{schonberger2016structure,
  author = {Schönberger, Johannes L. and Frahm, Jan-Michael},
  title = {Structure-from-Motion Revisited},
  booktitle = {Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
  pages = {4104--4113},
  year = {2016}
}

@article{kerbl2023gaussians,
  author = {Kerbl, Bernhard and Kopanas, Georgios and Leimkühler, Thomas and Drettakis, George},
  title = {3D Gaussian Splatting for Real-Time Radiance Field Rendering},
  journal = {ACM Transactions on Graphics},
  volume = {42},
  number = {4},
  pages = {139:1--139:14},
  year = {2023}
}

@inproceedings{cheng2024gaussianpro,
  author = {Cheng, Kai and Long, Xiaoxiao and Yang, Kaizhi and Yao, Yao and Yin, Wei and Ma, Yuexin and Wang, Wenping and Chen, Xuejin},
  title = {GaussianPro: 3D Gaussian Splatting with Progressive Propagation},
  booktitle = {Proceedings of the International Conference on Machine Learning},
  pages = {8123--8140},
  year = {2024}
}
</code></pre>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>神經渲染</category>
            <category>3D Gaussian Splatting</category>
            <category>3DGS</category>
            <category>弱紋理</category>
            <category>幾何可觀測性</category>
            <category>多視圖幾何</category>
            <category>SfM</category>
            <category>光束法平差</category>
        </item>
        <item>
            <title><![CDATA[3DGS 的訓練目標與重建評價]]></title>
            <link>https://nishikori.dev/posts/3dgs-series-2-training-objective-evaluation</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/3dgs-series-2-training-objective-evaluation</guid>
            <pubDate>Mon, 22 Dec 2025 10:20:00 GMT</pubDate>
            <description><![CDATA[從可微渲染的梯度鏈出發，推導 3DGS 的 L1 與 D-SSIM 混合訓練目標，分析 SSIM、PSNR、L1、LPIPS 的數學關係、統計口徑與評價邊界。]]></description>
            <content:encoded><![CDATA[<h2>渲染損失的反向傳播</h2>
<p><a href="/posts/3dgs-series-1-original-principles">《3DGS 的表示、渲染與優化》</a>將場景表示、投影、Alpha 混合和密度控制串成了完整管線。渲染器給定相機 $\mathcal{C}_m$ 和高斯集合 $\Theta$，輸出訓練視角的渲染圖像</p>
<p>$$
\hat{\mathbf I}_m
=\mathcal R(\Theta;\mathcal C_m).
$$</p>
<p>訓練還需要把渲染圖像與真實圖像 $\mathbf I_m$ 的差異壓縮成標量損失，再沿可微光柵化器反向傳播。若 $\theta_i$ 表示第 $i$ 個高斯的某個參數，鏈式法則給出</p>
<p>$$
\frac{\partial\mathcal L}{\partial\theta_i}
=\sum_{p\in\Omega_i}
\frac{\partial\mathcal L}{\partial\hat{\mathbf I}(p)}
\frac{\partial\hat{\mathbf I}(p)}{\partial\theta_i},
$$</p>
<p>其中 $\Omega_i$ 是該高斯在當前視角中實際影響的像素集合。右側第一項由損失函數決定，描述每個像素應當向哪個方向修正；第二項由投影、二維高斯權重、Alpha 混合與球諧顏色共同決定，負責把像素修正轉換成位置、尺度、旋轉、不透明度和顏色的梯度。</p>
<p>這條梯度鏈也劃分了兩種不同角色：訓練目標參與參數更新，重建指標在留出視角上描述最終結果。二者可以共享相似的數學形式，使用時的統計範圍和解釋方式卻不同。</p>
<pre><code class="language-mermaid">flowchart TD
    A[&quot;多視角圖像與相機&quot;] --&gt; B[&quot;3DGS 渲染器&quot;]
    B --&gt; C{&quot;當前視角用途&quot;}
    C --&gt;|&quot;訓練視角&quot;| D[&quot;L1 與 D-SSIM&quot;]
    D --&gt; E[&quot;反向傳播&quot;]
    E --&gt; F[&quot;更新高斯參數與密度&quot;]
    F -.-&gt;|&quot;下一次迭代&quot;| B
    C --&gt;|&quot;留出測試視角&quot;| G[&quot;固定模型渲染&quot;]
    G --&gt; H[&quot;SSIM / PSNR / L1 / LPIPS&quot;]
    H --&gt; I[&quot;指標、曲線與同視角圖像&quot;]
</code></pre>
<h2>L1：逐像素殘差的直接尺度</h2>
<p>把顏色通道和像素位置統一編號為 $j=1,\ldots,N$，令</p>
<p>$$
e_j=\hat I_j-I_j,
$$</p>
<p>平均 L1 損失為</p>
<p>$$
\mathcal L_1
=\frac{1}{N}\sum_{j=1}^{N}|e_j|.
$$</p>
<p>除 $e_j=0$ 外，它對渲染像素的導數只有符號差異：</p>
<p>$$
\frac{\partial\mathcal L_1}{\partial\hat I_j}
=\frac{1}{N}\operatorname{sign}(e_j).
$$</p>
<p>因此，大殘差像素不會像 L2 那樣獲得與誤差幅值成正比的更大梯度。少量高亮、遮擋錯配或曝光異常像素對整體更新的支配作用相對較弱，這也是圖像重建中常用 L1 的原因之一。</p>
<p>L1 的穩健性還可以從統計估計的角度理解。把某個待預測的標量記為 $a$，相應觀測記為隨機變量 $Y$，則期望 L1 風險為</p>
<p>$$
R_1(a)=\mathbb E\left[|Y-a|\right].
$$</p>
<p>在分佈連續處，其導數可以寫成</p>
<p>$$
\frac{\mathrm dR_1}{\mathrm da}
=\Pr(Y&lt;a)-\Pr(Y&gt;a).
$$</p>
<p>令導數為零，得到 $\Pr(Y&lt;a)=\Pr(Y&gt;a)$，所以 L1 對應條件分佈的中位數。作為對照，平方損失滿足</p>
<p>$$
R_2(a)=\mathbb E\left[(Y-a)^2\right],
\qquad
\frac{\mathrm dR_2}{\mathrm da}
=2\left(a-\mathbb E[Y]\right),
$$</p>
<p>其最優解是均值。當殘差分佈帶有長尾時，少量極端觀測會直接拉動均值，對中位數的影響則小得多。映射到多視角重建中，遮擋切換、鏡面高光和相機標定殘差都可能形成長尾誤差；L1 由此提供了較穩定的基礎修正信號。</p>
<p>L1 對每個坐標獨立計算。兩片紋理即使具有相似的局部結構，只要發生一兩個像素的位移，逐點殘差仍會迅速上升；反過來，一塊平滑區域只要平均顏色接近，也可能得到很低的 L1，而其邊界位置、局部對比度或細微紋理仍然不準確。3DGS 在 L1 之外加入結構項，補充的正是這部分局部關係。</p>
<h2>SSIM：局部亮度、對比度與相關性</h2>
<p>結構相似性指標（Structural Similarity Index Measure，SSIM）在局部窗口中比較兩幅圖像的均值、方差和協方差。對窗口內的兩組像素 $x$、$y$，常用形式為 [@wang2004ssim]</p>
<p>$$
\operatorname{SSIM}(x,y)
=\frac{(2\mu_x\mu_y+C_1)(2\sigma_{xy}+C_2)}
{(\mu_x^2+\mu_y^2+C_1)(\sigma_x^2+\sigma_y^2+C_2)}.
$$</p>
<p>若窗口權重 $w_q$ 已歸一化，局部統計量可以寫成</p>
<p>$$
\mu_x=\sum_q w_qx_q,
\qquad
\sigma_x^2=\sum_qw_q(x_q-\mu_x)^2,
\qquad
\sigma_{xy}=\sum_qw_q(x_q-\mu_x)(y_q-\mu_y).
$$</p>
<p>第一個分式主要比較局部亮度，第二個分式同時反映對比度與結構相關性。常數 $C_1$、$C_2$ 用於穩定低亮度或低方差窗口中的除法；它們通常按像素動態範圍 $L$ 設為 $(K_1L)^2$ 和 $(K_2L)^2$。當圖像已歸一化到 $[0,1]$ 時，常見設置為 $K_1=0.01$、$K_2=0.03$。</p>
<p>整幅圖像的 SSIM 一般由各通道、各窗口中心的局部分數取平均。這個平均看似簡單，具體實現仍包含窗口尺寸、高斯核標準差、邊界填充、通道聚合和動態範圍等選擇。兩組實驗若使用不同設置，最後幾位小數未必具有可比性。</p>
<p>局部統計量也能直接給出 SSIM 的梯度結構。把渲染窗口記為 $x$、真實窗口記為 $y$，並令</p>
<p>$$
\begin{aligned}
A&amp;=2\mu_x\mu_y+C_1,
&amp;B&amp;=2\sigma_{xy}+C_2,\
C&amp;=\mu_x^2+\mu_y^2+C_1,
&amp;D&amp;=\sigma_x^2+\sigma_y^2+C_2,
\end{aligned}
$$</p>
<p>則 $s=\operatorname{SSIM}(x,y)=AB/(CD)$。對窗口中的第 $r$ 個渲染像素，有</p>
<p>$$
\begin{aligned}
\frac{\partial A}{\partial x_r}&amp;=2w_r\mu_y,
&amp;\frac{\partial B}{\partial x_r}&amp;=2w_r(y_r-\mu_y),\
\frac{\partial C}{\partial x_r}&amp;=2w_r\mu_x,
&amp;\frac{\partial D}{\partial x_r}&amp;=2w_r(x_r-\mu_x).
\end{aligned}
$$</p>
<p>代入乘法與商法則，得到</p>
<p>$$
\frac{\partial s}{\partial x_r}
=\frac{A_r'B+AB_r'}{CD}
-\frac{AB(C_r'D+CD_r')}{(CD)^2}.
$$</p>
<p>這個導數同時含有目標像素 $y_r$、窗口均值和局部離均差。即使只對 $x_r$ 求導，修正方向仍由整個窗口的統計狀態決定；窗口重疊後，一個渲染像素還會接收多個局部 SSIM 的梯度。</p>
<p>兩個簡化情形能進一步說明 D-SSIM 的尺度。若真實窗口只比渲染窗口多一個常數亮度偏移，即 $y_q=x_q+b$，其方差和協方差不變，因此</p>
<p>$$
1-\operatorname{SSIM}(x,x+b)
=\frac{b^2}
{\mu_x^2+(\mu_x+b)^2+C_1}.
$$</p>
<p>若只考察零均值窗口中的對比度縮放 $y=ax$，則</p>
<p>$$
1-\operatorname{SSIM}(x,ax)
=\frac{(a-1)^2\sigma_x^2}
{(1+a^2)\sigma_x^2+C_2}.
$$</p>
<p>亮度偏移 $b$ 和對比度偏差 $a-1$ 在匹配點附近都呈二次懲罰。L1 在非零小殘差處仍提供近似恆定幅值的梯度，D-SSIM 則更側重窗口統計失配；二者混合後形成了不同尺度的互補修正。</p>
<figure id="fig_ssim_measurement_system" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-2/wang-2004-fig3-ssim-system.png" alt="SSIM 將兩幅圖像的亮度、對比度和結構比較組合為相似度的計算管線" />
  <figcaption class="md-figure__caption">SSIM 的計算管線。兩路信號分別提取亮度與對比度，經亮度、對比度和結構三個比較分支後組合為局部相似度 [@wang2004ssim]。</figcaption>
</figure>
<h3>D-SSIM 在 3DGS 中的實際含義</h3>
<p>3DGS 論文把結構損失記為 $\mathcal L_{\mathrm{D\text{-}SSIM}}$，並使用 [@kerbl2023gaussians]</p>
<p>$$
\mathcal L
=(1-\lambda)\mathcal L_1
+\lambda\mathcal L_{\mathrm{D\text{-}SSIM}},
\qquad \lambda=0.2.
$$</p>
<p>在 3DGS 的參考實現中，這一項直接計算為</p>
<p>$$
\mathcal L_{\mathrm{D\text{-}SSIM}}
=1-\operatorname{SSIM}(\hat{\mathbf I},\mathbf I).
$$</p>
<p>部分圖像處理文獻也把 D-SSIM 定義為 $(1-\operatorname{SSIM})/2$。兩種寫法相差常數倍率；3DGS 中的 $\lambda=0.2$ 與 $1-\operatorname{SSIM}$ 共同確定了結構項在混合目標中的尺度。D-SSIM 的定義發生縮放時，結構項相對 L1 的權重也會隨之改變。</p>
<h2>混合目標的梯度組成</h2>
<p>對任意高斯參數 $\theta_i$，混合目標的梯度可以展開為</p>
<p>$$
\frac{\partial\mathcal L}{\partial\theta_i}
=(1-\lambda)
\sum_p
\frac{\partial\mathcal L_1}{\partial\hat{\mathbf I}(p)}
\frac{\partial\hat{\mathbf I}(p)}{\partial\theta_i}
+\lambda
\sum_p
\frac{\partial\mathcal L_{\mathrm{D\text{-}SSIM}}}
{\partial\hat{\mathbf I}(p)}
\frac{\partial\hat{\mathbf I}(p)}{\partial\theta_i}.
$$</p>
<p>L1 部分直接從像素殘差給出修正方向。SSIM 部分會把一個像素與周圍窗口綁在一起。若 $s_p$ 是以 $p$ 為中心的局部 SSIM，$\mathcal W_p$ 是相應窗口，那麼渲染像素 $q$ 的結構梯度包含所有覆蓋它的窗口：</p>
<p>$$
\frac{\partial\mathcal L_{\mathrm{D\text{-}SSIM}}}
{\partial\hat I_q}
=-\frac{1}{|\Omega_s|}
\sum_{p:,q\in\mathcal W_p}
\frac{\partial s_p}{\partial\hat I_q}.
$$</p>
<p>高斯對某個像素的貢獻由其屏幕 footprint 和透射率決定；SSIM 又把這個像素同鄰域統計相連。結構梯度經兩層局部支撐域傳回高斯，使邊緣、紋理和低對比度平面中的更新不再完全由單點顏色殘差決定。</p>
<h3>Alpha 混合的梯度傳遞</h3>
<p>對某個像素，把高斯按深度從前到後排序。令</p>
<p>$$
T_k=\prod_{j&lt;k}(1-\alpha_j)
$$</p>
<p>表示到達第 $k$ 個高斯前的累積透射率，$\mathbf B_{k+1}$ 表示從第 $k+1$ 個高斯開始、包含背景色的後景合成結果。像素顏色可在第 $k$ 層拆成</p>
<p>$$
\hat{\mathbf C}
=\mathbf C_{&lt;k}
+T_k\left[
\alpha_k\mathbf c_k
+(1-\alpha_k)\mathbf B_{k+1}
\right].
$$</p>
<p>由此可以直接求出</p>
<p>$$
\frac{\partial\hat{\mathbf C}}{\partial\mathbf c_k}
=T_k\alpha_k\mathbf I,
\qquad
\frac{\partial\hat{\mathbf C}}{\partial\alpha_k}
=T_k(\mathbf c_k-\mathbf B_{k+1}).
$$</p>
<p>第一式表明，顏色梯度由可見性 $T_k$ 和當前 Alpha 共同縮放。第二式則揭示了不透明度的可辨識條件：當高斯顏色與其後景接近時，改變 $\alpha_k$ 幾乎不改變像素顏色；當前景已令 $T_k$ 很小時，後方高斯同樣難以收到有效梯度。因此，某些高斯參數更新緩慢，未必是像素損失已經很低，也可能是當前視角中的合成雅可比接近退化。</p>
<p>忽略實現中的數值截斷，若屏幕空間高斯寫成</p>
<p>$$
G_k(\mathbf p)
=\exp\left[
-\frac{1}{2}(\mathbf p-\boldsymbol\mu_k')^{\mathsf T}
\mathbf Q_k
(\mathbf p-\boldsymbol\mu_k')
\right],
\qquad
\alpha_k=o_kG_k(\mathbf p),
$$</p>
<p>其中 $\mathbf Q_k=(\boldsymbol\Sigma_k')^{-1}$，則投影中心的梯度為</p>
<p>$$
\frac{\partial\alpha_k}{\partial\boldsymbol\mu_k'}
=o_kG_k(\mathbf p)\mathbf Q_k
(\mathbf p-\boldsymbol\mu_k').
$$</p>
<p>再與 $\partial\mathcal L/\partial\alpha_k$ 相乘並對 footprint 內像素求和，就得到投影中心的更新方向。殘差分佈若在高斯兩側近似對稱，位置梯度會相互抵消；若殘差集中在某一側，中心便沿由 $\mathbf Q_k$ 調整過的方向移動。各向異性協方差由此同時影響覆蓋範圍和位置梯度的方向尺度。</p>
<p>$\lambda=0.2$ 也不能解讀成「結構梯度佔更新量的 20%」。兩項損失具有不同的數值尺度、空間相關性和梯度範數。某次迭代中結構項相對 L1 的實際影響更接近</p>
<p>$$
r=
\frac{\lambda\left|\nabla_{\Theta}
\mathcal L_{\mathrm{D\text{-}SSIM}}\right|<em>2}
{(1-\lambda)\left|\nabla</em>{\Theta}\mathcal L_1\right|_2}.
$$</p>
<p>即使 $\lambda$ 固定，$r$ 也會隨視角、紋理、當前殘差和高斯可見性變化。損失權重控制的是目標函數中的係數，實際參數更新還受到梯度形狀與 Adam 歷史動量影響。</p>
<figure id="fig_3dgs_training_progress" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-2/kerbl-2023-fig6-training-progress.png" alt="3DGS 在七千次與三萬次迭代時的同視角渲染對比" />
  <figcaption class="md-figure__caption">兩組場景在 7k 與 30k 次迭代時的同視角渲染。部分場景在較早階段已形成主要結構，延長訓練主要繼續修正背景偽影與局部細節；圖像觀感的改變幅度也會因場景而異 [@kerbl2023gaussians]。</figcaption>
</figure>
<p>這組對比還說明，單一損失曲線無法完整描述重建結果。訓練後期的標量損失可能只小幅下降，改善卻集中在小面積背景、細杆件或高頻紋理中；相反，平均損失下降也可能主要來自大面積平滑區域，而視覺上醒目的邊界仍有錯位。評價需要同時保留像素、結構和感知三個觀察尺度。</p>
<h2>目標函數之外的優化結構</h2>
<p>原論文的消融實驗保持重建損失不變，分別關閉初始化、密度控制、球諧外觀或梯度路徑。這組數據能夠區分「使用什麼損失」與「損失可以通過哪些參數和圖元傳播」 [@kerbl2023gaussians]。</p>
<figure id="fig_3dgs_densification_ablation" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-2/kerbl-2023-densification-ablation.webp" alt="3DGS 在關閉 Split、關閉 Clone 與完整密度控制下的自行車場景對比" />
  <figcaption class="md-figure__caption">在 $5\mathrm{k}$ 迭代時，關閉 Split 後大高斯難以分解背景和前景的局部結構；關閉 Clone 後，車輪輻條等細結構更容易斷裂。兩種操作共同決定當前損失能否找到合適的局部基底 [@kerbl2023gaussians]。</figcaption>
</figure>
<table>
<thead>
<tr>
<th>消融設置</th>
<th>平均 PSNR-5k</th>
<th>平均 PSNR-30k</th>
</tr>
</thead>
<tbody>
<tr>
<td>限制傳播梯度的高斯數</td>
<td>19.16</td>
<td>19.19</td>
</tr>
<tr>
<td>隨機點雲初始化</td>
<td>19.17</td>
<td>20.42</td>
</tr>
<tr>
<td>移除 Split</td>
<td>21.50</td>
<td>23.90</td>
</tr>
<tr>
<td>移除 SH</td>
<td>23.48</td>
<td>25.35</td>
</tr>
<tr>
<td>移除 Clone</td>
<td>23.35</td>
<td>25.91</td>
</tr>
<tr>
<td>各向同性協方差</td>
<td>23.56</td>
<td>25.23</td>
</tr>
<tr>
<td>完整模型</td>
<td><strong>23.90</strong></td>
<td><strong>26.05</strong></td>
</tr>
</tbody>
</table>
<p>在 $30\mathrm{k}$ 迭代時，移除 Split 比完整模型低 $2.15,\mathrm{dB}$，移除 Clone 只低 $0.14,\mathrm{dB}$，但圖中的細輻條已顯示出局部差異。單個場景的小面積錯誤在三場景平均 PSNR 中容易被稀釋，這也是圖像、逐場景數據和總平均需要同時保留的原因。</p>
<p>限制只有前 $10$ 個高斯接收梯度時，$30\mathrm{k}$ 平均 PSNR 下降 $6.86,\mathrm{dB}$，幾乎沒有從延長訓練中獲益。問題並不來自 L1 或 D-SSIM 定義，而在於遮擋後方的參數沒有完整收到誤差信號。損失數值、參數化與反向傳播實現因而共同決定實際優化問題。</p>
<h2>四項常用重建指標</h2>
<p>3DGS 論文使用 PSNR、SSIM 和 LPIPS 評價留出測試視角，實驗管線中也常加入 L1，便於直接觀察平均絕對殘差 [@kerbl2023gaussians; @chen2024survey]。</p>
<table>
<thead>
<tr>
<th>指標</th>
<th>方向</th>
<th>計算空間</th>
<th>主要敏感因素</th>
</tr>
</thead>
<tbody>
<tr>
<td>L1</td>
<td>$\downarrow$</td>
<td>RGB 像素</td>
<td>平均絕對顏色殘差，對極端值相對穩健</td>
</tr>
<tr>
<td>PSNR</td>
<td>$\uparrow$</td>
<td>RGB 像素</td>
<td>平方誤差，對少量大殘差更敏感</td>
</tr>
<tr>
<td>SSIM</td>
<td>$\uparrow$</td>
<td>局部窗口統計</td>
<td>亮度、對比度、局部結構相關性</td>
</tr>
<tr>
<td>LPIPS</td>
<td>$\downarrow$</td>
<td>深度網絡特徵</td>
<td>紋理、邊緣和感知特徵差異</td>
</tr>
</tbody>
</table>
<h3>PSNR 與 MSE</h3>
<p>對 $N$ 個像素通道，均方誤差為</p>
<p>$$
\operatorname{MSE}
=\frac{1}{N}\sum_{j=1}^{N}(\hat I_j-I_j)^2.
$$</p>
<p>峰值信噪比（Peak Signal-to-Noise Ratio，PSNR）定義為</p>
<p>$$
\operatorname{PSNR}
=10\log_{10}\frac{\operatorname{MAX}^2}{\operatorname{MSE}},
$$</p>
<p>其中 $\operatorname{MAX}$ 是像素動態範圍上界。圖像歸一化到 $[0,1]$ 時，$\operatorname{MAX}=1$。固定動態範圍後，單幅圖像的 PSNR 是該圖 MSE 的單調變換，因而逐圖排序一致；測試集層面的排序還會受到後文所述聚合順序影響。</p>
<p>兩個方法的 PSNR 差值還能直接還原成 MSE 比值：</p>
<p>$$
\operatorname{PSNR}_A-\operatorname{PSNR}<em>B
=10\log</em>{10}\frac{\operatorname{MSE}_B}
{\operatorname{MSE}_A}.
$$</p>
<p>因此，PSNR 提高約 $3.01\ \mathrm{dB}$，對應 MSE 約減半；提高 $1\ \mathrm{dB}$，對應 MSE 乘以約 $0.794$。dB 差值比孤立的 PSNR 數字更容易轉換成誤差幅度。</p>
<p>PSNR 對 MSE 的導數為</p>
<p>$$
\frac{\mathrm d\operatorname{PSNR}}{\mathrm d\operatorname{MSE}}
=-\frac{10}{\ln 10}\frac{1}{\operatorname{MSE}}.
$$</p>
<p>同樣大小的 MSE 絕對下降，在低誤差階段會換來更大的 dB 增量。因而 PSNR 曲線的縱向變化不能直接當作像素誤差的線性變化；比較訓練早期和後期時，回到 MSE 比值更容易判讀實際改善幅度。</p>
<h3>L1 與 MSE 的界限</h3>
<p>若圖像已歸一化到 $[0,1]$，則 $|e_j|\leq1$，有</p>
<p>$$
e_j^2\leq|e_j|.
$$</p>
<p>對所有像素取平均，再利用均方根不小於算術平均，可得</p>
<p>$$
\operatorname{MSE}
\leq\operatorname{L1}
\leq\sqrt{\operatorname{MSE}}.
$$</p>
<p>這組界限只約束數值範圍，不保證排序一致。少量大殘差會被平方項顯著放大，因而可能出現 L1 更低、PSNR 反而更差的情況。遇到反光、高亮、遮擋邊界或少量嚴重錯配時，這種指標分歧尤其常見。</p>
<h3>微小位移下的圖像誤差</h3>
<p>新視角中的幾何偏差常先表現為屏幕空間位移。假設渲染結果相對真實圖像存在一個很小的二維偏移 $\boldsymbol\delta$，一階泰勒展開給出</p>
<p>$$
\hat I(\mathbf p)
=I(\mathbf p+\boldsymbol\delta)
\approx I(\mathbf p)
+\nabla I(\mathbf p)^{\mathsf T}\boldsymbol\delta.
$$</p>
<p>相應的 L1 和 MSE 近似為</p>
<p>$$
\mathcal L_1
\approx\frac{1}{N}\sum_{\mathbf p}
\left|\nabla I(\mathbf p)^{\mathsf T}\boldsymbol\delta\right|,
$$</p>
<p>$$
\operatorname{MSE}
\approx
\boldsymbol\delta^{\mathsf T}
\left[
\frac{1}{N}\sum_{\mathbf p}
\nabla I(\mathbf p)\nabla I(\mathbf p)^{\mathsf T}
\right]
\boldsymbol\delta.
$$</p>
<p>方括號內正是圖像梯度的二階矩陣。平滑區域的 $\nabla I$ 很小，幾何已發生位移也可能只產生有限像素誤差；單一方向的邊緣主要約束其法向位移；角點和豐富紋理在兩個方向上都能提供較強約束。這解釋了弱紋理平面容易獲得不錯的 RGB 指標，卻仍可能保留深度或位置偏差，也說明了細杆件與高對比邊界為何對亞像素錯位格外敏感。</p>
<h3>LPIPS 的特徵距離</h3>
<p>學習感知圖像塊相似度（Learned Perceptual Image Patch Similarity，LPIPS）把兩幅圖像送入固定的深度網絡，在多層特徵上計算加權距離 [@zhang2018lpips]。省略實現細節後，可寫成</p>
<p>$$
\operatorname{LPIPS}(x,y)
=\sum_l\frac{1}{H_lW_l}
\sum_{h,w}
\left|
\mathbf w_l\odot
\left(
\hat{\phi}<em>l(x)</em>{h,w}
-\hat{\phi}<em>l(y)</em>{h,w}
\right)
\right|_2^2,
$$</p>
<p>其中 $\hat{\phi}_l$ 表示第 $l$ 層歸一化特徵，$\mathbf w_l$ 是學習得到的通道權重。LPIPS 允許像素坐標上存在一定差異，只要深層特徵仍然接近；這使它能補充觀察紋理與局部外觀，也令結果依賴骨幹網絡、權重版本和輸入歸一化方式。</p>
<p>通道歸一化賦予了這個距離一個直觀的幾何解釋。若暫時忽略學習權重，並令兩個特徵向量 $\hat{\mathbf f}$、$\hat{\mathbf g}$ 的二範數均為 $1$，則</p>
<p>$$
\left|\hat{\mathbf f}-\hat{\mathbf g}\right|_2^2
=2-2\hat{\mathbf f}^{\mathsf T}\hat{\mathbf g}
=2\left(1-\cos\vartheta\right).
$$</p>
<p>未加權的局部特徵距離等價於比較兩個特徵方向的餘弦相似度。加入 $\mathbf w_l$ 後，距離變為</p>
<p>$$
\left(\hat{\mathbf f}-\hat{\mathbf g}\right)^{\mathsf T}
\operatorname{diag}(\mathbf w_l^2)
\left(\hat{\mathbf f}-\hat{\mathbf g}\right),
$$</p>
<p>即在特徵空間中使用學習得到的對角度量。權重較大的通道對最終分數影響更強，而歸一化削弱了整體激活幅值的作用。LPIPS 因此測量的是經骨幹網絡與感知數據共同塑形的特徵差異，並非與網絡無關的通用視覺距離。</p>
<figure id="fig_lpips_feature_distance" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-2/zhang-2018-fig3-lpips-distance-source.png" alt="LPIPS 從兩幅圖像提取多層網絡特徵並計算加權距離的管線" />
  <figcaption class="md-figure__caption">LPIPS 的特徵距離計算。兩幅圖像經同一網絡提取多層特徵，完成通道歸一化與差分後，以學習權重逐通道縮放，最後對空間位置和網絡層聚合 [@zhang2018lpips]。</figcaption>
</figure>
<p>LPIPS 較低不等於幾何一定更準確。模糊、微小位移、重複紋理或網絡訓練域之外的材質，都可能令感知特徵與幾何誤差之間出現偏差。涉及三維幾何的研究仍需另行報告深度、法線、點雲或網格指標。</p>
<h2>評價指標的聚合方式</h2>
<p>假設測試集包含 $K$ 幅圖像，每幅圖像的 MSE 為 $m_k$。常見的「逐圖計算 PSNR 後取平均」為</p>
<p>$$
\overline{\operatorname{PSNR}}
=\frac{1}{K}\sum_{k=1}^{K}
10\log_{10}\frac{\operatorname{MAX}^2}{m_k},
$$</p>
<p>而「先合併全部像素的 MSE 再換算」近似為</p>
<p>$$
\operatorname{PSNR}<em>{\mathrm{global}}
=10\log</em>{10}
\frac{\operatorname{MAX}^2}
{\frac{1}{K}\sum_{k=1}^{K}m_k}.
$$</p>
<p>把 $m_k$ 的算術平均和幾何平均分別記為</p>
<p>$$
M_{\mathrm A}=\frac{1}{K}\sum_{k=1}^{K}m_k,
\qquad
M_{\mathrm G}=\left(\prod_{k=1}^{K}m_k\right)^{1/K},
$$</p>
<p>則兩種 PSNR 可分別寫成</p>
<p>$$
\overline{\operatorname{PSNR}}
=10\log_{10}\frac{\operatorname{MAX}^2}{M_{\mathrm G}},
\qquad
\operatorname{PSNR}<em>{\mathrm{global}}
=10\log</em>{10}\frac{\operatorname{MAX}^2}{M_{\mathrm A}}.
$$</p>
<p>二者的差值恰好為</p>
<p>$$
\overline{\operatorname{PSNR}}
-\operatorname{PSNR}<em>{\mathrm{global}}
=10\log</em>{10}\frac{M_{\mathrm A}}{M_{\mathrm G}}
\geq0.
$$</p>
<p>最後一步來自算術平均不小於幾何平均。這個差值不只說明兩種口徑的方向，也刻畫了逐圖 MSE 的離散程度：各視角誤差完全相同時差值為零，難易視角分化越明顯，$M_{\mathrm A}/M_{\mathrm G}$ 通常越大。</p>
<p>因此，兩者滿足</p>
<p>$$
\overline{\operatorname{PSNR}}
\geq\operatorname{PSNR}_{\mathrm{global}}.
$$</p>
<p>若各圖像分辨率不同，先逐圖平均還會讓小圖和大圖具有相同權重；全像素聚合則由大圖主導。SSIM、L1 和 LPIPS 也存在逐圖平均、逐場景平均、按像素加權等口徑差異。報告結果時，聚合方法應當與數據劃分、圖像縮放和掩碼規則一起固定。</p>
<h2>訓練損失與評價指標</h2>
<p>同一方法內部，訓練損失曲線可以用來觀察是否收斂、是否出現數值異常，以及某次密度控制後優化狀態如何恢復。跨方法比較時，只有損失定義、權重、掩碼、歸一化和採樣方式完全一致，總損失數值才有直接比較意義。</p>
<p>若方法 $A$ 的目標為</p>
<p>$$
\mathcal L_A
=0.8\mathcal L_1+0.2\mathcal L_{\mathrm{D\text{-}SSIM}},
$$</p>
<p>方法 $B$ 在此基礎上加入正則項</p>
<p>$$
\mathcal L_B
=\mathcal L_A+\beta\mathcal L_{\mathrm{reg}},
$$</p>
<p>那麼 $\mathcal L_B&gt;\mathcal L_A$ 不能直接推出方法 $B$ 的 RGB 重建更差。額外項改變了標量基準，也可能犧牲少量訓練視角的像素擬合，換取更穩定的幾何或更好的留出視角。這類比較應拆開查看共同損失分量，再使用同一測試劃分、同一渲染設置和同一指標實現評價最終結果。</p>
<p>SSIM 同時出現在訓練和評價中也需要分開記錄。訓練時它是帶梯度的局部結構約束，只在當前採樣視角上參與更新；評價時模型保持固定，SSIM 在留出視角上統計泛化結果。即使兩處調用同一段函數，觀察對象仍不相同。</p>
<h2>重建評價的實驗設置</h2>
<p>指標表之外，至少需要固定以下條件：</p>
<ul>
<li><strong>測試視角</strong>：使用相同的訓練／測試劃分，避免把參與優化的視角混入評價。</li>
<li><strong>相機與分辨率</strong>：保持相同內參、裁剪、縮放和渲染尺寸；亞像素偏移也會同時影響四項指標。</li>
<li><strong>顏色空間</strong>：明確在線性 RGB 還是 sRGB 中計算，並統一像素動態範圍。</li>
<li><strong>背景與 Alpha</strong>：透明區域應使用相同背景合成；前景掩碼的使用範圍也要一致。</li>
<li><strong>指標實現</strong>：記錄 SSIM 的窗口與邊界處理、LPIPS 的骨幹和權重版本，以及各指標的聚合順序。</li>
<li><strong>可視化</strong>：保存同一視角的真實圖像、渲染圖像和誤差圖，優先檢查高亮、遮擋邊界、細杆件、重複紋理與弱紋理平面。</li>
<li><strong>效率條件</strong>：涉及訓練時間、幀率或顯存時，固定硬件、圖像尺寸、高斯數量統計時刻和渲染設置。</li>
</ul>
<p>對每個測試視角保留逐圖指標，通常比只保存場景均值更有價值。均值回答整體趨勢，逐圖分布可以定位失敗視角；中位數、分位數或最差若干視角則能補充平均值容易掩蓋的長尾問題。</p>
<h2>結語</h2>
<p>3DGS 的混合訓練目標把兩種誤差信號送入同一條可微渲染鏈：L1 提供穩定、直接的逐像素顏色修正，D-SSIM 通過局部統計把相鄰像素聯繫起來。梯度到達高斯參數之前，還要經過透射率、前後景顏色差和屏幕空間高斯的雅可比；損失權重相同，不代表每個高斯能接收到同等強度的更新。</p>
<p>重建評價則從不同尺度觀察留出視角：L1 和 PSNR 描述像素殘差，SSIM 觀察局部結構，LPIPS 補充深度特徵距離。微小位移的展開表明，RGB 指標的敏感度本身受圖像梯度方向支配；PSNR 的算術平均—幾何平均差值又會放大視角難度分化。任何單項指標都有盲區，總損失也只有在定義一致時才能橫向比較。將公式、實現配置、聚合口徑和同視角圖像放在一起，指標才真正具有可解釋性。</p>
<pre><code class="language-bibtex">@article{kerbl2023gaussians,
  author = {Kerbl, Bernhard and Kopanas, Georgios and Leimkühler, Thomas and Drettakis, George},
  title = {3D Gaussian Splatting for Real-Time Radiance Field Rendering},
  journal = {ACM Transactions on Graphics},
  volume = {42},
  number = {4},
  pages = {139:1--139:14},
  year = {2023}
}

@article{chen2024survey,
  author = {Chen, Guikun and Wang, Wenguan},
  title = {A survey on 3d gaussian splatting},
  journal = {ACM Computing Surveys},
  year = {2024}
}

@article{wang2004ssim,
  author = {Wang, Zhou and Bovik, Alan C. and Sheikh, Hamid R. and Simoncelli, Eero P.},
  title = {Image Quality Assessment: From Error Visibility to Structural Similarity},
  journal = {IEEE Transactions on Image Processing},
  volume = {13},
  number = {4},
  pages = {600--612},
  year = {2004}
}

@inproceedings{zhang2018lpips,
  author = {Zhang, Richard and Isola, Phillip and Efros, Alexei A. and Shechtman, Eli and Wang, Oliver},
  title = {The Unreasonable Effectiveness of Deep Features as a Perceptual Metric},
  booktitle = {Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
  pages = {586--595},
  year = {2018}
}
</code></pre>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>神經渲染</category>
            <category>3D Gaussian Splatting</category>
            <category>3DGS</category>
            <category>可微渲染</category>
            <category>圖像重建</category>
            <category>SSIM</category>
            <category>PSNR</category>
            <category>LPIPS</category>
        </item>
        <item>
            <title><![CDATA[MiSTer FPGA: When Retro Hardware Becomes a Reproducible Platform]]></title>
            <link>https://nishikori.dev/posts/mister-fpga-reproducible-retro-platform</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/mister-fpga-reproducible-retro-platform</guid>
            <pubDate>Sun, 21 Dec 2025 15:55:00 GMT</pubDate>
            <description><![CDATA[MiSTer isn’t a nostalgia appliance and it isn’t “a better emulator.” It is a community-built way to treat classic systems as versionable hardware behaviors—something you can maintain, reproduce, and keep playable even when original boards can’t be repaired forever.]]></description>
            <content:encoded><![CDATA[<p>::: warning</p>
<p>Since I haven’t assembled my own MiSTer setup yet, all information here is currently sourced from the internet and will be updated once I have hands-on experience.</p>
<p>:::</p>
<p>Retro gaming is often sold as a content problem: find the ROM, map the buttons, press Start, and the past reappears on demand.</p>
<p>MiSTer refuses that framing. It treats retro gaming as a <em>behavior problem</em>—a question of clocks, buses, contention, odd refresh rates, audio timing, and the small edge cases that were never written down because the original machines <em>were</em> the documentation. When those machines age, fail, and disappear into parts bins, the thing we lose is not only plastics and PCBs. We lose a way of working.</p>
<p><img src="https://img.nishikori.dev/2025/12/20251221155105770.png" alt="MiSTer Logo"></p>
<p>MiSTer’s most honest description is not “a device,” but a platform: a shared hardware baseline plus an open toolchain and a living library of FPGA “cores” that can reconstruct many classic computers, consoles, and arcade boards on modern programmable logic. It is messy in the way real preservation work is messy. It asks you to care about the chain rather than the screenshot. And if you accept that bargain, it can turn “I still want to play this” into something closer to “this remains operable.”</p>
<hr>
<h2>A platform, not a box</h2>
<p>A typical MiSTer build starts with the Terasic DE10-Nano: an FPGA development board that pairs an Intel Cyclone V FPGA with an ARM-based SoC running a lightweight Linux environment. The Linux side handles the everyday conveniences—menus, storage, networking, scripts, controllers—while the FPGA side loads a core that implements the target system’s logic.</p>
<p><img src="https://img.nishikori.dev/2025/12/20251221155815090.png" alt="Terasic DE10-Nano"></p>
<p>That split is the key to why MiSTer feels different from both emulators and consumer FPGA products. It’s not trying to hide its layers. The “main” MiSTer software is not a single monolithic game launcher; it is the host runtime that knows how to configure the FPGA, expose a common interface, and coordinate video/audio/input across wildly different machines. The cores are the exhibits, and the platform is the cabinet that keeps them accessible.</p>
<p>This is also why MiSTer doesn’t have one stable “product identity.” Your MiSTer is partly defined by the hardware you stack onto the DE10-Nano, partly by the updater workflow you trust, partly by the display chain you build around it, and partly by the cores you actually use. In practice it becomes less like buying a console and more like adopting an ecosystem.</p>
<p><img src="https://img.nishikori.dev/2025/12/20251221160046152.png" alt="A standard MiSTer setup"></p>
<hr>
<h2>“Core” is not a ROM slot: it is a behavioral claim</h2>
<p>MiSTer cores are FPGA implementations of classic hardware, written in hardware description languages and built within a shared framework. When a core is loaded, the FPGA is configured to behave like the target system’s components and their relationships—CPU timing, video pipeline, audio generation, memory mapping, bus arbitration, and the subtle “this register does something odd if you read it twice” realities that define many real machines.</p>
<p>That does not mean every core is perfect, and MiSTer is at its best when it admits this openly. Accuracy is not a binary property; it is a gradient, and it can vary by subsystem. A core can be “good enough to finish the game” while still being wrong in ways that matter for speedrunners, for demoscene software, or for the small set of titles that lean on undocumented behavior. MiSTer’s value is that it makes these questions discussable in engineering terms: a bug is something you can reproduce, isolate, patch, and version—not a vague feeling that your laptop is “doing something.”</p>
<p>This also reframes what “compatibility” means. In emulator culture, compatibility is often judged by whether a title boots and plays. In MiSTer culture, compatibility tends to drift toward whether a system’s <em>behavioral envelope</em> is represented: timing edge cases, video modes, audio quirks, and the interactions between them. It’s not that MiSTer users are always more demanding; it’s that the platform invites a different standard of argument.</p>
<hr>
<h2>Why the SDRAM module exists (and why it keeps showing up in every build list)</h2>
<p>One of MiSTer’s most confusing practical details is that the DE10-Nano already has DDR3 memory, and yet many builds add an external SDRAM module anyway.</p>
<p><img src="https://img.nishikori.dev/2025/12/20251221161545845.png" alt="3D render of the MiSTer SDRAM XS-DS module PCB"></p>
<p>The short explanation is latency and determinism. A significant number of cores rely on low-latency external SDRAM because the onboard DDR3 is not optimized for the kinds of timing-sensitive access patterns some classic systems expect. MiSTer’s own hardware documentation frames the external SDRAM module as a solution for cores that require larger, fast memory, noting that the DE10-Nano’s DDR3 has high latency for this use case.</p>
<p>This is a perfect example of MiSTer’s philosophy leaking into the bill of materials. If you only care whether a game draws the right pixels, you can hand-wave memory timing. If you care whether a system behaves like itself across its weird corners, memory behavior stops being “just RAM.” It becomes part of the system’s identity.</p>
<p>The common outcome is practical: many people treat SDRAM not as an optional upgrade but as the first “you probably want this” addition, because it expands the set of cores you can run comfortably and reduces the number of platform-specific caveats you’ll hit later.</p>
<hr>
<h2>The display chain is half the experience</h2>
<p>MiSTer’s reputation is often summarized as “low latency” or “hardware accurate,” but what many users are actually reacting to is something more mundane and more important: MiSTer encourages you to treat the display path as part of the machine.</p>
<p>Classic consoles and arcade boards did not target HDMI. They targeted CRT behaviors: 240p, 480i, odd refresh rates, non-square pixels, and signal characteristics that modern flat panels often “correct” in ways that produce added lag, unstable motion cadence, or scaling artifacts. Software emulation can absolutely look fantastic, but it is typically mediated by a modern OS compositor and a modern display pipeline that was never designed to respect those old assumptions.</p>
<p>MiSTer offers multiple strategies, and the best one depends on what you are trying to preserve.</p>
<p><img src="https://img.nishikori.dev/2025/12/20251221162533796.png" alt="3D render of the MiSTer I/O Board"></p>
<p>If you are primarily on modern displays, MiSTer’s HDMI output gives you a controllable, consistent source where you can tune scaling and sync behavior per core, and you can keep the system’s timing intent more intact than many generic “retro modes” on televisions.</p>
<p>If you are CRT-minded—or simply want to keep analog output as a first-class option—MiSTer supports analog video in two culturally important ways.</p>
<p>One path is the classic I/O board approach, where an add-on board provides analog outputs designed for CRT and other legacy equipment.</p>
<p>The other is MiSTer’s “Direct Video” mode, which routes an analog-compatible signal through the HDMI port using a suitable DAC/adapter. The MiSTer documentation describes Direct Video as an option that avoids requiring an I/O board while still delivering minimal latency comparable to the I/O board’s VGA output, and in some cases offering improved color depth depending on the core. In the MiSTer world, that’s not a footnote; it’s an ideological statement: analog is not just a legacy connector, it is a preserved grammar of display.</p>
<p>The consequence is that MiSTer tends to produce fewer “it looks right but feels wrong” moments, because you are encouraged—almost forced—to think about the entire path from button press to phosphor glow.</p>
<hr>
<h2>Latency: where MiSTer helps, and where it can’t</h2>
<p>MiSTer cannot repeal physics. It can, however, reduce the number of layers that lie to you.</p>
<p>A modern gaming PC running an emulator can be extremely fast and extremely accurate, yet still accumulate latency through a chain of small decisions: OS scheduling, input polling, buffering, frame pacing, GPU queues, scaling, display processing. Any one of those may be negligible, but the sum can be felt—especially in genres that were built around immediate feedback.</p>
<p>MiSTer’s architecture tends to simplify the critical loop. Input is read by the host environment and delivered into an FPGA core that generates frames and audio with deterministic timing goals. That does not guarantee “zero lag,” but it does reduce the amount of “who knows what happened between my controller and the game.”</p>
<p>The bigger enemy often becomes the display. Many modern televisions add processing, frame buffers, motion interpolation logic, and scaling pipelines unless you explicitly disable them. MiSTer can deliver a clean signal with consistent cadence; it cannot force your panel to respect it.</p>
<p>This is why MiSTer culture frequently sounds like CRT culture even when the user is not a CRT purist. The point is not nostalgia for glass. The point is respect for timing.</p>
<hr>
<h2>Maintenance is not a downside; it is the price of keeping things operable</h2>
<p>MiSTer is sometimes marketed as “pay once and get accuracy.” That is not how it behaves.</p>
<p>MiSTer behaves like a maintained system because it is one. Cores change, frameworks evolve, and community tooling moves. MiSTer’s official Distribution repository exists precisely because the platform is more than a single binary; it is a coherent set of files that make an SD card “a MiSTer.” The MiSTer Downloader tool exists because keeping up-to-date is not a side feature; it is essential infrastructure. The Downloader README describes its scope bluntly: it installs and updates cores and extra files, and it also updates the menu core, MiSTer firmware, and even the Linux system, pulling from the Distribution repository.</p>
<p>Then there is the reality that most MiSTer users eventually adopt a higher-level script workflow. The widely used “Update All” script explicitly positions itself as an all-in-one updater that runs MiSTer Downloader under the hood and expands it with additional databases and options. Even its own README includes a warning that scripts run with root access and should be treated with caution—a reminder that MiSTer is closer to a small computer you administer than a console you consume.</p>
<p>This maintenance aspect is not an accident. It is the inevitable cost of a platform that wants to outlive hardware scarcity. If you want a sealed appliance, you will be happier elsewhere. If you want a system that stays current because a community is still actively making it better, MiSTer’s upkeep is part of the deal.</p>
<hr>
<h2>Can MiSTer run original cartridges?</h2>
<p>This is the point where many people’s mental model diverges, especially if they are coming from a world where “FPGA hardware” is marketed as “use your original collection.”</p>
<p>In theory, running original cartridges is “just I/O”: a physical ROM device on a bus with timing requirements. In practice, MiSTer is not designed to be a universal cartridge host, and the project’s own documentation is explicit about the direction here. The MiSTer FAQ states that MiSTer will <em>never officially</em> use physical cartridges, describing cartridge support as physically impractical given the number of GPIO pins available from the FPGA, and framing the project goal as replacing the need for original hardware rather than becoming an accessory dock for it.</p>
<p>That does not mean your original cartridges are irrelevant. It simply means MiSTer treats them as <em>sources</em>, not as <em>runtime media</em>. The common preservation workflow is to dump a cartridge (using appropriate external hardware) into a ROM image and then run that image from MiSTer’s storage like any other title. Conceptually, the cartridge remains part of the provenance of the game; operationally, MiSTer standardizes around files to keep the platform manageable and broadly compatible.</p>
<p>This detail also clarifies an important distinction. MiSTer can be very friendly to “original-feeling” peripherals—controllers, light guns (with the right display constraints), and so on—because those map to narrower, more controllable interfaces. Physical game media is a much harder universal target, and MiSTer chooses not to make that trade.</p>
<hr>
<h2>MiSTer and openFPGA: separate ecosystems, shared DNA</h2>
<p>MiSTer is frequently mentioned alongside Analogue’s openFPGA, and at a distance the resemblance is obvious. Both involve FPGA cores. Both attract developers who care about authenticity. Both encourage a “hardware first” mental model.</p>
<p><img src="https://img.nishikori.dev/2025/12/20251221155542375.png" alt="Analogue’s openFPGA"></p>
<p>But the relationship is not direct compatibility. It is closer to a family resemblance.</p>
<p>Analogue’s developer documentation defines a Pocket “core” as an FPGA bitstream packaged with JSON definition files, with loading and operation managed by the Analogue Platform Framework (APF). The APF provides abstractions for buses and I/O, and Analogue’s documentation describes how integration code simplifies access to BRIDGE and PAD buses while providing examples for VIDEO and AUDIO.</p>
<p>MiSTer cores, by contrast, live in a different host environment with different expectations, different file structures, and a different runtime framework. Even when two cores implement the same target system, they are not drop-in equivalents. A port typically requires rebuilding the platform glue: how assets are loaded, how input is surfaced, how video modes are negotiated, how saves are handled, and how the core’s assumptions map onto the host’s bus abstractions.</p>
<p>This is why you can truthfully say “many openFPGA cores are ports of MiSTer work” while also truthfully saying “MiSTer cores are not directly runnable on Pocket.” The overlap tends to be in upstream HDL designs and developer communities, not in binary compatibility.</p>
<p>Cross-platform developers make that boundary feel thinner than it is. When one developer maintains similar implementations across both ecosystems, the user experience can converge—even though the frameworks remain distinct.</p>
<p>In short: MiSTer and openFPGA are cousins, not clones. MiSTer optimizes for openness and modularity as a community platform. openFPGA optimizes for a developer framework inside a product ecosystem. Both can serve preservation; they simply do it through different kinds of sustainability.</p>
<hr>
<h2>What MiSTer is really preserving</h2>
<p>MiSTer is not preserving “games” in the narrow sense. It is preserving a way of making games <em>run</em>—a set of electrical and temporal assumptions that were once ordinary and are now exotic.</p>
<p>That matters because original hardware is becoming less maintainable, not more. The longer we wait, the more “authentic play” risks becoming an artifact of who can source parts, who has repair knowledge, and who can tolerate failure. MiSTer does not replace original hardware’s material history, but it can prevent operability from becoming a luxury.</p>
<p>There is also a forward-looking implication that makes MiSTer feel larger than “retro.” A well-maintained core is, in effect, a publishable artifact: a versioned, reviewable, reproducible behavioral model of a classic machine. That is a preservation strategy with a future. It treats hardware not as a finite stash of aging boards, but as something that can be documented in logic and kept alive as long as we still know how to program logic.</p>
<p>MiSTer is not the only path to that future, but it is one of the clearest statements that the past is not just something we watch. It is something we can keep operable—if we are willing to treat it seriously.</p>
<hr>
<h2>References</h2>
<h3>MiSTer (official / primary)</h3>
<ul>
<li>
<p>MiSTer FPGA Documentation (MkDocs):
<a href="https://mister-devel.github.io/MkDocs_MiSTer/">https://mister-devel.github.io/MkDocs_MiSTer/</a></p>
</li>
<li>
<p>MiSTer-devel organization (core and platform repos):
<a href="https://github.com/MiSTer-devel">https://github.com/MiSTer-devel</a></p>
</li>
<li>
<p>MiSTer Hardware official repo:
<a href="https://github.com/MiSTer-devel/Hardware_MiSTer">https://github.com/MiSTer-devel/Hardware_MiSTer</a></p>
</li>
</ul>
<h3>MiSTer (community tooling)</h3>
<ul>
<li>Update All (theypsilon):
<a href="https://github.com/theypsilon/Update_All_MiSTer">https://github.com/theypsilon/Update_All_MiSTer</a></li>
</ul>
<h3>openFPGA (Analogue primary docs)</h3>
<ul>
<li>
<p>Analogue Developer Docs :
<a href="https://www.analogue.co/developer/docs/overview">https://www.analogue.co/developer/docs/overview</a></p>
</li>
<li>
<p>openFPGA Library :
<a href="https://openfpga-library.github.io/analogue-pocket/">https://openfpga-library.github.io/analogue-pocket/</a></p>
</li>
<li>
<p>Jotego jtcores (multi-platform intent, incl. MiSTer / Analogue Pocket):
<a href="https://github.com/jotego/jtcores">https://github.com/jotego/jtcores</a></p>
</li>
<li>
<p>Analogue “Getting Started with openFPGA”:
<a href="https://www.analogue.co/support/resource/getting-started-with-openfpga">https://www.analogue.co/support/resource/getting-started-with-openfpga</a></p>
</li>
</ul>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>MiSTer</category>
            <category>FPGA</category>
            <category>Hardware Preservation</category>
            <category>Retro Gaming</category>
            <category>Display Chain</category>
            <category>openFPGA</category>
        </item>
        <item>
            <title><![CDATA[「干杯 / 乾杯」真的是巧合嗎？——從語言學角度辨析]]></title>
            <link>https://nishikori.dev/posts/ganbei-and-kanpai-a-linguistic-coincidence</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/ganbei-and-kanpai-a-linguistic-coincidence</guid>
            <pubDate>Sun, 21 Dec 2025 13:00:00 GMT</pubDate>
            <description><![CDATA[「干杯／乾杯」既非日語傳回中文，也非單純巧合；更合理的理解是，在近代語境下發生的 parallel pragmatic refunctionalization（並行語用再功能化）。]]></description>
            <content:encoded><![CDATA[<p>筆者在社交媒體的討論中，注意到一種說法的出現：</p>
<blockquote>
<p>「乾杯是日語，干杯是和製漢語，是日本先形成了『乾杯』作為祝酒詞，之後再傳回中國。」</p>
</blockquote>
<p>當這一說法遭到質疑時，往往又會補充一個看似合理的疑問：中日兩邊在近代幾乎同時把「干杯／乾杯」用作祝酒口號，這是否只是巧合？</p>
<p>下文試圖從語言學的角度說明：這一現象與其說是 lexical borrowing（詞彙借入）或 accidental similarity（偶然相似），不如理解為一種在既定條件下高度可預期的 parallel development（並行演化）。換言之，所謂「巧合」本身，可能正是語言在相似約束下自然收斂的結果。</p>
<h2>書寫系統與詞彙來源的區分</h2>
<p>討論首先需要釐清一個在日常語言討論中經常被混用的區分：orthographic inheritance（書寫系統的繼承）並不等同於 lexical origin（詞彙起源）。</p>
<p>日語中的「乾杯（かんぱい）」屬於典型的 Sino-Japanese lexeme，其特徵包括：以漢字書寫、僅有 On-yomi（音讀）而無 Kun-yomi（訓讀），其讀音層主要可追溯至中古漢語。從 linguistics 的角度看，這樣的事實只能說明該詞的 phonological layer 來自漢語輸入，卻不足以支持詞彙是在日語中被創造，或其 pragmatic function 曾由日語反向影響漢語。</p>
<p>若僅依賴 On-yomi 來推斷詞源方向，則「革命」「文化」「哲學」「經濟」等大量音讀詞亦將面臨相同的解釋困境。這顯示，僅憑書寫與讀音形式，很難支撐「日本原創—再傳回」這一路徑。</p>
<h2>構詞法與語義透明性</h2>
<p>從構詞法與語義學的角度看，「干杯」本身是一個語義高度透明的構式：干／乾作為 causative 或 resultative 成分，表示「使之為空」，杯則指飲酒器具，其組合語義可直觀理解為 make the cup empty，使杯為空。</p>
<p>這種透明性意味著，該表達並不需要假設外來 borrowing 才能成立。事實上，在近代以前的漢語中，功能與結構相近的表達早已存在，如「飲盡此杯」「干一杯」「須得飲乾」等，尤其在明清白話文獻中，此類 exhortative drinking expressions 的使用頻率相當高。</p>
<p>從語言接觸研究的一般觀點來看，當一種語言已具備充分的 internal resources 來表達某一語義與語用功能時，lexical borrowing 通常並非最自然的解釋路徑。</p>
<h2>歷史語用學層面的觀察</h2>
<p>不少相關討論隱含了一個前提假設：古代可能早已有一個固定的祝酒口號，只是後來被不同語言採用。然而從 historical pragmatics 的角度來看，中日古代的飲酒語言都呈現出相似特徵：ritualized action 在交際中的地位高於 verbal formula，與飲酒相關的 speech 多以完整句或祝辭形式出現，而非短促、可齊聲呼喊的 exclamatory formula。</p>
<p>早期文獻中出現的「乾杯」，更接近 action-oriented expression，而非 discourse marker。這一點使得「某一方較早完成口號化」的假設缺乏必要的歷史支撐。</p>
<h2>接觸誘發的語用再功能化</h2>
<p>若將注意力從「詞從何來」轉向「功能如何形成」，問題便轉化為：為何在近代語境中，中日語言都逐漸需要一個 toast-initiating 的言語行為？</p>
<p>在語言學中，這一過程可置於 ++contact-induced pragmatic refunctionalization++ 的框架下理解。簡而言之，既有構式作為 pre-existing construction 長期存在；19 世紀以後，interactional ecology 因西式宴會文化、外交活動以及現代組織形態而發生變化；原有表達被重新分配為 ritualized speech act；並最終經由 pragmatic conventionalization 固定為 discourse-level exclamation。</p>
<p>在這一分析框架中，並不需要引入 lexical borrowing 作為前提。</p>
<h2>為何不宜簡化為「偶然巧合」</h2>
<p>在語言學中，accidental similarity 應是最後的解釋選項，其成立通常要求：</p>
<ul>
<li>
<p>languages are unrelated（語言彼此無關）</p>
</li>
<li>
<p>structures are non-transparent（結構不透明）</p>
</li>
<li>
<p>不存在 shared sociocultural trigger（共享的社會文化觸發因素）</p>
</li>
</ul>
<p>而「干杯／乾杯」的情況恰恰相反：中日共享漢字書寫系統與漢語構詞體系，變化前具有相同的 semantic baseline，近代又同時接觸西方祝酒慣例，且最終結果在用法、語氣與限制上並非完全一致，呈現的是 functional convergence 而非 copying。在此條件組合下，parallel development是最符合 ++簡約性原則++ 的解釋。</p>
<h2>反向檢驗與語言經濟</h2>
<p>從語言經濟的角度看，語言變化往往遵循某種 least-effort principle。當構式已存在、語義已對齊，而新的交際需求突然出現時，「干杯／乾杯」被選中，與其說是巧合，不如說是一種預期之內的結果。反而是「若不用它，為何另造他詞」，才需要進一步的理論說明。</p>
<h2>結論</h2>
<p>將「干杯／乾杯」理解為「日語傳回中文」，在語言學分析中更接近一種 category error，即把 pragmatic conventionalization 誤認為 lexical borrowing。</p>
<p>一種更為穩健的理解是：在高度受約束的語言與社會條件下，中日語言分別完成了 parallel pragmatic refunctionalization。這一結果並非巧合，也不必訴諸單向傳播，而是語言在現代語境中自然演化的一種表現。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>隨筆評論</category>
            <category>語用札記</category>
            <category>語言學</category>
            <category>語用學</category>
            <category>語言接觸</category>
            <category>漢字文化圈</category>
            <category>詞源學</category>
        </item>
        <item>
            <title><![CDATA[3DGS 的表示、渲染與優化]]></title>
            <link>https://nishikori.dev/posts/3dgs-series-1-original-principles</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/3dgs-series-1-original-principles</guid>
            <pubDate>Tue, 16 Dec 2025 06:23:41 GMT</pubDate>
            <description><![CDATA[從數學表示出發，推導 3D Gaussian Splatting 的協方差參數化、三維高斯投影、Alpha 混合、可微優化與自適應密度控制，並說明其實時渲染效率從何而來。]]></description>
            <content:encoded><![CDATA[<h2>新視角合成與 3DGS 的計算路徑</h2>
<p>給定同一個靜態場景的多張照片，以及每張照片對應的相機內參和位姿，任務是在訓練數據之外生成新的觀察視角。這個問題稱為<strong>新視角合成</strong>（Novel View Synthesis，NVS）。完成這項任務需要先建立可供渲染的場景表示，再依照目標相機的位置與方向生成圖像。</p>
<p>NeRF 使用神經網絡表示連續的輻射場。渲染目標視角時，每個像素向場景發出一條光線，沿光線採樣多個空間位置，查詢各位置的顏色與密度，最後以體積渲染累積成像。這條路徑具有很強的表示能力，高分辨率圖像卻會帶來大量空間採樣與網絡推理。</p>
<p>3D Gaussian Splatting（以下簡稱 3DGS）沿用多視角圖像監督，場景表示改為一組可學習的三維高斯。渲染時，高斯由三維空間投影到目標相機的圖像平面，再經光柵化與 Alpha 混合合成像素。NeRF 的計算順序是「像素—光線採樣—場景查詢」，3DGS 則是「三維圖元—圖像投影—像素合成」；後者更適合 GPU 並行處理，也由此獲得實時渲染能力 [@kerbl2023gaussians; @chen2024survey]。</p>
<figure id="fig_3dgs_teaser" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-1/kerbl-2023-teaser.webp" alt="Instant-NGP、Plenoxels、Mip-NeRF 360 與 3DGS 在自行車場景上的渲染結果、訓練時間、PSNR 和幀率對比" />
  <figcaption class="md-figure__caption">自行車場景中，3DGS 在 $6$ 分鐘訓練後以 $135$ FPS 渲染並達到 $23.6\,\mathrm{dB}$；訓練 $51$ 分鐘後為 $25.2\,\mathrm{dB}$ 和 $93$ FPS。圖中同時列出 Instant-NGP、Plenoxels 與 Mip-NeRF 360，把質量、訓練時間和渲染速度放在同一視角下比較 [@kerbl2023gaussians]。</figcaption>
</figure>
<p>原論文的總覽圖把這條路徑連同訓練時的梯度反傳放在同一張圖中：SfM 點雲提供初始幾何，高斯經投影與光柵化形成圖像，圖像誤差再經反向傳播送回投影、密度控制與高斯參數。</p>
<figure id="fig_3dgs_pipeline" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-1/kerbl-2023-fig2-pipeline.png" alt="3DGS 的優化與渲染流程" />
  <figcaption class="md-figure__caption">3DGS 的優化與渲染流程；黑色箭頭表示運算流程，藍色箭頭表示梯度反傳 [@kerbl2023gaussians]。</figcaption>
</figure>
<p>3DGS 將場景表示的基本單元直接納入優化：每個高斯的參數會連續更新，高斯數量也會隨訓練增減。渲染器在生成圖像的同時，還需要為局部基底的移動、縮小和增生提供梯度信號。後文的公式推導將沿著這條梯度鏈展開。</p>
<h2>三維高斯的場景表示</h2>
<p>3DGS 使用 SfM（Structure from Motion）估計相機位姿，並利用 SfM 附帶生成的稀疏點雲初始化高斯中心。對第 $i$ 個高斯，可以把其狀態概括為</p>
<p>$$
\mathcal{G}_i = \left(\mu_i,,\mathbf{s}_i,,\mathbf{q}_i,,\alpha_i,,\mathbf{h}_i\right).
$$</p>
<p>各部分的含義如下：</p>
<table>
<thead>
<tr>
<th>參數</th>
<th>含義</th>
<th>主要作用</th>
</tr>
</thead>
<tbody>
<tr>
<td>$\mu_i\in\mathbb{R}^3$</td>
<td>三維中心</td>
<td>決定高斯在世界中的位置</td>
</tr>
<tr>
<td>$\mathbf{s}_i\in\mathbb{R}^3$</td>
<td>三個主軸尺度</td>
<td>決定橢球沿不同方向的大小</td>
</tr>
<tr>
<td>$\mathbf{q}_i$</td>
<td>旋轉四元數</td>
<td>決定橢球主軸朝向</td>
</tr>
<tr>
<td>$\alpha_i\in[0,1)$</td>
<td>可學習不透明度</td>
<td>控制高斯對像素的遮擋與貢獻</td>
</tr>
<tr>
<td>$\mathbf{h}_i$</td>
<td>球諧係數</td>
<td>表示隨觀察方向變化的顏色</td>
</tr>
</tbody>
</table>
<p>若使用三階球諧，也就是 $L=3$，單個高斯以浮點數實際存儲的參數量為</p>
<p>$$
3_{\mu}+3_{s}+4_{q}+1_{\alpha}
+3(L+1)^2_{\mathrm{SH}}
=59.
$$</p>
<p>四元數雖然存儲四個量，歸一化後只有三個旋轉自由度。以 FP32 計算，59 個量佔 236 bytes；一百萬個高斯僅模型參數就約為 225 MiB，尚未計入 Adam 的一、二階動量與光柵化器的臨時數據。這個簡單的估算已經說明，3DGS 的實時渲染速度不等於表示本身輕量，壓縮與結構化存儲會成為後續研究的重要分支。</p>
<p>以中心 $\mu_i$ 和協方差 $\Sigma_i$ 定義的三維高斯核為</p>
<p>$$
G_i(\mathbf{x})=
\exp!\left[-\frac{1}{2}
(\mathbf{x}-\mu_i)^\mathsf{T}
\Sigma_i^{-1}
(\mathbf{x}-\mu_i)
\right].
$$</p>
<p>式中省略了機率密度函數的歸一化係數。3DGS 將高斯核用作具有空間範圍的軟圖元：核函數描述影響力從中心向外衰減的方式，可學習不透明度 $\alpha_i$ 控制其幅值。</p>
<h3>協方差的尺度—旋轉參數化</h3>
<p>梯度更新若直接作用於任意 $3\times3$ 矩陣，可能破壞協方差所需的半正定性。3DGS 分別學習尺度與旋轉，再由兩者構造 $\Sigma_i$：</p>
<p>$$
\mathbf{S}_i=\operatorname{diag}(\mathbf{s}_i),
\qquad
\Sigma_i
=\mathbf{R}(\mathbf{q}_i)\mathbf{S}_i\mathbf{S}_i^\mathsf{T}
\mathbf{R}(\mathbf{q}_i)^\mathsf{T}.
$$</p>
<p>這種寫法便於實現，並從構造上保證了半正定性。對任意向量 $\mathbf{z}$，有</p>
<p>$$
\begin{aligned}
\mathbf{z}^\mathsf{T}\Sigma_i\mathbf{z}
&amp;=\mathbf{z}^\mathsf{T}\mathbf{R}\mathbf{S}\mathbf{S}^\mathsf{T}\mathbf{R}^\mathsf{T}\mathbf{z}\
&amp;=\left|\mathbf{S}^\mathsf{T}\mathbf{R}^\mathsf{T}\mathbf{z}\right|_2^2\
&amp;\ge 0.
\end{aligned}
$$</p>
<p>只要尺度保持為正、旋轉四元數經過歸一化，這個矩陣就始終具有合理的橢球幾何意義。實現中令無約束變量 $\boldsymbol{\rho}_i\in\mathbb{R}^3$ 經指數函數映射為尺度，並以 Sigmoid 映射不透明度：</p>
<p>$$
\mathbf{s}_i=\exp(\boldsymbol{\rho}_i),
\qquad
\alpha_i=\operatorname{sigmoid}(o_i).
$$</p>
<p>把 $\mathbf{R}<em>i$ 的第 $k$ 個列向量記作 $\mathbf{r}</em>{i,k}$，協方差還可以展開成</p>
<p>$$
\Sigma_i
=\mathbf{R}<em>i\operatorname{diag}
!\left(e^{2\rho</em>{i,1}},e^{2\rho_{i,2}},e^{2\rho_{i,3}}\right)
\mathbf{R}<em>i^\mathsf{T}
=\sum</em>{k=1}^{3}e^{2\rho_{i,k}}
\mathbf{r}<em>{i,k}\mathbf{r}</em>{i,k}^{\mathsf T}.
$$</p>
<p>所以它的三個特徵值正好是 $e^{2\rho_{i,k}}$，有限尺度下嚴格大於零；對數尺度的導數為</p>
<p>$$
\frac{\partial\Sigma_i}{\partial\rho_{i,k}}
=2e^{2\rho_{i,k}}
\mathbf{r}<em>{i,k}\mathbf{r}</em>{i,k}^{\mathsf T}.
$$</p>
<p>這裡有一個很實用的含義：$\rho$ 的加法更新對應 $\mathbf{s}$ 的乘法縮放。不同大小的高斯可以共用相近量級的優化步長，梯度也始終沿著合法橢球的主軸調整。協方差參數化由此同時提供幾何約束與數值尺度的整理。</p>
<p>各向異性提高了表示的緊湊性。球形高斯只有一個尺度，覆蓋牆面時需要堆疊大量小球；可旋轉、可拉伸的橢球能貼近牆面、葉片、欄杆或物體邊界，用較少圖元描述具有方向性的局部結構。</p>
<p>原論文將收斂後的高斯縮小至原尺度的 60%，藉此顯露平時被 splatting 覆蓋的橢球輪廓。通風柵的細長葉片由方向一致的扁平高斯排列而成，直觀呈現了協方差對局部形狀的刻畫。</p>
<figure id="fig_3dgs_anisotropic" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-1/kerbl-2023-fig3-anisotropic-gaussians.png" alt="各向異性高斯對局部幾何的貼合" />
  <figcaption class="md-figure__caption">各向異性高斯對局部幾何的貼合；右側分別為正常渲染與縮小至 60% 後的高斯 [@kerbl2023gaussians]。</figcaption>
</figure>
<h3>球諧係數與視角相關顏色</h3>
<p>同一個位置從不同方向觀看時，顏色可能因高光等效應而改變。3DGS 為每個高斯保存球諧（Spherical Harmonics，SH）係數，將觀察方向 $\mathbf{d}$ 上的顏色寫成</p>
<p>$$
\mathbf{c}<em>i(\mathbf{d})=
\sum</em>{\ell=0}^{L}\sum_{m=-\ell}^{\ell}
\mathbf{h}<em>{i,\ell m}Y</em>{\ell m}(\mathbf{d}).
$$</p>
<p>原文所稱的四個 SH bands 對應 $\ell=0,1,2,3$，因此每個顏色通道共有</p>
<p>$$
\sum_{\ell=0}^{3}(2\ell+1)=(3+1)^2=16
$$</p>
<p>個基底係數。訓練從零階的基礎顏色開始，再逐步加入更高階頻帶。這能降低角度觀測不足時，高階方向成分過早吸收誤差所造成的不穩定。</p>
<p>SH 描述的是<strong>外觀隨方向的變化</strong>。光源、材質與反射仍未被顯式建模，因此這些係數可以擬合一部分視角相關現象，卻不會自動給出物理正確的反照率或光照分解。</p>
<h2>三維高斯的二維投影</h2>
<p>渲染時，世界空間中的三維橢球會被投影成圖像平面上的二維橢圓。中心點遵循普通的相機投影，橢圓形狀則由協方差在透視投影下的變換決定。</p>
<p>設高斯中心經世界到相機變換後為</p>
<p>$$
\mathbf{x}<em>c=
\begin{bmatrix}x_c&amp;y_c&amp;z_c\end{bmatrix}^\mathsf{T}
=\mathbf{R}</em>{cw}\mu_i+\mathbf{t}_{cw}.
$$</p>
<p>針孔相機的投影函數為</p>
<p>$$
\pi(\mathbf{x}_c)=
\begin{bmatrix}
f_x x_c/z_c+c_x\
f_y y_c/z_c+c_y
\end{bmatrix},
$$</p>
<p>所以二維中心是 $\mu'_i=\pi(\mathbf{x}_c)$。透視除法屬於非仿射變換，協方差無法直接套用線性變換規則。3DGS 在高斯中心附近對 $\pi$ 做一階泰勒展開：</p>
<p>$$
\pi(\mathbf{x}_c+\Delta\mathbf{x})
\approx \pi(\mathbf{x}_c)+\mathbf{J}_i\Delta\mathbf{x},
$$</p>
<p>其中投影雅可比矩陣為</p>
<p>$$
\mathbf{J}_i=
\begin{bmatrix}
f_x/z_c &amp; 0 &amp; -f_xx_c/z_c^2\
0 &amp; f_y/z_c &amp; -f_yy_c/z_c^2
\end{bmatrix}.
$$</p>
<p>這個雅可比可以直接從透視除法的微分得到。以水平座標 $u=f_xx_c/z_c+c_x$ 為例，</p>
<p>$$
\mathrm{d}u
=\frac{f_x}{z_c},\mathrm{d}x_c
-\frac{f_xx_c}{z_c^2},\mathrm{d}z_c,
$$</p>
<p>垂直座標同理。它也揭示了深度的作用：相同的三維位移在近處產生更大的像素位移，沿深度方向的擾動還會被 $x_c/z_c^2$ 或 $y_c/z_c^2$ 放大。</p>
<p>把高斯中心附近的世界空間偏移記為隨機向量 $\Delta\mathbf{x}_w$，滿足</p>
<p>$$
\mathbb{E}[\Delta\mathbf{x}_w]=\mathbf{0},
\qquad
\mathbb{E}[\Delta\mathbf{x}_w\Delta\mathbf{x}_w^\mathsf{T}]=\Sigma_i.
$$</p>
<p>相機空間偏移為 $\Delta\mathbf{x}<em>c=\mathbf{R}</em>{cw}\Delta\mathbf{x}_w$，一階投影偏移為 $\Delta\mathbf{p}\approx\mathbf{J}_i\Delta\mathbf{x}_c$。因此二維協方差可以逐步推出：</p>
<p>$$
\begin{aligned}
\Sigma_i^{\prime}
&amp;=\mathbb{E}[\Delta\mathbf{p}\Delta\mathbf{p}^{\mathsf T}]\
&amp;\approx\mathbf{J}<em>i\mathbf{R}</em>{cw}
\mathbb{E}[\Delta\mathbf{x}_w\Delta\mathbf{x}<em>w^{\mathsf T}]
\mathbf{R}</em>{cw}^{\mathsf T}\mathbf{J}<em>i^{\mathsf T}\
&amp;=\mathbf{J}<em>i\mathbf{R}</em>{cw}
\Sigma_i
\mathbf{R}</em>{cw}^{\mathsf T}\mathbf{J}_i^{\mathsf T}.
\end{aligned}
$$</p>
<p>原論文將它寫成</p>
<p>$$\Sigma'=\mathbf{J}\mathbf{W}\Sigma\mathbf{W}^\mathsf{T}\mathbf{J}^\mathsf{T}.$$</p>
<p>該式採用圍繞高斯中心的局部仿射近似，未精確涵蓋整個橢球的非線性透視變換。$x_c/z_c$ 的二階導數包含 $-1/z_c^2$ 與 $2x_c/z_c^3$，因此高斯相對深度越大、中心越靠近相機，忽略的二階項越明顯。光柵化器使用 near-plane guard band 排除極端高斯，背後對應的正是這個近似條件。</p>
<p>得到二維中心與二維協方差後，高斯在像素 $\mathbf{p}$ 上的 footprint 為</p>
<p>$$
g_i(\mathbf{p})=
\exp!\left[-\frac{1}{2}
(\mathbf{p}-\mu'_i)^\mathsf{T}
(\Sigma_i^{\prime})^{-1}
(\mathbf{p}-\mu'_i)
\right],
$$</p>
<p>其有效不透明度則是</p>
<p>$$
a_i(\mathbf{p})=\alpha_i g_i(\mathbf{p}).
$$</p>
<p>「Splatting」即將一個三維高斯繪製成具有面積、方向和軟邊界的二維橢圓核，使其影響周圍一組像素。實現中不可能遍歷無限支撐域，因而會取馬氏距離閾值 $\tau$：</p>
<p>$$
D_i^2(\mathbf p)
=(\mathbf p-\mu_i')^\mathsf T
(\Sigma_i')^{-1}
(\mathbf p-\mu_i')
\le \tau^2.
$$</p>
<p>這個橢圓在水平與垂直方向的最大半徑分別為</p>
<p>$$
r_x=\tau\sqrt{(\Sigma_i')<em>{11}},
\qquad
r_y=\tau\sqrt{(\Sigma_i')</em>{22}}.
$$</p>
<p>由 $[\mu'<em>{i,x}-r_x,\mu'</em>{i,x}+r_x]\times[\mu'<em>{i,y}-r_y,\mu'</em>{i,y}+r_y]$ 可快速得到軸對齊包圍盒，再判定它與哪些 tiles 相交。協方差投影公式到 tile 光柵化之間的連接，正是這個有限橢圓包圍盒。</p>
<h2>Alpha 混合與像素合成</h2>
<p>一個像素通常被多個高斯覆蓋。將它們按相機深度由近到遠排列後，像素顏色為</p>
<p>$$
\mathbf{C}(\mathbf{p})=
\sum_{i=1}^{N}
T_i(\mathbf{p}),a_i(\mathbf{p}),\mathbf{c}_i(\mathbf{d}),
$$</p>
<p>其中</p>
<p>$$
T_i(\mathbf{p})=
\prod_{j=1}^{i-1}\left[1-a_j(\mathbf{p})\right]
$$</p>
<p>是光線到達第 $i$ 個高斯前仍未被遮擋的透射率。若考慮背景顏色 $\mathbf{c}_{bg}$，還可以補上</p>
<p>$$
T_{N+1}(\mathbf{p})\mathbf{c}_{bg}.
$$</p>
<p>實際計算時不需要反覆展開乘積，可以使用前向遞推：</p>
<p>$$
\begin{aligned}
\mathbf C_0&amp;=\mathbf 0,\qquad T_1=1,\
\mathbf C_i&amp;=\mathbf C_{i-1}+T_i a_i\mathbf c_i,\
T_{i+1}&amp;=T_i(1-a_i).
\end{aligned}
$$</p>
<p>每處理一個高斯，只更新一次顏色與透射率。當 $T_i$ 足夠接近零，更遠的高斯對結果和梯度都幾乎沒有影響，提前終止（early termination）因而同時具有圖像形成與計算上的依據。</p>
<p>這個式子與 NeRF 離散體積渲染的圖像形成模型非常接近。差別在於，NeRF 通常從體密度 $\sigma_i$ 和採樣間隔 $\delta_i$ 計算</p>
<p>$$
a_i=1-\exp(-\sigma_i\delta_i),
$$</p>
<p>3DGS 直接學習高斯的不透明度 $\alpha_i$，再乘上二維高斯 footprint。兩類方法都以「透射率 × 當前不透明度 × 顏色」累積像素，圖元與不透明度的來源則各不相同。</p>
<p>高斯核對二維中心可微：</p>
<p>$$
\frac{\partial g_i}{\partial\mu'_i}
=g_i(\mathbf{p})(\Sigma_i^{\prime})^{-1}
(\mathbf{p}-\mu'_i).
$$</p>
<p>Alpha 混合對不透明度的梯度也能寫出很直觀的形式。令 $\mathbf C_{&gt;k}$ 表示第 $k$ 個高斯後方所有內容（包括背景）在局部重新歸一化後的合成顏色，則整個像素可拆成</p>
<p>$$
\mathbf C
=\mathbf C_{&lt;k}
+T_k\left[a_k\mathbf c_k+(1-a_k)\mathbf C_{&gt;k}\right].
$$</p>
<p>對 $a_k$ 求導可得</p>
<p>$$
\frac{\partial\mathbf C}{\partial a_k}
=T_k\left(\mathbf c_k-\mathbf C_{&gt;k}\right).
$$</p>
<p>這個式子比「整條鏈可微」更能說明訓練行為。前方圖元已接近不透明時，$T_k$ 很小，後方高斯很難獲得梯度；當高斯顏色與其後方合成色接近時，調整不透明度同樣不會顯著改變圖像。位置、顏色與不透明度因此存在互相補償的空間，僅靠圖像損失未必能得到唯一或幾何正確的場景。</p>
<p>圖像誤差仍可經過混合、二維 footprint、投影和協方差參數化，一路反向傳播至三維位置、尺度、旋轉、不透明度與 SH 係數。上面的梯度分析也預示了兩個常見問題：遮擋後方的幾何學得較慢，具有相似顏色的錯誤高斯則可能長時間留在場景中。</p>
<h2>Tile-based 光柵化器與實時渲染</h2>
<p>如果每個像素各自搜索所有高斯並排序，計算仍然會非常昂貴。3DGS 的 CUDA 光柵化器採用 tile-based 流程：</p>
<ol>
<li>將圖像平面劃分成 $16\times16$ 像素的 tiles。</li>
<li>做視錐裁剪，只保留可能影響圖像的高斯；論文實現以高斯的 99% 置信區間判斷相交，並用 guard band 排除投影不穩定的極端高斯。</li>
<li>計算每個二維高斯覆蓋哪些 tiles；若跨越多個 tile，就為每個相交 tile 生成一份索引。</li>
<li>將 tile ID 與視空間深度組合成排序鍵，使用 GPU radix sort 一次完成分組與近似的深度排序。</li>
<li>每個 tile 由一個線程塊（thread block）處理。高斯數據分批載入共享內存（shared memory），tile 內的像素執行各自的 Alpha 混合。</li>
<li>當某個像素的不透明度已接近飽和，就停止處理更遠的高斯；當 tile 內所有像素都飽和，整個 block 可以提前結束。</li>
</ol>
<p>令 $M$ 為視錐內高斯數，$K$ 為高斯與 tile 相交後生成的實例數，$P$ 為像素數，$\bar n$ 為提前終止前每個像素實際混合的平均高斯數。忽略固定次數的 radix-sort passes，主要工作量可以概括為</p>
<p>$$
\underbrace{O(M)}<em>{\text{投影與裁剪}}
+\underbrace{O(K)}</em>{\text{複製、排序與分組}}
+\underbrace{O(P\bar n)}_{\text{像素混合}}.
$$</p>
<p>這個估算說明渲染時間並非只由高斯總數決定。大 footprint 會同時推高 $K$ 和 $\bar n$，深度重疊嚴重的場景也會增加 $\bar n$；反過來，即使模型包含很多高斯，只要大多數高斯很小、可快速裁剪，仍可能維持較高幀率。評估壓縮或剪枝方法時，僅報告高斯數量容易漏掉真正的光柵化負擔。</p>
<p>tile 層級排序會讓某些高斯交疊情況下的 Alpha 混合帶有近似性。原論文指出，當訓練收斂且 splat 接近像素尺度時，這類近似通常不會形成可見偽影。統一的 tile 列表同時帶來規則的內存訪問和大規模並行計算。</p>
<p>反向傳播會重用前向已排序的 tile 列表，從後向前遍歷並恢復所需的中間量，免去為每個像素保存任意長度混合歷史的開銷。3DGS 設計中容易被公式掩蓋的一點是，實時性來自表示、近似排序、內存布局與停止條件共同配合，單獨把高斯投影公式搬到 GPU 並不會自然得到同樣的速度。</p>
<h2>渲染質量、速度與存儲開銷</h2>
<p>原論文在 Mip-NeRF 360 數據集上同時報告圖像指標、訓練時間、渲染幀率與模型存儲 [@kerbl2023gaussians]：</p>
<table>
<thead>
<tr>
<th>方法</th>
<th>SSIM ↑</th>
<th>PSNR ↑</th>
<th>LPIPS ↓</th>
<th>訓練</th>
<th>FPS</th>
<th>存儲</th>
</tr>
</thead>
<tbody>
<tr>
<td>Mip-NeRF 360</td>
<td>0.792</td>
<td>27.69</td>
<td>0.237</td>
<td>48 h</td>
<td>0.06</td>
<td>8.6 MB</td>
</tr>
<tr>
<td>3DGS-7k</td>
<td>0.770</td>
<td>25.60</td>
<td>0.279</td>
<td>6 min 25 s</td>
<td>160</td>
<td>523 MB</td>
</tr>
<tr>
<td>3DGS-30k</td>
<td><strong>0.815</strong></td>
<td>27.21</td>
<td><strong>0.214</strong></td>
<td>41 min 33 s</td>
<td>134</td>
<td>734 MB</td>
</tr>
</tbody>
</table>
<p>$7\mathrm{k}$ 到 $30\mathrm{k}$ 迭代之間，PSNR 提高 $1.61,\mathrm{dB}$，LPIPS 從 $0.279$ 降到 $0.214$，模型存儲則從 $523$ MB 增加到 $734$ MB，幀率從 $160$ 降到 $134$。訓練後期增加的圖元和外觀容量改善了質量，也同時增加投影、排序和存儲成本。</p>
<p>Mip-NeRF 360 的三項質量數值由 3DGS 論文從原工作轉錄，效率數據也受實現與硬件影響，因此這張表更適合用來讀取數量級和方法內部的質量—成本曲線。若要比較當代實現，還需要統一 GPU、分辨率、渲染代碼與計時邊界。</p>
<h2>高斯集合的優化與密度控制</h2>
<p>3DGS 在更新高斯連續參數的同時，也會離散地調整高斯集合。兩類操作交錯進行，大致可以寫成：</p>
<pre><code class="language-mermaid">flowchart TD
    A[&quot;SfM 相機與稀疏點雲&quot;] --&gt; B[&quot;初始化高斯位置、尺度、不透明度與顏色&quot;]
    B --&gt; C[&quot;抽取訓練視角&quot;]
    C --&gt; D[&quot;投影與 tile 光柵化&quot;]
    D --&gt; E[&quot;合成圖像&quot;]
    E --&gt; F[&quot;計算重建損失&quot;]
    F --&gt; G[&quot;反向傳播並更新高斯參數&quot;]
    G --&gt;|&quot;下一次迭代&quot;| C
    G -.-&gt;|&quot;每隔若干迭代&quot;| H[&quot;Clone / Split / Prune / Opacity Reset&quot;]
    H --&gt; C
</code></pre>
<h3>初始化</h3>
<p>3DGS 從 SfM 稀疏點的位置開始。每個初始高斯先設為各向同性，其尺度參考最近三個 SfM 點的平均距離。這提供了比完全隨機分布更可靠的幾何起點，但初始點仍遠不足以覆蓋完整表面，因此必須在訓練中增密。</p>
<h3>Clone：欠重建區域的複製</h3>
<p>論文以<strong>視空間位置梯度的平均幅值</strong>判斷哪些高斯仍在努力移動以降低誤差。若第 $i$ 個高斯在 $M_i$ 次可見觀測中的二維中心為 $\mu'_{i,m}$，可以把這個統計量概括成</p>
<p>$$
g_i
=\frac{1}{M_i}
\sum_{m=1}^{M_i}
\left|
\frac{\partial\mathcal L_m}{\partial\mu'_{i,m}}
\right|_2.
$$</p>
<p>若 $g_i$ 超過閾值，而且高斯尺度較小，通常表示現有圖元太少、無法覆蓋附近結構。此時複製一個同尺度高斯，並沿位置梯度方向移動副本。</p>
<p>Clone 同時增加高斯數量與局部覆蓋體積，適合補上欠重建區域。不過 $g_i$ 是屏幕空間信號，會受到焦距、圖像分辨率、相機距離與可見視角數影響。固定的 $0.0002$ 閾值具有明顯的數據與實現尺度，難以視為場景幾何誤差的普適界線。</p>
<h3>Split：大尺度高斯的分裂</h3>
<p>位置梯度與高斯尺度同時偏大，通常說明單一圖元負責的範圍過廣。3DGS 以兩個較小高斯取代它：新中心從原高斯分布中採樣，尺度除以實驗設定的 $1.6$。</p>
<p>Split 主要提高局部表示分辨率，使一個模糊的大橢球逐漸分工成數個能貼近細節的小橢球。這裡可以檢查「分裂後體積延續」的含義。若以一個協方差橢球的尺度體積</p>
<p>$$
V_i\propto\sqrt{\det\Sigma_i}
=s_{i,x}s_{i,y}s_{i,z}
$$</p>
<p>衡量，兩個 child 的三軸尺度都除以 $1.6$ 時，總尺度體積與 parent 的比值為</p>
<p>$$
\frac{V_{\mathrm{children}}}{V_{\mathrm{parent}}}
=\frac{2}{1.6^3}
\approx0.488.
$$</p>
<p>所以論文所描述的體積延續，更適合解讀為兩個新中心對原空間覆蓋範圍的延續，協方差橢球體積並未嚴格守恆。$1.6$ 是經驗設定，它同時增加基底數量並收縮單個基底的支撐域。</p>
<p>不透明度也有類似問題。若把一個有效不透明度 $a_p$ 的 parent 換成 $n$ 個完全重合、顏色相同的 children，每個 child 的不透明度為 $a_c$，合成後為</p>
<p>$$
a_{\mathrm{eff}}=1-(1-a_c)^n.
$$</p>
<p>要求分裂前後立即保持相同遮擋量，應取</p>
<p>$$
a_c=1-(1-a_p)^{1/n}.
$$</p>
<p>3DGS 的密度控制沒有把這類守恆式設為硬約束，分裂後仍交給圖像損失、不透明度重置與剪枝共同修正。從這個角度看，clone 與 split 更接近模型結構的啟發式搜索，並不保持某個連續場完全等價的解析細分。</p>
<figure id="fig_3dgs_adaptive_density" class="md-figure">
  <img src="https://img.nishikori.dev/3dgs-series-1/kerbl-2023-fig4-adaptive-density.png" alt="自適應增密的兩種情形" />
  <figcaption class="md-figure__caption">自適應增密的兩種情形：欠重建區域複製小高斯，過度粗糙的區域分裂大高斯 [@kerbl2023gaussians]。</figcaption>
</figure>
<h3>Prune：剪枝與不透明度重置</h3>
<p>持續增密會令高斯數量失控，也會留下漂浮點。3DGS 會移除不透明度低於閾值、世界空間尺度過大或屏幕 footprint 過大的高斯；訓練中還會周期性把不透明度重置到接近零，讓有穩定圖像貢獻的高斯重新獲得較高不透明度，其餘高斯則在後續剪枝中消失。</p>
<p>原論文的參考設定包括：預熱後每 100 次迭代做一次增密，以平均視空間位置梯度 $0.0002$ 作為候選閾值，並每 3000 次迭代重置不透明度。這些數字屬於論文實驗的超參數，會隨數據尺度、圖像分辨率與方法改動而調整。</p>
<h2>3DGS 的完整管線</h2>
<p>上述機制可分成三個彼此咬合的循環：</p>
<table>
<thead>
<tr>
<th>循環</th>
<th>輸入與輸出</th>
<th>解決的問題</th>
</tr>
</thead>
<tbody>
<tr>
<td>表示循環</td>
<td>尺度、旋轉 $\rightarrow$ 合法協方差</td>
<td>讓高斯能貼合具有方向性的局部幾何</td>
</tr>
<tr>
<td>渲染循環</td>
<td>3D 高斯 $\rightarrow$ 2D splat $\rightarrow$ 像素</td>
<td>以可微、可並行的方式生成訓練圖像與新視角</td>
</tr>
<tr>
<td>結構循環</td>
<td>梯度統計 $\rightarrow$ clone / split / prune</td>
<td>讓圖元數量與空間分布跟著場景複雜度改變</td>
</tr>
</tbody>
</table>
<p>令 $N$ 為當前高斯數量，$\Theta_N$ 為全部連續參數，訓練目標可以抽象成</p>
<p>$$
\min_{N,\Theta_N}
\sum_{m}
\mathcal L!\left(
\mathcal R(\Theta_N;\mathcal C_m),
\mathbf I_m
\right),
$$</p>
<p>其中 $\mathcal R$ 是可微光柵化器，$\mathcal C_m$ 是第 $m$ 個相機。Adam 在固定 $N$ 時更新 $\Theta_N$；clone、split 與 prune 則改變 $N$ 和參數空間本身。這是一個混合了連續參數與離散結構的優化問題，原方法以交替啟發式操作近似求解。</p>
<p>更合適的理解是把一組高斯看成<strong>可增刪的局部基底</strong>。位置、尺度、旋轉、SH 與不透明度是基底的係數和形狀，圖像梯度衡量現有基底能否解釋觀測，增密則在殘差較大的位置增加自由度。Prune 和 opacity reset 承擔近似的複雜度控制，儘管目標函數裡沒有顯式寫出 $\beta N$ 這類模型規模懲罰。這個視角也能解釋為何單純沿用高斯表示、卻拿掉密度控制，通常很難重現完整 3DGS 的效果。</p>
<h2>3DGS 的表示範圍</h2>
<h3>場景表示與物體表面</h3>
<p>3DGS 的直接目標是新視角圖像質量，輸出為一組體積式高斯圖元，沒有三角網格所具備的拓撲連接關係。高斯中心和扁平橢球經常落在表面附近；可測量表面、法線或網格仍需要額外幾何約束或表面提取。</p>
<h3>高斯的方向與外觀屬性</h3>
<p>每個高斯除了位置，還有完整的方向性尺度、不透明度和視角相關顏色；投影後的二維 footprint 也會隨相機與深度改變。「帶半徑的點」不足以描述協方差投影與 Alpha 混合所帶來的行為。</p>
<h3>與體積渲染的關係</h3>
<p>3DGS 與體積渲染共享相近的 Alpha 合成形式。它直接光柵化顯式高斯圖元，沒有沿光線積分連續密度，渲染中還包含局部投影與 tile 級排序近似。</p>
<h3>增密機制的判據</h3>
<p>3DGS 根據視空間位置梯度選取候選，再由尺度區分 clone 與 split，並以剪枝和不透明度重置抑制冗餘。這套判據分別處理欠重建、過度粗糙的表示與無效圖元。</p>
<h2>限制與適用範圍</h2>
<p>3DGS 具備顯式結構、快速訓練、實時高分辨率渲染，以及比普通點雲更連續靈活的表示，同時受到以下條件限制 [@chen2024survey]：</p>
<ul>
<li>它依賴已標定的多視角圖像與足夠可靠的 SfM 初始化；稀疏視角或錯誤位姿會直接影響結果。</li>
<li>優化目標以圖像重建為主，幾何可以被外觀補償，因而不保證表面精確。</li>
<li>SH 能擬合視角相關顏色，但不會自然分離材質、光照、陰影與幾何誤差。</li>
<li>數十萬乃至數百萬個高斯會帶來存儲與顯存成本。</li>
<li>大型、近相機或交疊複雜的高斯會放大投影與排序近似造成的偽影。</li>
<li>3DGS 面向靜態場景，沒有直接處理物體運動、形變或時間一致性。</li>
</ul>
<p>後續 3DGS 研究由此延伸出抗混疊、幾何正則、壓縮、大場景、稀疏輸入、動態建模、材質與光照解耦等方向。</p>
<h2>結語</h2>
<p>3DGS 最值得延續的思想，是讓場景基底、可微渲染與 GPU 執行模型彼此配合。協方差給局部基底以方向和尺度，投影雅可比把三維擾動傳到像素，Alpha 混合建立遮擋與梯度，tile 光柵化器再把這些計算整理成 GPU 能高效執行的數據流。高斯集合還能在訓練中改變規模，表示容量由殘差逐步長出來。</p>
<p>這條管線也留下了清楚的近似邊界：透視投影只在中心附近線性化，tile 共用排序不能涵蓋所有逐像素深度關係，圖像損失允許外觀補償幾何，clone 與 split 又依賴視空間閾值和經驗倍率。後續研究中的抗混疊、幾何正則、重新參數化與更穩定的密度控制，都可以追溯到其中某一處近似。</p>
<p>理解 3DGS 時，還需要追問每個公式向實現做了哪些讓步：協方差如何變成有限包圍盒，透射率何時讓梯度消失，分裂是否真的守恆，高斯數量又如何影響 tile 實例數。沿著這些問題往下走，後續方法的改動位置與代價會比單純記住一張流程圖清晰得多。</p>
<pre><code class="language-bibtex">@article{kerbl2023gaussians,
  author = {Kerbl, Bernhard and Kopanas, Georgios and Leimkühler, Thomas and Drettakis, George},
  title = {3D Gaussian Splatting for Real-Time Radiance Field Rendering},
  journal = {ACM Transactions on Graphics},
  volume = {42},
  number = {4},
  pages = {139:1--139:14},
  year = {2023}
}

@article{chen2024survey,
  author = {Chen, Guikun and Wang, Wenguan},
  title = {A survey on 3d gaussian splatting},
  journal = {ACM Computing Surveys},
  year = {2024}
}
</code></pre>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>神經渲染</category>
            <category>3D Gaussian Splatting</category>
            <category>3DGS</category>
            <category>輻射場</category>
            <category>新視角合成</category>
            <category>可微渲染</category>
            <category>點基渲染</category>
            <category>SfM</category>
            <category>球諧函數</category>
        </item>
        <item>
            <title><![CDATA[Steam Machine — Why Valve’s Most Ambitious Living-Room Experiment Was Never Built to Win]]></title>
            <link>https://nishikori.dev/posts/steam-machine</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/steam-machine</guid>
            <pubDate>Thu, 13 Nov 2025 20:40:00 GMT</pubDate>
            <description><![CDATA[Valve’s Steam Machine now exists only as a promise — a living-room PC disguised as a console that, so far, has never moved beyond trailers, media briefings, and projected specifications.]]></description>
            <content:encoded><![CDATA[<p>The Steam Machine has entered public consciousness with an aura of inevitability. It is supposed to bridge the gap between PC gaming and living-room consoles: a compact box built around familiar PC components, wrapped in a console-like form factor, running Valve’s own Linux-based SteamOS, and backed by the largest digital game library on the planet. The concept is elegant on paper, bold in spirit, and forward-looking in all the ways enthusiast hardware tends to be. Yet, as of now, the Steam Machine has not grown beyond that promise. It remains an intriguing fragment of gaming <em>speculation</em> — a prototype of a future that has been shown in trailers and media events, but has not yet materialized as a retail product.</p>
<p>To avoid confusion, it is important to note that Valve has used the “Steam Machine” label before. In the mid-2010s, Valve partnered with OEMs such as Alienware, Zotac, and others to ship small form factor PCs that carried the SteamOS branding or were marketed as “Steam Machines.” Those devices did reach the market, but they were essentially prebuilt PCs: each OEM defined its own chassis, power envelope, and component mix, and the whole initiative quietly faded without ever establishing a coherent console platform. This article is not about that first wave of OEM Steam Machines. It examines the Steam Machine that Valve announced in November 2025: a unified, Valve-designed living-room box that, at the time of writing, still exists only as an announced product, not as something you can actually buy.</p>
<p>Even before launch, part of the 2025 Steam Machine’s likely struggle can be read from its identity. It is attempting to absorb the ease and predictability of consoles while carrying the complexity and variability of PC hardware. It promises openness but, at least at this stage, lacks the guaranteed audience that would give studios a clear incentive to optimize for it. And it is trying to appeal to the living-room user without yet offering the frictionless coherence that defines every successful console generation. In this unresolved middle ground, the Steam Machine risks being too open in philosophy to function as a traditional console, too constrained in positioning to satisfy PC purists, and too undefined to court the mainstream.</p>
<p>The proposed hardware specification itself tells an interesting story. Valve’s modernized Steam Machine reference configuration is <em>described</em> as featuring a Zen 4 six-core processor capable of boosting to roughly 4.8 GHz, paired with a semi-custom RDNA 3 GPU with 28 compute units and 8 GB of dedicated GDDR6 VRAM. This is said to sit alongside 16 GB of DDR5 system memory, NVMe SSD storage options, DisplayPort 1.4 output capable of 4K/240 Hz or even 8K/120 Hz, and a chassis that measures barely more than a six-inch cube. On paper, this is not a low-end device; it is closer to a compact gaming PC dressed as a console. But crucially, all of this still lives in spec sheets, decks, and press briefings — not in shipping hardware.</p>
<p>For clarity, here is a concise comparison between the <em>projected</em> Steam Machine configuration and the two major ninth-generation consoles. This is a comparison of targets and claimed specifications, not of devices that currently coexist on retail shelves:</p>
<table>
<thead>
<tr>
<th>Specification</th>
<th>Steam Machine (projected)</th>
<th>PlayStation 5</th>
<th>Xbox Series X</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>CPU</strong></td>
<td>AMD Zen 4, 6C/12T, up to ~4.8 GHz, ~30 W TDP</td>
<td>AMD Zen 2, 8C/16T, ~3.5 GHz</td>
<td>AMD Zen 2, 8C/16T, ~3.8 GHz</td>
</tr>
<tr>
<td><strong>GPU</strong></td>
<td>AMD RDNA 3, 28 CUs, 8 GB GDDR6 VRAM, ~110 W TDP</td>
<td>AMD RDNA 2, ~36 CUs, ~10.3 TFLOPS</td>
<td>AMD RDNA 2, 52 CUs, 12 TFLOPS</td>
</tr>
<tr>
<td><strong>System Memory</strong></td>
<td>16 GB DDR5 + 8 GB GDDR6 VRAM</td>
<td>16 GB unified GDDR6</td>
<td>16 GB unified GDDR6</td>
</tr>
<tr>
<td><strong>Storage</strong></td>
<td>NVMe SSD (512 GB / 2 TB) + microSD</td>
<td>825 GB SSD</td>
<td>1 TB SSD</td>
</tr>
<tr>
<td><strong>Video Output</strong></td>
<td>DisplayPort 1.4 (4K/240 Hz, 8K/120 Hz), HDMI 2.0 (4K/120 Hz)</td>
<td>HDMI 2.1</td>
<td>HDMI 2.1</td>
</tr>
<tr>
<td><strong>Chassis Size</strong></td>
<td>162.4 × 156 × 152 mm</td>
<td>~390 × 104 × 260 mm</td>
<td>~301 × 151 × 151 mm</td>
</tr>
</tbody>
</table>
<p>On paper, it is an impressive lineup, even daring in places. But hardware alone never defines a platform — and projected hardware, even less so. Consoles thrive because they are unified systems: hardware, operating system, developer tools, online services, and business model all operate in lockstep. The earlier OEM Steam Machine program failed precisely because Valve provided the software layer and the brand, but outsourced the hardware story to “dozens of OEMs” that produced mutually incompatible designs, each with different thermals, acoustics, and price points. Developers were expected to treat that mess as a single “platform,” despite the lack of a fixed hardware baseline.</p>
<p>The 2025 Steam Machine is, at least in theory, an attempt to correct that error. Valve now presents a single reference box with a tightly defined specification and a clear industrial design, rather than a scattershot catalog of partner machines. Yet even in this revised form, the structural risks have not disappeared. Valve has shown no sign that it intends to follow the traditional console strategy of heavily subsidizing hardware to drive long-term software revenue. If Valve expects manufacturing and distribution to be handled on commercial terms, retail prices are likely to end up much closer to high-end small-form-factor PCs than to mass-market consoles.</p>
<p>At the same time, SteamOS as a living-room platform is still young. Proton continues to improve, but it is not perfect, and the library of native Linux titles remains relatively small. A device that would depend on game sales to drive hardware adoption and hardware adoption to justify game development risks stalling if either side hesitates. The original OEM Steam Machines never escaped that loop; the 2025 Steam Machine has not yet demonstrated, beyond marketing language, how it will.</p>
<p>Viewed through the broader lens of gaming history, the Steam Machine belongs to a familiar lineage of “in-between” hardware — devices like the 3DO, Apple Pippin, and Ouya — built around the hope that console convenience and PC openness can be reconciled in one product. History suggests that the space between those worlds is unstable. Consoles draw strength from coherence; PCs from flexibility; hybrids must somehow preserve both without inheriting the limitations of each. The OEM Steam Machines of the last decade failed that test, and the 2025 machine has not yet shown how it will answer it.</p>
<p>Ironically, Valve has already demonstrated that it understands this divide. The Steam Deck has succeeded precisely because it embraces the opposite philosophy: strict hardware unification, a tightly controlled OS stack, deep Proton integration, and a user experience designed around a single chassis rather than a nebulous family of boxes. In many ways, the Deck feels like the Steam Machine idea re-imagined with the discipline it always needed — discipline that the OEM program never had, and that the 2025 Steam Machine will have to prove it can sustain once it moves beyond trailers into reality.</p>
<p>The Steam Machine is therefore best understood as an unresolved experiment rather than a failed product. It asks whether the openness of the PC can survive the coordination demanded by the living room, and whether Valve is willing to impose enough discipline to make that answer convincing. Until the hardware moves beyond specifications and stage demonstrations, the machine remains a glimpse of a parallel living-room future — visible, carefully drawn, and still just out of reach.</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>Valve</category>
            <category>SteamOS</category>
            <category>PC Gaming</category>
            <category>Console Design</category>
            <category>Hardware History</category>
        </item>
        <item>
            <title><![CDATA[When Preparation Meets Opportunity — 記錄一次成功爭取畢業設計課題的過程]]></title>
            <link>https://nishikori.dev/posts/when-preparation-meets-opportunity</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/when-preparation-meets-opportunity</guid>
            <pubDate>Thu, 13 Nov 2025 12:00:00 GMT</pubDate>
            <description><![CDATA[一次看似普通的畢業設計申請，因為準備充分、方向一致，最終變成一次「讓時機與能力對上號」的經驗。從主動接觸到導師確認課題，全程記錄。]]></description>
            <content:encoded><![CDATA[<p>在大學階段，畢業設計通常被視為最後一次具規模的工程實踐。對我而言，它不只是完成學業的部分，更關乎未來希望深入的領域。因此，當導師公布課題後，我立即開始評估哪些方向能與自己的經驗自然銜接，最後選定了一個與系統整合、感應器處理及視覺實驗等方向高度相關的項目。</p>
<p>這是一個真正符合自己興趣的課題，所以我決定主動出擊，而不是等待系統隨機分配。</p>
<hr>
<h2>一、為何選擇主動申請</h2>
<p>過往參與的多個嵌入式及車輛工程相關項目，讓我在軟硬件協作、數據流程及視覺模型測試方面累積了一定經驗。<br>
導師給出的其中一個課題，在數個模組上都能與我的背景自然對應。</p>
<p>主動申請並不是「爭位置」，而是讓導師看到：這個方向對我來說不是臨時起意，而是與過去經驗及未來規劃同時對齊的選擇。</p>
<hr>
<h2>二、申請信的思路：重點在於「對齊」，而非「表現」</h2>
<p>雖然只是一封寫給導師的電郵，但我以「工程師向項目負責人申請加入」的方式來撰寫內容，目的只有一個：<br>
讓導師能在短時間內判斷我是否適合這個課題。</p>
<p>整體結構包括：</p>
<ol>
<li>
<p><strong>清晰列出自己曾處理過、而且與課題真正相關的部分</strong><br>
不誇大，不堆砌，只展示具體能力邊界。</p>
</li>
<li>
<p><strong>說明目前正在學習或補強的方向</strong><br>
讓導師看到持續投入，而非臨急抱佛腳。</p>
</li>
<li>
<p><strong>表達真實動機，但保持克制</strong><br>
不使用空洞語氣，也不作無法預估的承諾。</p>
</li>
<li>
<p><strong>強調會自行準備，不額外增加導師負擔</strong><br>
減少導師在心理上的不確定成本，使選擇更容易。</p>
</li>
</ol>
<p>整封電郵保持專業、節制、重點明確，強調的是「能力匹配」及「方向一致」。</p>
<p>::: details, title=&quot;脫敏後電郵&quot;</p>
<p>【老師A】您好：</p>
<p>我是《【課程A】》課程的學生【姓名A】。得知您公布的畢業設計課題，其中 「【課題A】」 與我的技術基礎及未來規劃高度契合，因此特向您表達真誠的意願，希望能申請參與該課題，並在正式開始前提前做好準備工作。</p>
<p>在課程項目中，我主導完成了《【項目A】》的整體架構設計，包括 【技術A1】多任務調度、【技術A2】多模組協同 以及 【技術A3】多來源資料整合，實現了 【功能A1】、【功能A2】與【功能A3】 等能力。這項工作讓我對系統協作、實時處理及資料鏈路有了完整工程上的理解。</p>
<p>在【領域A】方面，我曾基於 【框架A】 完成相關模型訓練，包括 【模型A】 與 【模型B】 的實驗，內容涉及 【技術B1】、【技術B2】、【技術B3】與【技術B4】。近期亦在 【平台A】 上進行開發測試，對端側平台的部署流程及效能限制有一定了解。目前正系統學習 【框架B】、【框架C】與【框架D】 的模型轉換及加速方法，希望在後續課題中探索 【技術C1】—【技術C2】融合方案 的效率優化及部署策略。</p>
<p>了解到您團隊在 【研究方向A】 方面具有長期積累，我非常希望能在您的指導下參與此課題，並會提前閱讀相關資料、補強必要背景。如您方便，也希望能向您請教課題初期的準備重點，以便更有方向地開展前期工作。</p>
<p>感謝您在百忙中閱讀此信，期待您的回覆。</p>
<p>此致
敬禮</p>
<p>:::</p>
<hr>
<h2>三、導師的回覆：直接而肯定</h2>
<p>在發出申請後不久，我收到導師簡潔而明確的回覆：</p>
<blockquote>
<p>「那我就將這個機會留給你，XXXXXXXXXXXXXXXX，加油。」</p>
</blockquote>
<p>這代表三件事：</p>
<ul>
<li>課題已正式交由我負責</li>
<li>之後或會有更深入的協作環節</li>
<li>導師對我的準備及動機給予肯定</li>
</ul>
<p>對畢業設計來說，這是一個相當理想的開始。</p>
<hr>
<h2>四、接下來的推進方式</h2>
<p>在項目初期，我傾向以工程化的節奏前進：<br>
先讓整個系統順利運作，理解資料流程，再按實際需求逐步展開相關實驗。</p>
<p>與其急於展示某個「亮眼的成果」，更重要的是真正理解整個系統的協作方式，這亦較符合系統類課題的自然節奏。</p>
<hr>
<h2>五、總結：不是「套瓷」，而是準備在正確時機對上號</h2>
<p>不少人會把這種行為戲稱為「套瓷」。<br>
但真正做過之後便會發現：當你對自己的方向足夠明確、在相關領域已有實際積累，並在關鍵時刻主動表達，結果往往比想像中順利。</p>
<p>這次成功爭取課題，並不是甚麼「技巧性的故事」，而是準備與機會在正確時機相遇。</p>
<p>未來的項目會按導師安排逐步展開，而我也會在過程中繼續補強自己對系統、數據流程及工程實務的理解。<br>
這不是甚麼華麗的開始，但卻是一個踏實可靠的起點。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>校園生活</category>
            <category>畢業設計</category>
            <category>研究課題</category>
            <category>智能駕駛</category>
        </item>
        <item>
            <title><![CDATA[Demo Extended Syntax]]></title>
            <link>https://nishikori.dev/posts/demo-en</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/demo-en</guid>
            <pubDate>Tue, 11 Nov 2025 23:30:00 GMT</pubDate>
            <description><![CDATA[A reference page for the extended Markdown syntax supported by this site, including spoilers, details, banners, and grids.]]></description>
            <content:encoded><![CDATA[<p>This post demonstrates the extended Markdown syntax currently supported on the site.</p>
<h2>Spoiler</h2>
<pre><code>This post contains ||**spoiler content**|| which only appears when you hover or tap.
</code></pre>
<p>This post contains ||<strong>spoiler content</strong>|| which only appears when you hover or tap.</p>
<h2>Underline emphasis</h2>
<pre><code>Use ++keywords++ to highlight certain keywords.
</code></pre>
<p>Use ++keywords++ to highlight certain keywords.</p>
<h2>Highlighter emphasis</h2>
<pre><code>Use ::key terms:: to mark important wording.
</code></pre>
<p>Use ::key terms:: to mark important wording.</p>
<h2>Details</h2>
<p>::: details, title=&quot;Tap to reveal more&quot;
This block accepts regular <strong>Markdown</strong>, such as lists:</p>
<ul>
<li>Point one</li>
<li>Point two</li>
</ul>
<p>Images, links, and any other inline content work as well.
:::</p>
<h2>Banner</h2>
<h3>Info</h3>
<pre><code>::: banner{info}
This is the Info style.
:::
</code></pre>
<p>::: banner{info}
This is the Info style.
:::</p>
<h3>Success</h3>
<pre><code>::: banner{success}
Completion notice.
:::
</code></pre>
<p>::: banner{success}
Completion notice.
:::</p>
<h3>Warning</h3>
<pre><code>::: banner{warning}
This is a **banner** reminder block.
:::
</code></pre>
<p>::: banner{warning}
This is a <strong>banner</strong> reminder block.
:::</p>
<h3>Error</h3>
<pre><code>::: banner{error}
Error message.
:::
</code></pre>
<p>::: banner{error}
Error message.
:::</p>
<h2>Grid</h2>
<h3>Image Mode</h3>
<pre><code>::: grid {cols=2,gap=1.2rem,type=images}
![Image 1](https://img.nishikori.dev/2025/11/20251109215205561.jpeg)

![Image 2](https://img.nishikori.dev/2025/11/20251108212225527.jpeg)
:::
</code></pre>
<p>::: grid {cols=2,gap=1.2rem,type=images}
<img src="https://img.nishikori.dev/2025/11/20251109215205561.jpeg" alt="Image 1"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251108212225527.jpeg" alt="Image 2">
:::</p>
<h3>Mixed Mode</h3>
<pre><code>::: grid {cols=2,gap=1.2rem}
![NGC](https://img.nishikori.dev/2025/11/20251109215205561.jpeg)

![PS3](https://img.nishikori.dev/2025/11/20251108212108445.jpeg)

Left column content

Right column content
:::
</code></pre>
<p>::: grid {cols=2}
<img src="https://img.nishikori.dev/2025/11/20251109215205561.jpeg" alt="NGC"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251108212108445.jpeg" alt="PS3"></p>
<p>Left column content</p>
<p>Right column content
:::</p>
<h2>Video Embed</h2>
<h3>YouTube</h3>
<pre><code>https://www.youtube.com/watch?v=dX8gZubnMjA
</code></pre>
<p><a href="https://www.youtube.com/watch?v=dX8gZubnMjA">https://www.youtube.com/watch?v=dX8gZubnMjA</a></p>
<h3>Bilibili</h3>
<pre><code>https://www.bilibili.com/video/BV1xx411c79H
</code></pre>
<p><a href="https://www.bilibili.com/video/BV1xx411c79H">https://www.bilibili.com/video/BV1xx411c79H</a></p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[Demo：拓展語法]]></title>
            <link>https://nishikori.dev/posts/extended-markdown-syntax-demo</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/extended-markdown-syntax-demo</guid>
            <pubDate>Tue, 11 Nov 2025 23:30:00 GMT</pubDate>
            <description><![CDATA[展示本站目前支援的 Spoiler、標記、Details、Banner、Grid 等拓展 Markdown 語法。]]></description>
            <content:encoded><![CDATA[<p>這篇文章示範網站目前支援的拓展 Markdown 語法。</p>
<h2>Spoiler</h2>
<pre><code>本文會提到||**劇透內容**||，只有指標移上去或點一下才會顯示。
</code></pre>
<p>本文會提到||<strong>劇透內容</strong>||，只有指標移上去或點一下才會顯示。</p>
<h2>新增標記語法</h2>
<h3>下劃線強調</h3>
<pre><code>使用++關鍵詞++突出某些關鍵詞。
</code></pre>
<p>使用++關鍵詞++突出某些關鍵詞。</p>
<h3>螢光筆強調</h3>
<pre><code>使用 ::重點詞彙:: 來螢光標記某些重點詞彙。
</code></pre>
<p>使用 ::重點詞彙:: 來螢光標記某些重點詞彙。</p>
<h2>Details</h2>
<p>::: details, title=&quot;點我展開更多內容&quot;
這段文字可以寫 <strong>Markdown</strong>，例如列表：</p>
<ul>
<li>第一點</li>
<li>第二點</li>
</ul>
<p>也可以放圖片、連結等等。
:::</p>
<h2>Banner</h2>
<h3>Info</h3>
<pre><code>::: banner{info}
這是 Info 風格。
:::
</code></pre>
<p>::: banner{info}
這是 Info 風格。
:::</p>
<h3>Success</h3>
<pre><code>::: banner{success}
完成提示。
:::
</code></pre>
<p>::: banner{success}
完成提示。
:::</p>
<h3>Warning</h3>
<pre><code>::: banner{warning}
這是一個 **banner** 提醒區塊。
:::
</code></pre>
<p>::: banner{warning}
這是一個 <strong>banner</strong> 提醒區塊。
:::</p>
<h3>Error</h3>
<pre><code>::: banner{error}
錯誤訊息。
:::
</code></pre>
<p>::: banner{error}
錯誤訊息。
:::</p>
<h2>Grid</h2>
<h3>圖片模式</h3>
<pre><code>::: grid {cols=2,gap=1.2rem,type=images}
![圖片一](https://img.nishikori.dev/2025/11/20251109215205561.jpeg)

![圖片二](https://img.nishikori.dev/2025/11/20251108212225527.jpeg)
:::
</code></pre>
<p>::: grid {cols=2,gap=1.2rem,type=images}
<img src="https://img.nishikori.dev/2025/11/20251109215205561.jpeg" alt="圖片一"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251108212225527.jpeg" alt="圖片二">
:::</p>
<h3>混合模式</h3>
<pre><code>::: grid {cols=2,gap=1.2rem}
![NGC](https://img.nishikori.dev/2025/11/20251109215205561.jpeg)

![PS3](https://img.nishikori.dev/2025/11/20251108212108445.jpeg)

左邊的內容

右邊的內容
:::
</code></pre>
<p>::: grid {cols=2}
<img src="https://img.nishikori.dev/2025/11/20251109215205561.jpeg" alt="NGC"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251108212108445.jpeg" alt="PS3"></p>
<p>左邊的內容</p>
<p>右邊的內容
:::</p>
<h2>Video Embed</h2>
<h3>YouTube</h3>
<pre><code>https://www.youtube.com/watch?v=dX8gZubnMjA
</code></pre>
<p><a href="https://www.youtube.com/watch?v=dX8gZubnMjA">https://www.youtube.com/watch?v=dX8gZubnMjA</a></p>
<h3>Bilibili</h3>
<pre><code>https://www.bilibili.com/video/BV1xx411c79H
</code></pre>
<p><a href="https://www.bilibili.com/video/BV1xx411c79H">https://www.bilibili.com/video/BV1xx411c79H</a></p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[The PlayStation — Choosing Your Own Grey Box]]></title>
            <link>https://nishikori.dev/posts/choosing-your-own-playstation</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/choosing-your-own-playstation</guid>
            <pubDate>Sun, 09 Nov 2025 23:50:00 GMT</pubDate>
            <description><![CDATA[From the port-packed SCPH-1000 to the tiny PS one, every revision of the original PlayStation tells a story of engineering philosophy. Finding your own “true” PS1 is as much about history as it is about hardware.]]></description>
            <content:encoded><![CDATA[<p>The original <strong>PlayStation</strong> is far more complex than its simple grey shell suggests.<br>
To most eyes, it’s just a box — a circular lid, two controller ports, two memory card slots.<br>
But beneath that uniform design lies a decade of quiet evolution, trade-offs, and refinement.</p>
<p>From the heavy <strong>SCPH-1000</strong> to the featherlight <strong>PS one</strong>, every version carries its own texture, sound, and character.<br>
For collectors, choosing <em>your</em> PlayStation is no longer only about playing games. It is also about choosing which moment of the 1990s you want to hold.</p>
<hr>
<h3>The First Form — SCPH-1000</h3>
<p>Released in Japan in December 1994, the <strong>SCPH-1000</strong> still bears the marks of a launch machine.
It offered an unusually generous array of connections — <strong>S-Video, RCA, Parallel I/O, Serial I/O</strong>, and the soon-to-be-standard <strong>AV Multi Out</strong>.
Inside, its early <strong>PU-7</strong> motherboard and audio hardware helped give the model a second reputation: that of an unexpectedly capable standalone CD player.</p>
<p>But it ran hot, aged quickly, and its laser assemblies often failed.<br>
When Sony prepared for international launch, the quiet revisions began.</p>
<hr>
<h3>The Global Debut — SCPH-1001 / 1002 / 3000 / 3500</h3>
<p>The export models dropped the S-Video port and switched to the more reliable <strong>PU-8</strong> board.<br>
Reliability improved, but the console still struggled with FMV skipping and heat buildup.<br>
The <strong>SCPH-3000</strong> and <strong>3500</strong> streamlined production while keeping most expansion ports intact.<br>
Heavy, solid, unmistakably mid-’90s — these are the machines in which Sony’s first idea of the PlayStation began to settle into a durable form.</p>
<hr>
<h3>The Maturity — SCPH-500x / 550x</h3>
<p>By 1996, the PlayStation had grown up.<br>
The <strong>550x series</strong> introduced a <strong>digital servo optical drive</strong>, repositioned the disc assembly to reduce heat, and removed the rear RCA jacks in favor of a single <strong>AV Multi Out</strong> — the connector still used for RGB output today.<br>
For many owners, it is the most convincing midpoint: stable, easy to modify, and still close to the original vision.</p>
<hr>
<h3>The Refinement — SCPH-700x / 750x / 900x</h3>
<p>Late-era PlayStations focused on integration and efficiency.<br>
The <strong>750x</strong> featured a sharper video encoder and a sturdier metal-beam drive, while the <strong>900x</strong> — the “final classic shell” — eliminated the <strong>Parallel I/O</strong> port entirely.<br>
That move ended the era of cheat cartridges and hardware debugging tools, but created one of the most reliable PS1s ever made.</p>
<p>If you simply want to play games, these revisions are among the least troublesome to own.</p>
<hr>
<h3>The Reinvention — PS one (SCPH-10x)</h3>
<p>In 2000, Sony reimagined the PlayStation as the <strong>PS one</strong> — smaller, brighter, almost friendly.<br>
It moved the power supply outside, leaving only two rear ports: power and AV Multi Out.<br>
Internally, the compact <strong>PM-41</strong> board ran cooler and quieter, though at the cost of all expansion interfaces.</p>
<p>This wasn’t a downgrade — it was a statement.<br>
The PS one embodied Sony’s late-era minimalism: white, soft, and approachable.<br>
It blurred the line between hardware and home décor.</p>
<hr>
<h3>Which PlayStation Is Yours?</h3>
<p>There’s no single “best” PS1.<br>
Only the one that fits who you are.</p>
<ul>
<li>
<p><strong>For collectors:</strong><br>
Hunt down the <strong>SCPH-1000</strong> or early <strong>1001/1002</strong> units.<br>
They’re raw, imperfect, and carry the aura of the launch era.<br>
Expect to repair lasers or capacitors — that’s part of their charm.</p>
</li>
<li>
<p><strong>For practical players:</strong><br>
The <strong>550x–900x</strong> range is the sweet spot.<br>
Reliable drives, great compatibility, and easy maintenance.<br>
A clean <strong>SCPH-900x</strong> is a wonderfully undramatic machine to own.</p>
</li>
<li>
<p><strong>For minimalists:</strong><br>
Go with the <strong>PS one</strong>.<br>
Small, quiet, perfectly compatible, and beautiful on a desk.<br>
You lose expansion ports, but gain simplicity and silence.</p>
</li>
</ul>
<hr>
<h3>The Sound of Continuity</h3>
<p>Owning a PlayStation isn’t just about specs.<br>
It’s about time — the story of Sony learning how to build a console that defined a decade.<br>
Each revision is a chapter in that journey, from over-engineering to refinement.</p>
<p>Whichever model you choose, that startup chime — half mechanical, half dreamlike — remains unchanged.<br>
The boards beneath it grew smaller, the ports disappeared, and the shell eventually turned white; the sound still arrives as though no time has passed at all.</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>PlayStation</category>
            <category>PS1</category>
            <category>Console Design</category>
            <category>Game History</category>
            <category>Hardware</category>
        </item>
        <item>
            <title><![CDATA[The D-Pad — When Design Let the Human Lead]]></title>
            <link>https://nishikori.dev/posts/the-d-pad-when-design-let-the-human-lead</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/the-d-pad-when-design-let-the-human-lead</guid>
            <pubDate>Fri, 17 Oct 2025 12:00:00 GMT</pubDate>
            <description><![CDATA[How Gunpei Yokoi’s simple D-pad compressed direction into a single thumb, leaving the player’s hands — and game design itself — room to do more.]]></description>
            <content:encoded><![CDATA[<p>For the past few weeks, I’ve been sorting through my retro game collection — shelves of cartridges, faded manuals, the quiet click of plastic cases.
In the process, I found myself replaying the early consoles that defined electronic play. Somewhere between startup chimes and pixelated screens, I began to notice something fundamental.</p>
<p>The evolution of game controllers isn’t just a story of technology;<br>
it’s a story about how humans learned to <em>speak</em> to machines.</p>
<hr>
<h3>From Obedience to Expression</h3>
<p>Returning to the <strong>Atari 2600</strong>, I was struck by how much of both hands the controller demanded.
One hand moved the joystick while the other steadied the base and reached for its single button.
The arrangement was direct and physical, but it left little room for actions to overlap.
The player learned the shape of the machine before the machine could disappear into play.</p>
<p>Then came <strong>Gunpei Yokoi’s D-pad</strong> on the <strong>Nintendo Entertainment System (NES)</strong>.<br>
With one thumb handling all directions, the other fingers were freed —<br>
you could move and jump, attack, or use items <em>simultaneously</em>.<br>
What looked like a tiny cross of plastic turned out to be a quiet revolution.</p>
<p>The D-pad did not invent <strong>direction</strong> or <strong>action</strong>, but it separated them with unusual clarity.
That small act of compression created a design space where combinations felt natural:</p>
<ul>
<li>Move + Jump (<em>Super Mario Bros.</em>)</li>
<li>Move + Shoot (<em>Contra</em>)</li>
<li>Navigate Menu + Use Items (<em>The Legend of Zelda</em>)</li>
</ul>
<p>Once movement belonged to one thumb, designers could begin composing around what the rest of the hand was free to do.</p>
<hr>
<h3>The Birth of Combinational Input</h3>
<p>This “<strong>combinational input</strong>” was the seed of modern action-game complexity.<br>
It pushed designers to think not in isolated button presses, but in <strong>relationships</strong> —<br>
between movement and rhythm, physics and timing, systems and feedback.<br>
From this point onward, the controller could recede slightly, leaving more room for timing, combination, and expression.</p>
<p>The contrast is not as simple as one era obeying machines and another escaping them. What Yokoi understood was subtler: the thumb’s motion is compact and almost instinctive, while digital games require discrete, readable signals. The D-pad placed those two facts in the same piece of plastic and let players build a language from the result.</p>
<hr>
<h3>The Interface Becomes Human</h3>
<p>Behind this was a quieter change in <strong>interface philosophy</strong>.
A good controller did not need to announce its cleverness; it could withdraw beneath the hand until intention and action seemed almost continuous. The console remained an electronic box, but the distance between that box and the player’s body had begun to narrow.</p>
<hr>
<h3>A Continuing Evolution</h3>
<p>After the D-pad, the story continued:</p>
<ul>
<li><strong>1996 — N64’s analog stick</strong> enabled continuous 3D motion</li>
<li><strong>1997–98 — DualShock</strong> defined dual-stick precision</li>
<li><strong>2006 — Wii Remote</strong> redefined physical “action”</li>
<li><strong>2017+ — Joy-Con, Adaptive Triggers, touchpads</strong> expanded sensory dimensions</li>
</ul>
<p>Yet all these advances trace back to one simple question:</p>
<blockquote>
<p>“Can players feel freer — using only one thumb?”</p>
</blockquote>
<p>Gunpei Yokoi’s answer was a cross of plastic small enough to disappear beneath the thumb. Its achievement was not that it made the controller expressive on its own, but that it left more of the expression to the player.</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>Game History</category>
            <category>Controller Design</category>
            <category>Human–Machine Interaction</category>
            <category>Nintendo</category>
            <category>Gunpei Yokoi</category>
            <category>Design Philosophy</category>
        </item>
        <item>
            <title><![CDATA[When the Ninth Generation Finally Settled — Why the PlayStation 5 Emerged as the Winner]]></title>
            <link>https://nishikori.dev/posts/ninth-generation</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/ninth-generation</guid>
            <pubDate>Sun, 05 Oct 2025 23:59:00 GMT</pubDate>
            <description><![CDATA[A retrospective on why the PlayStation 5 emerged as the conventional winner of the ninth console generation, while Xbox moved beyond the hardware race and Switch 2 followed a different measure of success.]]></description>
            <content:encoded><![CDATA[<p>::: info</p>
<p>Although I previously categorized the Switch 2 as a tenth-generation console, its lifespan overlaps extensively with the PS5 and Xbox Series era. Its ecosystem remains continuous with the original Switch, and much of its early development pipeline is still tied to Switch 1 practices. For the purposes of this essay, I therefore consider it part of the ninth-generation landscape.</p>
<p>:::</p>
<p>From the end of 2020 to the close of 2025, the contours of this generation gradually became easier to read. Five years exposed the consequences of its hardware compromises and changes in platform strategy. If the old rules of the console race still mean anything — performance, third-party support, flagship software, and a coherent hardware identity — then <strong>the PlayStation 5 is the clearest winner of the generation</strong>. It is not flawless; it is simply the machine that remained closest to those rules.</p>
<p>Xbox Series reoriented itself toward services; Nintendo released a machine that thrives commercially but fails technically as a next-generation device. Against this shifting background, the PS5—despite its own shortcomings—remained the only console still running the “classic” race: performance, third-party alignment, flagship titles, and coherent platform identity.</p>
<hr>
<h2><strong>The Performance Leap: A “Next-Gen” Change Players Could Feel</strong></h2>
<p>The PS5’s success begins with its decisive escape from the PS4’s deepest structural weakness. The PS4 era was shackled by the underpowered Jaguar CPU, which constrained every domain from world density and AI complexity to frame pacing and streaming logic. The PS5’s leap to Zen 2 transforms the entire performance landscape: wide memory bandwidth, a modern GPU pipeline, and a deeply customized SSD architecture elevate everything from asset throughput to open-world traversal.</p>
<p>The Xbox Series X is formidable on paper, but Microsoft’s dual-SKU strategy complicated the story. Supporting the weaker Series S established a lower common baseline, and the Series X’s raw power did not always translate into advantages that players could readily see.</p>
<p>Meanwhile, Nintendo’s Switch 2 offers a spectacular jump relative to its predecessor, but its hybrid design places intrinsic limits on performance in handheld mode. Heat dissipation, power management, and battery constraints collide, preventing its impressive theoretical performance from manifesting consistently in real gameplay.</p>
<p>Of the three, the PS5 offered the clearest version of a generational shift that could be felt not only in specifications, but on screen.</p>
<hr>
<h2><strong>Pricing and Platform Value: Sony’s Commitment to the Classic Console Model</strong></h2>
<p>Sony’s pricing strategy hews closely to the decades-tested logic of the console business: a stable $399/$499 structure, adjusted regionally through promotions rather than fundamental restructuring. This maintains a clear psychological entry point for new players.</p>
<p>Microsoft’s Series X, pushed upward toward 599 USD in certain regions, weakens the value argument it once held. The Series S remains inexpensive, but places visible constraints on the shared platform baseline. At 449 dollars, the Switch 2 occupies a different and sometimes awkward category: priced beyond the usual expectations of a handheld, yet not designed to compete directly with high-end living-room hardware.</p>
<p>In this environment, Sony’s approach—traditional, predictable, and steady—stands in stark contrast to the experimental or compromised strategies of its competitors.</p>
<hr>
<h2><strong>Market Scale: From a Historic Rivalry to an Era of Structural Imbalance</strong></h2>
<p>In the Xbox 360 and PS3 era, the battlefield was tight, messy, and fiercely competitive.<br>
In the ninth generation, the gap is structural.</p>
<p>PS5 maintains a substantial lead over Xbox Series, and the direction of travel shows little sign of reversing. Switch 2, despite a remarkably fast launch, occupies a different category altogether — often a companion to high-performance hardware rather than its direct replacement.</p>
<p>Sony wins this era not through dominance of a crowded field, but through persistence in a field that others abandoned.</p>
<hr>
<h2><strong>Game Output: A Three-Tier Structure That Defines the Generation</strong></h2>
<p>The PS5’s software ecosystem forms a stratified, resilient structure. Technical showcases such as <em>Demon’s Souls</em>, <em>Ratchet &amp; Clank: Rift Apart</em>, and <em>Returnal</em> demonstrate the console’s architectural edge.<br>
Blockbuster centerpieces—<em>Marvel’s Spider-Man 2</em>, <em>God of War Ragnarök</em>, <em>Final Fantasy XVI</em>, <em>Final Fantasy VII Rebirth</em>, <em>Death Stranding 2</em>—consolidate Sony’s long-standing cultural capital.</p>
<p>And in the mid-budget space, where creativity and identity often flourish, the PS5 saw releases such as <em>Ghost of Yōtei</em>, which drew attention through its atmosphere, combat sensibility, and artistic voice. The breadth of this ecosystem became one of Sony’s clearest advantages.</p>
<p>Xbox’s first-party cadence lagged, and once-iconic series like <em>Halo</em> struggled to define themselves in the new era. Nintendo delivered the expected brilliance of its first-party titles, but could not meaningfully expand its third-party presence due to constraints inherent in its hardware.</p>
<hr>
<h2><strong>The Structural Failure of the Nintendo Switch 2: A Commercial Success, but Not a Next-Gen Console</strong></h2>
<p>Switch 2 will surely be commercially successful. It already is. But commercial momentum and hardware success are not synonymous. As a next-generation system, the Switch 2 contains a series of structural flaws—technical, ergonomic, and ecosystem-level—that prevent it from standing on equal footing with the PS5 or even fully expressing its own theoretical capabilities.</p>
<p>Its shortcomings can be understood across three intertwined dimensions: <strong>performance constraints</strong>, <strong>visual presentation limits</strong>, and <strong>ecosystem stagnation</strong>.</p>
<h3><strong>Performance Trap: The Inescapable Triangle of Heat, Power, and Battery Life</strong></h3>
<p>The Switch 2’s hybrid nature forces mutually incompatible requirements onto its architecture.<br>
In handheld mode, heat and battery constraints necessitate aggressive downclocking. In warmer climates, the system may reduce performance to avoid thermal faults. These design realities cripple its ability to deliver stable high-end rendering—even if the underlying silicon is capable of far more.</p>
<p>It is a device with strong theoretical potential but fundamentally constrained real-world performance.<br>
By the very nature of its design, it cannot run in the same race as performance-driven living-room systems.</p>
<h3><strong>Visual Ceiling: A Screen That Cannot Reflect the Console’s Generational Leap</strong></h3>
<p>The Switch 2’s internal performance upgrade is not matched by its display. A screen with limited luminance, modest refresh behavior, and conservative resolution cap prevents the console’s visual advancements from being fully perceived.</p>
<p>The generational leap exists inside the silicon, but not on the surface where players experience it.<br>
This disconnect undercuts the core emotional payoff of a next-gen transition.</p>
<h3><strong>Development Stall: A Next-Gen Console Without Next-Gen Development Cycles</strong></h3>
<p>The most damaging flaw comes from the development environment.<br>
In the crucial early months of the platform’s life, access to Switch 2 dev kits was tightly restricted, forcing many studios to continue building games around Switch 1 baselines. Enhancements for Switch 2 had to be layered via compatibility patches rather than designed into the architecture from the start.</p>
<p>The result was a hesitant next-generation identity during the platform’s formative period. Many developers could not yet redesign world structure, material budgets, or simulation complexity around the new baseline, so players often encountered “upgraded Switch 1” games before distinctly Switch 2 experiences had time to emerge.</p>
<p>Switch 2’s early success therefore says at least as much about Nintendo’s first-party ecosystem and the continuity of the Switch audience as it does about the new hardware itself.</p>
<hr>
<h2><strong>The Xbox Series Dilemma: A Dual-SKU Trap, Ecosystem Drift, and Microsoft’s Strategic Exit</strong></h2>
<p>If the Switch 2’s flaws arise from its hybrid ambition, the Xbox Series falters for entirely different reasons: <strong>product strategy misalignment</strong>, <strong>ecosystem inconsistency</strong>, and <strong>Microsoft’s deliberate pivot away from hardware-centric competition</strong>.</p>
<h3><strong>The Dual-SKU Trap: How Series S Became the Platform’s Lowest Common Denominator</strong></h3>
<p>Launching the Series X and Series S together was meant to widen the market. Instead, it constrained the entire ecosystem.<br>
Microsoft mandates that all Xbox titles must support both machines. But the Series S has significantly less memory, lower GPU bandwidth, and stricter rendering budgets. This low baseline dictates the design of every multiplatform release.</p>
<p>The consequences have become increasingly visible.
<em>Black Myth: Wukong</em> faced severe optimization challenges on Xbox, leading to a delayed release months behind the PS5 and PC versions. Developers of <em>Battlefield 6</em> publicly stated that certain levels crashed entirely on Series S due to memory shortages.</p>
<p>The Series X is powerful—but the Series S becomes its ceiling.</p>
<h3><strong>Development Ecosystem Weakness: A Generation Without Strong Narrative Anchors</strong></h3>
<p>Technical issues compound systemic ones. Microsoft acknowledged performance problems in certain “optimized” titles and worked with partners to address them, revealing the fragility of its optimization pipeline. This stands in sharp contrast to the relative stability of PS5 builds.</p>
<p>First-party output, once the soul of Xbox, lost momentum. <em>Halo</em>, <em>Gears</em>, and <em>Forza</em> no longer anchor the generation the way they did in the past, and new IP struggled to fill the vacuum. Without generational milestones, the Xbox Series never shaped a coherent identity.</p>
<h3><strong>Microsoft’s Strategic Pivot: From Console Competitor to Platform Operator</strong></h3>
<p>The most consequential change to Xbox’s generational position is its own strategic evolution.
Microsoft no longer positions Xbox as a hardware-centric business. Game Pass, xCloud, unified GDK pipelines, and multi-platform releases—even on PlayStation and Switch—signal a future where Xbox is a service, not a console.</p>
<p>This direction is commercially sound but tactically incompatible with “winning a console generation.”<br>
The Xbox Series becomes one of many endpoints, not a flagship device.</p>
<p>Microsoft has not been defeated so much as it has walked off the battlefield.</p>
<hr>
<h2><strong>Conclusion: The Ninth Generation Belongs to the PlayStation 5</strong></h2>
<p>The PlayStation 5 wins not through overwhelming brilliance, but through consistency in an era when its rivals began playing different games. It retained the clearest hardware identity, a unified performance target, strong third-party alignment, and enough significant releases to give the platform a recognizable shape.</p>
<p>Switch 2 may sell in vast numbers, but its success follows a logic different from the old performance race. Xbox Series remains relevant through services, though less clearly as the center of a hardware generation. By the older measure, the PS5 may therefore be the last obvious winner of the classic console contest.</p>
<p>In an industry drifting toward platform agnosticism, cloud integration, and hardware-service hybridization, the PS5 may well be the final console to win a generation in the old sense of the phrase.</p>
<hr>
<h2><strong>Postscript: PS5’s Victory Is Real — but It Is Still a “Tall Dwarf Among Dwarfs”</strong></h2>
<p>Recognizing the PS5 as the generation’s winner does not require viewing it through rose-tinted glass. Its triumph is relative, not absolute.</p>
<p>The console itself carries notable flaws: a bulky chassis defined by thermal constraints, a cooling solution that grows noisy under prolonged load, and a GPU whose ray-tracing capability lags significantly behind contemporary PC standards. Its SSD expansion model, while flexible, lacks the elegant plug-and-play simplicity of cartridge-based ecosystems. And despite Sony’s immense studio power, the first-party pipeline slowed visibly mid-generation due to long development cycles and pandemic-driven delays.</p>
<p>That slowdown was compounded by an early-cycle misread inside Sony. Leadership placed heavy faith in live-service revenue, and even studios known for story-driven work were drawn into ongoing multiplayer projects outside their established strengths. Years of development were absorbed by service roadmaps just as budgets and schedules were already expanding. <em>Concord</em>’s collapse became the most visible sign of this detour: a reminder that directing too many studios toward “forever games” could also deprive PlayStation of the focused releases on which its identity had been built.</p>
<p>The PS5’s system software reflects similar unevenness—rigid UI navigation, limited customization, and a trophy ecosystem that has stagnated. Even PlayStation Plus, despite repeated restructuring, has yet to form a cohesive counterweight to Game Pass.</p>
<p>Sony won this generation because it made fewer strategic errors than its competitors, not because its machine embodies technical or conceptual perfection.<br>
Its victory marks the epilogue of an era—an echo of a time when generations were clearly defined and console wars were fought on familiar terrain.</p>
<p>The PS5 did not stand especially tall; the ground around it sank. That is what makes it, perhaps, the last tall dwarf of the console age.</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>PlayStation</category>
            <category>PS5</category>
            <category>Xbox Series</category>
            <category>Nintendo Switch 2</category>
            <category>Game History</category>
        </item>
        <item>
            <title><![CDATA[The Generations of Home Consoles — From Dedicated Boxes to Switch 2]]></title>
            <link>https://nishikori.dev/posts/the-generations-of-home-consoles-from-dedicated-boxes-to-switch-2</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/the-generations-of-home-consoles-from-dedicated-boxes-to-switch-2</guid>
            <pubDate>Sun, 17 Aug 2025 23:10:00 GMT</pubDate>
            <description><![CDATA[Every console generation is more than a spec sheet. It’s a chain of hardware bets, licensing deals, broken partnerships, and near-misses — from Nintendo’s first dedicated TV boxes to the era of SSDs and Switch 2.]]></description>
            <content:encoded><![CDATA[<p>::: info</p>
<p>This article is a collected edition of the <em>How the Box Decides</em> series.</p>
<ul>
<li><a href="/posts/home-consoles-platforms-cartridges">From Dedicated Boxes to Swappable Software</a></li>
<li><a href="/posts/home-consoles-licensing-16bit">Curation, Characters, and Enhancement Chips</a></li>
<li><a href="/posts/home-consoles-cd-playstation">When CDs Beat Cartridges</a></li>
<li><a href="/posts/home-consoles-appliances-online">DVD Players, Modems, and Hard Drives</a></li>
<li><a href="/posts/home-consoles-hd-to-switch-2">HD, Subscriptions, and Hybrids</a></li>
</ul>
<p>:::</p>
<h2>Introduction: Beyond “8-bit, 16-bit, 4K”</h2>
<p>“Console generations” are usually drawn as a simple staircase of power:<br>
8-bit → 16-bit → 3D → HD → 4K → ray tracing.</p>
<p>Every few months someone declares the war over — most recently, <a href="https://x.com/gamestop/status/1982213786221109263">GameStop’s Oct 25, 2025 statement</a> joked that the console wars started with <em>Halo: Combat Evolved</em> exclusivity and would end once <em>Halo: Campaign Evolved</em> lands on PlayStation in 2026 — yet the debates never quite die.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251109233104145.png" alt="A Statement from GameStop"></p>
<p>In reality, every step hides a much messier layer:</p>
<ul>
<li>media choices — cartridges vs CDs vs DVDs vs SSDs</li>
<li>business friction — Nintendo vs Sony vs Philips vs SEGA vs Microsoft</li>
<li>ecosystem bets — tight control vs open third parties vs subscription services</li>
</ul>
<p>This article follows that history generation by generation, but more importantly, console by console. I linger on the individual machines because each of them altered the path in some particular way.</p>
<hr>
<h2>“Generation 0”: Nintendo’s Dedicated TV Boxes (1977–1980)</h2>
<h3>Color TV-Game Series — Nintendo Before Famicom</h3>
<p>Before the Famicom, Nintendo’s first home consoles were a line of <strong>dedicated machines</strong>: the <strong>Color TV-Game</strong> series.<br>
(Technically these shipped after early first-generation systems like the Magnavox Odyssey; I’m calling them out separately because they were Nintendo’s bridge from toys to fully fledged consoles.)</p>
<p>These were Japan-only boxes sold between 1977 and 1980, with <strong>no interchangeable games</strong>:</p>
<ul>
<li><strong>Color TV-Game 6</strong> and <strong>15</strong> (1977): Pong-style tennis variations with knobs on the console itself. Players turned dials to move paddles while the console drew simple colored blocks on the TV.</li>
<li><strong>Racing 112</strong> (1978): A tiny “cockpit” console with a steering wheel and accelerator, rendering a top-down racing lane with moving obstacles.</li>
<li><strong>Block Kuzushi</strong> (1979): Nintendo’s take on <em>Breakout</em>, with a paddle controller and brick-breaking gameplay baked directly into the hardware.</li>
<li><strong>Computer TV Game</strong> (1980): A dedicated version of Nintendo’s own <em>Computer Othello</em> arcade game, turning your TV into a digital board game surface.</li>
</ul>
<p>::: grid {cols=3,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000634698.jpeg" alt="Color TV-Game 6"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251109233905361.png" alt="Color TV-Game 15"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000442785.jpeg" alt="Racing 112"></p>
<p>:::</p>
<p>These machines sold a few million units in Japan and did one crucial thing:<br>
they taught Nintendo how to design TV-connected electronics, industrial enclosures, controllers, and game logic long before the Famicom ever existed.</p>
<p>They were sealed boxes, but they proved something bigger: there <em>was</em> a home for videogames in the living room.</p>
<hr>
<h2>First Generation: Magnavox Odyssey and the Concept (1972–1975)</h2>
<h3>Magnavox Odyssey — Videogames as Electronic Board Games</h3>
<p>The <strong>Magnavox Odyssey</strong> (1972) is widely recognized as the first commercial home videogame console.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251109234256299.png" alt="Magnavox Odyssey"></p>
<p>Technically, it barely resembles what came later:</p>
<ul>
<li>It used only analog circuitry — no CPU, no RAM.</li>
<li>It output a few movable squares and a line; everything else was imagination.</li>
<li>It shipped with plastic screen overlays, dice, cards, and paper money.</li>
</ul>
<p>You didn’t “buy a game” as software; you got <strong>rule sheets</strong> telling you how to interpret those moving squares as tennis, hockey, or haunted houses.</p>
<p>Odyssey proved the core idea: a TV could be interactive.<br>
Everything after it is refinement.</p>
<hr>
<h2>Second Generation: Cartridges and the Crash (1976–1983)</h2>
<h3>Fairchild Channel F — Swappable Software</h3>
<p>The <strong>Fairchild Channel F</strong> was the first console with <strong>ROM cartridges</strong> you could plug in and out.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251109235110253.png" alt="Fairchild Channel F"></p>
<ul>
<li>Built around a Fairchild F8 CPU, it split games off from the hardware.</li>
<li>Cartridges allowed developers to ship new experiences without changing the console itself.</li>
</ul>
<p>Its library was modest and it lost the commercial race, but it introduced an architecture that every later console inherited:<br>
<strong>a stable hardware base with evolving software on top.</strong></p>
<h3>Atari 2600 — The Rise and the Burnout</h3>
<p>The <strong>Atari 2600</strong> (1977) turned that architecture into a cultural phenomenon.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251109235317341.png" alt="Atari 2600"></p>
<ul>
<li>Hardware: a tiny 8-bit CPU, 128 bytes of RAM, and a video chip that programmers had to “race” line-by-line to draw anything at all.</li>
<li>Library: <em>Space Invaders</em>, <em>Pitfall!</em>, <em>Adventure</em>, early sports games — all crammed into cartridges as small as 2–4 KB.</li>
<li>Business model: anyone could make a cartridge for it.</li>
</ul>
<p>That openness created the <strong>first third-party wave</strong> (Activision comes from ex-Atari developers), but also a flood of low-quality games.<br>
By 1983, the market was overloaded with bad cartridges; retailers dumped stock and pulled back shelf space. The North American videogame crash followed.</p>
<p>Atari 2600 proved two things at once:</p>
<ol>
<li>A home console business could be huge.</li>
<li>Without control over software quality, it could collapse just as fast.</li>
</ol>
<hr>
<h2>Third Generation: Famicom / NES Rebuilds the Market (1983–1989)</h2>
<h3>Nintendo Famicom / NES — Hardware + Licensing</h3>
<p>Nintendo’s <strong>Family Computer (Famicom)</strong> (1983 Japan) and its western cousin <strong>NES</strong> (1985 North America) revived the console market on a very different model.</p>
<p>::: grid {cols=2,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251109235441320.png" alt="Nintendo Famicom"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251109235658992.jpeg" alt="Nintendo Entertainment System"></p>
<p>:::</p>
<ul>
<li>Hardware:
<ul>
<li>8-bit CPU with a custom PPU (Picture Processing Unit) for sprites and smooth scrolling.</li>
<li>Simple but flexible audio with multiple channels for melodies, bass lines, and noise.</li>
</ul>
</li>
<li>Form factor:
<ul>
<li>In Japan, playful red-and-white plastic with hard-wired controllers.</li>
<li>In the US, redesigned as a VCR-like front-loader to distance it from “game console” stigma.</li>
</ul>
</li>
</ul>
<p>The key innovation wasn’t just technical. It was <strong>business</strong>:</p>
<ul>
<li>Nintendo created a strict licensing program.</li>
<li>Every licensed cartridge used a lockout chip and carried the “Seal of Quality”.</li>
<li>Third parties had quotas and contract limits; unlicensed publishers were pushed out.</li>
</ul>
<p>This <strong>tight control</strong> avoided another Atari-style crash and let Nintendo curate a library that still defines the 8-bit era:</p>
<ul>
<li><em>Super Mario Bros.</em> redesigned platforming physics.</li>
<li><em>The Legend of Zelda</em> introduced battery-backed save data on a console cartridge.</li>
<li><em>Metroid</em> and <em>Castlevania</em> experimented with nonlinear world design.</li>
</ul>
<h3>Sega Master System — Technically Strong, Ecologically Weak</h3>
<p><img src="https://img.nishikori.dev/2025/11/20251109235839397.jpeg" alt="Sega Master System"></p>
<p>The <strong>Sega Master System</strong> (based on the Mark III in Japan) often looked better on paper than the NES:</p>
<ul>
<li>It supported more on-screen colors.</li>
<li>Its Z80 CPU was familiar and tried-and-true.</li>
<li>Some ports (e.g. <em>Space Harrier</em>, <em>OutRun</em>) were closer to their arcade originals.</li>
</ul>
<p>But Sega lacked Nintendo’s licensing network, and many third-party publishers were contractually tied to releasing only on Nintendo hardware in certain markets.<br>
Master System thrived more in Europe and Brazil, but in North America it became a niche box — proof that <strong>hardware specs alone cannot win a generation</strong>.</p>
<hr>
<h2>Fourth Generation: 16-bit Wars and Early Optical Experiments (1988–1995)</h2>
<h3>Sega Mega Drive / Genesis — Speed, Attitude, and “What Nintendon’t”</h3>
<p>The <strong>Mega Drive</strong> (Japan) / <strong>Genesis</strong> (North America) pushed Sega into the lead, at least briefly.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251109235928586.jpeg" alt="Sega Mega Drive"></p>
<ul>
<li>Hardware:
<ul>
<li>Motorola 68000 CPU at 7.6 MHz for the main logic.</li>
<li>Z80 coprocessor and an FM synth audio chip (Yamaha YM2612) for arcade-like sound.</li>
</ul>
</li>
<li>Design goal:
<ul>
<li>Fast scrolling, big sprites, and responsive controls — ideal for action and sports.</li>
</ul>
</li>
</ul>
<p>Marketing in the US turned it into the “cool” console:</p>
<ul>
<li>Slogans like “<strong>Genesis does what Nintendon’t</strong>”.</li>
<li>Edgier games (blood in <em>Mortal Kombat</em> with a code, versus censored SNES).</li>
<li>Sonic the Hedgehog as a mascot built on sheer speed.</li>
</ul>
<p>Genesis repositioned consoles from “toys” toward teen culture.</p>
<h3>Super Nintendo (SNES) — Enhancement Chips and RPG Heaven</h3>
<p>Nintendo answered with the <strong>Super Famicom / SNES</strong>.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000217404.jpeg" alt="Super Famicom / Super Nintendo Entertainment System"></p>
<ul>
<li>Hardware:
<ul>
<li>Slower main CPU than Genesis, but a powerful PPU capable of multiple layers and the famous <strong>Mode 7</strong> (affine transform of background planes for pseudo-3D effects).</li>
<li>High-quality sample-based audio through the SPC700 chip.</li>
</ul>
</li>
</ul>
<p>Instead of betting everything on base hardware, Nintendo embraced <strong>enhancement chips on the cartridge</strong>:</p>
<ul>
<li><strong>Super FX</strong> for polygonal 3D in games like <em>Star Fox</em>.</li>
<li>DSP and other coprocessors for fast math, rotation, scaling, and special effects.</li>
</ul>
<p>SNES became the home of lavish 16-bit JRPGs and action adventures:</p>
<ul>
<li><em>Final Fantasy IV/VI</em>, <em>Chrono Trigger</em>, <em>Secret of Mana</em>, <em>A Link to the Past</em>.</li>
<li>Each one pushing story, music, and system design into territory that still feels dense today.</li>
</ul>
<h3>NEC PC Engine / TurboGrafx-16 — Cards and CDs</h3>
<p>NEC’s <strong>PC Engine</strong> (TurboGrafx-16 in the West) chose a different path:</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001014046.jpeg" alt="NEC PC Engine"></p>
<ul>
<li>Games came on slim <strong>HuCards</strong> (credit-card-sized cartridges).</li>
<li>An optional CD-ROM add-on brought CD audio and large storage to the living room earlier than most rivals.</li>
</ul>
<p>It shined especially in Japan with shooters and action games, and showed how optical media could power animated cutscenes and CD music even on modest hardware.</p>
<h3>Neo Geo AES — The Luxury Arcade in a Box</h3>
<p>SNK’s <strong>Neo Geo AES</strong> was effectively an arcade board repackaged for home.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001056595.jpeg" alt="SNK Neo Geo AES"></p>
<ul>
<li>It used the same architecture as the Neo Geo MVS arcade system.</li>
<li>Cartridges were huge and expensive; individual games could cost more than entire competing consoles.</li>
</ul>
<p>Owning a Neo Geo meant having nearly pixel-perfect versions of <em>Metal Slug</em>, <em>King of Fighters</em>, and <em>Samurai Shodown</em> at home — if you could afford it.<br>
It demonstrated a different fantasy: <strong>no compromises, just pay whatever it costs.</strong></p>
<hr>
<h2>Fifth Generation: 3D, Broken Deals, and the Cartridge/CD Split (1994–2000)</h2>
<h3>The Broken SNES CD-ROM Partnership</h3>
<p>Late in the SNES era, Nintendo and Sony worked together on a <strong>SNES CD-ROM</strong> add-on, code-named “Play Station”.</p>
<ul>
<li>The contract reportedly gave Sony unusually strong control over the CD format and its licensing.</li>
<li>Nintendo feared losing control of its software revenue.</li>
</ul>
<p>In a now-famous move, Nintendo publicly announced at a trade show that it would instead partner with <strong>Philips</strong> on CD technology — right after Sony had presented the joint project.</p>
<p>Consequence:</p>
<ul>
<li>Sony continued development internally, turning the project into a standalone console: <strong>PlayStation</strong>.</li>
<li>Philips received limited rights to use Nintendo characters, which eventually birthed the infamous low-budget <em>Zelda</em> and <em>Mario</em> games on <strong>CD-i</strong>.</li>
<li>Nintendo cancelled the SNES CD path altogether.</li>
</ul>
<p>Nintendo’s attempt to protect its licensing power accidentally created its next major competitor.</p>
<h3>Sony PlayStation — Cheap CD Hardware, Friendly to Third Parties</h3>
<p>The <strong>PlayStation</strong> launched in 1994 (Japan) and 1995 (US/EU).</p>
<p>::: grid {cols=2,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001219248.jpeg" alt="PlayStation"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001235555.jpeg" alt="PS One"></p>
<p>:::</p>
<ul>
<li>Hardware:
<ul>
<li>32-bit R3000 class CPU built for 3D math.</li>
<li>Affine-textured polygons with no hardware perspective correction — visually wobbly but very fast for the era.</li>
<li>Simple, effective audio for streamed CD music and sound effects.</li>
</ul>
</li>
<li>Media:
<ul>
<li><strong>CD-ROM</strong> with ~650–700 MB capacity per disc, dirt-cheap to manufacture compared to cartridges.</li>
</ul>
</li>
<li>Business:
<ul>
<li>Licensing terms and dev tools were much friendlier than Nintendo’s.</li>
<li>Sony’s experience in music and movies gave it a distribution edge.</li>
</ul>
</li>
</ul>
<p>Third-party publishers flocked to PlayStation, especially those who wanted cinematic production values: pre-rendered backgrounds, FMV cutscenes, full voice tracks.</p>
<h3>Nintendo 64 — Fast Cartridges, Slow Ecosystem</h3>
<p><img src="https://img.nishikori.dev/2025/11/20251110000232401.jpeg" alt="Nintendo 64"></p>
<p>The <strong>Nintendo 64</strong> answered with powerful 3D hardware:</p>
<ul>
<li>64-bit CPU, a capable GPU, advanced anti-aliasing and texture filtering for its time.</li>
<li>Four controller ports built in, encouraging local multiplayer.</li>
</ul>
<p>But Nintendo chose to stick with <strong>ROM cartridges</strong>:</p>
<ul>
<li><strong>Pros</strong>: instant loading, robust physical media, better control over piracy and distribution.</li>
<li><strong>Cons</strong>: high manufacturing cost per unit, much smaller storage than CDs, logistics risk for publishers.</li>
</ul>
<p>As a result:</p>
<ul>
<li>Many third-party publishers were wary of tying up capital in expensive carts.</li>
<li>FMV and voiced dialogue were constrained by capacity.</li>
<li>Big cinematic projects gravitated toward PlayStation instead.</li>
</ul>
<p>N64 still produced landmark design work — <em>Super Mario 64</em>, <em>Ocarina of Time</em>, <em>GoldenEye 007</em> — but commercially, it ceded the mass-market lead to Sony.</p>
<h3>iQue Player — A Late N64 for Mainland China</h3>
<p><img src="https://img.nishikori.dev/2025/11/20251110000259436.jpeg" alt="iQue Player"></p>
<p>With traditional consoles effectively banned in mainland China during the late ’90s and early ’00s, Nintendo partnered with local firm iQue (founded by Dr. Wei Yen) to release the <strong>iQue Player</strong> in 2003.<br>
The device squeezed N64 silicon into a controller-sized shell that plugged directly into a TV and drew games from flash memory.</p>
<ul>
<li>Titles were purchased via kiosk downloads in Chinese shopping malls, avoiding boxed media and helping Nintendo satisfy local regulations.</li>
<li>The library leaned on N64 classics such as <em>Super Mario 64</em>, <em>Ocarina of Time</em>, and <em>Star Fox 64</em>, all localized into simplified Chinese for the first time.</li>
<li>Save data lived inside the controller and could be backed up to memory cards, a nod to the system’s kiosk-driven software flow.</li>
</ul>
<p>iQue Player arrived years after the N64’s global run, but it highlighted how hardware makers contorted their designs to reach huge but restricted markets — a reminder that “generation” boundaries look very different outside North America and Japan.</p>
<h3>Why Final Fantasy VII Left Nintendo</h3>
<p>Square had a long history with Nintendo. But when it came to <strong>Final Fantasy VII</strong>, they jumped.</p>
<ul>
<li>Nintendo 64 cartridges topped out around 64 MB for commercial releases.</li>
<li>A single FFVII disc on PS1 held around 700 MB, and the game shipped on <strong>three discs</strong>.</li>
<li>Most of that space went to CG cinematics and audio — exactly the things Square wanted to lean on for a more cinematic FF.</li>
</ul>
<p>Square’s leadership has since been explicit: the choice of PlayStation was driven by <strong>CD-ROM capacity and flexibility</strong>, not just raw polygon power.<br>
On N64, FFVII would have required heavy cuts to the cinematic content; on PS1, it could be the sprawling CG-driven RPG they envisioned.</p>
<p>This one decision symbolized a broader migration:<br>
RPGs and many narrative-heavy games followed the storage.</p>
<h3>Sega Saturn — 2D Power, 3D Confusion</h3>
<p><img src="https://img.nishikori.dev/2025/11/20251110000014395.jpeg" alt="Sega Saturn"></p>
<p>The <strong>Saturn</strong> was Sega’s 32-bit machine:</p>
<ul>
<li>Architected around dual CPUs and multiple coprocessors.</li>
<li>Exceptionally strong at 2D sprite handling and certain 3D workloads.</li>
</ul>
<p>But:</p>
<ul>
<li>The multi-CPU design was hard to optimize for; dev tools lagged.</li>
<li>Sega’s prior missteps with add-ons (Mega-CD, 32X) had already shaken retailer confidence.</li>
<li>The surprise early launch in North America angered some retail partners.</li>
</ul>
<p>Saturn found a loyal niche (especially in Japan), but could not match PlayStation’s momentum or library breadth.</p>
<h3>Victor V-Saturn — Licensed Twin with Cosmetic Flair</h3>
<p>To widen retail reach inside Japan, Sega licensed the Saturn hardware to major electronics partners. Victor (JVC) shipped the <strong>V-Saturn</strong> line in 1995 under model numbers <strong>RG-JX1</strong> and later <strong>RG-JX2</strong>.</p>
<ul>
<li>Internally, these machines mirrored Sega’s revisions; the differences were aesthetic and branding focused.</li>
<li>A darker chassis, Victor logos, and bespoke boot animations gave the console a hi-fi vibe, and some bundles included Victor-branded controllers.</li>
<li>Because the BIOS tweaks were cosmetic, V-Saturn supported the full Saturn software library and peripherals with no compatibility caveats.</li>
</ul>
<p>Collectors chase the V-Saturn today not for new capabilities, but because it captures the brief moment when Sega tried letting trusted manufacturing partners sell “clone” hardware to keep momentum in its home market.</p>
<h3>Philips CD-i — Licensed Characters, No Real Direction</h3>
<p>The <strong>CD-i</strong> wasn’t a traditional console; Philips marketed it as a “multimedia player”.</p>
<p>:::grid {cols=2,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110002134887.jpeg" alt="Philips CD-i 210"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110002134887.jpeg" alt="Philips CD-i 450"></p>
<p>:::</p>
<ul>
<li>Its hardware targeted video and simple interactivity for educational titles.</li>
<li>As part of its deal with Nintendo, Philips published a handful of officially licensed <em>Zelda</em> and <em>Mario</em> games.</li>
</ul>
<p>Those games were notorious — clunky controls, awkward animation, minimal oversight from Nintendo.<br>
CD-i showed that <strong>IP licensing without platform focus</strong> doesn’t create a successful console.</p>
<hr>
<h2>Sixth Generation: PS2 Peak, Dreamcast Exit, Xbox Arrives (1998–2013)</h2>
<h3>Sega Dreamcast — First Out, First to Fall</h3>
<p>The <strong>Dreamcast</strong> launched in 1998 (JP) / 1999 (NA/EU).</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000107646.jpeg" alt="Sega Dreamcast"></p>
<ul>
<li>Hardware:
<ul>
<li>Hitachi SH-4 CPU and a PowerVR2 GPU, making it very efficient at 3D rendering.</li>
<li>Visual quality close to contemporary arcade boards.</li>
</ul>
</li>
<li>Media &amp; Online:
<ul>
<li>Proprietary GD-ROM discs (~1 GB).</li>
<li>Built-in modem for dial-up online play; <em>Phantasy Star Online</em> became one of the first console online RPGs.</li>
<li>Early experiments with downloadable content.</li>
</ul>
</li>
</ul>
<p>Dreamcast felt like a machine from the future, but Sega was weakened financially, and the looming PS2 hype (plus rampant piracy later) squeezed it out.</p>
<p>In 2001, Sega discontinued Dreamcast and exited the console hardware business, pivoting to third-party publishing.</p>
<h3>Sony PlayStation 2 — DVD Player of the World</h3>
<p>The <strong>PS2</strong> (2000) is often called the most successful console ever for a reason:</p>
<p>:::grid {cols=2,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110002308298.jpeg" alt="Playstation 2"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001247844.jpeg" alt="Playstation 2 Slim"></p>
<p>:::</p>
<ul>
<li>It played PS2 games, <strong>PS1 games</strong>, and <strong>DVD movies</strong> out of the box.</li>
<li>For many households, it was the first affordable DVD player.</li>
<li>It built on the existing PlayStation developer community and third-party relationships.</li>
</ul>
<p>Technically, the “Emotion Engine” CPU and GS GPU were quirky but powerful in the right hands.<br>
Commercially, the combination of backward compatibility, huge library, and media playback made PS2 the obvious default choice for an entire generation.</p>
<h3>PSX — DVR Ambition Built on PS2 Silicon</h3>
<p><img src="https://img.nishikori.dev/2025/11/20251110001347558.jpeg" alt="PSX"></p>
<p>In 2003 Sony tried to fuse home video recording with the PlayStation brand via the Japan-only <strong>PSX</strong> (models DESR-5000/7000 and later revisions).</p>
<ul>
<li>Under the hood it was effectively a PlayStation 2 motherboard paired with large hard drives, analog TV tuners, and DVD burning for archiving shows.</li>
<li>The machine debuted the <strong>XrossMediaBar</strong> interface that later appeared on PSP and PS3, along with features like Memory Stick slots and in-home video editing.</li>
<li>High launch prices (¥79,800 and up), sluggish firmware updates, and the rise of cheaper DVRs kept sales modest, and Sony never exported it beyond Japan.</li>
</ul>
<p>PSX foreshadowed the “all-in-one living-room hub” pitch that would resurface in later generations, even if the hardware itself became a niche collector piece.</p>
<h3>Nintendo GameCube — Compact, Efficient, and Overshadowed</h3>
<p>The <strong>GameCube</strong> (2001) was Nintendo’s small cube with a comfort-focused controller.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000245662.jpeg" alt="Nintendo GameCube"></p>
<ul>
<li>Hardware:
<ul>
<li>IBM “Gekko” CPU and ATI “Flipper” GPU — straightforward, potent hardware for the time.</li>
<li>Mini-DVD discs (1.5 GB) that balanced capacity, load times, and piracy resistance.</li>
</ul>
</li>
<li>Strengths:
<ul>
<li>Very strong first-party titles: <em>Metroid Prime</em>, <em>Super Smash Bros. Melee</em>, <em>Wind Waker</em>, <em>F-Zero GX</em>.</li>
<li>Excellent analog triggers and ergonomics on the controller.</li>
</ul>
</li>
</ul>
<p>Yet in the marketplace, it struggled against PS2’s overwhelming momentum and the allure of DVD playback.<br>
GameCube felt like “the enthusiast’s second console” more than the primary system.</p>
<h3>Panasonic Q — GameCube Meets Living-Room AV</h3>
<p>Nintendo licensed the GameCube hardware to Panasonic (then still Matsushita) for the Japan-only <strong>Panasonic Q</strong> (2001).</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001525055.jpeg" alt="Panasonic Q"></p>
<ul>
<li>It packed standard GameCube guts inside a brushed-metal chassis with mirrored front panel, adding <strong>DVD-Video playback</strong> and beefier home-theater audio outputs.</li>
<li>A backlit front display, bundled remote, and multi-region capabilities positioned it as a premium AV component rather than a toy-like cube.</li>
<li>Pricing landed around ¥39,800—more than double a regular GameCube—which, combined with its Japan-only release, kept sales niche.</li>
</ul>
<p>Panasonic Q showed Nintendo experimenting with partnerships to answer the DVD feature gap without redesigning the core console, but the cost premium proved that style and functionality alone can’t overcome market momentum.</p>
<h3>Microsoft Xbox — A PC in Console Clothing</h3>
<p><img src="https://img.nishikori.dev/2025/11/20251110002732510.jpeg" alt="Microsoft Xbox"></p>
<p>The original <strong>Xbox</strong> (2001) was a direct incursion from Microsoft:</p>
<ul>
<li>x86 CPU, NVIDIA GPU, and an internal hard drive.</li>
<li>Built to look and feel like a console but think like a PC.</li>
</ul>
<p>Its most important contribution was <strong>Xbox Live</strong>:</p>
<ul>
<li>Unified online service, friends list, voice chat, digital content.</li>
<li><em>Halo</em> turned into the definitive console FPS experience.</li>
</ul>
<p>Xbox didn’t win the generation in raw sales, but it defined a <strong>networked services model</strong> that everyone else would eventually follow.</p>
<hr>
<h2>Seventh Generation: HD, Motion Controls, and Early “Games as Services” (2005–2017)</h2>
<h3>Xbox 360 — Fast Start, Red Ring</h3>
<p>The <strong>Xbox 360</strong> (2005) hit first in the HD race.</p>
<p>:::grid {cols=3,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110002745627.jpeg" alt="Xbox 360"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110002756734.jpeg" alt="Xbox 360 Slim (S)"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110002806539.jpeg" alt="Xbox 360 SuperSlim (E)"></p>
<p>:::</p>
<ul>
<li>Strong GPU and flexible architecture made it easy to target.</li>
<li>Standardized achievements and a robust Xbox Live experience shaped the modern notion of a console account ecosystem.</li>
<li>Many cross-platform games ran best or first on 360 in the early years.</li>
</ul>
<p>Its weakness was hardware reliability: early models notoriously suffered from the “Red Ring of Death”.<br>
Microsoft’s extended warranty and repair program was costly, but preserved user trust enough to keep 360 competitive for the generation’s entire span.</p>
<h3>PlayStation 3 — Complex Silicon, Slow Burn</h3>
<p>The <strong>PS3</strong> (2006) aimed high:</p>
<p>:::grid {cols=3,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001258970.jpeg" alt="Playstation 3"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001311189.jpeg" alt="Playstation 3 Slim"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001331859.jpeg" alt="Playstation 3 Superslim"></p>
<p>:::</p>
<ul>
<li>The <strong>Cell</strong> processor was exotic and powerful, but notoriously hard to exploit fully.</li>
<li>Blu-ray drive expanded disc capacity and helped win the HD optical media war.</li>
</ul>
<p>At launch, PS3 was:</p>
<ul>
<li>Expensive.</li>
<li>Short on must-have exclusives.</li>
<li>Burdened with a developer-unfriendly reputation.</li>
</ul>
<p>Over time, revised hardware, lower prices, and strong first-party titles — <em>Uncharted</em>, <em>Killzone 2</em>, <em>The Last of Us</em> — turned it around.</p>
<p>A curious side note:<br>
due to a patent dispute with Immersion, the PS3 launched with <strong>SIXAXIS controllers</strong> that <strong>lacked rumble</strong>, at the exact moment when HD graphics made rumble <em>more</em> impactful.<br>
Only after settling did Sony ship the <strong>DualShock 3</strong>, restoring vibration alongside motion sensing.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251108212225527.jpeg" alt="SIXAXIS controller"></p>
<h3>Nintendo Wii — Opting Out of the Power Race</h3>
<p>The <strong>Wii</strong> (2006) used hardware derived from GameCube, significantly weaker than 360 and PS3.<br>
It didn’t matter.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000312113.jpeg" alt="Nintendo Wii"></p>
<ul>
<li>The Wii Remote’s <strong>motion controls</strong> invited non-gamers into the experience.</li>
<li><em>Wii Sports</em> and <em>Wii Fit</em> turned the console into a living-room fitness and party machine.</li>
<li>It became a phenomenon at family gatherings, rehab centers, and retirement homes.</li>
</ul>
<p>Wii sold over 100 million units, but its modest power and SD output meant it could not sustain the same third-party HD pipeline as 360/PS3.<br>
Still, it proved decisively that <strong>“different” can beat “more powerful”</strong>.</p>
<hr>
<h2>Eighth Generation: HD Course Corrections Before the SSD Era (2012–2017)</h2>
<h3>Wii U — The Misunderstood Bridge</h3>
<p>The <strong>Wii U</strong> (2012) tried to build on the Wii’s user base with a GamePad featuring a built-in screen.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000326085.jpeg" alt="Nintendo Wii U"></p>
<p>In theory:</p>
<ul>
<li>It could act as an asymmetric second screen in games.</li>
<li>It enabled off-TV play in some titles.</li>
</ul>
<p>In practice:</p>
<ul>
<li>The branding was confusing — many consumers thought it was just an add-on for Wii.</li>
<li>Third-party support was weak, and the hardware was a half-step below PS4/Xbox One.</li>
</ul>
<p>Wii U underperformed badly, but its experiments with hybrid play laid conceptual groundwork for the Switch.</p>
<h3>PlayStation 4 — Back to Basics, and It Worked</h3>
<p>The <strong>PS4</strong> (2013) was Sony’s course correction.</p>
<p>:::grid {cols=3,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001400245.jpeg" alt="Playstation 4"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001411955.jpeg" alt="Playstation 4 Pro"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001422979.jpeg" alt="Playstation 4 Slim"></p>
<p>:::</p>
<ul>
<li>Architecturally, it was a PC-like x86-64 APU with a straightforward GPU and fast unified GDDR5 memory.</li>
<li>Marketing messaged a focus on “for the players”, not as an all-purpose media device.</li>
</ul>
<p>Developers found it easy to work with, and players got:</p>
<ul>
<li>A strong lineup of exclusives.</li>
<li>Solid third-party performance.</li>
<li>Reasonable pricing.</li>
</ul>
<p>PS4 became the default console for many players worldwide and a central pillar for AAA and indie alike.</p>
<h3>Xbox One — TV First, Games Second (Then Back Again)</h3>
<p>:::grid {cols=3,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110002816276.jpeg" alt="Xbox One"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110002825142.jpeg" alt="Xbox One S"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110002856689.jpeg" alt="Xbox One S All Digital Edition"></p>
<p>:::</p>
<p>The <strong>Xbox One</strong> (2013) initially chased an all-in-one living-room vision:</p>
<ul>
<li>Heavy integration with live TV.</li>
<li>Mandatory Kinect bundling.</li>
<li>Announced restrictions on used games and online authentication.</li>
</ul>
<p>The response was negative enough that Microsoft rolled back key policies before launch and eventually dropped Kinect as mandatory.</p>
<p>Over the generation, Xbox pivoted to:</p>
<ul>
<li>Aggressive backward compatibility for older Xbox titles.</li>
<li><strong>Xbox Game Pass</strong>, a subscription service offering a rotating catalog of games for a flat fee.</li>
</ul>
<p>By the end of the generation, Xbox’s identity had shifted from individual console sales to <strong>service-centric engagement</strong>.</p>
<p>This generation set the table for the solid-state era: Sony and Microsoft concentrated on HD performance and developer goodwill, while Nintendo’s half-step experiments exposed the appetite for hybrid play that would define the next wave.</p>
<hr>
<h2>Ninth Generation: Hybrid Becomes Mainstream + SSD Leap (2017–2025)</h2>
<p>Analysts and tech outlets such as Tom’s Guide and Pocket-lint (as summarized on Wikipedia’s ninth-generation overview) have noted that the <strong>Nintendo Switch</strong> competes directly with PS5 and Xbox Series despite arriving earlier and using weaker silicon. Following that research, this article treats 2017’s Switch launch as the opening shot of the ninth generation, with Sony and Microsoft’s 2020 hardware doubling down on SSD-first design philosophy.</p>
<h3>Nintendo Switch — Hybrid Done Right</h3>
<p>The <strong>Nintendo Switch</strong> (2017) solved the “what is this thing?” problem that Wii U had failed to address.</p>
<p>:::grid {cols=3,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000346571.jpeg" alt="Nintendo Switch"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000357465.jpeg" alt="Nintendo Switch Lite"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000409350.jpeg" alt="Nintendo Switch Oled"></p>
<p>:::</p>
<ul>
<li>A tablet-like main unit with detachable Joy-Con controllers.</li>
<li>Dock mode for TV play, handheld mode for portable play, tabletop mode for quick multiplayer.</li>
<li>Modest Tegra-based hardware that prioritized efficiency over raw power.</li>
</ul>
<p>With <em>The Legend of Zelda: Breath of the Wild</em> as a launch title and <em>Super Mario Odyssey</em> following shortly, Switch proved you could:</p>
<ul>
<li>Have big, open-world experiences both on TV and on the go.</li>
<li>Accept weaker specs in exchange for <strong>flexibility and first-party strength</strong>.</li>
</ul>
<p>Switch blurred the lines between home console and handheld in a way that stuck, and its 2021 OLED refresh kept it in conversation with PS5 and Series consoles throughout their shortage-plagued first years.</p>
<h3>PlayStation 5 — I/O as a Design Constraint</h3>
<p><img src="https://img.nishikori.dev/2025/11/20251110001435907.jpeg" alt="PlayStation 5"></p>
<p>The <strong>PS5</strong> (2020) reoriented console design around <strong>storage bandwidth</strong> as much as compute:</p>
<ul>
<li>A custom NVMe SSD and demarcated I/O pipeline drastically cut load times.</li>
<li>Developers could treat streaming as a constant flow rather than a stuttering bottleneck.</li>
<li>Hardware ray tracing and up to 4K/120 Hz output supported high-end visual targets.</li>
</ul>
<p>It also introduced the <strong>DualSense</strong> controller:</p>
<ul>
<li>Adaptive triggers that change resistance dynamically (bow tension, gun triggers).</li>
<li>High-resolution haptics that can simulate texture and rhythm more precisely than older rumble motors.</li>
</ul>
<p>PS5 stayed with the PS4’s general philosophy — powerful but developer-friendly hardware, strong exclusives, and large third-party support — but removed “waiting” as a core part of the experience.</p>
<h3>Xbox Series X|S — Hardware Pair + Service First</h3>
<p><img src="https://img.nishikori.dev/2025/11/20251110002910680.jpeg" alt="Xbox Series X"></p>
<p>The <strong>Xbox Series X</strong> and <strong>Series S</strong> (2020) doubled down on Microsoft’s ecosystem strategy.</p>
<ul>
<li>Series X: high-end 4K-focused box.</li>
<li>Series S: cheaper, digital-only 1440p-class machine.</li>
</ul>
<p>Common threads:</p>
<ul>
<li>Extensive backward compatibility, often with auto-enhancements.</li>
<li>Tight integration with <strong>Game Pass</strong>, positioning the console as the easiest way to access a large game library rather than as a standalone silo.</li>
</ul>
<p>In this model, your <strong>Xbox account and subscription</strong> matter more than the specific console model you own.</p>
<hr>
<h2>Tenth Generation: Switch 2 Opens the Post-Hybrid Decade (2025– )</h2>
<h3>Nintendo Switch 2 — Fastest Start in Console History</h3>
<p>The <strong>Nintendo Switch 2</strong> launched on June 5, 2025, as the successor to the original Switch.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110003806491.png" alt="Nintendo Switch 2"></p>
<p>Core ideas:</p>
<ul>
<li>It keeps the <strong>hybrid form factor</strong>: handheld unit plus dock for TV output.</li>
<li>Hardware is significantly more capable, allowing higher resolutions and smoother performance while staying portable.</li>
<li>Nintendo positions it as a continuation, not a reboot — your understanding of “a Switch” still applies.</li>
</ul>
<p>Commercially, its opening was explosive:</p>
<ul>
<li>Over <strong>3.5 million units</strong> sold worldwide in the first four days.</li>
<li>The fastest-selling Nintendo hardware launch ever.</li>
<li>Analysts and multiple outlets have described it as the fastest-selling console launch in industry history, beating even PS4 and PS5’s comparable early milestones.</li>
</ul>
<p>Switch 2 didn’t join a traditional power race with PS5 and Series X/S.<br>
Instead, it extended the same trade-off Nintendo has favored since Wii:</p>
<ul>
<li>Accept lower peak specs.</li>
<li>Push on <strong>form factor, accessibility, and first-party software</strong>.</li>
<li>Let the other two fight over teraflops — just now from a clean, next-generation slate.</li>
</ul>
<hr>
<h2>Closing: What Generations Were Really About</h2>
<p>If you connect all these machines, you don’t just get a power curve. You get a chain of decisions:</p>
<ul>
<li>Atari 2600 showed what happens when you open a platform fully and never say “no”.</li>
<li>Famicom/NES showed that tight licensing and curation could rebuild a broken market.</li>
<li>Nintendo’s attempt to preserve control over SNES CD deals essentially created PlayStation as a rival.</li>
<li>Sticking with cartridges on N64 protected margins but cost them Square and a generation of cinematic RPGs.</li>
<li>Sega’s repeated hardware pivots, culminating in Saturn and Dreamcast, exhausted both finances and trust.</li>
<li>Microsoft reframed consoles as <strong>networked services</strong>, culminating in Game Pass and deep backward compatibility.</li>
<li>Sony rode optical media, then HD, then SSD-driven design, staying focused on developer support and single-player epics.</li>
<li>Nintendo stepped sideways: from dedicated TV boxes to Famicom, from Wii’s motion controls to the hybrid Switch and Switch 2.</li>
</ul>
<p>You can read console generations as an arms race in CPU and GPU numbers.<br>
Or you can read them as a long series of answers to a quieter question:</p>
<blockquote>
<p>What do we want “playing at home” to feel like —<br>
a locked box, a media center, a subscription, a portable window, or something in between?</p>
</blockquote>
<p>The hardware keeps changing.<br>
The arguments — about media formats, control, ecosystems, and who gets paid — never really stopped.<br>
Every time you pick up a controller today, you’re feeling the outcome of fifty years of those arguments, condensed into a single plastic shell and a startup chime.</p>
<h3>Further Reading</h3>
<ul>
<li><a href="https://consollection.de">Consollection.de</a> — A multilingual catalog that documents console hardware variants, prototypes, and accessories.</li>
<li><a href="https://www.museumofplay.org/about/icheg/video-game-history/timeline">The Strong Museum timeline</a> — A succinct timeline of landmark home systems across five decades.</li>
<li><a href="https://www.retrorgb.com/">RetroRGB</a> — Hardware repair, video-output mods, and preservation tips for dozens of platforms.</li>
<li><a href="https://wiki.console5.com/wiki/">Console5 Wiki</a> — Schematics, capacitor lists, and repair guides for classic consoles from Atari through Sega and beyond.</li>
</ul>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>How the Box Decides</category>
            <category>Game History</category>
            <category>Console Wars</category>
            <category>Nintendo</category>
            <category>PlayStation</category>
            <category>SEGA</category>
            <category>Xbox</category>
            <category>Switch 2</category>
        </item>
        <item>
            <title><![CDATA[HD, Subscriptions, and Hybrids — From the 360 Era to Switch 2]]></title>
            <link>https://nishikori.dev/posts/home-consoles-hd-to-switch-2</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/home-consoles-hd-to-switch-2</guid>
            <pubDate>Sat, 16 Aug 2025 23:20:00 GMT</pubDate>
            <description><![CDATA[HD as default, motion controls, subscriptions, SSD-first design, and the hybrid decade that leads into Switch 2.]]></description>
            <content:encoded><![CDATA[<p>HD wasn’t just a resolution jump. It forced consoles to become persistent platforms:</p>
<ul>
<li>accounts and storefronts</li>
<li>patches and DLC</li>
<li>online identity and social layers</li>
<li>long-tail monetization and subscriptions</li>
</ul>
<p>At the same time, Nintendo proved (again and again) that the winning move isn’t always to fight the same war.</p>
<hr>
<h2>HD Becomes the Default (and Reliability Matters)</h2>
<h3>Xbox 360 — Fast Start, Red Ring</h3>
<p>The <strong>Xbox 360</strong> (2005) hit first in the HD race.</p>
<p>:::grid {cols=3,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110002745627.jpeg" alt="Xbox 360"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110002756734.jpeg" alt="Xbox 360 Slim (S)"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110002806539.jpeg" alt="Xbox 360 SuperSlim (E)"></p>
<p>:::</p>
<ul>
<li>Strong GPU and flexible architecture made it easy to target.</li>
<li>Standardized achievements and a robust Xbox Live experience shaped the modern notion of a console account ecosystem.</li>
<li>Many cross-platform games ran best or first on 360 in the early years.</li>
</ul>
<p>Its weakness was hardware reliability: early models notoriously suffered from the “Red Ring of Death”.<br>
Microsoft’s extended warranty and repair program was costly, but preserved user trust enough to keep 360 competitive for the generation’s entire span.</p>
<h3>PlayStation 3 — Complex Silicon, Slow Burn</h3>
<p>The <strong>PS3</strong> (2006) aimed high:</p>
<p>:::grid {cols=3,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001258970.jpeg" alt="Playstation 3"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001311189.jpeg" alt="Playstation 3 Slim"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001331859.jpeg" alt="Playstation 3 Superslim"></p>
<p>:::</p>
<ul>
<li>The <strong>Cell</strong> processor was exotic and powerful, but notoriously hard to exploit fully.</li>
<li>Blu-ray drive expanded disc capacity and helped win the HD optical media war.</li>
</ul>
<p>At launch, PS3 was:</p>
<ul>
<li>Expensive.</li>
<li>Short on must-have exclusives.</li>
<li>Burdened with a developer-unfriendly reputation.</li>
</ul>
<p>Over time, revised hardware, lower prices, and strong first-party titles — <em>Uncharted</em>, <em>Killzone 2</em>, <em>The Last of Us</em> — turned it around.</p>
<p>A curious side note:<br>
due to a patent dispute with Immersion, the PS3 launched with <strong>SIXAXIS controllers</strong> that <strong>lacked rumble</strong>, at the exact moment when HD graphics made rumble <em>more</em> impactful.<br>
Only after settling did Sony ship the <strong>DualShock 3</strong>, restoring vibration alongside motion sensing.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251108212225527.jpeg" alt="SIXAXIS controller"></p>
<hr>
<h2>When “Different” Beats “More Powerful”</h2>
<h3>Nintendo Wii — Opting Out of the Power Race</h3>
<p>The <strong>Wii</strong> (2006) used hardware derived from GameCube, significantly weaker than 360 and PS3.<br>
It didn’t matter.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000312113.jpeg" alt="Nintendo Wii"></p>
<ul>
<li>The Wii Remote’s <strong>motion controls</strong> invited non-gamers into the experience.</li>
<li><em>Wii Sports</em> and <em>Wii Fit</em> turned the console into a living-room fitness and party machine.</li>
<li>It became a phenomenon at family gatherings, rehab centers, and retirement homes.</li>
</ul>
<p>Wii sold over 100 million units, but its modest power and SD output meant it could not sustain the same third-party HD pipeline as 360/PS3.<br>
Still, it proved decisively that <strong>“different” can beat “more powerful”</strong>.</p>
<hr>
<h2>Course Corrections, Digital Stores, and Subscriptions</h2>
<h3>Wii U — The Misunderstood Bridge</h3>
<p>The <strong>Wii U</strong> (2012) tried to build on the Wii’s user base with a GamePad featuring a built-in screen.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000326085.jpeg" alt="Nintendo Wii U"></p>
<p>In theory:</p>
<ul>
<li>It could act as an asymmetric second screen in games.</li>
<li>It enabled off-TV play in some titles.</li>
</ul>
<p>In practice:</p>
<ul>
<li>The branding was confusing — many consumers thought it was just an add-on for Wii.</li>
<li>Third-party support was weak, and the hardware was a half-step below PS4/Xbox One.</li>
</ul>
<p>Wii U underperformed badly, but its experiments with hybrid play laid conceptual groundwork for the Switch.</p>
<h3>PlayStation 4 — Back to Basics, and It Worked</h3>
<p>The <strong>PS4</strong> (2013) was Sony’s course correction.</p>
<p>:::grid {cols=3,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001400245.jpeg" alt="Playstation 4"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001411955.jpeg" alt="Playstation 4 Pro"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001422979.jpeg" alt="Playstation 4 Slim"></p>
<p>:::</p>
<ul>
<li>Architecturally, it was a PC-like x86-64 APU with a straightforward GPU and fast unified GDDR5 memory.</li>
<li>Marketing messaged a focus on “for the players”, not as an all-purpose media device.</li>
</ul>
<p>Developers found it easy to work with, and players got:</p>
<ul>
<li>A strong lineup of exclusives.</li>
<li>Solid third-party performance.</li>
<li>Reasonable pricing.</li>
</ul>
<p>PS4 became the default console for many players worldwide and a central pillar for AAA and indie alike.</p>
<h3>Xbox One — TV First, Games Second (Then Back Again)</h3>
<p>:::grid {cols=3,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110002816276.jpeg" alt="Xbox One"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110002825142.jpeg" alt="Xbox One S"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110002856689.jpeg" alt="Xbox One S All Digital Edition"></p>
<p>:::</p>
<p>The <strong>Xbox One</strong> (2013) initially chased an all-in-one living-room vision:</p>
<ul>
<li>Heavy integration with live TV.</li>
<li>Mandatory Kinect bundling.</li>
<li>Announced restrictions on used games and online authentication.</li>
</ul>
<p>The response was negative enough that Microsoft rolled back key policies before launch and eventually dropped Kinect as mandatory.</p>
<p>Over the generation, Xbox pivoted to:</p>
<ul>
<li>Aggressive backward compatibility for older Xbox titles.</li>
<li><strong>Xbox Game Pass</strong>, a subscription service offering a rotating catalog of games for a flat fee.</li>
</ul>
<p>By the end of the generation, Xbox’s identity had shifted from individual console sales to <strong>service-centric engagement</strong>.</p>
<p>This generation set the table for the solid-state era: Sony and Microsoft concentrated on HD performance and developer goodwill, while Nintendo’s half-step experiments exposed the appetite for hybrid play that would define the next wave.</p>
<hr>
<h2>Hybrid and SSD: Two Paths Forward (2017–2025)</h2>
<p>Analysts and tech outlets such as Tom’s Guide and Pocket-lint (as summarized on Wikipedia’s ninth-generation overview) have noted that the <strong>Nintendo Switch</strong> competes directly with PS5 and Xbox Series despite arriving earlier and using weaker silicon. Following that research, this article treats 2017’s Switch launch as the opening shot of the ninth generation, with Sony and Microsoft’s 2020 hardware doubling down on SSD-first design philosophy.</p>
<h3>Nintendo Switch — Hybrid Done Right</h3>
<p>The <strong>Nintendo Switch</strong> (2017) solved the “what is this thing?” problem that Wii U had failed to address.</p>
<p>:::grid {cols=3,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000346571.jpeg" alt="Nintendo Switch"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000357465.jpeg" alt="Nintendo Switch Lite"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000409350.jpeg" alt="Nintendo Switch Oled"></p>
<p>:::</p>
<ul>
<li>A tablet-like main unit with detachable Joy-Con controllers.</li>
<li>Dock mode for TV play, handheld mode for portable play, tabletop mode for quick multiplayer.</li>
<li>Modest Tegra-based hardware that prioritized efficiency over raw power.</li>
</ul>
<p>With <em>The Legend of Zelda: Breath of the Wild</em> as a launch title and <em>Super Mario Odyssey</em> following shortly, Switch proved you could:</p>
<ul>
<li>Have big, open-world experiences both on TV and on the go.</li>
<li>Accept weaker specs in exchange for <strong>flexibility and first-party strength</strong>.</li>
</ul>
<p>Switch blurred the lines between home console and handheld in a way that stuck, and its 2021 OLED refresh kept it in conversation with PS5 and Series consoles throughout their shortage-plagued first years.</p>
<h3>PlayStation 5 — I/O as a Design Constraint</h3>
<p><img src="https://img.nishikori.dev/2025/11/20251110001435907.jpeg" alt="PlayStation 5"></p>
<p>The <strong>PS5</strong> (2020) reoriented console design around <strong>storage bandwidth</strong> as much as compute:</p>
<ul>
<li>A custom NVMe SSD and demarcated I/O pipeline drastically cut load times.</li>
<li>Developers could treat streaming as a constant flow rather than a stuttering bottleneck.</li>
<li>Hardware ray tracing and up to 4K/120 Hz output supported high-end visual targets.</li>
</ul>
<p>It also introduced the <strong>DualSense</strong> controller:</p>
<ul>
<li>Adaptive triggers that change resistance dynamically (bow tension, gun triggers).</li>
<li>High-resolution haptics that can simulate texture and rhythm more precisely than older rumble motors.</li>
</ul>
<p>PS5 stayed with the PS4’s general philosophy — powerful but developer-friendly hardware, strong exclusives, and large third-party support — but removed “waiting” as a core part of the experience.</p>
<h3>Xbox Series X|S — Hardware Pair + Service First</h3>
<p><img src="https://img.nishikori.dev/2025/11/20251110002910680.jpeg" alt="Xbox Series X"></p>
<p>The <strong>Xbox Series X</strong> and <strong>Series S</strong> (2020) doubled down on Microsoft’s ecosystem strategy.</p>
<ul>
<li>Series X: high-end 4K-focused box.</li>
<li>Series S: cheaper, digital-only 1440p-class machine.</li>
</ul>
<p>Common threads:</p>
<ul>
<li>Extensive backward compatibility, often with auto-enhancements.</li>
<li>Tight integration with <strong>Game Pass</strong>, positioning the console as the easiest way to access a large game library rather than as a standalone silo.</li>
</ul>
<p>In this model, your <strong>Xbox account and subscription</strong> matter more than the specific console model you own.</p>
<hr>
<h2>Switch 2 and the Post-Hybrid Decade (2025– )</h2>
<h3>Nintendo Switch 2 — Fastest Start in Console History</h3>
<p>The <strong>Nintendo Switch 2</strong> launched on June 5, 2025, as the successor to the original Switch.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110003806491.png" alt="Nintendo Switch 2"></p>
<p>Core ideas:</p>
<ul>
<li>It keeps the <strong>hybrid form factor</strong>: handheld unit plus dock for TV output.</li>
<li>Hardware is significantly more capable, allowing higher resolutions and smoother performance while staying portable.</li>
<li>Nintendo positions it as a continuation, not a reboot — your understanding of “a Switch” still applies.</li>
</ul>
<p>Commercially, its opening was explosive:</p>
<ul>
<li>Over <strong>3.5 million units</strong> sold worldwide in the first four days.</li>
<li>The fastest-selling Nintendo hardware launch ever.</li>
<li>Analysts and multiple outlets have described it as the fastest-selling console launch in industry history, beating even PS4 and PS5’s comparable early milestones.</li>
</ul>
<p>Switch 2 didn’t join a traditional power race with PS5 and Series X/S.<br>
Instead, it extended the same trade-off Nintendo has favored since Wii:</p>
<ul>
<li>Accept lower peak specs.</li>
<li>Push on <strong>form factor, accessibility, and first-party software</strong>.</li>
<li>Let the other two fight over teraflops — just now from a clean, next-generation slate.</li>
</ul>
<hr>
<h2>Closing: What “Generations” Were Really About</h2>
<p>If you connect all these machines, you don’t just get a power curve. You get a chain of decisions:</p>
<ul>
<li>Atari 2600 showed what happens when you open a platform fully and never say “no”.</li>
<li>Famicom/NES showed that tight licensing and curation could rebuild a broken market.</li>
<li>Nintendo’s attempt to preserve control over SNES CD deals essentially created PlayStation as a rival.</li>
<li>Sticking with cartridges on N64 protected margins but cost them Square and a generation of cinematic RPGs.</li>
<li>Sega’s repeated hardware pivots, culminating in Saturn and Dreamcast, exhausted both finances and trust.</li>
<li>Microsoft reframed consoles as <strong>networked services</strong>, culminating in Game Pass and deep backward compatibility.</li>
<li>Sony rode optical media, then HD, then SSD-driven design, staying focused on developer support and single-player epics.</li>
<li>Nintendo stepped sideways: from dedicated TV boxes to Famicom, from Wii’s motion controls to the hybrid Switch and Switch 2.</li>
</ul>
<p>You can read console generations as an arms race in CPU and GPU numbers.<br>
Or you can read them as a long series of answers to a quieter question:</p>
<blockquote>
<p>What do we want “playing at home” to feel like —<br>
a locked box, a media center, a subscription, a portable window, or something in between?</p>
</blockquote>
<p>The hardware keeps changing.<br>
The arguments — about media formats, control, ecosystems, and who gets paid — never really stopped.<br>
Every time you pick up a controller today, you’re feeling the outcome of fifty years of those arguments, condensed into a single plastic shell and a startup chime.</p>
<h3>Further Reading</h3>
<ul>
<li><a href="https://consollection.de">Consollection.de</a> — A multilingual catalog that documents console hardware variants, prototypes, and accessories.</li>
<li><a href="https://www.museumofplay.org/about/icheg/video-game-history/timeline">The Strong Museum timeline</a> — A succinct timeline of landmark home systems across five decades.</li>
<li><a href="https://www.retrorgb.com/">RetroRGB</a> — Hardware repair, video-output mods, and preservation tips for dozens of platforms.</li>
<li><a href="https://wiki.console5.com/wiki/">Console5 Wiki</a> — Schematics, capacitor lists, and repair guides for classic consoles from Atari through Sega and beyond.</li>
</ul>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>How the Box Decides</category>
            <category>Game History</category>
            <category>Console Wars</category>
            <category>Nintendo</category>
            <category>PlayStation</category>
            <category>SEGA</category>
            <category>Xbox</category>
            <category>Switch 2</category>
        </item>
        <item>
            <title><![CDATA[DVD Players, Modems, and Hard Drives — Consoles Become Living-Room Appliances]]></title>
            <link>https://nishikori.dev/posts/home-consoles-appliances-online</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/home-consoles-appliances-online</guid>
            <pubDate>Fri, 15 Aug 2025 23:18:00 GMT</pubDate>
            <description><![CDATA[From Dreamcast’s early online experiments to PS2’s DVD takeover and Xbox Live’s service model.]]></description>
            <content:encoded><![CDATA[<p>The shift from cartridges to discs rebalanced the industry. The next shift redefined what a console <em>was allowed to be</em>:</p>
<ul>
<li>an appliance (DVD player, DVR, AV component)</li>
<li>a network terminal (accounts, friends lists, voice chat, downloadable content)</li>
</ul>
<p>This is where the modern expectation of “a console has an OS and a service layer” really begins.</p>
<hr>
<h2>Online Arrives Early, Then Leaves</h2>
<h3>Sega Dreamcast — First Out, First to Fall</h3>
<p>The <strong>Dreamcast</strong> launched in 1998 (JP) / 1999 (NA/EU).</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000107646.jpeg" alt="Sega Dreamcast"></p>
<ul>
<li>Hardware:
<ul>
<li>Hitachi SH-4 CPU and a PowerVR2 GPU, making it very efficient at 3D rendering.</li>
<li>Visual quality close to contemporary arcade boards.</li>
</ul>
</li>
<li>Media &amp; Online:
<ul>
<li>Proprietary GD-ROM discs (~1 GB).</li>
<li>Built-in modem for dial-up online play; <em>Phantasy Star Online</em> became one of the first console online RPGs.</li>
<li>Early experiments with downloadable content.</li>
</ul>
</li>
</ul>
<p>Dreamcast felt like a machine from the future, but Sega was weakened financially, and the looming PS2 hype (plus rampant piracy later) squeezed it out.</p>
<p>In 2001, Sega discontinued Dreamcast and exited the console hardware business, pivoting to third-party publishing.</p>
<hr>
<h2>The DVD Trojan Horse</h2>
<h3>Sony PlayStation 2 — DVD Player of the World</h3>
<p>The <strong>PS2</strong> (2000) is often called the most successful console ever for a reason:</p>
<p>:::grid {cols=2,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110002308298.jpeg" alt="Playstation 2"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001247844.jpeg" alt="Playstation 2 Slim"></p>
<p>:::</p>
<ul>
<li>It played PS2 games, <strong>PS1 games</strong>, and <strong>DVD movies</strong> out of the box.</li>
<li>For many households, it was the first affordable DVD player.</li>
<li>It built on the existing PlayStation developer community and third-party relationships.</li>
</ul>
<p>Technically, the “Emotion Engine” CPU and GS GPU were quirky but powerful in the right hands.<br>
Commercially, the combination of backward compatibility, huge library, and media playback made PS2 the obvious default choice for an entire generation.</p>
<h3>PSX — DVR Ambition Built on PS2 Silicon</h3>
<p><img src="https://img.nishikori.dev/2025/11/20251110001347558.jpeg" alt="PSX"></p>
<p>In 2003 Sony tried to fuse home video recording with the PlayStation brand via the Japan-only <strong>PSX</strong> (models DESR-5000/7000 and later revisions).</p>
<ul>
<li>Under the hood it was effectively a PlayStation 2 motherboard paired with large hard drives, analog TV tuners, and DVD burning for archiving shows.</li>
<li>The machine debuted the <strong>XrossMediaBar</strong> interface that later appeared on PSP and PS3, along with features like Memory Stick slots and in-home video editing.</li>
<li>High launch prices (¥79,800 and up), sluggish firmware updates, and the rise of cheaper DVRs kept sales modest, and Sony never exported it beyond Japan.</li>
</ul>
<p>PSX foreshadowed the “all-in-one living-room hub” pitch that would resurface in later generations, even if the hardware itself became a niche collector piece.</p>
<hr>
<h2>Nintendo’s Hardware: Focused, But Not the Default</h2>
<h3>Nintendo GameCube — Compact, Efficient, and Overshadowed</h3>
<p>The <strong>GameCube</strong> (2001) was Nintendo’s small cube with a comfort-focused controller.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000245662.jpeg" alt="Nintendo GameCube"></p>
<ul>
<li>Hardware:
<ul>
<li>IBM “Gekko” CPU and ATI “Flipper” GPU — straightforward, potent hardware for the time.</li>
<li>Mini-DVD discs (1.5 GB) that balanced capacity, load times, and piracy resistance.</li>
</ul>
</li>
<li>Strengths:
<ul>
<li>Very strong first-party titles: <em>Metroid Prime</em>, <em>Super Smash Bros. Melee</em>, <em>Wind Waker</em>, <em>F-Zero GX</em>.</li>
<li>Excellent analog triggers and ergonomics on the controller.</li>
</ul>
</li>
</ul>
<p>Yet in the marketplace, it struggled against PS2’s overwhelming momentum and the allure of DVD playback.<br>
GameCube felt like “the enthusiast’s second console” more than the primary system.</p>
<h3>Panasonic Q — GameCube Meets Living-Room AV</h3>
<p>Nintendo licensed the GameCube hardware to Panasonic (then still Matsushita) for the Japan-only <strong>Panasonic Q</strong> (2001).</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001525055.jpeg" alt="Panasonic Q"></p>
<ul>
<li>It packed standard GameCube guts inside a brushed-metal chassis with mirrored front panel, adding <strong>DVD-Video playback</strong> and beefier home-theater audio outputs.</li>
<li>A backlit front display, bundled remote, and multi-region capabilities positioned it as a premium AV component rather than a toy-like cube.</li>
<li>Pricing landed around ¥39,800—more than double a regular GameCube—which, combined with its Japan-only release, kept sales niche.</li>
</ul>
<p>Panasonic Q showed Nintendo experimenting with partnerships to answer the DVD feature gap without redesigning the core console, but the cost premium proved that style and functionality alone can’t overcome market momentum.</p>
<hr>
<h2>The Service Layer Becomes Real</h2>
<h3>Microsoft Xbox — A PC in Console Clothing</h3>
<p><img src="https://img.nishikori.dev/2025/11/20251110002732510.jpeg" alt="Microsoft Xbox"></p>
<p>The original <strong>Xbox</strong> (2001) was a direct incursion from Microsoft:</p>
<ul>
<li>x86 CPU, NVIDIA GPU, and an internal hard drive.</li>
<li>Built to look and feel like a console but think like a PC.</li>
</ul>
<p>Its most important contribution was <strong>Xbox Live</strong>:</p>
<ul>
<li>Unified online service, friends list, voice chat, digital content.</li>
<li><em>Halo</em> turned into the definitive console FPS experience.</li>
</ul>
<p>Xbox didn’t win the generation in raw sales, but it defined a <strong>networked services model</strong> that everyone else would eventually follow.</p>
<hr>
<h2>What Comes Next</h2>
<p>By the mid-2000s, the next baseline shift was obvious: HD TVs were everywhere, and the service layer was no longer optional.</p>
<p>Next: <a href="/posts/home-consoles-hd-to-switch-2">HD, Subscriptions, and Hybrids</a></p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>How the Box Decides</category>
            <category>Game History</category>
            <category>Console Wars</category>
            <category>Nintendo</category>
            <category>PlayStation</category>
            <category>SEGA</category>
            <category>Xbox</category>
        </item>
        <item>
            <title><![CDATA[When CDs Beat Cartridges — The Deal That Created PlayStation]]></title>
            <link>https://nishikori.dev/posts/home-consoles-cd-playstation</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/home-consoles-cd-playstation</guid>
            <pubDate>Thu, 14 Aug 2025 23:16:00 GMT</pubDate>
            <description><![CDATA[The SNES CD partnership collapse, PlayStation’s CD economics, and why storage reshaped 3D games and third-party loyalty.]]></description>
            <content:encoded><![CDATA[<p>The 3D era is often told as a GPU story. But the true leverage point was <strong>media</strong>:</p>
<ul>
<li>CDs were cheap to manufacture.</li>
<li>CDs held orders of magnitude more data than cartridges.</li>
<li>CDs lowered the financial risk for publishers — and enabled bigger, more cinematic games.</li>
</ul>
<p>Once that equation landed, it didn’t just change graphics. It rearranged the entire industry’s alliances.</p>
<hr>
<h2>The Broken Deal: Nintendo, Sony, Philips</h2>
<h3>The Broken SNES CD-ROM Partnership</h3>
<p>Late in the SNES era, Nintendo and Sony worked together on a <strong>SNES CD-ROM</strong> add-on, code-named “Play Station”.</p>
<ul>
<li>The contract reportedly gave Sony unusually strong control over the CD format and its licensing.</li>
<li>Nintendo feared losing control of its software revenue.</li>
</ul>
<p>In a now-famous move, Nintendo publicly announced at a trade show that it would instead partner with <strong>Philips</strong> on CD technology — right after Sony had presented the joint project.</p>
<p>Consequence:</p>
<ul>
<li>Sony continued development internally, turning the project into a standalone console: <strong>PlayStation</strong>.</li>
<li>Philips received limited rights to use Nintendo characters, which eventually birthed the infamous low-budget <em>Zelda</em> and <em>Mario</em> games on <strong>CD-i</strong>.</li>
<li>Nintendo cancelled the SNES CD path altogether.</li>
</ul>
<p>Nintendo’s attempt to protect its licensing power accidentally created its next major competitor.</p>
<hr>
<h2>CD Economics + 3D Momentum: PlayStation</h2>
<h3>Sony PlayStation — Cheap CD Hardware, Friendly to Third Parties</h3>
<p>The <strong>PlayStation</strong> launched in 1994 (Japan) and 1995 (US/EU).</p>
<p>::: grid {cols=2,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001219248.jpeg" alt="PlayStation"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001235555.jpeg" alt="PS One"></p>
<p>:::</p>
<ul>
<li>Hardware:
<ul>
<li>32-bit R3000 class CPU built for 3D math.</li>
<li>Affine-textured polygons with no hardware perspective correction — visually wobbly but very fast for the era.</li>
<li>Simple, effective audio for streamed CD music and sound effects.</li>
</ul>
</li>
<li>Media:
<ul>
<li><strong>CD-ROM</strong> with ~650–700 MB capacity per disc, dirt-cheap to manufacture compared to cartridges.</li>
</ul>
</li>
<li>Business:
<ul>
<li>Licensing terms and dev tools were much friendlier than Nintendo’s.</li>
<li>Sony’s experience in music and movies gave it a distribution edge.</li>
</ul>
</li>
</ul>
<p>Third-party publishers flocked to PlayStation, especially those who wanted cinematic production values: pre-rendered backgrounds, FMV cutscenes, full voice tracks.</p>
<hr>
<h2>Cartridges Hold On — And Pay the Price</h2>
<h3>Nintendo 64 — Fast Cartridges, Slow Ecosystem</h3>
<p><img src="https://img.nishikori.dev/2025/11/20251110000232401.jpeg" alt="Nintendo 64"></p>
<p>The <strong>Nintendo 64</strong> answered with powerful 3D hardware:</p>
<ul>
<li>64-bit CPU, a capable GPU, advanced anti-aliasing and texture filtering for its time.</li>
<li>Four controller ports built in, encouraging local multiplayer.</li>
</ul>
<p>But Nintendo chose to stick with <strong>ROM cartridges</strong>:</p>
<ul>
<li><strong>Pros</strong>: instant loading, robust physical media, better control over piracy and distribution.</li>
<li><strong>Cons</strong>: high manufacturing cost per unit, much smaller storage than CDs, logistics risk for publishers.</li>
</ul>
<p>As a result:</p>
<ul>
<li>Many third-party publishers were wary of tying up capital in expensive carts.</li>
<li>FMV and voiced dialogue were constrained by capacity.</li>
<li>Big cinematic projects gravitated toward PlayStation instead.</li>
</ul>
<p>N64 still produced landmark design work — <em>Super Mario 64</em>, <em>Ocarina of Time</em>, <em>GoldenEye 007</em> — but commercially, it ceded the mass-market lead to Sony.</p>
<h3>iQue Player — A Late N64 for Mainland China</h3>
<p><img src="https://img.nishikori.dev/2025/11/20251110000259436.jpeg" alt="iQue Player"></p>
<p>With traditional consoles effectively banned in mainland China during the late ’90s and early ’00s, Nintendo partnered with local firm iQue (founded by Dr. Wei Yen) to release the <strong>iQue Player</strong> in 2003.<br>
The device squeezed N64 silicon into a controller-sized shell that plugged directly into a TV and drew games from flash memory.</p>
<ul>
<li>Titles were purchased via kiosk downloads in Chinese shopping malls, avoiding boxed media and helping Nintendo satisfy local regulations.</li>
<li>The library leaned on N64 classics such as <em>Super Mario 64</em>, <em>Ocarina of Time</em>, and <em>Star Fox 64</em>, all localized into simplified Chinese for the first time.</li>
<li>Save data lived inside the controller and could be backed up to memory cards, a nod to the system’s kiosk-driven software flow.</li>
</ul>
<p>iQue Player arrived years after the N64’s global run, but it highlighted how hardware makers contorted their designs to reach huge but restricted markets — a reminder that “generation” boundaries look very different outside North America and Japan.</p>
<h3>Why Final Fantasy VII Left Nintendo</h3>
<p>Square had a long history with Nintendo. But when it came to <strong>Final Fantasy VII</strong>, they jumped.</p>
<ul>
<li>Nintendo 64 cartridges topped out around 64 MB for commercial releases.</li>
<li>A single FFVII disc on PS1 held around 700 MB, and the game shipped on <strong>three discs</strong>.</li>
<li>Most of that space went to CG cinematics and audio — exactly the things Square wanted to lean on for a more cinematic FF.</li>
</ul>
<p>Square’s leadership has since been explicit: the choice of PlayStation was driven by <strong>CD-ROM capacity and flexibility</strong>, not just raw polygon power.<br>
On N64, FFVII would have required heavy cuts to the cinematic content; on PS1, it could be the sprawling CG-driven RPG they envisioned.</p>
<p>This one decision symbolized a broader migration:<br>
RPGs and many narrative-heavy games followed the storage.</p>
<hr>
<h2>Complexity, Confidence, and Misfires: Saturn and CD-i</h2>
<h3>Sega Saturn — 2D Power, 3D Confusion</h3>
<p><img src="https://img.nishikori.dev/2025/11/20251110000014395.jpeg" alt="Sega Saturn"></p>
<p>The <strong>Saturn</strong> was Sega’s 32-bit machine:</p>
<ul>
<li>Architected around dual CPUs and multiple coprocessors.</li>
<li>Exceptionally strong at 2D sprite handling and certain 3D workloads.</li>
</ul>
<p>But:</p>
<ul>
<li>The multi-CPU design was hard to optimize for; dev tools lagged.</li>
<li>Sega’s prior missteps with add-ons (Mega-CD, 32X) had already shaken retailer confidence.</li>
<li>The surprise early launch in North America angered some retail partners.</li>
</ul>
<p>Saturn found a loyal niche (especially in Japan), but could not match PlayStation’s momentum or library breadth.</p>
<h3>Victor V-Saturn — Licensed Twin with Cosmetic Flair</h3>
<p>To widen retail reach inside Japan, Sega licensed the Saturn hardware to major electronics partners. Victor (JVC) shipped the <strong>V-Saturn</strong> line in 1995 under model numbers <strong>RG-JX1</strong> and later <strong>RG-JX2</strong>.</p>
<ul>
<li>Internally, these machines mirrored Sega’s revisions; the differences were aesthetic and branding focused.</li>
<li>A darker chassis, Victor logos, and bespoke boot animations gave the console a hi-fi vibe, and some bundles included Victor-branded controllers.</li>
<li>Because the BIOS tweaks were cosmetic, V-Saturn supported the full Saturn software library and peripherals with no compatibility caveats.</li>
</ul>
<p>Collectors chase the V-Saturn today not for new capabilities, but because it captures the brief moment when Sega tried letting trusted manufacturing partners sell “clone” hardware to keep momentum in its home market.</p>
<h3>Philips CD-i — Licensed Characters, No Real Direction</h3>
<p>The <strong>CD-i</strong> wasn’t a traditional console; Philips marketed it as a “multimedia player”.</p>
<p>:::grid {cols=2,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110002134887.jpeg" alt="Philips CD-i 210"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110002134887.jpeg" alt="Philips CD-i 450"></p>
<p>:::</p>
<ul>
<li>Its hardware targeted video and simple interactivity for educational titles.</li>
<li>As part of its deal with Nintendo, Philips published a handful of officially licensed <em>Zelda</em> and <em>Mario</em> games.</li>
</ul>
<p>Those games were notorious — clunky controls, awkward animation, minimal oversight from Nintendo.<br>
CD-i showed that <strong>IP licensing without platform focus</strong> doesn’t create a successful console.</p>
<hr>
<h2>What Comes Next</h2>
<p>By the end of the 1990s, the winning formula was clearer:</p>
<ul>
<li>CDs (and later DVDs) reduced manufacturing cost and enabled “big” games.</li>
<li>A developer-friendly platform holder could reshape third-party gravity.</li>
</ul>
<p>The next shift wasn’t just <em>more storage</em>. It was consoles becoming living-room appliances — DVD players, hard drives, and online services — and the first real “service layer” taking hold.</p>
<p>Next: <a href="/posts/home-consoles-appliances-online">DVD Players, Modems, and Hard Drives</a></p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>How the Box Decides</category>
            <category>Game History</category>
            <category>Console Wars</category>
            <category>Nintendo</category>
            <category>PlayStation</category>
            <category>SEGA</category>
        </item>
        <item>
            <title><![CDATA[Curation, Characters, and Enhancement Chips — The Rulebook of the Modern Console]]></title>
            <link>https://nishikori.dev/posts/home-consoles-licensing-16bit</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/home-consoles-licensing-16bit</guid>
            <pubDate>Wed, 13 Aug 2025 23:14:00 GMT</pubDate>
            <description><![CDATA[How Nintendo rebuilt trust after the crash, why Sega made consoles feel “cool,” and how enhancement chips and early CDs stretched the 16-bit era.]]></description>
            <content:encoded><![CDATA[<p>After the early cartridge boom collapsed under its own chaos, the most important console innovation wasn’t faster silicon — it was <strong>control</strong>: licensing rules, lockout chips, and a curated supply chain.</p>
<p>From there, the 16-bit era added a different kind of shift: consoles stopped being generic boxes and started becoming <em>identities</em> — fast, edgy, family-friendly, RPG-heavy — shaped as much by marketing and third-party ecosystems as by hardware.</p>
<hr>
<h2>Preventing Another Crash: Licensing and Curation (1980s)</h2>
<h3>Nintendo Famicom / NES — Hardware + Licensing</h3>
<p>Nintendo’s <strong>Family Computer (Famicom)</strong> (1983 Japan) and its western cousin <strong>NES</strong> (1985 North America) revived the console market on a very different model.</p>
<p>::: grid {cols=2,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251109235441320.png" alt="Nintendo Famicom"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251109235658992.jpeg" alt="Nintendo Entertainment System"></p>
<p>:::</p>
<ul>
<li>Hardware:
<ul>
<li>8-bit CPU with a custom PPU (Picture Processing Unit) for sprites and smooth scrolling.</li>
<li>Simple but flexible audio with multiple channels for melodies, bass lines, and noise.</li>
</ul>
</li>
<li>Form factor:
<ul>
<li>In Japan, playful red-and-white plastic with hard-wired controllers.</li>
<li>In the US, redesigned as a VCR-like front-loader to distance it from “game console” stigma.</li>
</ul>
</li>
</ul>
<p>The key innovation wasn’t just technical. It was <strong>business</strong>:</p>
<ul>
<li>Nintendo created a strict licensing program.</li>
<li>Every licensed cartridge used a lockout chip and carried the “Seal of Quality”.</li>
<li>Third parties had quotas and contract limits; unlicensed publishers were pushed out.</li>
</ul>
<p>This <strong>tight control</strong> avoided another Atari-style crash and let Nintendo curate a library that still defines the 8-bit era:</p>
<ul>
<li><em>Super Mario Bros.</em> redesigned platforming physics.</li>
<li><em>The Legend of Zelda</em> introduced battery-backed save data on a console cartridge.</li>
<li><em>Metroid</em> and <em>Castlevania</em> experimented with nonlinear world design.</li>
</ul>
<h3>Sega Master System — Technically Strong, Ecologically Weak</h3>
<p><img src="https://img.nishikori.dev/2025/11/20251109235839397.jpeg" alt="Sega Master System"></p>
<p>The <strong>Sega Master System</strong> (based on the Mark III in Japan) often looked better on paper than the NES:</p>
<ul>
<li>It supported more on-screen colors.</li>
<li>Its Z80 CPU was familiar and tried-and-true.</li>
<li>Some ports (e.g. <em>Space Harrier</em>, <em>OutRun</em>) were closer to their arcade originals.</li>
</ul>
<p>But Sega lacked Nintendo’s licensing network, and many third-party publishers were contractually tied to releasing only on Nintendo hardware in certain markets.<br>
Master System thrived more in Europe and Brazil, but in North America it became a niche box — proof that <strong>hardware specs alone cannot win a generation</strong>.</p>
<hr>
<h2>Consoles as Identity: The 16-bit Personality Era (late 1980s–1990s)</h2>
<h3>Sega Mega Drive / Genesis — Speed, Attitude, and “What Nintendon’t”</h3>
<p>The <strong>Mega Drive</strong> (Japan) / <strong>Genesis</strong> (North America) pushed Sega into the lead, at least briefly.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251109235928586.jpeg" alt="Sega Mega Drive"></p>
<ul>
<li>Hardware:
<ul>
<li>Motorola 68000 CPU at 7.6 MHz for the main logic.</li>
<li>Z80 coprocessor and an FM synth audio chip (Yamaha YM2612) for arcade-like sound.</li>
</ul>
</li>
<li>Design goal:
<ul>
<li>Fast scrolling, big sprites, and responsive controls — ideal for action and sports.</li>
</ul>
</li>
</ul>
<p>Marketing in the US turned it into the “cool” console:</p>
<ul>
<li>Slogans like “<strong>Genesis does what Nintendon’t</strong>”.</li>
<li>Edgier games (blood in <em>Mortal Kombat</em> with a code, versus censored SNES).</li>
<li>Sonic the Hedgehog as a mascot built on sheer speed.</li>
</ul>
<p>Genesis repositioned consoles from “toys” toward teen culture.</p>
<h3>Super Nintendo (SNES) — Enhancement Chips and RPG Heaven</h3>
<p>Nintendo answered with the <strong>Super Famicom / SNES</strong>.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000217404.jpeg" alt="Super Famicom / Super Nintendo Entertainment System"></p>
<ul>
<li>Hardware:
<ul>
<li>Slower main CPU than Genesis, but a powerful PPU capable of multiple layers and the famous <strong>Mode 7</strong> (affine transform of background planes for pseudo-3D effects).</li>
<li>High-quality sample-based audio through the SPC700 chip.</li>
</ul>
</li>
</ul>
<p>Instead of betting everything on base hardware, Nintendo embraced <strong>enhancement chips on the cartridge</strong>:</p>
<ul>
<li><strong>Super FX</strong> for polygonal 3D in games like <em>Star Fox</em>.</li>
<li>DSP and other coprocessors for fast math, rotation, scaling, and special effects.</li>
</ul>
<p>SNES became the home of lavish 16-bit JRPGs and action adventures:</p>
<ul>
<li><em>Final Fantasy IV/VI</em>, <em>Chrono Trigger</em>, <em>Secret of Mana</em>, <em>A Link to the Past</em>.</li>
<li>Each one pushing story, music, and system design into territory that still feels dense today.</li>
</ul>
<hr>
<h2>Early Optical Experiments (and Other Detours)</h2>
<h3>NEC PC Engine / TurboGrafx-16 — Cards and CDs</h3>
<p>NEC’s <strong>PC Engine</strong> (TurboGrafx-16 in the West) chose a different path:</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001014046.jpeg" alt="NEC PC Engine"></p>
<ul>
<li>Games came on slim <strong>HuCards</strong> (credit-card-sized cartridges).</li>
<li>An optional CD-ROM add-on brought CD audio and large storage to the living room earlier than most rivals.</li>
</ul>
<p>It shined especially in Japan with shooters and action games, and showed how optical media could power animated cutscenes and CD music even on modest hardware.</p>
<h3>Neo Geo AES — The Luxury Arcade in a Box</h3>
<p>SNK’s <strong>Neo Geo AES</strong> was effectively an arcade board repackaged for home.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110001056595.jpeg" alt="SNK Neo Geo AES"></p>
<ul>
<li>It used the same architecture as the Neo Geo MVS arcade system.</li>
<li>Cartridges were huge and expensive; individual games could cost more than entire competing consoles.</li>
</ul>
<p>Owning a Neo Geo meant having nearly pixel-perfect versions of <em>Metal Slug</em>, <em>King of Fighters</em>, and <em>Samurai Shodown</em> at home — if you could afford it.<br>
It demonstrated a different fantasy: <strong>no compromises, just pay whatever it costs.</strong></p>
<hr>
<h2>What Comes Next</h2>
<p>The 16-bit era didn’t just end because polygons arrived. It ended because <strong>storage economics</strong> changed.</p>
<p>When CDs became cheap and huge compared to cartridges, the center of gravity shifted toward cinematic production values, lower manufacturing risk for publishers, and a new kind of platform holder.</p>
<p>Next: <a href="/posts/home-consoles-cd-playstation">When CDs Beat Cartridges</a></p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>How the Box Decides</category>
            <category>Game History</category>
            <category>Console Wars</category>
            <category>Nintendo</category>
            <category>SEGA</category>
        </item>
        <item>
            <title><![CDATA[From Dedicated Boxes to Swappable Software — How Home Consoles Became Platforms]]></title>
            <link>https://nishikori.dev/posts/home-consoles-platforms-cartridges</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/home-consoles-platforms-cartridges</guid>
            <pubDate>Tue, 12 Aug 2025 23:12:00 GMT</pubDate>
            <description><![CDATA[The shift that created the console platform — dedicated boxes, early experiments, cartridges, and the first crash.]]></description>
            <content:encoded><![CDATA[<h2>Series introduction: Beyond “8-bit, 16-bit, 4K”</h2>
<p>“Console generations” are usually drawn as a simple staircase of power:<br>
8-bit → 16-bit → 3D → HD → 4K → ray tracing.</p>
<p>Every few months someone declares the war over — most recently, <a href="https://x.com/gamestop/status/1982213786221109263">GameStop’s Oct 25, 2025 statement</a> joked that the console wars started with <em>Halo: Combat Evolved</em> exclusivity and would end once <em>Halo: Campaign Evolved</em> lands on PlayStation in 2026 — yet the debates never quite die.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251109233104145.png" alt="A Statement from GameStop"></p>
<p>In reality, every step hides a much messier layer:</p>
<ul>
<li>media choices — cartridges vs CDs vs DVDs vs SSDs</li>
<li>business friction — Nintendo vs Sony vs Philips vs SEGA vs Microsoft</li>
<li>ecosystem bets — tight control vs open third parties vs subscription services</li>
</ul>
<p>This series follows that history generation by generation, but more importantly, console by console. I linger on the individual machines because each of them altered the path in some particular way.</p>
<hr>
<h2>Before Software: Dedicated TV Boxes (1970s)</h2>
<p>The earliest home consoles weren’t “platforms” in the modern sense. They were products: sealed boxes built around a handful of built-in games.</p>
<h3>Color TV-Game Series — Nintendo Before Famicom</h3>
<p>Before the Famicom, Nintendo’s first home consoles were a line of <strong>dedicated machines</strong>: the <strong>Color TV-Game</strong> series.<br>
(Technically these shipped after early first-generation systems like the Magnavox Odyssey; I’m calling them out separately because they were Nintendo’s bridge from toys to fully fledged consoles.)</p>
<p>These were Japan-only boxes sold between 1977 and 1980, with <strong>no interchangeable games</strong>:</p>
<ul>
<li><strong>Color TV-Game 6</strong> and <strong>15</strong> (1977): Pong-style tennis variations with knobs on the console itself. Players turned dials to move paddles while the console drew simple colored blocks on the TV.</li>
<li><strong>Racing 112</strong> (1978): A tiny “cockpit” console with a steering wheel and accelerator, rendering a top-down racing lane with moving obstacles.</li>
<li><strong>Block Kuzushi</strong> (1979): Nintendo’s take on <em>Breakout</em>, with a paddle controller and brick-breaking gameplay baked directly into the hardware.</li>
<li><strong>Computer TV Game</strong> (1980): A dedicated version of Nintendo’s own <em>Computer Othello</em> arcade game, turning your TV into a digital board game surface.</li>
</ul>
<p>::: grid {cols=3,gap=4,type=images}</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000634698.jpeg" alt="Color TV-Game 6"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251109233905361.png" alt="Color TV-Game 15"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000442785.jpeg" alt="Racing 112"></p>
<p>:::</p>
<p>These machines sold a few million units in Japan and did one crucial thing:<br>
they taught Nintendo how to design TV-connected electronics, industrial enclosures, controllers, and game logic long before the Famicom ever existed.</p>
<p>They were sealed boxes, but they proved something bigger: there <em>was</em> a home for videogames in the living room.</p>
<hr>
<h2>The Core Concept: A TV Can Be Interactive (1972)</h2>
<h3>Magnavox Odyssey — Videogames as Electronic Board Games</h3>
<p>The <strong>Magnavox Odyssey</strong> (1972) is widely recognized as the first commercial home videogame console.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251109234256299.png" alt="Magnavox Odyssey"></p>
<p>Technically, it barely resembles what came later:</p>
<ul>
<li>It used only analog circuitry — no CPU, no RAM.</li>
<li>It output a few movable squares and a line; everything else was imagination.</li>
<li>It shipped with plastic screen overlays, dice, cards, and paper money.</li>
</ul>
<p>You didn’t “buy a game” as software; you got <strong>rule sheets</strong> telling you how to interpret those moving squares as tennis, hockey, or haunted houses.</p>
<p>Odyssey proved the core idea: a TV could be interactive.<br>
Everything after it is refinement.</p>
<hr>
<h2>Swappable Games: Cartridges Create the Console Platform (late 1970s)</h2>
<p>The first true break in home console history wasn’t 8-bit vs 16-bit. It was this:</p>
<blockquote>
<p>The moment games became swappable software — and consoles became stable platforms.</p>
</blockquote>
<p>That shift created the third-party business, the boom… and the first crash.</p>
<h3>Fairchild Channel F — Swappable Software</h3>
<p>The <strong>Fairchild Channel F</strong> was the first console with <strong>ROM cartridges</strong> you could plug in and out.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251109235110253.png" alt="Fairchild Channel F"></p>
<ul>
<li>Built around a Fairchild F8 CPU, it split games off from the hardware.</li>
<li>Cartridges allowed developers to ship new experiences without changing the console itself.</li>
</ul>
<p>Its library was modest and it lost the commercial race, but it introduced an architecture that every later console inherited:<br>
<strong>a stable hardware base with evolving software on top.</strong></p>
<h3>Atari 2600 — The Rise and the Burnout</h3>
<p>The <strong>Atari 2600</strong> (1977) turned that architecture into a cultural phenomenon.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251109235317341.png" alt="Atari 2600"></p>
<ul>
<li>Hardware: a tiny 8-bit CPU, 128 bytes of RAM, and a video chip that programmers had to “race” line-by-line to draw anything at all.</li>
<li>Library: <em>Space Invaders</em>, <em>Pitfall!</em>, <em>Adventure</em>, early sports games — all crammed into cartridges as small as 2–4 KB.</li>
<li>Business model: anyone could make a cartridge for it.</li>
</ul>
<p>That openness created the <strong>first third-party wave</strong> (Activision comes from ex-Atari developers), but also a flood of low-quality games.<br>
By 1983, the market was overloaded with bad cartridges; retailers dumped stock and pulled back shelf space. The North American videogame crash followed.</p>
<p>Atari 2600 proved two things at once:</p>
<ol>
<li>A home console business could be huge.</li>
<li>Without control over software quality, it could collapse just as fast.</li>
</ol>
<hr>
<h2>What Comes Next</h2>
<p>The crash didn’t kill home consoles — it forced them to grow up.</p>
<p>Nintendo’s next move wasn’t primarily technical. It was managerial: licensing, lockout chips, and quality control — a new rulebook designed to prevent the platform from destroying itself.</p>
<p>Next: <a href="/posts/home-consoles-licensing-16bit">Curation, Characters, and Enhancement Chips</a></p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>How the Box Decides</category>
            <category>Game History</category>
            <category>Console Wars</category>
            <category>Nintendo</category>
        </item>
        <item>
            <title><![CDATA[行旅雲中]]></title>
            <link>https://nishikori.dev/posts/journey-among-the-clouds</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/journey-among-the-clouds</guid>
            <pubDate>Sun, 22 Jun 2025 08:00:00 GMT</pubDate>
            <description><![CDATA[晨霧未散，列車沿山緩行。一次獨行喚回舊日旅途的片段，也讓人在抵達之前，與從前的自己安靜重逢。]]></description>
            <content:encoded><![CDATA[<p>晨間八時，天已亮了，只是未曾晴朗。山區的天氣總是這般，雲層壓得低低的，薄霧不散，似有若無地罩著遠近山形。窗外景物緩緩掠過，並不分明，倒也教人不忍移開目光，只覺一筆淡墨，隨意渲染，竟自成一幅幽靜長卷。</p>
<p>此行登車在凌晨，僅得幾小時睡眠，醒時天尚未明。周遭靜極，只聽得車輪與軌道低聲磨合，似水波拍岸，又似夢語餘韻。人未全醒，心卻已有了些動靜。披衣起身，倚坐靠窗，杯中水未冷透，拂面風涼而不寒，忽地便覺這段路程，不必抵達也好。</p>
<p>車廂不喧，有如舊時客館。身邊並無同行之人，也不覺孤單。這樣的早晨，自有其分寸之美。行李擱在腳邊，簾未全卷，光線不甚明亮。山間的天色本就如此——未雨，卻濕；未晴，卻亮；不言清朗，亦非昏沈。正適合想些不必說出口的事。</p>
<p>腦中浮起一些舊影，也無甚特定，只是在這樣緩慢的節奏裡，被悄悄喚起。童年時常隨家人南來北往，十數小時車程也無怨，鋪上翻滾、瓜果分食，是路途中的熱鬧，也是年歲裡最長情的陪伴。那時的自己，困極了也不肯獨自入眠，總要黏在熟悉人身旁才安心。</p>
<p>如今再行車途，所伴之人已不在側。只是坐於車廂一隅，竟覺好似與那年小小的自己重逢。也無甚話要說，只偶爾低頭看看手中茶水，便生出些不知從何而來的溫柔與靜氣。</p>
<p>人總是這樣，走得太快了，反倒忘了許多走過的路。只有在這樣不催不趕的晨光裡，在這樣霧氣浮動、不甚清明的天氣裡，記憶才會不動聲色地浮上來，像水中碎光，一閃便散，卻又教人久久難忘。</p>
<p>並非刻意去追尋什麼，也無意埋怨什麼。只是偶爾想起那些曾在我生命裡留下溫意的人事物，有些已走遠，有些未曾靠近。當時不覺，如今回看，種種隱約，似也另有深意。那年歲裡藏得住的沉默，到了今日，也不過是一片柔軟的懷念罷了。</p>
<p>行至一地，終會離去。心中所念，也不過如此。無需言語，無需回聲，只是知道，曾有那麼一段路，於無聲中照亮過我，於無形中輕輕擔過一些原本無需他人承受的重擔。這樣的記憶，是溫的，不熱烈，卻始終不冷。</p>
<p>車仍緩行，霧未散盡。晨光從薄雲中滲出些許，映在牆面與指背上，並不耀眼，卻足夠溫暖。許多事，其實都無需說得太明。心中若有光，便自知去處；若有念，風也會懂。</p>
<p>窗外仍是層疊山影，時明時暗。這一路，或許無人同坐，但也無妨。偶爾靜靜地與某段舊年並肩而行，已是難得。</p>
<p>終點會到，但此刻不急。世事紛擾，總需一段這樣安靜的時光，來與從前的自己細細對望。而有幸，我正在途中。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>行旅</category>
            <category>回憶</category>
            <category>晨光</category>
            <category>隨筆</category>
        </item>
        <item>
            <title><![CDATA[Nintendo Switch 2 — A New Machine in the Shadow of the Old One]]></title>
            <link>https://nishikori.dev/posts/nintendo-switch-2-structural-failure</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/nintendo-switch-2-structural-failure</guid>
            <pubDate>Sun, 08 Jun 2025 21:30:00 GMT</pubDate>
            <description><![CDATA[An examination of Nintendo Switch 2 as a hybrid caught between new hardware and an old ecosystem, with its ambitions shaped by thermals, battery life, display choices, and continuity with the original Switch.]]></description>
            <content:encoded><![CDATA[<h2>A “Next Gen” System That Hesitates</h2>
<p>On paper, the Nintendo Switch 2 is exactly what the original system’s fans spent eight years asking for: a larger 7.9-inch 1080p HDR screen, a much faster custom Nvidia SoC, 12 GB of LPDDR5X memory, 256 GB of UFS internal storage, and 4K HDR output in docked mode.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110003806491.png" alt="My Nintendo Switch 2"></p>
<p>In the market, it is an overwhelming success. Launch sales broke internal records and set new industry benchmarks, with millions of units sold in the first few days. For Nintendo as a business, the hybrid idea has never looked stronger.</p>
<p>Yet as a hardware generation, the Switch 2 remains constrained by the same triangle that shaped the original Switch — heat, power, and battery life — while sharing a software era with the PS5 and Xbox Series consoles. The result is commercially formidable and technically ambitious, but less decisive as a generational break than its specifications first suggest.</p>
<hr>
<h2>What the Switch 2 Actually Is</h2>
<p>The Switch 2 keeps the hybrid design almost untouched: a tablet-style console with detachable Joy-Con 2 controllers, a dock for TV play, and a single OS that spans handheld and living-room modes. The underlying silicon, however, is a clear leap over the Tegra X1 in the original Switch.</p>
<p>At the center of the system is a custom Nvidia Tegra T239 (“Drake”) SoC, with a cluster of modern ARM CPU cores and an Ampere-based GPU that finally belongs in the same architectural family as contemporary PCs and consoles. This is paired with 12 GB of LPDDR5X memory on a 128-bit bus, giving both higher bandwidth and more headroom for modern engines. Internal storage jumps to 256 GB of UFS, a tacit admission that the 32 GB of the original Switch was never realistic for current-generation games. For expansion, Nintendo moves to microSD Express for faster game loading.</p>
<p>The display steps up to a 7.9-inch 1920×1080 LCD with HDR support and variable refresh up to 120 Hz in handheld and tabletop modes. Docked, the console can output up to 4K/60 with HDR over HDMI, and it adds high-refresh 1080p and 1440p modes for more PC-like monitors.</p>
<p>The Joy-Con 2 controllers shift to a slightly taller shell and magnetically attach to the sides with tighter tolerances than before. ZL/ZR buttons grow larger, and a dedicated “C” button appears, tied to Nintendo’s new GameChat feature. Rotated and placed on a desk, each Joy-Con can act like a hybrid between a small gamepad and a pointing device. Hopes for Hall-effect sticks never materialize; instead, Nintendo advertises improved durability within a familiar analog-stick design.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251115230229159.jpeg" alt="The back of the Nintendo Switch 2"></p>
<p>On the social side, the platform pushes further than the original Switch ever did. GameChat layers voice communication, screen sharing, and optional camera input directly into the OS. The built-in microphone and accessory support for headsets or webcams make the system feel less like a sealed toy and more like a socially aware terminal. Even the Mii system has been modernized, moving away from rigid gender selection toward style-based customization that reflects contemporary expectations of identity.</p>
<p>On spec sheets, the Switch 2 looks like a clean, forward-looking hybrid platform. Once it is placed in a real thermal envelope and plugged into real development pipelines, the compromises become much harder to ignore.</p>
<hr>
<h2>Where the Generational Leap Narrows</h2>
<p>Commercial momentum and a convincing generational transition are not the same achievement. As a next-generation system, the Switch 2 must negotiate technical, ergonomic, and ecosystem limits that keep it from fully expressing the capabilities suggested by its silicon.</p>
<p>Its shortcomings can be understood across three intertwined dimensions: performance constraints, visual presentation limits, and ecosystem stagnation.</p>
<h3>Performance Trap: The Inescapable Triangle of Heat, Power, and Battery Life</h3>
<p>The Switch 2’s hybrid nature forces mutually incompatible requirements onto its architecture.</p>
<p>In docked mode, the T239’s Ampere GPU can be clocked high enough to flirt with “last-gen home console” territory. With reconstruction techniques and hardware ray tracing in the mix, it finally has enough headroom to run modern engines at respectable resolutions and frame rates, especially when targeting 4K output via upscaling. On a living-room screen, the system can present itself as a credible, if modest, competitor.</p>
<p>In handheld mode, reality takes over. The 7.9-inch 1080p HDR panel, the 120 Hz VRR capability, Wi-Fi 6, 12 GB of high-speed DRAM, and a relatively power-hungry GPU all share a fixed battery budget. To maintain tolerable battery life and safe thermals, the console must cut clocks, lower power targets, and trim visual settings. A demanding title that tries to push the hardware’s theoretical limits will rapidly collide with both the thermal design and the battery capacity.</p>
<p>The user-facing pattern is familiar. Docked, Switch 2 titles chase impressive targets—4K output, high frame rates, ray-traced reflections—but only within carefully curated scenarios. Undocked, the same games often fall back to reduced internal resolution, simplified effects, and more conservative frame pacing, even when the marketing headline still reads “1080p portable play.”</p>
<p>Upscaling and reconstruction techniques can do a great deal, and in the best cases the results are surprisingly clean. But they cannot override the physics of a thin handheld chassis and a modest battery pack. The silicon is capable of more than the form factor can sustain continuously. So long as the console must be both a couch system and a portable, it cannot compete on exactly the same terms as dedicated living-room hardware.</p>
<h3>Visual Ceiling: A Screen That Cannot Fully Express the Leap</h3>
<p>On the surface, the Switch 2’s display seems like the long-awaited fix: a step from 720p to 1080p, SDR to HDR, and a 60 Hz panel to one that can handle 120 Hz VRR. For a portable system, that sounds almost excessive.</p>
<p>Yet this is also where the generational leap stops short of being genuinely transformative. The panel is still LCD rather than OLED, which means black levels, contrast, and HDR “pop” have hard ceilings. HDR support exists, but within the constraints of a mobile display whose brightness cannot simply be driven to desktop monitor levels without destroying battery life. The higher resolution is welcome, but its impact is softened whenever games render below native internally and rely on reconstruction or upscaling to reach 1080p.</p>
<p>The overall impression is of a carefully optimized evolution. Text and HUD elements are sharper; textures and fine detail read more clearly than on the original Switch; shimmering and aliasing are reduced when developers lean into modern anti-aliasing. But these changes feel like an accumulation of refinements rather than a qualitative redefinition of how games look and feel on a portable screen. Across a table, a Switch 2 often resembles a very polished original Switch: recognizably the same idea, only cleaner.</p>
<p>Internally, the SoC belongs to a new era. Externally, the main display still behaves like a conservative, power-aware update to a 2017 philosophy. The emotional shock of a generational transition—the sense that old franchises are being reframed through a radically upgraded image pipeline—is dulled.</p>
<h3>Development Stall: A Next-Gen Console Without Next-Gen Development Cycles</h3>
<p>The deepest structural problem is neither in silicon nor in glass, but in time.</p>
<p>During the early life of any console, developers quietly decide how “real” its generation will be. They can rebuild engines, streaming systems, and asset pipelines around the new baseline, or they can treat the newcomer as a slightly higher configuration in an existing multi-platform roster. For Switch 2, economic gravity pulled strongly toward the second option.</p>
<p>Production pipelines had been tuned to the original Switch for years. Geometry budgets, texture resolutions, simulation complexity, and loading behavior were all shaped by its limited CPU, memory, and storage profile. When Switch 2 appeared, its predecessor’s enormous install base did not vanish. The rational strategy was to keep building for the original target while layering Switch 2 modes on top: higher resolutions, cleaner textures, more stable frame rates, and occasional extra effects.</p>
<p>This decision has consequences that extend across the generation. Switch 2 struggles to carve out a distinct “native” identity in its formative years, because the majority of its library behaves like “upgraded Switch games” rather than software fundamentally conceived for a new baseline. At the same time, the older hardware remains the gravitational center of Nintendo’s third-party ecosystem; many cross-platform titles are simply not allowed to assume that the Switch 2 profile is the minimum.</p>
<p>In other words, the console’s generational leap is partially sacrificed to preserve continuity with the economic reality of its predecessor. By the time this inertia begins to fade, the crucial early window in which a platform establishes its identity will already have passed.</p>
<hr>
<h2>Dock, Docks, and the Fragile 4K Dream</h2>
<p>The dock is once again where Nintendo tries to convince the world that the Switch belongs in the same living-room space as Sony and Microsoft.</p>
<p>The official Switch 2 dock is clearly more serious than the original. It formally supports 4K/60 HDR output, wired networking, and offers modes targeted at 1080p and 1440p high-refresh displays. It feels less like a plastic HDMI breakout and more like a deliberate bridge between the handheld and a modern TV or monitor.</p>
<p>Underneath, however, the ecosystem around the dock is fragile and tightly managed. The console relies on a proprietary link and a stricter power-delivery handshake than before, which immediately broke compatibility with a range of existing third-party docks and USB-C hubs. Hardware that had worked perfectly well with the original Switch suddenly fell back to basic charging or lost video output altogether when paired with the new system.</p>
<p>Firmware updates have already demonstrated how precarious this layer can be. A single system update was enough to disable video on certain unofficial docks until their manufacturers pushed out their own patches. Enthusiast users have learned that Switch 2’s TV-facing side is not a stable, standards-driven environment but a moving target, defined entirely by Nintendo’s next system software revision.</p>
<p>For a console that sells itself as a 4K HDR living-room endpoint, this tight coupling between dock, firmware, and video output feels out of step with the broader HDMI and USB-C ecosystem.</p>
<hr>
<h2>A Beautiful, Constrained Social Machine</h2>
<p>If one ignores the thermal envelope and dock politics, the Switch 2 is in many ways a beautifully constructed social machine.</p>
<p>GameChat is the most obvious symbol of this direction. Voice chat, screen sharing, and optional camera input are integrated into the OS rather than left to external devices. The built-in microphone on the tablet, the accessory options for headsets and webcams, and the ability to share a handheld or docked session directly from the console all mark a clear departure from the isolated feel of the original Switch. It is easier to imagine the Switch 2 at the center of a small social group, not just as a local multiplayer device but as a node in an online conversation.</p>
<p>The new Mii system contributes in its own quiet way. By moving away from binary gender selection and toward style-driven customization, Nintendo updates a relic from the Wii era without discarding its charm. Miis remain unmistakably Miis, but the editor now reflects a more flexible understanding of identity and presentation.</p>
<p>Backwards compatibility is handled with a pragmatic mix of continuity and segmentation. The bulk of the original Switch library, both physical and digital, runs on the new hardware with minimal friction. Certain high-profile titles receive dedicated enhancements or full “Switch 2 editions” with upgraded assets and features, creating a soft dividing line between generations without a hard break. Subscription-based access to classic systems continues and expands, pulling older hardware histories into the Switch 2’s orbit.</p>
<p>At the same time, the account and enforcement layer becomes more central. Terms of service, regional policies, and ban mechanisms make clear that this is not meant to be a general-purpose computing device. It is a curated social appliance whose boundaries are tightly defined and actively policed.</p>
<hr>
<h2>Between Generations: Where Switch 2 Actually Lives</h2>
<p>By calendar and catalog, it is straightforward to label the Switch 2 as a “tenth-generation” console. In future timelines, it will sit opposite the PS5 and Xbox Series hardware, filling Nintendo’s box for that row of history.</p>
<p>Experience tells a more ambiguous story. On one axis, Switch 2 is constantly measured against PS5 and Series X/S for multi-platform releases, and here the gap in raw power and thermal headroom is impossible to conceal. Even with reconstruction, dynamic resolution, and careful engine work, the system cannot reliably reach comparable resolutions and frame rates, particularly when untethered from the dock.</p>
<p>On another axis, the console is chained to its own past. The original Switch’s huge install base and rich software catalog exert a gravitational pull on both publishers and players. “Switch” becomes a single amorphous platform in public perception; Switch 2 is treated less as a break and more as the premium configuration in that ecosystem.</p>
<p>This dual constraint explains why the Switch 2 can triumph as a product while still feeling hesitant as a generational break. Its thermal and battery envelope limits how fully the SoC can express itself in handheld use. Its conservative display softens the visual drama of a major internal upgrade. And a software ecosystem shaped by compatibility and economics takes time to gather around a new baseline.</p>
<p>Nintendo’s first-party teams will, as always, find ways to make the hardware look better than it has any right to. They will design worlds around the Switch 2’s strengths instead of treating it as a downscaled target, and their work will define the system in collective memory. But even their best efforts cannot completely erase the underlying compromises.</p>
<hr>
<h2>A Generation That Ends the Previous One, Instead of Starting the Next</h2>
<p>The Nintendo Switch 2 is a paradox: a successful, forward-looking hybrid whose strongest quality — continuity — is also what makes its generational identity difficult to see clearly.</p>
<p>As a physical object, it is easy to like. The tablet is more comfortable, the Joy-Con connections are better, the screen is sharper and supports HDR, and the social layer finally feels native rather than bolted on. As a business, it refines a model that has already transformed Nintendo’s fortunes and will likely do so again.</p>
<p>As a generational statement, it hesitates. It does not join the PS5 and Xbox Series on the same performance frontier, nor can it escape the gravitational pull of the original Switch’s lower baseline. It instead occupies a liminal space: the perfected form of a 2017 design decision, powerful enough to extend that idea but not quite willing to redraw its boundaries.</p>
<p>In the long view of console history, the Switch 2 looks less like the opening of a new chapter and more like the definitive closing paragraph of the previous one.</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>Nintendo</category>
            <category>Switch 2</category>
            <category>Hardware Analysis</category>
            <category>Hybrid Consoles</category>
        </item>
        <item>
            <title><![CDATA[Why Vision-Only Perception May Not Be the Future of Autonomous Driving]]></title>
            <link>https://nishikori.dev/posts/why-vision-only-perception-may-not-be-the-future-of-autonomous-driving</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/why-vision-only-perception-may-not-be-the-future-of-autonomous-driving</guid>
            <pubDate>Tue, 15 Apr 2025 12:00:00 GMT</pubDate>
            <description><![CDATA[Relying solely on vision-based perception is not a viable path for the future of autonomous driving. As LiDAR and sensor fusion mature, multi-modal perception will inevitably replace vision-only approaches.]]></description>
            <content:encoded><![CDATA[<p>I’ve always believed that relying solely on a vision-only perception system is not a viable path forward — even though Tesla currently remains the most advanced player in autonomous driving.</p>
<p>The so-called advantages of vision-only perception — lower cost and algorithmic maturity — are becoming less compelling in today’s highly competitive landscape. <strong>TOF</strong> and <strong>FMCW LiDAR</strong> technologies are rapidly dropping in price; even a relatively ordinary project I’ve worked on recently has adopted a solid-state TOF solution. Meanwhile, <strong>sensor fusion algorithms</strong> are inevitably maturing as well.</p>
<p>The depth maps generated by vision-only systems are essentially <em>pseudo-3D</em> representations. When the technology is immature, depth estimation tends to suffer from errors and is easily deceived by environmental conditions. In contrast, LiDAR can offer <strong>millimeter-level — and with FMCW, even sub-millimeter — precision</strong>, along with significantly improved resistance to interference.</p>
<p>Moreover, using neural networks to compute depth and perform object detection demands substantial computational power. LiDAR, on the other hand, directly outputs 3D data, greatly reducing the processing burden.</p>
<p>Vision-only perception systems are also highly dependent on <strong>lighting conditions</strong> and <strong>scene texture complexity</strong>. LiDAR remains stable under backlight, low-light, and textureless scenarios, and continues to function reliably even in adverse weather such as rain and fog.</p>
<p>The lack of <strong>safety redundancy</strong> in vision-only approaches makes them unreliable for use in such challenging conditions — and realistically, we can’t expect users to simply avoid driving at night or in bad weather.</p>
<p>The future of autonomous driving will most likely rely on <strong>multi-sensor fusion</strong>: a form of generalized perception that balances cost and robustness by drawing on the strengths of several modalities.</p>
<p>The goal should not be to vindicate vision-only perception as a principle, but to build <strong>heterogeneous systems</strong> in which vision provides the backbone and LiDAR supplies redundancy and precision where they matter most.</p>
<p>For <strong>high-level autonomous driving (L4 and above)</strong>, TOF — and perhaps especially FMCW LiDAR — is therefore likely to become increasingly common.</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Tech Perspectives</category>
            <category>Autonomous Driving</category>
            <category>Sensor Fusion</category>
            <category>LiDAR</category>
            <category>TOF</category>
            <category>FMCW</category>
            <category>Computer Vision</category>
            <category>Vehicle Engineering</category>
        </item>
        <item>
            <title><![CDATA[Reflections on a Humanoid Robot Marathon Held Somewhere]]></title>
            <link>https://nishikori.dev/posts/reflections-on-a-humanoid-robot-marathon-held-somewhere</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/reflections-on-a-humanoid-robot-marathon-held-somewhere</guid>
            <pubDate>Thu, 10 Apr 2025 12:00:00 GMT</pubDate>
            <description><![CDATA[Humanoid robots represent an incremental frontier — bridging specialized robotics and general-purpose intelligence. Yet their pursuit of human adaptability raises questions about cost, feasibility, and the boundaries of embodied AI.]]></description>
            <content:encoded><![CDATA[<p>Humanoid robots still address a narrow, incremental market: places built around the human body, yet too irregular for a purpose-built machine to navigate easily. Their promise lies in entering those unstructured environments without first requiring the environment itself to be redesigned.</p>
<p>Specialized machines will continue to do most individual jobs better. Yet the sensors, actuators, control systems, and commercial lessons developed for those machines can also become the modular foundations of more general-purpose platforms. Progress may therefore move in both directions: specialized robotics lending maturity to humanoids, and humanoid research creating new demand for better specialized components.</p>
<p>Specialized systems are unlikely to disappear, especially where performance, reliability, or cost matters more than adaptability. In that respect, the relationship between humanoid and specialized robots resembles the relationship between <strong>AGI</strong> and <strong>vertical AI</strong>: breadth is valuable, but it does not make depth obsolete.</p>
<p>I remain skeptical of both humanoid robots and AGI, particularly of the assumption that generality will arrive at an acceptable cost. A machine capable of adapting to nearly every human environment may be possible long before it is economical.</p>
<p>Even so, the possibility that these two lines of research might one day meet — and produce something recognizably like <strong>embodied AGI</strong> — remains difficult not to contemplate.</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Tech Perspectives</category>
            <category>Humanoid Robots</category>
            <category>Robotics</category>
            <category>AGI</category>
            <category>Embodied Intelligence</category>
            <category>Automation</category>
            <category>AI Philosophy</category>
        </item>
        <item>
            <title><![CDATA[How Game Consoles Learned to Carry Their Past — From Extra Chips to Software Emulation]]></title>
            <link>https://nishikori.dev/posts/retro-console-compatibility</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/retro-console-compatibility</guid>
            <pubDate>Mon, 24 Mar 2025 20:30:00 GMT</pubDate>
            <description><![CDATA[How consoles carried earlier generations forward through inherited hardware, hybrid execution modes, software emulation, and remasters.]]></description>
            <content:encoded><![CDATA[<p>Backward compatibility may appear to be a simple promise — put an old disc or cartridge into a new machine and continue where you left off. Yet every way of keeping that promise reveals a console’s design philosophy: how much old hardware it is willing to carry, which compromises it accepts, and how much control it leaves to the player once the original machine has disappeared.</p>
<p>To understand how consoles preserved — or abandoned — earlier software is therefore to understand how the medium negotiates with its own history.</p>
<h2>The Era of Hardware Inheritance: Hiding the Previous Console Inside the New One</h2>
<p>In the early generations of game hardware, software was tightly coupled to the specific quirks of the underlying circuitry. CPU timing, bus behavior, scanline progression, undocumented registers, race conditions, and even hardware bugs were part of the expected execution model. Many games depended on these characteristics in subtle ways. In such an environment, the most robust way to ensure compatibility was simply to embed the previous generation’s hardware inside the new system.</p>
<p>Nintendo’s early handheld line exemplifies this logic. The Game Boy Color contained a Z80-like core compatible with the original Game Boy. The Game Boy Advance went even further: beyond its ARM7 processor, it preserved a full set of Game Boy Color graphics registers, pixel timing units, and DMA behavior. When running GBC software, the GBA did not “simulate” the older handheld—it effectively transformed into one. This produced impeccable compatibility at the cost of additional silicon area, power consumption, and board complexity.</p>
<p>Such designs were nearly flawless in behavior but carried high physical and economic costs. Once miniaturization and sleek industrial design became dominant goals—most visibly in the Game Boy Micro—it became impossible to retain the older hardware blocks. Backward compatibility became incompatible with the physical constraints of the product.</p>
<h2>The Hybrid Era: Partial Hardware Retention and Software Compensation</h2>
<p>As console architectures grew more sophisticated, maintaining full hardware inheritance became increasingly impractical. Manufacturers turned to hybrid models: retain only the most essential parts of the previous system’s architecture, and reconstitute the rest through software layers or lightweight auxiliary circuitry.</p>
<p>The PlayStation 2 is a canonical example. Early PS2 units included the full PS1 CPU and critical graphics logic, enabling near-perfect compatibility. Later slim models removed some dedicated hardware blocks, relying instead on software implementations for portions of PS1 behavior. Compatibility remained high, but subtle divergences emerged in edge cases.</p>
<p>Nintendo’s Wii adopted a similar strategy. It contained the logic necessary to become, in effect, a GameCube, dropping into a hardware “GC mode” that bypassed much of the Wii subsystems. Stability and fidelity were excellent, but the approach still required the physical footprint of legacy logic.</p>
<p>Hybrid compatibility represented a transitional phase: no longer carrying the entire past, but still unable to completely shed hardware obligations.</p>
<h2>The Software Emulation and Remaster Era: Compatibility as an Engineering Service</h2>
<p>With substantial increases in CPU and GPU performance, consoles began shifting fully toward software emulation. Instead of physically rebuilding old hardware, engineers rebuilt its behavior: instruction sets, timing, rasterization pipelines, audio envelopes, and even precise hardware quirks. Compatibility ceased to be a hardware commitment and became a software engineering project.</p>
<p>This shift defined much of the modern landscape. PlayStation 3 later revisions, Xbox One’s backward compatibility program, and numerous digital re-releases rely on emulation frameworks. Software emulation allowed old games not only to run, but to benefit from enhancements: save states, rewind features, resolution boosts, anti-aliasing, and CRT shaders—all impossible on original hardware.</p>
<p>At the same time, the dominance of software compatibility paved the way for a parallel phenomenon: remasters and remakes. Once games no longer depended on legacy hardware, developers could rebuild them directly for modern systems—sometimes using original engines wrapped in emulation, sometimes recreating them from scratch. Thus “compatibility” bifurcated into two paths: emulation that recreates the original experience, and remasters/remakes that reinterpret it.</p>
<p>This dual pathway defines the contemporary understanding of backward compatibility: a mix of technical preservation and commercial reinvention.</p>
<h2>Handheld Evolution and the Rise of Virtualized Execution Environments</h2>
<p>Handheld systems followed the same general trajectory but manifested it in a more compressed and extreme form due to severe constraints on size, thermals, and battery life.</p>
<p>Nintendo’s GB/GBC/GBA lineage originally relied on hardware inheritance, but the need for aggressive miniaturization ultimately forced the Game Boy Micro to abandon all pre-GBC compatibility. The Nintendo DS briefly reintroduced physical backward compatibility via a dual-slot design, only for the 3DS to consolidate everything into a single SoC and rely on a hardware-level “DS mode” rather than a discrete cartridge subsystem. By the time the Switch arrived, physical backward compatibility vanished entirely, replaced by emulation-driven digital libraries.</p>
<p>Sony’s handheld strategy took a different but equally illustrative path. The PSP contained no PS1 hardware; it relied entirely on an official emulator bundled uniquely with each PS1 digital release. The PlayStation Vita refined this approach, implementing a virtualized execution environment capable of running PSP titles on a fundamentally different architecture. Rather than inheriting hardware, the Vita hosted reconstructed software environments—an early form of handheld OS-level virtualization.</p>
<p>This evolution marks a turning point: handheld backward compatibility no longer depended on the past’s physical architecture, but on the platform holder’s willingness to maintain digital distribution and software layers. Compatibility became a platform service rather than a hardware trait.</p>
<h2>The Cost of Compatibility: Why 3DS Backward Support Became a Security Vulnerability</h2>
<p>Backward compatibility also carries risks. The Nintendo 3DS illustrates how compatibility can inadvertently preserve not only legacy functionality but legacy vulnerabilities.</p>
<p>To support the Nintendo DS library, the 3DS included a dedicated DS execution mode. When engaged, this mode replicated the DS security model, filesystem structure, and peripheral behavior. Unfortunately, it also replicated the DS’s weaker security boundaries. Early 3DS exploits began precisely in this DS mode: attackers leveraged legacy flaws in image parsers, savefile handlers, and cartridge command paths to gain arbitrary code execution. With carefully constructed payload chains, they escalated from DS-mode control into the full 3DS environment.</p>
<p>In this sense, backward compatibility became a historical liability. It preserved not only software but the vulnerabilities of a previous generation. This phenomenon notably influenced Nintendo’s later decision to avoid hardware-level backward compatibility in the Switch, preferring sandboxed emulation layers that isolate old logic rather than replicate it.</p>
<p>Backward compatibility, therefore, is never purely “good.” It is always a trade-off between preservation and inherited fragility.</p>
<h2>Emulator Culture: The Unofficial Foundation of Modern Compatibility</h2>
<p>Behind the industry’s evolution lies another longstanding force: emulator culture. Independent emulator developers spent decades reconstructing undocumented hardware behavior through painstaking reverse engineering—measuring timing cycles, testing register responses, tracing bus activity, and identifying undocumented behaviors. Much of what is publicly known about older systems comes from this work, not from official documentation.</p>
<p>Over time, emulator research effectively became the backbone of modern game preservation. Many official compatibility solutions—including those in the Switch Online service, PlayStation Classics, and Xbox backward compatibility—are built on methodologies pioneered by the emulator community: JIT translation, precise timing models, API redirection, shader pipeline recreation, and more.</p>
<p>Emulation does more than allow old games to run. It preserves behavior, makes that behavior open to analysis, and turns ageing hardware into systems that can be reproduced in software. Emulators have therefore become a cultural and historical infrastructure as important as any official backward-compatibility program.</p>
<h2>Looking Ahead: The Future of Backward Compatibility</h2>
<p>Backward compatibility has traced a winding path across console history. It began with literal hardware inheritance: placing yesterday’s chips inside tomorrow’s devices. It then transitioned to hybrid modes where only fragments of the past survived on silicon. Eventually, it became a software discipline—an engineering practice rather than a hardware obligation—accompanied by remasters that reinterpreted classics for new generations.</p>
<p>Handheld systems, from GBA to PSP and PSV, mirrored this evolution in more extreme forms, moving rapidly from inheritance to virtualization. In systems like the 3DS, compatibility even revealed its darker side by inheriting old vulnerabilities. And throughout this process, emulator culture provided the conceptual and technical framework that made modern compatibility—official and unofficial—possible.</p>
<p>Each compatible console carries the past differently: as an extra chip, a hidden execution mode, an emulator, or sometimes only a listing in a digital store. As architectures converge and physical media recede, the engineering may become easier while the act of preservation becomes more dependent on corporate choice. The question will no longer be only whether an old game <em>can</em> run, but whether its platform holder still wishes to let it.</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>retro gaming</category>
            <category>compatibility</category>
            <category>emulation</category>
            <category>hardware</category>
            <category>software</category>
        </item>
        <item>
            <title><![CDATA[The CECHA — When PlayStation Reached Its Most Ambitious Form]]></title>
            <link>https://nishikori.dev/posts/the-cecha-when-playstation-reached-its-most-ambitious-form</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/the-cecha-when-playstation-reached-its-most-ambitious-form</guid>
            <pubDate>Fri, 21 Mar 2025 20:54:00 GMT</pubDate>
            <description><![CDATA[The first-generation PS3 CECHA remains one of Sony’s most ambitious machines — a console that unified three generations of PlayStation hardware and marked both the peak and the end of true backward compatibility.]]></description>
            <content:encoded><![CDATA[<p>The first-generation <strong>PlayStation 3</strong>, model <strong>CECHA</strong>, is one of the most captivating pieces of consumer hardware ever built.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251108212108445.jpeg" alt="My PlayStation 3 CECHA00"></p>
<p>Among the many PS3 revisions, only the <strong>CECHA</strong> (60GB, Japan/US) and <strong>CECHB</strong> (20GB) models contained an <em>entire PlayStation 2 system</em> integrated on the motherboard — including the <strong>Emotion Engine</strong> CPU and <strong>Graphics Synthesizer</strong> GPU.<br>
This meant true, hardware-level backward compatibility, allowing the system to run games from all three generations — <strong>PS1</strong>, <strong>PS2</strong>, and <strong>PS3</strong> — with perfect accuracy.</p>
<p>It was the ultimate “all-in-one” PlayStation.<br>
A vision of seamless continuity between generations — and, in retrospect, one of Sony’s most daring hardware decisions.</p>
<hr>
<h3>The Dream and Its Flaws</h3>
<p>This ambition, however, came at a cost.<br>
The CECHA suffered from an early thermal design flaw, which made it prone to the infamous <strong>Yellow Light of Death (YLOD)</strong>. Combined with its glossy piano-black finish and limited production run, pristine units with original packaging and documentation are now exceedingly rare.<br>
Collectors today search for untouched systems — with uncracked warranty seals and no signs of reflow repairs — like museum artifacts of a lost technological optimism.</p>
<hr>
<h3>The Controller Lineage</h3>
<p>To fully appreciate the CECHA, it helps to look back at the evolution of the PlayStation controller itself — a lineage that mirrors the console’s history of refinement.</p>
<p>During the PS1 era, three major controllers were released:</p>
<ol>
<li>
<p><strong>Original Controller (Model H):</strong><br>
A minimalist design without analog sticks — simple, symmetrical, almost toy-like by modern standards.</p>
</li>
<li>
<p><strong>Dual Analog Controller:</strong><br>
Introduced the now-iconic <em>dual-stick layout</em>, giving players precise control over movement and camera — a major leap in input expressiveness.</p>
</li>
<li>
<p><strong>DualShock Controller:</strong><br>
Added vibration feedback, merging tactile sensation with gameplay — an innovation that set the template for all future PlayStation controllers.</p>
</li>
</ol>
<p>The <strong>PS2</strong> continued this legacy with the <strong>DualShock 2</strong>, refining the analog sensitivity of buttons and sticks while retaining the same ergonomic silhouette.</p>
<hr>
<h3>The Silent Gap — SIXAXIS and the Patent War</h3>
<p>Yet by the time the <strong>PlayStation 3</strong> launched in 2006, something curious had changed.<br>
The launch units — including the CECHA — shipped with <strong>SIXAXIS controllers</strong>, which <em>lacked vibration entirely</em>.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251108212225527.jpeg" alt="SIXAXIS controller"></p>
<p>The reason was not technical but legal.<br>
A company named <strong>Immersion</strong> had sued Sony, claiming that the vibration mechanisms in the <strong>DualShock 1</strong> and <strong>DualShock 2</strong> infringed upon its patents.<br>
As a result, Sony temporarily removed vibration feedback from the controller lineup, introducing motion sensing (the “six axes” of movement) as a partial substitute.</p>
<p>It was an odd compromise — and players noticed.<br>
The absence of tactile feedback left early PS3 titles feeling somewhat detached, sterile even, especially for players accustomed to the visceral response of a rumbling DualShock.</p>
<p>Eventually, Sony and Immersion reached a settlement.<br>
By 2007, vibration made its return in the form of the <strong>DualShock 3</strong>, combining SIXAXIS motion control with the familiar tactile feedback players had missed.<br>
It restored what many felt was the <em>soul</em> of the PlayStation experience.</p>
<hr>
<h3>The End of an Era</h3>
<p>The CECHA thus represents a fascinating intersection in gaming history:<br>
a console where the old and new coexisted — full hardware backward compatibility, legacy controller design, and a vision of total integration that would never be repeated.</p>
<p>Later PS3 revisions gradually removed PS2 hardware, replacing it with limited software emulation to reduce cost and heat output.<br>
Backward compatibility became partial, and eventually disappeared altogether.</p>
<p>In hindsight, the CECHA was the <strong>last PlayStation built around a genuinely universal idea of the platform</strong>.
Its ambition was unsustainable, but the premise remains compelling: technological progress did not yet have to mean abandoning the past.</p>
<p>For collectors and enthusiasts, the CECHA remains a physical reminder of a time when <strong>“compatibility” meant continuity</strong>,
and when a single machine could still carry the memory of three generations.</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>PlayStation</category>
            <category>PS3</category>
            <category>PS2</category>
            <category>CECHA</category>
            <category>Game History</category>
            <category>Console Design</category>
        </item>
        <item>
            <title><![CDATA[Nintendo Switch — A Long Bet on the Hybrid Console]]></title>
            <link>https://nishikori.dev/posts/nintendo-switch-hybrid-console-long-generation</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/nintendo-switch-hybrid-console-long-generation</guid>
            <pubDate>Sat, 08 Feb 2025 21:30:00 GMT</pubDate>
            <description><![CDATA[An in-depth look at the Nintendo Switch as a long-lived hybrid console. Its deliberate break with backward compatibility, portable–dockable hardware design, sensor-heavy Joy-Con, Labo experiments, pandemic-extended life cycle, and the parallel history of hacks from RCM jigs to RP2040 mods and Mig Switch flashcarts.]]></description>
            <content:encoded><![CDATA[<h3>Nintendo Switch — Stretching a Console Generation</h3>
<p>When Nintendo launched the Switch in 2017, the home console landscape was already split in two. High-performance boxes under the TV were chasing 4K and HDR, while smartphones and tablets had eaten most of the handheld market. The Wii U had died in that no man’s land between the two: not powerful enough to stand alongside PS4 and Xbox One, and not portable or elegant enough to be a true handheld.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251115212209134.jpeg" alt="My Nintendo Switch OLED"></p>
<p>The Switch responded with a blunt, almost radical proposition: stop choosing. Instead of iterating on “home console” and “handheld” as separate product lines, Nintendo fused them into a single object — a tablet-like core that could be both, depending on where you put it and how you held it.</p>
<p>The commercial result is already carved into sales charts. The Switch has climbed into the same altitude as the DS and PS2 era, and its software library has sprawled across most of a decade. For a machine built around a mobile SoC and a 720p screen, its influence and lifespan are absurdly out of proportion to its raw specs.</p>
<hr>
<h3>Cutting the Safety Net: Deliberately Breaking Backward Compatibility</h3>
<p>From a hardware romantic’s perspective, one of the Switch’s most controversial decisions is how aggressively it cuts itself off from the Wii / Wii U / DS lineage. There is no disc drive, no second cartridge slot, no clever adapter that allows you to slide in 3DS cards or Wii discs. Past generations are treated as past generations.</p>
<p>Under the hood, this is more than just a business choice. The Switch abandons the PowerPC architecture that powered the GameCube, Wii and Wii U, and instead moves to an Nvidia Tegra SoC with ARM CPU cores and a Maxwell-family GPU. Instruction set, graphics pipeline, operating system — almost everything fundamental is different.</p>
<p>Real, low-level hardware backward compatibility would have meant one of two things: bolting an entire legacy subsystem onto the board, or building a labyrinth of emulation layers into the OS. Both would have added cost, complexity, and constraints to a device whose central promise is “simple, small, hybrid”.</p>
<p>Nintendo chose the clean break. The upside is conceptual purity. The Switch can be defined entirely on its own terms, without having to drag a decade of design decisions behind it. The downside is obvious to anyone staring at a box of Wii and 3DS software: there is no direct path forward. Those games live and die with their original hardware, unless and until Nintendo resells them via ports, remasters, or subscription services.</p>
<p>In effect, backward compatibility was reclassified from “physical feature” to “content strategy”. Instead of keeping an old cartridge slot alive, Nintendo selectively rebuilds a classic library on the new platform, often with updated pricing and new digital ownership rules. The Switch’s success suggests that mainstream players were willing to accept that trade, even if preservationists and collectors are less forgiving.</p>
<hr>
<h3>One SoC, Two Personas: Home Console and Handheld in One Shell</h3>
<p>At a glance, the Switch hardware is almost comically simple: a 6.2-inch tablet-like main unit with rails on the sides, a pair of detachable Joy-Con, and a dock that is little more than a breakout box for HDMI and power delivery. The complexity is in how this small system behaves like two different machines.</p>
<p>Inside the main unit, the Tegra SoC runs in two broad regimes. In handheld mode, it targets the built-in 720p display with conservative clocks and power limits, pushing just enough pixels for a comfortable image while keeping battery life and thermals under control. Slot the console into the dock and the system is allowed to draw more power, ramp clocks, and output 1080p to the TV.</p>
<p>From the user’s standpoint, the transition is absurdly low-friction: pull the console out of the dock and keep playing in your hands; drop it back in and the TV wakes up. Underneath that single motion lies a full perspective shift — the same game logic and save data, but a different performance envelope and presentation.</p>
<p>On paper, the Switch is permanently outgunned by its contemporaries: 4 GB of RAM, a mobile GPU, and modest bandwidth are not the ingredients from which spec sheets are made. But as a lived object, it optimized for something else. Frame rates become “good enough”; the important part is that the console is always where you are. The hybrid concept is not a gimmick bolted on top; it is the baseline assumption.</p>
<p>This also explains why the Switch feels strangely resilient even as a successor arrives. As long as the little tablet and its dock are there, charged and within reach, it keeps functioning as “the machine you actually play on”, regardless of how many teraflops the newer box under the TV advertises.</p>
<hr>
<h3>Joy-Con and Sensor Overload: A Controller as Experiment Platform</h3>
<p>The Switch story is not only about the main unit. Much of its character resides in the Joy-Con — two tiny controllers that try to be many things at once.</p>
<p>Each Joy-Con houses an accelerometer and gyroscope, an HD rumble motor, a full set of buttons, and a tiny battery. The right Joy-Con adds an IR motion camera; both include NFC for Amiibo. It is an extravagant amount of hardware squeezed into two pastel-colored bricks.</p>
<p>This layout allows at least three distinct modes of use. Clipped to the sides of the console, the Joy-Con form something that resembles a handheld; slotted into a grip, they mimic a traditional gamepad; pulled apart and rotated, they become two minimalist controllers for impromptu multiplayer sessions. Certain games push the hardware further, treating the Joy-Con as motion-sensing wands or fitness sensors.</p>
<p>Where the Wii Remote invited exaggerated arm swings and theatrical gestures, the Joy-Con leans toward subtler motions and haptic illusions: the suggestion of ice cubes rattling in a glass, the sensation of a fishing line tightening, the distinction between a gentle twist and a sharp flick. It is an attempt to make motion control feel less like a party trick and more like another dimension of input.</p>
<p>The irony is that the Joy-Con is just as famous for drift and repairs as it is for clever design. Complex sensors and miniaturized analog sticks inside a small shell, used across years of heavy, portable play, is a recipe for wear. In hindsight, Nintendo overreached on mechanics and underbuilt for durability. The idea of the Joy-Con is fantastic; the execution is fragile.</p>
<hr>
<h3>Labo: Cardboard Shells and a One-Off Education Experiment</h3>
<p>Nintendo Labo may be the most unusual branch of the Switch ecosystem. It takes all those latent Joy-Con sensors and asks a peculiar question: what if children could build the hardware themselves, out of cardboard?</p>
<p>The kits include pre-cut cardboard sheets and a game card. Folding, slotting, and taping turns flat pieces into pianos, fishing rods, handlebars, houses, and even a wearable robot backpack. The Joy-Con slide into these structures, their sensors suddenly repurposed. The IR camera in the right Joy-Con “reads” which piano key you pressed; the accelerometer and gyroscope watch how you tilt the handlebars; the rumble motors bring fishing lures and robot footsteps to life.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000357465.jpeg" alt="Switch Lite, however, is a stripped-down model: handheld-only, with no support for Labo"></p>
<p>Labo is both a toy and a lesson in systems, disguised as craft. The on-screen building instructions guide the assembly process in slow, clear animations; once everything works, you can peek behind the curtain and see sensor data visualized, buttons and levers mapped to virtual events. Toy-Con Garage extends this into a node-based logic editor, letting kids wire “when this moves, do that” behaviors without touching a single line of code.</p>
<p>It is brilliant, and also almost destined to be transient. Cardboard bends, tears, absorbs moisture, and eats closet space. Software support is finite by design. Labo burned brightly for a moment, sold its million-something kits, then faded into the background as the market shifted back to more conventional software. In a few decades, intact Labo sets and still-working cardboard pianos will probably feel like artefacts from a brief, optimistic moment when a company decided that a game console could double as a STEM classroom.</p>
<hr>
<h3>Pandemic Years and an Extended Generation</h3>
<p>The other force that stretched the Switch’s lifetime had nothing to do with clock speeds or software roadmaps. It was the global shock of COVID-19.</p>
<p>When lockdowns and social distancing hit, living rooms and bedrooms suddenly had to absorb work, school, social life, and entertainment all at once. Demand for game hardware and software spiked; supply chains, meanwhile, were under stress. The Switch found itself in exactly the right (or wrong) place: a relatively affordable console, easy to share within a household, capable of both solitary and communal play, and portable enough to move between rooms and roles.</p>
<p><em>Animal Crossing: New Horizons</em> became the emblem of that era, a small-town life simulator turned substitute for commutes, coffee shop conversations, and casual social rituals. <em>Ring Fit Adventure</em>, originally a quirky fitness experiment, transformed into a lifeline for people trying to stay active in one room apartments.</p>
<p>In that context, Nintendo held its hand. Rather than rushing out a generational replacement, it iterated quietly with minor hardware revisions: better battery life here, an OLED display there, small board shrinks and silent internal updates. The Switch stayed “the current Nintendo system” for much longer than a classic five- or six-year cycle would suggest.</p>
<p>By the time a clear successor emerged, the original Switch had become more than a single product cycle. It was the console that bridged the pre-pandemic and post-pandemic worlds; the machine that children grew up with in isolation and then carried with them back onto buses, planes, and campuses. It anchored an unusually long “generation” simply by refusing to exit the stage.</p>
<hr>
<h3>Hacking and the Grey Zone: From Softmods to Hardware Mods and Flashcarts</h3>
<p>In parallel with its official story, the Switch accumulated a dense, messy history of hacking, modding, and legal skirmishes.</p>
<p>Early, unpatched Switch units shipped with a vulnerability in the Tegra boot ROM. By forcing the console into a hidden recovery mode and sending a carefully crafted payload over USB, it was possible to seize control of the system before Nintendo’s firmware booted. The clever part was how players entered that mode: by shorting specific pins inside the right Joy-Con rail and holding a button combination, they could trigger the exploit without any specialized tools.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251110000346571.jpeg" alt="Nintendo Switch"></p>
<p>RCM jigs — tiny plastic or 3D-printed clips that shorted those pins reliably — became ubiquitous. A paperclip and a USB-C cable were enough to open the door to custom bootloaders, homebrew, and full-blown custom firmware. This “softmod era” defined hacking for early Switch owners: no soldering iron required, but the threat of bans and the ethical questions around backups and piracy hung over everything.</p>
<p>Nintendo’s response was predictable. Newer hardware revisions patched the boot ROM flaw, cutting off the RCM exploit for good. Owners of these later units now needed a more invasive route. The hacking scene moved down a level, onto the motherboard itself.</p>
<p>Enter hardware mods built around microcontrollers such as the RP2040. These small boards, soldered to test pads and signal lines on the Switch mainboard, behave like parasitic co-processors. By glitching voltage, clock, or data lines at precisely timed moments during boot, they can slip custom code into memory before the operating system fully locks things down. The installation is delicate and very much non-trivial, but once in place, these chips can provide a semi-persistent custom firmware experience even on “patched” consoles.</p>
<p>More recently, devices like Mig Switch and Mig Flash took a different angle. They pose as ordinary game cards on the outside, but inside hold a microcontroller and a microSD slot. Using a separate dumper, a user can extract game images and associated metadata from legitimate cartridges onto the card. Pressing a button on the Mig cycles through those stored identities, presenting the console with a different “real” game every time. From the console’s perspective, it is just seeing one card being swapped for another; from the user’s perspective, an entire physical library collapses into a single cartridge.</p>
<p>Legally and ethically, this design walks straight into a minefield. It makes no attempt to distinguish between personal backups and downloaded images; it undermines the one-cartridge-one-license model that Nintendo relies on. Unsurprisingly, Nintendo’s reactions have involved both lawsuits against sellers and increasingly aggressive console-side detection and ban mechanisms, particularly as owners experiment with these devices on new-generation hardware.</p>
<p>Taken together, the Switch’s hack history reads like a case study in modern console control. Boot ROM bugs, joy-con rail shorting, microcontroller glitchers, identity-morphing flashcarts — each step in the chain reflects a tension between two conceptions of ownership. One side sees a purchased console as an object to be fully explored, modified, and repurposed; the other treats it as a managed endpoint in a larger service ecosystem, tightly bound by firmware updates and online checks.</p>
<hr>
<h3>Understanding the Switch After the Switch</h3>
<p>With its successor now in the market, it is easier to see the original Switch in full. The new machine addresses many of the obvious complaints: higher performance, better screen options, more storage, stronger online infrastructure, a cleaner approach to backward compatibility. It is, in many ways, what people imagined a “next-gen hybrid” should be.</p>
<p>That makes the first Switch look even stranger and more interesting. It is not a technical marvel by contemporary standards. Joy-Con drift remains a practical annoyance. The OS feels frozen in time, minimalist to a fault, and conspicuously underpowered in online features. Internal storage is cramped, download speeds are unremarkable, and basic tasks like voice chat depend on awkward workarounds.</p>
<p>And yet, measured in cultural weight per watt, the Switch is hard to beat. It took a bet on a hybrid form factor when the rest of the industry was either doubling down on set-top-box designs or quietly retreating from dedicated hardware. It tried, in good faith and not always successfully, to fold motion control, haptics, cameras, and even cardboard into something more ambitious than a feature checklist. It survived long enough to become more than “this generation’s Nintendo console”: it became the background hardware of an entire era.</p>
<p>Looking back, the Switch feels less like one cleanly bounded product and more like a hinge: between disc and download, between living room and commute, between local control and cloud-tethered ownership. It stretched the idea of a console generation until the boundaries blurred, and in doing so, made the question “what is a console?” harder to answer in a way that fits neatly on a spec sheet.</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>Nintendo</category>
            <category>Switch</category>
            <category>Hardware Analysis</category>
            <category>Hacking</category>
        </item>
        <item>
            <title><![CDATA[The Early GameCube — When Nintendo’s Hidden Ports Defined Its Legacy]]></title>
            <link>https://nishikori.dev/posts/the-early-gamecube-when-nintendos-hidden-ports-defined-its-legacy</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/the-early-gamecube-when-nintendos-hidden-ports-defined-its-legacy</guid>
            <pubDate>Thu, 09 Jan 2025 21:40:20 GMT</pubDate>
            <description><![CDATA[The early DOL-001 GameCube represents Nintendo’s most expandable home console — a machine with twin video outputs, three unused bottom ports, and a community that would later turn those dormant connections into a thriving scene of SD loaders and homebrew innovation.]]></description>
            <content:encoded><![CDATA[<p>The <strong>Nintendo GameCube</strong> is often remembered as a compact cube with a handle — playful, durable, and unmistakably Nintendo.<br>
Yet beneath that friendly exterior lies one of the company’s most technically versatile designs.<br>
Early production units, particularly the <strong>DOL-001</strong> revision, contained ports and capabilities that were quietly removed in later runs, leaving these launch-era systems as a kind of hidden pinnacle of Nintendo’s hardware ambition.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251109215205561.jpeg" alt="My NGC"></p>
<hr>
<h3>Dual Video Outputs — A Brief Moment of Excess</h3>
<p>On the back of the DOL-001 sit two video connectors:<br>
one <strong>Analog AV Out</strong>, delivering composite and S-Video, and one <strong>Digital AV Out</strong>, capable of progressive-scan component or pure digital output.</p>
<p>This dual-port configuration allowed the GameCube to deliver some of the cleanest 480p video of its generation — when paired with Nintendo’s official component cable or modern <strong>GCVideo HDMI</strong> adapters.<br>
Later revisions, beginning with the <strong>DOL-101</strong>, quietly removed the Digital AV Out entirely to cut cost, a change that would permanently limit video fidelity for subsequent models.</p>
<hr>
<h3>The Underside Map — Three Ports, One Vision</h3>
<p>Flip the console over, and a second layer of design ambition appears.<br>
Early GameCube units feature <strong>three expansion ports</strong> neatly hidden behind plastic covers:</p>
<ol>
<li><strong>High-Speed Port</strong></li>
<li><strong>Serial Port 1</strong></li>
<li><strong>Serial Port 2</strong></li>
</ol>
<p>While most players never used them, these interfaces were conceived to extend the GameCube far beyond its compact frame — a modular philosophy that anticipated modern “dock” ecosystems decades ahead of its time.</p>
<hr>
<h3>High-Speed Port — Gateway to the Game Boy Player</h3>
<p>The High-Speed Port provided a 32 MHz parallel connection directly to the system’s internal bus.<br>
Its most famous accessory, the <strong>Game Boy Player (DOL-017)</strong>, attached underneath the console and effectively embedded a full <strong>Game Boy Advance</strong> system inside.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251109220016410.jpeg" alt="Gameboy Player and its boot disc"></p>
<p>Unlike software emulation, the Player’s hardware ran native cartridges from the <strong>GB</strong>, <strong>GBC</strong>, and <strong>GBA</strong> generations with near-perfect compatibility.</p>
<p>However, the device required a <strong>boot disc</strong> to launch — one that was <em>region-locked</em> even though the hardware itself was not.<br>
This limitation would later motivate the creation of community alternatives such as <strong>Game Boy Interface (GBI)</strong>, which offered sharper video modes and lower input latency when loaded through homebrew launchers.</p>
<hr>
<h3>Serial Port 1 — From Dial-Up to Broadband</h3>
<p>Serial Port 1 hosted the GameCube’s official networking peripherals:</p>
<ul>
<li><strong>Modem Adapter (DOL-012)</strong> — a 56 K dial-up modem.</li>
<li><strong>Broadband Adapter (DOL-015)</strong> — a 10/100 Mbps Ethernet module.</li>
</ul>
<p>These accessories enabled a handful of online and LAN titles such as <em>Phantasy Star Online</em> and <em>Mario Kart: Double Dash!!</em>.<br>
While Nintendo’s online servers are long gone, the hardware remains functional — still used today for private LAN play and debugging.</p>
<hr>
<h3>Serial Port 2 — Forgotten Potential, Rediscovered Purpose</h3>
<p>The second serial port was never used by any retail accessory.<br>
Officially, it existed for potential debugging hardware, and on later revisions Nintendo simply deleted it altogether.<br>
But for enthusiasts, that empty slot became the foundation of something far greater.</p>
<p>Modern homebrew developers repurposed the port through a tiny adapter known as <strong>SD2SP2</strong> — a passive board that connects a microSD card directly to the console’s internal bus.<br>
Inserted into Serial Port 2, it allows the GameCube to boot games and software directly from SD storage without modifying the hardware, turning a once-unused connector into a silent, high-speed drive bay.</p>
<hr>
<h3>Swiss and the “Disc-Free” Renaissance</h3>
<p>To make use of SD2SP2, the GameCube must first load <strong>Swiss</strong>, the open-source Swiss-Army-knife of GameCube software.<br>
Swiss acts as a universal loader and diagnostics toolkit, capable of launching ISOs, homebrew, and alternative boot programs such as GBI.</p>
<p>Launching Swiss originally required modchips or optical drive emulators, but the community surprisingly discovered a purely <strong>software-based exploit</strong>: using specific retail game discs and a modified memory card to execute code from saved data.</p>
<p>Among these exploitable titles is <strong>Super Smash Bros. Melee</strong>.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251109220805311.webp" alt="Japanese cover of Super Smash Bros. Melee"></p>
<p>A <em>crafted save file</em> can overflow into executable memory, triggering Swiss without any soldering or hardware modification.<br>
Other compatible games — including <em>The Legend of Zelda: The Wind Waker</em>, <em>Twilight Princess</em>, and <em>Paper Mario: The Thousand-Year Door</em> — offer similar pathways.</p>
<p>This method, often called a <strong>game-save exploit</strong>, transformed the GameCube into an open development platform using only official hardware: a retail disc, a memory card, and a microSD adapter.</p>
<hr>
<h3>Game Boy Player + GBI — The Refined Experience</h3>
<p>Once Swiss is running, the <strong>Game Boy Interface</strong> replaces Nintendo’s original boot disc with a sharper, more responsive presentation.<br>
Paired with the digital video output of the DOL-001, the result is arguably the highest-quality way to play Game Boy titles on original hardware — clean pixel scaling, optional 240p output, and near-zero lag.</p>
<p>What began as an obscure accessory has thus evolved into a professional-grade capture and archival platform, sustained by enthusiasts long after Nintendo discontinued support.</p>
<hr>
<h3>Legacy of an Expandable Machine</h3>
<p>The early GameCube’s design reveals a philosophy Nintendo rarely revisited: a console built for <em>future possibility</em>.<br>
Its dual video outputs and trio of bottom-mounted interfaces made it one of the most expandable mainstream consoles ever released.<br>
Although most of those features went unused during its retail lifespan, they laid the groundwork for a vibrant modern community that continues to reinterpret the system through open-source tools and precision hardware.</p>
<p>Two decades later, the DOL-001 has outgrown the purpose Nintendo originally gave it. The ports that once seemed to lead nowhere now sustain an afterlife built by curiosity, engineering, and care.</p>
<hr>
<h3>References</h3>
<ol>
<li>Rodrigo Copetti, <strong>“Nintendo GameCube Architecture – A Practical Analysis,”</strong> <em><a href="http://Copetti.org">Copetti.org</a></em>, 2019. [Online]. Available: <a href="https://www.copetti.org/writings/consoles/gamecube/">https://www.copetti.org/writings/consoles/gamecube/</a></li>
<li><strong>“Booting Homebrew,”</strong> <em>GC-Forever Wiki</em>. [Online]. Available: <a href="https://www.gc-forever.com/wiki/index.php?title=Booting_homebrew">https://www.gc-forever.com/wiki/index.php?title=Booting_homebrew</a></li>
<li><strong>GameCube Homebrew – Game Save Exploits</strong>, GitHub repository, <em>GameCubeHomebrew/GameSave-Exploits</em>. [Online]. Available: <a href="https://github.com/GameCubeHomebrew/GameSave-Exploits">https://github.com/GameCubeHomebrew/GameSave-Exploits</a></li>
<li><strong>“SD2SP2 MicroSD Adapter for GameCube Serial Port 2,”</strong> <em>StoneAgeGamer Store Listing</em>. [Online]. Available: <a href="https://stoneagegamer.com/sd2sp2-micro-sd-card-adapter-1-2a-sdloader-for-gamecube-serial-port-2.html">https://stoneagegamer.com/sd2sp2-micro-sd-card-adapter-1-2a-sdloader-for-gamecube-serial-port-2.html</a></li>
</ol>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>Nintendo</category>
            <category>GameCube</category>
            <category>Game Boy Player</category>
            <category>Swiss</category>
            <category>Console Design</category>
        </item>
        <item>
            <title><![CDATA[Analogue Pocket — FPGA Luxury In A Game Boy Silhouette]]></title>
            <link>https://nishikori.dev/posts/analogue-pocket-fpga-handheld-review</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/analogue-pocket-fpga-handheld-review</guid>
            <pubDate>Sat, 28 Dec 2024 22:00:00 GMT</pubDate>
            <description><![CDATA[A look at the Analogue Pocket as an FPGA-first handheld. Its exquisite design, remarkable screen, openFPGA ecosystem, cartridge adapters, pricey dock, and why this machine is unapologetically built for enthusiasts rather than the mass market.]]></description>
            <content:encoded><![CDATA[<p>Analogue has always sold a specific fantasy: not just “playing old games again”, but doing so with a kind of over-engineered respect that original manufacturers rarely had the budget for. The Analogue Pocket is that philosophy shrunk into the silhouette of a Game Boy, then sharpened with modern industrial design and a frankly excessive screen. Underneath it all sits an FPGA heart that refuses to emulate in the usual software sense, and a dock that turns this little slab into a living-room console.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251115222103667.jpeg" alt="My Analogue Pocket"></p>
<p>My own unit is the white model, which only reinforces the “design object” feeling: it looks less like a toy and more like something that accidentally wandered out of a museum shop. It is a handheld that looks affordable, but behaves, and is priced, like a boutique instrument.</p>
<hr>
<h2>Two FPGAs Instead of One Emulator</h2>
<p>Analogue’s core claim is simple: the Pocket is built around FPGAs, not a general-purpose CPU running software emulators.</p>
<p>A software emulator does something conceptually straightforward but technically messy: you take the original console’s behavior and model it in code. The emulator runs on a fast modern CPU, interpreting or recompiling instructions from the original system, faking video and audio timing, and approximating all the little quirks that games rely on. The host CPU is doing everything in sequence, one instruction after another, and the emulator is constantly juggling between accuracy and speed.</p>
<p>An FPGA works differently. It is a large grid of logic blocks and interconnects that can be configured to behave like custom hardware. Instead of “running an emulator”, you use a hardware description language (Verilog, VHDL, and so on) to describe the original console’s circuits: CPU, video hardware, audio unit, memory buses, timing generators. When the FPGA is configured with that design, it stops behaving like a generic chip and starts behaving like a hardware clone of the target console.</p>
<p>On the Pocket, that means:</p>
<ul>
<li>When a Game Boy core is loaded, the FPGA becomes a Game Boy-like machine at the electrical and timing level.</li>
<li>When a Game Boy Advance core is loaded, the fabric is reconfigured into a different machine.</li>
<li>When an openFPGA core targets a completely different system, the same physical silicon is rewired again into a new configuration.</li>
</ul>
<p>The advantages over classic software emulation are subtle but important:</p>
<ol>
<li>
<p><strong>Timing and edge cases</strong><br>
Original games often rely on undocumented hardware behavior, exact clock relationships, or tiny race conditions between CPU, video and audio. A traditional emulator has to model all of this in software, stepping through time in small increments and constantly approximating how several components would have behaved in parallel. An FPGA core, by contrast, <em>is</em> a network of parallel circuits. Clocks, phases, and signal propagations are part of the design itself, which makes strange timing tricks and borderline cases more likely to behave as they did on original hardware.</p>
</li>
<li>
<p><strong>Latency and determinism</strong><br>
A software emulator is stacked on top of an operating system, drivers, and a renderer. Frames may be delayed by buffering, scheduling, or synchronization with the host’s GPU. An FPGA system can be much more direct: input, game logic, and pixel output are chained together in hardware, with fewer layers in between. That tends to reduce input lag and produce more predictable frame pacing, especially when the output display supports the right refresh rates.</p>
</li>
<li>
<p><strong>Hardware-level compatibility with cartridges and peripherals</strong><br>
Because the FPGA recreates the original memory maps and bus protocols, plugging an original cartridge into the Pocket looks almost exactly like plugging it into the original console—from the game’s point of view. Save chips, mappers, and oddball enhancements are all accessed through the same kinds of signals they expect. This is much harder to reproduce cleanly when the only thing the emulator sees is a raw ROM file.</p>
</li>
<li>
<p><strong>Separation between cores and platform</strong><br>
In the FPGA model, each “core” is a hardware design. Improve the core and you ship a new bitstream; the Pocket simply loads it and becomes a slightly better version of the same console. Bugs and inaccuracies exist, but they take the form of fixable hardware descriptions rather than layers of clever hacks in C++ abstractions.</p>
</li>
</ol>
<p>None of this is free. FPGA capacity is finite, development is slow, and the chips themselves are expensive. That cost is built into the Pocket’s price, and into the fact that it targets a relatively small audience who care about this level of fidelity.</p>
<hr>
<h2>The Screen: Ten Game Boys Worth of Resolution</h2>
<p>The first time you see a Pocket in person, the screen dominates everything else. It is a 3.5-inch LCD running at 1600×1440, for an almost absurd 615 ppi in roughly the same footprint as the original Game Boy’s panel.</p>
<p>That resolution is not just a spec-sheet trophy. Classic handheld resolutions land neatly into integer scales: 160×144 from the DMG Game Boy becomes a 10×10 pixel grid per original pixel. Sprites and text suddenly look like clean high-resolution artwork instead of shimmering blocks. Analogue leans into that with a library of display modes: DMG-style greens, Game Boy Color palettes, GBA-style warmer tones, different sub-pixel patterns, simulated grids and subtle “LCD” behaviors for those who miss the original flaws.</p>
<p>Combined with precise timing on the FPGA side, motion feels crisp and immediate. There is no sense of the smeared ghosting that haunts many cheaper LCD mods; instead, you get a kind of hyper-real version of handheld history—more detailed than the original screens ever were, but still visually anchored to their character.</p>
<hr>
<h2>Industrial Design: A Minimalist Tribute, Not a Clone</h2>
<p>From a distance, the Pocket reads as “Game Boy, but drawn with a ruler”. The body is a clean rectangle with a high-gloss glass front covering the entire upper half and gently rounded edges on the shell. Face buttons follow Nintendo’s basic layout but are tighter and more symmetrical, with Start and Select tucked into the lower bezel instead of floating somewhere in the middle.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251115222056556.jpeg" alt="Lifting the lid to reveal my white Analogue Pocket for the first time"></p>
<p>On the sides and back, the practicalities appear: a link port, microSD slot, USB-C for charging and the dock, and a rear cartridge slot that accepts all Game Boy-family Game Pak types.</p>
<p>This device feels even more like a minimalist reinterpretation than a straightforward homage. It sits comfortably on a desk next to cameras, keyboards, and laptops without looking out of place. It is a handheld, but it is also a piece of industrial design that happens to play cartridges.</p>
<hr>
<h2>Official Cartridge Adapters: Beyond the Game Boy Family</h2>
<p>Out of the box, the Pocket is a Game Boy, Game Boy Color, and Game Boy Advance machine. Officially, though, Analogue never meant it to stop there. The company sells a separate adapter ecosystem that lets the same FPGA brain impersonate a wider set of handhelds while still using original cartridges.</p>
<p>There are two main branches:</p>
<ul>
<li>A Game Gear adapter, sold as a dedicated accessory.</li>
<li>The Analogue Pocket Adapter Set, a three-pack that covers Neo Geo Pocket Color, Atari Lynx, and TurboGrafx-16 / PC Engine / SuperGrafx HuCards.</li>
</ul>
<p>Inserted into the Pocket’s rear slot, these adapters become little plastic bridges between very different ecosystems. In practical use, they feel surprisingly seamless. Slide in a Lynx card or Neo Geo Pocket Color cart and the system reconfigures to match the original hardware model, just as it does switching from GB to GBA.</p>
<p>Owning the Analogue Pocket with these official adapters turns it into a strangely dense archive: Atari’s early color experiments, SNK’s compact fighting machine, Hudson’s HuCard world—all squeezed into the footprint of a modern Game Boy. It is still “original media, original timing”, but now spread across several companies that never designed their hardware to coexist like this.</p>
<hr>
<h2>openFPGA: From Cartridges to ROM-Driven Multi-System</h2>
<p>The physical cartridges are only half the story. The other half lives on the microSD card and inside the firmware.</p>
<p>Analogue’s openFPGA initiative exposes the Pocket’s FPGA fabric to third-party developers. Instead of only relying on Analogue’s own cores, openFPGA allows independent projects to define their own hardware implementations and ship them as downloadable cores.</p>
<p>Once configured, the Pocket is no longer just a Game Boy derivative with adapters. It becomes a menu of soft consoles and arcade boards:</p>
<ul>
<li>Additional handhelds beyond the official adapter set.</li>
<li>Eight- and sixteen-bit home consoles like NES, SNES, Mega Drive / Genesis, and PC Engine in core form.</li>
<li>Selected arcade systems, where FPGA resources permit.</li>
</ul>
<p>ROMs live on the microSD card; the Pocket’s role becomes that of a hardware-accurate host. For preservation, this is an appealing model. Cores can evolve, bug-fix, and be archived independently of any given hardware revision, while ROM sets safeguard aging carts whose save batteries will eventually die.</p>
<p>The ethical line is familiar: nothing in the hardware stops you from loading whatever ROMs you can find. Analogue keeps its own OS and official cores closed, and frames openFPGA as a platform for development and preservation. What people actually load into it is, as always, their own responsibility.</p>
<hr>
<h2>The Dock: From Handheld to Living-Room FPGA Console</h2>
<p>The Pocket experience changes character when you drop the handheld into the Analogue Dock. Physically, the dock is understated: a compact base with a USB-C post at the top, HDMI and USB-A ports at the back, and not much else to look at.</p>
<p>Once docked, the Pocket’s FPGA cores drive 1080p HDMI output to a TV or capture device. Wired USB controllers and a range of Bluetooth pads can be paired, turning handheld games into couch multiplayer. Firmware updates have gradually broadened controller support, including Nintendo’s own retro-style wireless pads intended for Switch Online, which fit naturally when you are running SNES or Mega Drive cores via ROMs.</p>
<p>For Game Boy-era software, the dock effectively recreates the old “handheld-on-TV” tricks—think Super Game Boy on the Super Famicom or Game Boy Player on the GameCube—but with cleaner video, more flexible scaling, and modern controller options. For openFPGA home console cores, the Pocket-in-a-dock simply behaves like a small FPGA console that happens to undock and become a handheld when you leave the house.</p>
<p>The economics are still harsh. A 219.99 USD handheld, a 99.99 USD dock, a 99.99 USD adapter set, a separate Game Gear adapter, and whatever controllers you bring: this is not a budget way to revisit the past. It is, very clearly, an enthusiast stack.</p>
<hr>
<h2>A Machine Honestly Aimed at Enthusiasts</h2>
<p>There are cheaper, simpler ways to play ROMs. Android handhelds, Raspberry Pi builds, and a whole ecosystem of emulation-focused devices exist precisely to treat retro gaming as a solved software problem: pick a SoC, run Linux, ship an emulator front-end.</p>
<p>The Analogue Pocket, once completed with its official adapters and dock, is almost aggressively different. It uses FPGAs where a cheap ARM chip would suffice, a screen whose pixel density has no business being attached to thirty-year-old games, and a set of accessories that clearly assume you are prepared to spend serious money on a hobby that already peaked decades ago.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251115222011463.jpeg" alt="Analogue Pocket’s minimalist black box, still sealed and untouched"></p>
<p>For some people, this will forever be the wrong answer. If all you want is a handful of childhood favorites on the commute, an inexpensive emulator handheld makes more practical sense. But if you treat cartridges as a collection, care about timing quirks, want Atari Lynx cards and HuCards and Neo Geo Pocket Color carts to all converge on one piece of hardware, and appreciate the sensation of over-specified design in your hands, the Pocket becomes a very particular kind of ideal object.</p>
<p>In that sense, it fits neatly into what <strong><em>Retro Obsession</em></strong> is about: not merely keeping old games technically playable, but asking what happens when modern engineering encounters old ideas without treating them as disposable. The Analogue Pocket is one of the clearest products of that encounter — an FPGA handheld that has grown far beyond the Game Boy family, unapologetically priced and designed for the sort of person who sees such a machine and immediately imagines the shelf it should live on.</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>Analogue</category>
            <category>FPGA</category>
            <category>Handhelds</category>
            <category>Retro Gaming</category>
            <category>Hardware Analysis</category>
        </item>
        <item>
            <title><![CDATA[Two Modern Game & Watch Consoles — Mario and Zelda Anniversary Editions]]></title>
            <link>https://nishikori.dev/posts/two-modern-game-and-watch-consoles-mario-zelda-anniversary</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/two-modern-game-and-watch-consoles-mario-zelda-anniversary</guid>
            <pubDate>Sun, 22 Dec 2024 12:57:00 GMT</pubDate>
            <description><![CDATA[Received two modern Game & Watch consoles — the 2020 Mario and 2021 Zelda editions. Compact, elegant, and surprisingly capable, these handhelds reimagine Nintendo’s earliest hardware heritage.]]></description>
            <content:encoded><![CDATA[<p>Today, I received two <strong>retro Game &amp; Watch consoles</strong>, released in <strong>2020</strong> and <strong>2021</strong> to celebrate <em>Super Mario Bros.</em> and <em>The Legend of Zelda</em>, respectively.</p>
<p>Both are <strong>Japanese versions</strong>, brand new and unopened — intended as part of my permanent collection.</p>
<hr>
<h3>The Mario Edition</h3>
<p>The <em>Super Mario Bros.</em> version includes <strong>four programs</strong>:</p>
<ol>
<li><em>Super Mario Bros.</em> (Famicom/NES version)</li>
<li><em>Super Mario Bros. 2</em> (the Japanese Famicom Disk System version, known as <em>The Lost Levels</em> overseas)</li>
<li><em>Ball</em> — the original 1980 Game &amp; Watch juggling game</li>
<li>A charming digital <strong>clock mode</strong>, featuring dynamic Mario animations</li>
</ol>
<p>It’s an elegant little tribute that bridges the earliest Game &amp; Watch era with the golden age of the Famicom.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251114230405453.jpeg" alt=""></p>
<hr>
<h3>The Zelda Edition</h3>
<p>The <em>Legend of Zelda</em> version follows the same concept but with a richer library:</p>
<ol>
<li><em>The Legend of Zelda</em> (Famicom version)</li>
<li><em>Zelda II: The Adventure of Link</em></li>
<li><em>Link’s Awakening</em> (Game Boy version, in its original monochrome form)</li>
<li>A special <strong>playable clock and timer</strong>, themed around Hyrule</li>
</ol>
<p>It’s more than nostalgia — it’s a playable museum piece.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251114230405452.jpeg" alt=""></p>
<hr>
<h3>Hidden Potential</h3>
<p>Interestingly, both models are capable of more than what’s officially included.<br>
By following community-developed hardware modification guides, these systems can be customized to run additional titles.<br>
Their compact form factor and ARM-based architecture make them a fascinating platform for enthusiasts to explore.</p>
<hr>
<h3>A Worthy Addition</h3>
<p>Whether they are worth owning depends on how much value you place on an object that is part toy, part anniversary piece, and part invitation to tinker. For me, the more affordable <em>Zelda</em> edition makes the clearest case.
Both machines look back to Nintendo’s beginnings without pretending to belong to them: modern objects carrying an old silhouette, with just enough technological curiosity beneath the surface.</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>Nintendo</category>
            <category>Game &amp; Watch</category>
            <category>Retro Gaming</category>
            <category>Collectibles</category>
            <category>Super Mario</category>
            <category>The Legend of Zelda</category>
        </item>
        <item>
            <title><![CDATA[GBSC — A DIY Bridge Between Analog Retro Video and Modern HDMI]]></title>
            <link>https://nishikori.dev/posts/gbsc-diy-retro-scaler</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/gbsc-diy-retro-scaler</guid>
            <pubDate>Wed, 18 Dec 2024 21:45:00 GMT</pubDate>
            <description><![CDATA[A technical look at GBSC, a community-driven scaler built on the humble GBS-8200 board and the gbs-control firmware, turning 15 kHz-era analog signals into low-lag HDMI and VGA for modern displays.]]></description>
            <content:encoded><![CDATA[<h3>Why GBSC Exists</h3>
<p>Anyone who seriously plays on original hardware eventually runs into the same problem: classic consoles output stubborn analog video formats designed for 15 kHz CRTs, while modern displays speak almost exclusively HDMI. Composite video, RGB SCART, YPbPr component, and VGA all belong to another era; contemporary TVs and monitors either support them poorly or not at all.</p>
<p>One option is to chain generic adapters and let the TV guess what to do. Another is to buy a dedicated high-end scaler. GBSC (often written “GBS-C”, short for “GBS + Control”) takes a different path: it starts from a cheap GBS-8200 arcade converter board, replaces its control logic with an open-source firmware called <strong>gbs-control</strong>, and turns it into a low-lag, multi-format scaler that can feed clean VGA or HDMI to modern displays.</p>
<p>I now have one of the integrated GBSC all-in-one units in a blue acrylic shell. Under that acrylic, it is still a GBS-8200-class board at heart, but with the usual hardware modifications and the custom firmware already in place, ready to sit between a stack of retro consoles and a single modern screen.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251115215723557.jpeg" alt="My GBSC"></p>
<hr>
<h3>From GBS-8200 to GBSC</h3>
<p>The starting point for this whole ecosystem is the <strong>GBS-8200 / 8220</strong> series: inexpensive Chinese arcade converter boards originally intended to adapt 15 kHz CGA/EGA or YUV signals to 31 kHz VGA monitors. Their job is to double the scan rate so that low-frequency arcade PCBs or home computers can drive a standard VGA input.</p>
<p>At the core of these boards sits the <strong>Tvia TrueView TV5725</strong> scaler chip, a multimedia processor capable of handling a wide range of analog sources and output resolutions. In stock form, the firmware that drives the TV5725 is conservative: it does the bare minimum to convert 15 kHz RGB or YPbPr into a usable VGA image, but with visible artefacts, inconsistent deinterlacing, and input lag that is not ideal for responsive gameplay.</p>
<p>The <strong>gbs-control</strong> project intervenes at this exact point. It replaces the original control software with a new firmware that runs on an external microcontroller and directly reprograms the TV5725 for the specific task of retro gaming. The official documentation describes it as an “alternative firmware for Tvia TrueView5725 based upscalers / video converter boards” with features such as very low lag, sharp upscaling, and stable 240p/480i switching.</p>
<p>In the canonical build, gbs-control runs on an <strong>ESP8266</strong> Wi-Fi microcontroller (for example a Wemos D1 or NodeMCU), mounted onto the GBS-8200 via a small adapter board. The ESP8266 takes over configuration of the scaler, exposes a web-based GUI, and implements all the new processing logic.  Once this setup is in place, the resulting device is usually referred to as <strong>GBSC</strong> or <strong>GBS-C</strong>.</p>
<hr>
<h3>Inputs, Outputs, and What GBSC Actually Connects</h3>
<p>Conceptually, GBSC is a bridge between legacy analog formats and a small set of clean, predictable outputs.</p>
<p>On the <strong>input</strong> side, the underlying GBS-8200 hardware accepts a mix of low-frequency signals: CGA/EGA-style RGBS at 15–25 kHz, VGA-style RGBHV at 31 kHz, and YPbPr component in common video modes such as 480i, 480p, 720p, and 1080i/1080p. Depending on the specific GBSC variant, these are presented as:</p>
<ul>
<li>a Euro-SCART or JP-21 RGBS connector for consoles and computers with RGB outputs;</li>
<li>RCA-style jacks, wired for direct RGBS or arcade-style RGB inputs;</li>
<li>YPbPr component jacks for devices such as PlayStation 2, original Xbox, and Wii;</li>
<li>a VGA-style input for Dreamcast VGA boxes, PCs, or other RGBHV sources.</li>
</ul>
<p>Some all-in-one designs add AV, composite or S-Video (such as my own unit) via extra analog front-end circuitry, but that is an implementation detail of individual products rather than a universal feature of the firmware. Other commercialized units, such as the ODV-GBS-C, explicitly limit themselves to RGBS SCART, component YPbPr, and VGA/RGBHV as their supported inputs.</p>
<p>On the <strong>output</strong> side, a GBSC build typically provides:</p>
<ul>
<li>an analog VGA or RGBHV output suitable for CRT VGA monitors, PVM/BVMs (with appropriate cabling), or further analog routing;</li>
<li>a digital HDMI output, added via a companion converter board in many AIO/Pro units, with resolutions up to 1080p.</li>
</ul>
<p>This makes it possible to route essentially an entire 8-/16-/32-bit console collection, plus some early 2000s systems, through a single scaler and into a modern TV or capture card.</p>
<hr>
<h3>Upscaling: From 240p to High Definition</h3>
<p>The main workload for GBSC is still <strong>upscaling 240p and 480i</strong> sources to progressive, higher-resolution outputs.</p>
<p>With gbs-control in charge, 15 kHz “240p/288p” content from consoles and microcomputers can be line-doubled and scaled to common PC monitor formats such as 640×480, 800×600, 1024×768, or 1360×768, and then further adapted to 720p or 1080p for HDMI. The firmware exposes controls for scaling, cropping, and timing in a web GUI, making it straightforward to dial in a profile where pixels are mapped cleanly and aspect ratios are correct.</p>
<p>A key feature compared to the stock GBS-8200 firmware is <strong>very low lag</strong> and robust handling of mixed 240p/480i content. The official feature list for gbs-control emphasizes that output timing is decoupled from input timing, so 240p↔480i transitions (for example, when a game switches between an interlaced menu and a progressive in-game image) do not cause the output to lose sync. For systems such as PlayStation or Saturn, where this pattern is common, this is a practical improvement over many generic HDMI converters.</p>
<p>Motion-adaptive deinterlacing is applied “on demand” to 480i sources, reducing combing artefacts on moving edges without excessively blurring static parts of the picture.Combined with adjustable sharpness and gamma, this allows GBSC to produce a crisp but not excessively harsh image that many users consider comparable to more expensive scalers when configured correctly.</p>
<p>In practice, a typical configuration might map 240p game consoles to 960p with scanline emulation on, PS2 component output to 720p with motion-adaptive deinterlacing, and original Xbox to 1080p, all with per-input profiles stored on the device.</p>
<hr>
<h3>Downscaling and 240p Experiments</h3>
<p>An interesting capability of gbs-control, and one that pushes the TV5725 beyond its original design brief, is its support for <strong>downscaling higher-resolution signals back to 240p-class outputs</strong>.</p>
<p>Used this way, GBSC can take 480p or higher signals from later consoles or even PCs and generate a 240p-style output suitable for CRT televisions and monitors. Documentation and user reports describe use cases such as feeding 240p from GBSC into another scaler, or deliberately downscaling HD re-releases to 240p to recover something closer to the look of their original low-resolution counterparts.</p>
<p>This is a niche but technically notable feature: the same scaler chip that line-doubles 240p for LCDs can also be configured to act as a kind of “reverse scan converter”, letting modern hardware drive legacy CRTs at genuinely low scan frequencies.</p>
<hr>
<h3>DIY Builds vs. All-In-One Units</h3>
<p>The original gbs-control documentation assumes a <strong>DIY build</strong>: a bare GBS-8200 board, an ESP8266 module, a few supporting components (such as a Si5351A clock generator and power-supply clean-up parts), plus wiring and optional extras like an OLED status display. The wiki includes detailed notes on hardware variations, analog front-end modifications, clock generator installation, and other improvements that bring the board’s analogue performance closer to what the firmware can deliver.</p>
<p>Over time, community and commercial designs have converged toward more integrated solutions. Projects such as <strong>GBS-C AIO</strong> define an add-on board that sits on top of the GBS-8200, consolidating the ESP8266, clock generator, input connectors, power regulation, and often an HDMI converter into a single neat assembly. Commercial devices like the <strong>ODV-GBS-C</strong> and <strong>GBSC Pro</strong> take this one step further by shipping a complete, enclosed scaler with gbs-control preinstalled, SCART/YPbPr/VGA inputs, VGA/HDMI outputs, and infrared remote control, positioned explicitly as low-lag upscalers for retro game consoles.</p>
<p>My own blue acrylic GBSC belongs to this integrated family: the original GBS-class board is still there, but all of the common hardware modifications and the ESP8266 controller are already part of a single stack, which means setup is essentially reduced to cabling and web configuration rather than soldering.</p>
<p>In that sense, GBSC as a platform covers a spectrum. At one end, it is a highly hackable combination of off-the-shelf PCB and open firmware, inviting hardware and software experimentation. At the other, it is moving toward a semi-standardized “retro scaler box” product layer, where the open firmware quietly drives a device sold to users who may never touch a soldering iron.</p>
<hr>
<h3>Performance, Limitations, and Niche</h3>
<p>Compared to generic “AV-to-HDMI” adapters, a well-built GBSC offers much lower input lag, more faithful handling of 240p and 480i, and predictable timing. Less than one frame of delay is typical for upscaling chains based on gbs-control and GBS-C AIO-class hardware, which is sufficient for fast action games and shooters. Compatibility with mainstream 8-bit, 16-bit, 32-bit, and early 2000s consoles and microcomputers is strong, especially over RGB and YPbPr.</p>
<p>At the same time, GBSC does not completely replace higher-end commercial scalers. Some exotic video modes and marginal signal conditions remain challenging. Noise and stability still depend on the quality of the underlying GBS-8200 analogue front-end and power supply, which can vary between board revisions and manufacturers. Downscaling features, while powerful, require careful configuration and may not behave identically across all sources.</p>
<p>From an ecosystem perspective, GBSC fills a clear niche:</p>
<ul>
<li>cheaper and more flexible than most dedicated, proprietary scalers;</li>
<li>significantly more capable than generic adapters;</li>
<li>and open enough that the community can continue to refine both hardware and firmware over time.</li>
</ul>
<p>GBSC occupies the narrow span between analog and HDMI, and between ad-hoc DIY tinkering and the increasingly formal world of retro-video products.</p>
<hr>
<h3>Reference</h3>
<p><a href="https://github.com/ramapcsx2/gbs-control">GBS-Control Repository</a></p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>Video Scalers</category>
            <category>Retro Hardware</category>
            <category>DIY</category>
            <category>GBS-Control</category>
        </item>
        <item>
            <title><![CDATA[Nintendo 64 — High-Risk Hardware in the Move to 3D]]></title>
            <link>https://nishikori.dev/posts/nintendo-64-retro-analysis</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/nintendo-64-retro-analysis</guid>
            <pubDate>Sun, 15 Dec 2024 18:00:00 GMT</pubDate>
            <description><![CDATA[A look back at the Nintendo 64 as Nintendo’s high-risk transition into 3D — its SGI-backed architecture, layered memory design, cartridge gamble, experimental controller ecosystem, and the modern flash carts and modifications that keep it alive.]]></description>
            <content:encoded><![CDATA[<p>There is a particular kind of silence an idle Nintendo 64 gives off on a shelf.<br>
The three-pronged controller, the translucent Expansion Pak cover, the chunky gray cartridges—everything about it feels like a snapshot of a moment when the industry had not yet agreed on how 3D ought to work. It is a machine built on conviction and doubt at the same time: absolutely certain that 3D is the future, far less certain about how to get there.</p>
<p>This is not a neutral console. The N64 takes sides—in storage, in input, in memory—and lives with the consequences.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251115180239714.jpeg" alt="My Nintendo 64"></p>
<hr>
<h2>A 3D Machine Built Around Memory and Microcode</h2>
<p>Under the plastic shell, the N64 is not a simple “faster SNES”. It is closer to a tiny workstation condensed for the living room.</p>
<p>A 64-bit NEC VR4300 CPU sits next to the Reality Coprocessor, which houses two cores of its own: the Reality Signal Processor, running vector microcode, and the Reality Display Processor, responsible for rasterization, blending, depth buffering, and a good deal of the system’s characteristic “soft” look. Games do not just call a fixed set of GPU functions; they push display lists and, in some cases, custom microcode that literally rewires how the hardware pipeline behaves.</p>
<p>That flexibility is intoxicating and expensive. It made effects like smooth Z-buffered 3D, complex particle work, and aggressive anti-aliasing possible on mid-90s hardware. It also made development harder, and it is precisely why, decades later, N64 emulation can still feel slightly off—one game looks perfect, the next has subtly wrong fog, broken blending, or timing that just doesn’t match real hardware.</p>
<p>The N64 is a console that never fully fits inside an emulator window. There is always some microcode, some timing edge case, slightly out of reach.</p>
<hr>
<h2>Expansion Pak and the Strange, Layered Memory Story</h2>
<p>Nintendo did not just throw RAM at the problem and call it a day. The N64’s memory story is layered and oddly personal.</p>
<p>Base units ship with 4 MB of RDRAM and a “Jumper Pak” plugged into a slot on the top. That module is essentially a terminator so the memory bus behaves properly. The real magic happens when you pull it out and slide in the bright red <strong>Expansion Pak</strong>, doubling main memory to 8 MB. Suddenly, certain games gain sharper modes, more complex geometry, or entire features that are simply unavailable on the base machine. Some late-generation titles quietly flip the relationship entirely and refuse to start without the upgrade.</p>
<p>Originally, that extra RAM was tied to the <strong>64DD</strong>—the magnetic disk add-on that was supposed to solve the cartridge’s capacity problem and turn the N64 into something closer to a writable, persistent world machine. The 64DD came late, stayed in Japan, and left a handful of experimental titles plus a strange alternate timeline in which the N64 might have had a second life as a disk-based console. The Expansion Pak survived and became a kind of mid-generation spec bump, a small apology from the hardware to the software.</p>
<p>Memory on N64 is not just soldered to the board. It appears in the console, in the expansion slot, in the cartridge as save chips, and in the controller as a memory card. That distribution matters, because it influences how games think about data: what lives permanently in a cart, what moves with the player, what is considered expendable.</p>
<hr>
<h2>The Controller as a Tiny Expansion Bus</h2>
<p>Most people remember the N64 controller for its shape. But if you flip it over, the most interesting part is the little slot on the back.</p>
<p>That slot is a miniature expansion bus. Into it go the <strong>Controller Pak</strong> (memory card), <strong>Rumble Pak</strong> (force feedback), <strong>Transfer Pak</strong> (Game Boy connectivity), and a zoo of third-party experiments. Nintendo effectively moved part of the system’s state into the player’s hands: saves, rumble, cross-platform data all live in that cavity under your fingers.</p>
<p>The <strong>Controller Pak</strong> is where the N64 flirts with the memory card culture that disc-based consoles made standard. Official cards store only tens of kilobytes, divided into pages, with a tiny save manager you can access from some games or from the console’s own UI. On paper, it is elegant: you can simply unplug your controller and walk to a friend’s house, taking your ghosts, teams, and settings with you.</p>
<p>In practice, the split is messy. Many first-party titles use save chips on the cartridge itself and ignore the Controller Pak entirely. Others lean heavily on the Pak, filling it quickly and forcing players to micromanage blocks in an interface that feels more like an engineering tool than a consumer product. It is the kind of design you get when hardware engineers imagine how people will share data in physical space—and nearly get it right.</p>
<p>::: details, title=&quot;N64 Controller Port and Joybus Frame Format&quot;</p>
<p>Behind that friendly row of four controller ports on the front of the Nintendo 64 is an extremely minimalist design: each port only exposes three lines—power, data, and ground. Power is 3.3 V (not the 5 V people often expect), ground is shared, and everything else has to squeeze through that single <strong>data</strong> line: button states, analog stick position, even save data to and from the Controller Pak all ride on the same wire.</p>
<p>Nintendo built a custom protocol for this called <strong>Joybus</strong>: a single-wire, half-duplex, open-drain serial bus. When idle, the line is held high at 3.3 V by a pull-up resistor. When either the console or the controller wants to talk, it only ever drives the line low, then releases it and lets the pull-up bring the voltage back up. Logical 0 and 1 are not distinguished by voltage levels but by pulse width: each bit occupies a 4 µs time slot, with a longer low pulse meaning one value and a shorter low pulse meaning the other. It looks deceptively simple on the outside, but internally it demands very strict timing.</p>
<p>The console is always the master on this bus. To read the controller, it first sends a short Joybus command on the data line—most commonly <code>0x01</code>, “give me your current state”—then releases the line and switches to receive mode. The controller replies with a 32-bit block: the first two bytes encode button states, the next two bytes encode the analog stick’s X/Y coordinates as signed values around a calibrated center. Other commands go deeper: there are opcodes to read and write 32-byte blocks to whatever is plugged into the expansion slot (Controller Pak, Rumble Pak, etc.), but from the console’s point of view it is always just talking over the same single wire.</p>
<p>The expansion slot on the underside of the controller adds another layer of indirection. Internally, that slot is wired as a small parallel bus—with address lines, data lines, and read/write control signals—much closer to a traditional memory interface. The controller’s microcontroller acts as a bridge: when the console issues Joybus commands to read or write the Controller Pak or Rumble Pak, the controller translates those serialized requests into parallel accesses to the expansion device, then wraps the results back into Joybus frames for the console. In other words, the N64 never talks directly to the memory card or the rumble motor; it only talks to the controller, and the controller quietly runs a tiny storage and I/O network on its behalf.</p>
<blockquote>
<p>The entire exchange is made up of 4 µs bit time slots: long-low/short-high encodes a 0, short-low/long-high encodes a 1. All bytes and the stop bit follow this rule.</p>
</blockquote>
<h3>Poll Command Frame Format</h3>
<p>Console → Controller</p>
<table>
<thead>
<tr>
<th>Field</th>
<th>Bits</th>
<th>Content</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>Command</td>
<td>8</td>
<td>0x01</td>
<td>Request current controller state</td>
</tr>
<tr>
<td>Stop bit</td>
<td>4</td>
<td>Special high pulse</td>
<td>Marks end of command frame; console switches to RX</td>
</tr>
</tbody>
</table>
<h3>Controller State Response Frame</h3>
<p>Controller → Console</p>
<table>
<thead>
<tr>
<th>Byte idx</th>
<th>Bits</th>
<th>Content</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>Byte 1</td>
<td>8</td>
<td>Buttons 1</td>
<td>B / A / Z / Start / D-pad Up / Down / Left / Right</td>
</tr>
<tr>
<td>Byte 2</td>
<td>8</td>
<td>Buttons 2</td>
<td>L / R / C-Up / C-Down / C-Left / C-Right (plus flags)</td>
</tr>
<tr>
<td>Byte 3</td>
<td>8</td>
<td>Stick X</td>
<td>Signed value; 0 = center, positive to the right</td>
</tr>
<tr>
<td>Byte 4</td>
<td>8</td>
<td>Stick Y</td>
<td>Signed value; 0 = center, positive upwards</td>
</tr>
<tr>
<td>Stop bit</td>
<td>4</td>
<td>High pulse</td>
<td>Marks end of response frame</td>
</tr>
</tbody>
</table>
<h3>Button Bit Mapping (First Two Bytes of 0x01 Response)</h3>
<blockquote>
<p>Note: in the N64 protocol, <strong>pressed = 1, not pressed = 0</strong>.</p>
</blockquote>
<table>
<thead>
<tr>
<th>Byte</th>
<th>Bits (bit7 → bit0)</th>
<th>Button mapping</th>
</tr>
</thead>
<tbody>
<tr>
<td>Byte1</td>
<td>b7 b6 b5 b4 b3 b2 b1 b0</td>
<td>B, A, Z, Start, D-pad Up, D-pad Down, Left, Right</td>
</tr>
<tr>
<td>Byte2</td>
<td>b7 b6 b5 b4 b3 b2 b1 b0</td>
<td>Reserved, Reserved, L, R, C-Up, C-Down, C-Left, C-Right</td>
</tr>
</tbody>
</table>
<p>:::</p>
<hr>
<h2>Rumble Pak: When the Controller Started Talking Back</h2>
<p>Force feedback existed before the N64, but the <strong>Rumble Pak</strong> is where it became part of the mainstream vocabulary of console hardware.</p>
<p>Bundled with <em>Star Fox 64</em>, the Rumble Pak rides in the same slot as the Controller Pak and turns impact into a physical event. Missiles, collisions, explosions—they all get translated into that now-iconic buzzing weight in your palms. Suddenly the controller is no longer a mute intermediary; it has opinions about what just happened on screen.</p>
<p>The design choice is very Nintendo 64: bold but awkward. Because Rumble Pak and Controller Pak share the same port, many games make you choose: do you want your saves or your rumble? Some titles build in elaborate hot-swap screens just so you can switch between memory and feedback at the right time.</p>
<p>Third-party manufacturers eventually responded with hybrid units—rumble plus memory in one shell, more pages per card, different battery schemes—but the tension never quite goes away. The console is pulling in two directions at once: toward a controller that stores your identity, and toward one that physically signals what the game feels like.</p>
<hr>
<h2>Analog Stick: The Breakthrough and the Flaw</h2>
<p>At the center of it all sits the <strong>analog stick</strong>. If the SNES defined what a modern digital pad looks like, the N64 defined what 3D movement feels like when you first put down the D-pad.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251115180206441.png" alt="N64 controller and Flash Carts"></p>
<p>The stick is placed on the middle prong, with the Z-trigger just behind it. It is meant to be the default hand position for 3D: you wrap your left hand around the analog grip, right hand on the buttons, and suddenly <em>Super Mario 64</em> makes sense. You are not pressing “right” anymore; you are leaning into a direction, modulating speed and angle, exploring a world instead of sliding along an invisible grid.</p>
<p>The stick’s impact on design is hard to overstate. It makes subtle differences in movement—tiptoe, walk, run—feel natural. It works in tandem with camera systems that are still learning how to exist. It lays the conceptual foundation for everything from 3D platformers to console first-person shooters.</p>
<p>Mechanically, though, it is fragile. The original N64 analog module uses optical encoding and a plastic cage that wears itself down as you play. Gates get ground into ovals, powdered plastic accumulates inside, and the neutral position drifts over time. Anyone who grew up with Mario Party remembers not just the minigames, but the way they ate controllers for breakfast.</p>
<p>There is also an architectural limitation baked into the design: one stick, not two. Camera control is mapped to digital C-buttons, forcing developers into clever workarounds—lock-on systems, snap turning, context-sensitive cameras that try to read your intent from limited input. In some ways this constraint forced some of the most elegant 3D control schemes of the era; in others it makes the N64 feel like a prototype for the dual-stick future that would arrive with the next generation.</p>
<p>Today, replacement stick modules are a whole subculture. Some chase the original feel with better materials, others swap in modern gimbals while preserving the console’s expectations. Very few N64 controllers in circulation still feel like they did in 1996.</p>
<hr>
<h2>A Layout That Taught People How to Live in 3D</h2>
<p>If you map the N64 controller on paper, it looks wrong. In motion, it quietly retrains your hands.</p>
<p><em>Super Mario 64</em> teaches you that the analog stick is your primary verb and that the camera is a somewhat stubborn partner you negotiate with. <em>The Legend of Zelda: Ocarina of Time</em> introduces Z-targeting and turns lock-on into a way of thinking about 3D combat: you are not just swinging in space, you are focusing on a relationship between two bodies in a volume. <em>GoldenEye 007</em> and <em>Perfect Dark</em> try out different combinations of stick, C-buttons, and shoulder inputs, searching for a console-friendly FPS vocabulary.</p>
<p>None of these control schemes are quite “final”. But together they define a language: analog as default movement, triggers as primary actions, face buttons as context, camera as something that can be partially automated. The exact layouts change; the mental model stays.</p>
<p>Add in the four controller ports on the front of the console and the effect multiplies. N64 multiplayer is not just about four rectangles of split screen; it is about four people learning 3D space together, with rumble and analog and memory cards all in the loop. It is hard, even now, to replicate the specific feel of four N64 controllers tangled around a CRT.</p>
<hr>
<h2>Cartridges, 64DD, and the Cost of Saying “No” to CDs</h2>
<p>All of this sits on top of a storage decision that time has not been kind to.</p>
<p>Where Sony and Sega embraced cheap CD-ROMs, Nintendo chose to stay with proprietary cartridges. The argument was straightforward: cartridges are fast, robust, and difficult to pirate. Load times vanish. Games feel immediate. If you care about streaming 3D worlds without obvious breaks, that is a tempting trade.</p>
<p>The trade, however, comes with a bill:</p>
<ul>
<li>Cartridges are small. In an era when CDs offer hundreds of megabytes, an N64 cart might give you a handful of tens.</li>
<li>They are expensive to manufacture and slow to produce. Misjudge demand and you either leave money on the table or sit on unsold ROM.</li>
<li>They shift risk onto publishers, who must commit capital earlier and in larger chunks.</li>
<li>They make FMV, rich voice acting, and lavish audio a luxury rather than a baseline expectation.</li>
</ul>
<p>The <strong>64DD</strong> is the hardware manifestation of a lingering doubt. Somewhere inside Nintendo there was a recognition that cartridges alone could not carry the platform forever. The disk drive bolts under the console, brings rewritable 64 MB disks, a real-time clock, and the idea of online connectivity. It is a fascinating device in isolation and a quiet admission that the original media decision had painted the N64 into a corner.</p>
<p>The 64DD’s limited release and tiny library turn it into a historical footnote. But it highlights the central tension: the N64’s cartridge strategy gave it speed and solidity at the cost of breadth. Its library is a sharp, narrow mountain rather than a sprawling landscape. The games that made it are extraordinary. The ones that never arrived tell an equally important story.</p>
<hr>
<h2>Why Emulation Never Feels Entirely Finished</h2>
<p>For many other consoles, “good enough” emulation arrived and quietly solidified. The N64 has been stubborn.</p>
<p>To emulate it faithfully, you must handle not just a MIPS CPU and some standard peripherals, but the way that CPU, the RSP, and the RDP all talk to each other—with microcode sitting in between as negotiator and troublemaker. Many emulators historically took a high-level approach: detect which microcode variant a game uses and map its calls to hand-written, high-level implementations. This works beautifully for popular, well-understood games and falls apart the moment something unusual happens.</p>
<p>More recent low-level efforts get closer to the metal, but they bring the cost of complexity and performance. You are trying to recreate a mid-90s experiment in flexible graphics hardware whose official documentation never fully told the whole truth.</p>
<p>The result, even now, is that “N64 emulation” is a spectrum. Some titles are indistinguishable from real hardware to all but the most obsessive eyes; others remain stubborn in small, uncanny ways. It is not that the N64 refuses to be emulated; it is that its personality is encoded in the cracks between components.</p>
<hr>
<h2>Flash Carts, Mods, and Living With an N64 in 2024</h2>
<p>If you actually want to <em>use</em> a Nintendo 64 today rather than just own one, the machine you interact with is almost always a hybrid.</p>
<p>Flash cartridges like EverDrive 64 and 64Drive turn the cart slot into a general-purpose loader. An SD card quietly replaces shelves of aging plastic; save data moves into files; fan translations, romhacks, and homebrew sit next to first-party classics. The original cartridge format, once a bottleneck, becomes a shell wrapped around something remarkably flexible.</p>
<p><img src="https://img.nishikori.dev/2025/11/i1YdD6kuq3IRQFln.MP4" alt="I played Super Mario 64 using a flash cartridge"></p>
<p>Controller Paks get swapped out for modern, battery-free designs. Analog sticks are replaced, sometimes with new modules that preserve the original profile, sometimes with entirely different mechanisms. The Expansion Pak becomes permanent; the Jumper Pak gets retired to a drawer as a relic of a four-megabyte world.</p>
<p>Video outputs are modded—RGB, component, HDMI—and routed through scalers that try to square the circle between a console built for CRT phosphors and a living room full of LCD panels. On the other end, FPGA re-implementations and high-accuracy emulators provide a parallel line of preservation, offering “N64-like” timing and behavior for those who cannot or do not want to maintain original hardware.</p>
<p>The N64 that actually gets played in 2025 is rarely stock. It is a dialogue between 1996’s idea of the future and our current expectations of convenience.</p>
<hr>
<h2>A High-Risk Machine Worth Remembering</h2>
<p>If you judge the Nintendo 64 purely by market share, it is the generation where Nintendo stopped being the default home console. The cartridge strategy, the 64DD detour, the constrained third-party library—all of that reads like a case study in how to lose ground.</p>
<p>But if you trace the lines of influence, the picture changes.<br>
The N64’s analog stick and trigger layout quietly defined how 3D movement should feel. Its controller slot turned peripherals into part of everyday play, from memory cards to rumble. Its layered memory design, from Expansion Pak to Controller Pak to on-cart saves, hinted at a world where hardware specs and player identity could both evolve mid-generation. Its microcode-driven architecture gave us a console that is still teaching emulator authors humility.</p>
<p>It is not a comfortable machine, and that is exactly why it is interesting.<br>
The Nintendo 64 is what happens when a company absolutely believes in 3D and is willing to take real risks on how to get there, even when those risks do not pay off cleanly. For better and worse, it is high-risk hardware in the move to 3D—and that is precisely what makes it worth revisiting today.</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>Nintendo 64</category>
            <category>Nintendo</category>
            <category>Retro Gaming</category>
            <category>Hardware Analysis</category>
        </item>
        <item>
            <title><![CDATA[The Vanishing Art of Playing on Original Hardware]]></title>
            <link>https://nishikori.dev/posts/the-vanishing-art-of-playing-on-original-hardware</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/the-vanishing-art-of-playing-on-original-hardware</guid>
            <pubDate>Fri, 06 Dec 2024 13:00:00 GMT</pubDate>
            <description><![CDATA[In an age of advanced emulation and instant e-commerce, collecting old consoles is easy — but learning how to actually use them has quietly become a dying art.]]></description>
            <content:encoded><![CDATA[<p>To be honest, in today’s era of well-developed e-commerce platforms, <strong>collecting retro gaming consoles is no longer a challenge</strong>.<br>
The real difficulty lies elsewhere — in learning how to <em>use</em> them.</p>
<p>Finding original game cartridges or discs has become increasingly difficult.<br>
Even if you manage to find the title you want, there’s no guarantee it will work.<br>
Most of these games are in Japanese or English, which poses an additional challenge for players from other regions. As a result, many enthusiasts resort to <strong>flash cartridges</strong> or <strong>burnable discs</strong> just to experience them.</p>
<hr>
<h3>Lost Instructions in a Connected Age</h3>
<p>While many communities and organizations have archived classic <strong>game ROMs</strong>, most of these dumps are designed for <strong>emulators</strong>, not for use on the original hardware.<br>
The real problem lies in the knowledge gap:<br>
finding the necessary guides, tools, and software for pre-internet-era devices is getting harder every year.</p>
<p>Some of the once-popular websites are now gone;<br>
tutorials are fragmented or outdated;<br>
and the key utilities they reference have changed beyond recognition.</p>
<p>Even when everything <em>seems</em> to be available, <strong>hardware from that era was rarely standardized or user-friendly</strong> — meaning that, even with all the information in hand, achieving your goal can still be surprisingly difficult.</p>
<hr>
<h3>The Skill That’s Disappearing</h3>
<p>I’ve archived ROMs for most mainstream consoles, and most of them still run fine on emulators.<br>
But that doesn’t solve the core problem — <strong>how to play them on the original machines</strong>.<br>
In fact, figuring out how to make old consoles work has quietly become a <strong>specialized skill</strong>, one that fewer and fewer people still practice.</p>
<p>Emulators have enjoyed a huge and growing audience, but the number of people who actually play on physical hardware continues to shrink.<br>
Part of that is due to aging components and failing drives, but there’s also a social factor: older players move on, and newer ones often give up quickly, leaving behind an entire generation of hardware whose <strong>operating knowledge fades into obscurity</strong>.</p>
<hr>
<h3>When “Just Use an Emulator” Isn’t Enough</h3>
<p>Take the <strong>PlayStation 1</strong>, for instance.<br>
Everyone knows it can be modded, but there are few comprehensive resources comparing the different mod methods — their pros, cons, and compatibility issues.<br>
Systematic, updated tutorials are even rarer.</p>
<p>And this isn’t just a problem for consoles from the 1990s.<br>
Consider the <strong>Nintendo 3DS</strong>, a handheld from the previous generation.<br>
During its lifetime, there were two major hacking approaches:</p>
<ul>
<li><strong>Hardware modification</strong> using flashcards like <em>Gateway</em> or <em>Sky3DS</em></li>
<li><strong>Software modification</strong> through the <em>Boot9Strap (b9s)</em> exploit</li>
</ul>
<p>As <em>b9s</em> became mainstream, flashcard-based methods fell into obscurity.<br>
Today, many players dismiss them as “unnecessary.”</p>
<p>When I try to research how to softmod a console, burn discs for PS1, or revive old flashcards for 3DS, the most common responses I get are:</p>
<blockquote>
<p>“Just solder a chip, it’s cheaper.”<br>
“Why go through all that trouble?”<br>
“Just use an emulator — it’s the same thing.”</p>
</blockquote>
<p>But is it really the same?</p>
<hr>
<h3>The Difference Between Playing and Understanding</h3>
<p>For many systems before the PS2 era, emulators can reproduce a remarkable share of the original experience.
They’re accessible, reliable, and in many ways superior to the real thing.</p>
<p>But that’s not my goal.<br>
I am less interested in merely being able to <em>play</em> these games than in the opportunity to <strong>study the history of console engineering through firsthand experience</strong>.
To feel the quirks of the original hardware, to understand the design logic that shaped an entire generation.</p>
<p>That’s what’s being lost.<br>
And as tools disappear, communities fade, and collective memory erodes, that loss feels deeper than simple nostalgia.</p>
<p>Sometimes, I can’t help but feel powerless.<br>
Maybe compromise is inevitable.<br>
But I still hope that somewhere, someone will keep the knowledge alive —<br>
so that “how to play” never becomes a forgotten language.</p>
<hr>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>Retro Gaming</category>
            <category>Game Preservation</category>
            <category>Hardware Modification</category>
            <category>Emulation</category>
            <category>Collecting</category>
            <category>PlayStation</category>
            <category>Nintendo 3DS</category>
        </item>
        <item>
            <title><![CDATA[Game Boy Micro — The Final, Smallest, and Most Misunderstood Game Boy]]></title>
            <link>https://nishikori.dev/posts/game-boy-micro-retro-analysis</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/game-boy-micro-retro-analysis</guid>
            <pubDate>Sun, 24 Nov 2024 21:30:00 GMT</pubDate>
            <description><![CDATA[A deep dive into the Game Boy Micro—Nintendo’s smallest and most refined yet commercially misunderstood handheld, examining its industrial design, display quality, ergonomics, hardware architecture, and legacy.]]></description>
            <content:encoded><![CDATA[<p>The Game Boy Micro, released in 2005, occupies a peculiar and unmatched place in Nintendo’s handheld lineage. Arriving at the twilight of the Game Boy era, it represented a dramatic departure from the design and engineering priorities that shaped the GBA and GBA SP. Rather than offering extended compatibility, a larger screen, or improved battery life, the Micro compressed the essence of the Game Boy Advance into an object that felt more like a piece of consumer fashion than a traditional gaming device. It was technically elegant, visually refined, and commercially enigmatic—qualities that would only be appreciated long after its release.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251114215927135.jpg" alt="Gameboy Micro"></p>
<h2>Industrial Design and Aesthetic Direction</h2>
<p>The Micro is one of the rare moments when Nintendo prioritized design sophistication over mass-market pragmatism. Its anodized aluminum front panel, its glossy and interchangeable faceplates, and its starkly minimal rectangular frame projected an aesthetic closer to early-2000s portable media players than to Nintendo’s toy-like plastic heritage. The device feels precise, metallic, and unusually mature for a Game Boy.</p>
<p>This elegance, however, came with a price. The mirror-finished faceplates scratch easily, and the metallic surfaces can chip or lose their original sheen with regular use. Units in pristine condition have therefore become increasingly scarce, contributing to rising market value. My own unit—well-preserved, complete-in-box, and free from major cosmetic wear—cost approximately 400 USD. Its condition and completeness significantly contributed to the price, reflecting the growing scarcity of pristine Micro systems.</p>
<h2>Display Quality: The Sharpest GBA Screen</h2>
<p>Despite its small size, the Game Boy Micro features what many consider the finest display ever put into a GBA-family system. Its high pixel density compresses the 240×160 resolution into a remarkably sharp and vivid presentation. Sprites gain a refined crispness, background tiles appear cleanly delineated, and the characteristic dithering used in GBA graphics blends more naturally into the scene. Colors are vivid yet controlled, avoiding the artificial saturation seen in some modern IPS retrofits.</p>
<p>This produces an experience that feels unexpectedly modern—almost as if GBA games were being displayed on a contemporary miniature screen. The limitation, of course, lies in the physical size: text-heavy RPGs or games that rely on detailed interfaces can become challenging to read, and extended play may strain the eyes. The Micro excels not in scale but in precision.</p>
<h2>Handfeel and Ergonomics</h2>
<p>The Micro’s form factor suggests discomfort at first glance, but Nintendo’s attention to tactile detail becomes evident quickly. The D-pad has a short, precise pivot that feels distinctly mechanical, and the A/B buttons offer crisp feedback uncommon even among other Nintendo handhelds. The device’s weight makes it pleasant to hold for shorter sessions, and the responsiveness of the controls reinforces its premium feel.</p>
<p>However, the constraints imposed by its size cannot be ignored. Players with larger hands may experience fatigue, and long sessions with RPGs or platformers can become uncomfortable. The Micro is best suited to fast, immediate gameplay rather than multi-hour commitments. It is a device optimized for short, satisfying bursts of interaction rather than sustained engagements.</p>
<h2>Hardware Architecture and the Absence of Backward Compatibility</h2>
<p>The Micro’s inability to play Game Boy and Game Boy Color cartridges is often misinterpreted as a limitation, yet it is actually the result of a strategic engineering choice. Historically, Nintendo provided backward compatibility through the physical inclusion of earlier hardware. The Game Boy Color retained a Z80-compatible processor to play original GB titles, and the Game Boy Advance incorporated much of the GBC’s graphics and timing circuitry, allowing it to operate in a true GBC mode.</p>
<p>This approach offered excellent compatibility but required substantial board space, deeper cartridge slots, and additional electrical pathways. The Micro was built around the opposite philosophy. To achieve its unusually compact size, Nintendo removed all GB/GBC-related circuitry, leaving only the ARM7 architecture and the necessary components for native GBA operation. Without the older hardware blocks, compatibility is not simply disabled—it becomes electrically impossible. The Micro’s form factor is inseparable from this decision.</p>
<h2>Market Reception and Collector Re-evaluation</h2>
<p>At launch, the Game Boy Micro struggled. Its high price, small display, fragile finish, and unclear place in the market left consumers confused, especially as the Nintendo DS surged in popularity. Many players could not justify a premium GBA variant that sacrificed backward compatibility and practicality.</p>
<p>Yet as time passed, the Micro’s unique qualities transformed it from a commercial oddity into a collector’s treasure. Its scarcity, refined industrial design, precision display, and vulnerability to cosmetic damage have all contributed to its rising cultural and monetary value. Special editions like the Famicom and Mother 3 variants, in particular, have become highly prized artifacts within the retro hardware community.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251114220241144.jpg" alt="My complete-in-box unit with matching serial number on both the console and the warranty card"></p>
<h2>Historical Significance</h2>
<p>Viewed in retrospect, the Game Boy Micro resembles a carefully crafted coda to the Game Boy lineage. It is a compression of the GBA’s identity rather than an expansion of it. The Micro does not attempt to be the most versatile or most practical Game Boy; instead, it distills the platform into its smallest, most focused form.</p>
<p>Its appeal lies partly in its refusal to behave like a sensible final model. Precise, minimal, and almost indifferent to commercial logic, the Micro compresses the Game Boy era into something immediate, tactile, intimate, and technologically self-contained. The lineage did not end with a grand summation, but with its smallest and perhaps most concentrated object.</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>Game Boy</category>
            <category>Handhelds</category>
            <category>Nintendo</category>
            <category>Hardware Analysis</category>
        </item>
        <item>
            <title><![CDATA[Nintendo 3DS — Depth, Dual Screens, and the Afterlife of a Handheld]]></title>
            <link>https://nishikori.dev/posts/nintendo-3ds-3d-architecture-models-and-hacking</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/nintendo-3ds-3d-architecture-models-and-hacking</guid>
            <pubDate>Fri, 18 Oct 2024 09:30:00 GMT</pubDate>
            <description><![CDATA[The Nintendo 3DS promised glasses-free 3D, hid an entire DS inside its shell, spawned a confusing family of revisions, and became one of the most thoroughly explored handhelds in hacking history.]]></description>
            <content:encoded><![CDATA[<p>When Nintendo announced a handheld that could do “3D without glasses”, it sounded like the kind of E3 slogan you politely ignore — right up until the first time you line your eyes up with that top screen in front of a demo unit. The depth effect is somewhere between an arcade gimmick display and a lenticular postcard, but it is undeniably real, coming out of a device that folds shut and fits in a jacket pocket.</p>
<p>Looking back now, the Nintendo 3DS is much more than a trick display. Inside the shell it packs an ARM11-based main system and a full DSi-class compatibility layer; it keeps DS and DSi titles alive in hardware while layering on a 3D screen, new I/O, and a very 2010s idea of “always-on connectivity.” It drifts through a whole constellation of revisions from 3DS to 2DS to the “New” models, gradually pushing 3D from headline feature to optional extra. And over more than a decade it becomes a case study in handheld hacking, moving from flashcarts and fragile entry points to boot-level exploits and custom firmware that effectively give the machine an afterlife.</p>
<p>This is a console built around “depth” in multiple senses: the depth on its autostereoscopic screen, and the layers of hardware, compatibility, and community work that sit behind it.</p>
<hr>
<h2>The 3D Trick: 800×240 Pixels and a Sheet of Invisible Glass</h2>
<p>The 3D effect on the 3DS lives entirely on the top screen. On the surface it looks like any other wide 400×240 panel, but under the hood the LCD actually has 800×240 physical pixels. When 3D is enabled, the console renders two 400×240 images side by side in alternating columns; a parallax barrier in front of the LCD directs one set of columns to the left eye and the other to the right, creating depth without glasses.</p>
<p>That barrier is the quiet star of the show: an additional LCD layer that can form 400 dark vertical stripes. At the correct distance, those stripes obscure even-numbered columns from one eye and odd-numbered columns from the other. The result is a stereoscopic image that feels surprisingly solid if you stay inside the “sweet spot,” and instantly falls apart if you move too far off axis.</p>
<p>Two decisions lock the character of 3DS 3D. First, only the top screen is 3D-capable; the bottom remains a 2D resistive touchscreen. Developers are pushed into a division of labour: the upper screen becomes a “stage in depth,” while the lower screen remains a flat control surface. Second, Nintendo adds a physical 3D depth slider rather than making the feature binary. You can fade 3D in and out, from fully off to maximum strength, without ever diving into a menu. Many players eventually park the slider at zero for comfort, but the simple fact that it can be nudged back up at any moment makes 3D feel like a trick the console always has in reserve, rather than a gimmick it forces on you.</p>
<p>By the time the New Nintendo 3DS arrives, Nintendo patches one of the original design’s weak points: the fragile sweet spot. The “super-stable 3D” system combines the front camera and motion sensors to track your head and subtly adjust the parallax barrier in real time, making the effect hold together even if you shift a bit on the sofa. It is a retroactive fix, but it finally makes the slogan “3D without glasses” feel close to effortless in day-to-day use.</p>
<hr>
<h2>Architecture and Compatibility: Hiding a DSi Inside</h2>
<p>Where the DS felt like a development board with features hanging off every edge, the 3DS is more stratified. At the visible top sits the 3D screen, cameras, gyro, accelerometer, wireless hardware, and NFC on later models. Just behind that, the main SoC is built around a dual-core ARM11 MPCore CPU at roughly 268 MHz paired with a Digital Media Professionals PICA200 GPU. The original models provide 128 MB of fast FCRAM and 6 MB of VRAM, while the “New” hardware doubles FCRAM to 256 MB and bumps internal caches and clocks, giving games more room to breathe.</p>
<p>Crucially, there is also a single-core ARM9 in the mix, a direct descendant of the DS architecture. It handles security and low-level system tasks in 3DS mode, but it also underpins the console’s backwards compatibility. When you launch a DS or DSi title, the system effectively drops into a hardware compatibility mode built around that ARM9 and the inherited subsystems from the DSi era. The extra ARM11 power and 3D hardware step aside; no DS game suddenly gains depth, and anything that depended on the old GBA slot is simply unsupported.</p>
<p>The result is a “console inside a console.” For native 3DS software, developers see a modern-ish handheld with a quirky GPU and two screens. For older DS and DSi games, the hardware can behave almost exactly like a late-period DS, down to offering a native-resolution mode if you hold Start or Select as you boot the title. The only major ancestor that does not survive the transition is the Game Boy Advance: there is no cartridge slot, and only a handful of GBA titles distributed in the early Ambassador Program are ever allowed to run in a special, locked-down mode.</p>
<p>From a systems perspective, the 3DS family is layered: at the bottom sits a DSi-class world anchored by ARM9; in the middle, an ARM11/FCRAM platform powers the main OS and 3DS games; at the top, the 3D panel, cameras, wireless, and sensors define how the machine actually gets used.</p>
<hr>
<h2>The Family Tree: 3DS, XL, 2DS, and the “New” Era</h2>
<p>If the DS family tree was already busy, the 3DS line takes that complexity and adds more branches.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251115200059695.jpeg" alt="Nintendo 3DS"></p>
<p>The launch Nintendo 3DS (CTR-001) is the compact original. It ships with the autostereoscopic top screen, a 2D touchscreen below, gyro and accelerometer for motion-controlled titles, a front camera and two rear cameras for 3D photos and AR games, and the now-legendary StreetPass feature that quietly logs encounters with other consoles in your bag or pocket.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251115200119169.jpeg" alt="Nintendo 3DS XL"></p>
<p>The Nintendo 3DS XL/LL follows as the “big-screen” revision. Larger displays make the 3D effect more comfortable and more convincing, and the bigger shell helps battery life and ergonomics. The machine feels less like a tiny gadget and more like a living-room handheld, the sort of device you leave on a coffee table with a charger stand.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251115200132266.jpeg" alt="Nintendo 2DS"></p>
<p>Then comes the curveball: the Nintendo 2DS. Instead of a clamshell, it has an unbroken “slab” design; instead of touting 3D, it quietly removes the feature entirely. What remains is full compatibility with 3DS and DS software, but now targeted at younger players and parents who never cared about 3D in the first place. The 2DS is an admission in hardware form: for a large part of the audience, the defining value of the 3DS ecosystem was the library, not the depth slider.</p>
<p>:::grid{cols=2}
<img src="https://img.nishikori.dev/2025/11/20251115200152630.jpeg" alt="New Nintendo 3DS"></p>
<p><img src="https://img.nishikori.dev/2025/11/20251115200611832.png" alt="New Nintendo 3DS XL">
:::</p>
<p>In 2014–2015, the “New Nintendo 3DS” and “New Nintendo 3DS XL” arrive. Internally they add faster ARM11 cores, double the FCRAM, and expand the private SRAM pools; externally they gain a small C-Stick nub, extra ZL/ZR shoulder buttons, and built-in NFC for amiibo. Certain titles, like Xenoblade Chronicles 3D and the SNES Virtual Console releases, are explicitly restricted to these models, quietly drawing a line between “can run it” and “cannot” within the same family. The “super-stable 3D” system also starts here, finally making prolonged 3D play practical.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251115200206413.jpeg" alt="New Nintendo 2DS XL"></p>
<p>The last word is the New Nintendo 2DS XL. It keeps the upgraded “New” internals and extra controls but once again ditches 3D, wrapping everything in a lighter clamshell shell with a friendlier price tag. By then, “3DS” as a brand means “the place where those games live” more than it means “the thing that does 3D,” and the hardware lineup quietly reflects that.</p>
<hr>
<h2>Cartridges at the Door: DS-Mode Flashcarts and Gateway 3DS</h2>
<p>Like its predecessor, the 3DS lives alongside hacking from very early in its lifespan. At first, the activity mostly clings to the old world: traditional R4-style DS flashcarts run happily in DS compatibility mode, but they cannot see the 3DS side of the machine or its 3D hardware. They are, in practice, running on the DS that is hiding inside the system, not the 3DS proper.</p>
<p>The first widely known attempt to break into 3DS mode itself is Gateway 3DS. Introduced in 2013, it uses vulnerabilities in specific firmware versions to gain code execution in 3DS mode, presenting a menu that lets users mount multiple 3DS game images from a special red cartridge. For a while it is the only way to run 3DS homebrew or out-of-region titles directly on hardware.</p>
<p>Other products like Sky3DS take a different approach, emulating legit cartridges at the hardware level and cycling through stored titles with a button press. To the system, they look like a series of individual retail carts being swapped in and out. This sidesteps many software checks but still lives entirely within Nintendo’s expected control surface. The experience tends to be clunky, version-sensitive, and tightly constrained by how close the device can mimic an actual game card.</p>
<p>This era serves mostly as a proof of concept: the 3DS is not an unbreakable black box, but the early tools are fragile, expensive, and permanently tied to specific firmware ranges and hardware dongles.</p>
<hr>
<h2>Taking the Keys: Software Exploits, boot9strap, and Luma3DS</h2>
<p>The real turning point comes when researchers and hobbyists shift their focus from proprietary flashcarts to pure software exploits. Over several years, vulnerabilities are found in retail games, the web browser, the Home Menu, and even the system’s audio player. QR-code parsing in <em>Cubic Ninja</em> becomes the basis for ninjhax; malformed web pages power browserhax; theme handling bugs enable menuhax; specially crafted music files trigger soundhax. Each of these gives users a way to load homebrew without any special cartridge, as long as their firmware version and installed apps line up.</p>
<p>Once reliable user-space execution is possible, attention moves down the stack. Exploits like arm9loaderhax (A9LH) seize control of the ARM9 during the early boot process, allowing custom code to run every time the console turns on instead of only after launching a specific app or game. With the later disclosure of secrets from the 3DS boot ROM, boot9strap (B9S) supersedes A9LH, grabbing an even earlier foothold and making installation safer and more robust.</p>
<p>On top of this foundation sit custom firmwares, with Luma3DS becoming the de facto standard. Luma runs as a flexible patch layer over Nintendo’s OS: it removes region locks, adds better error output, supports in-game plugins, and smooths over incompatibilities, while still letting the official user interface and eShop titles function as expected. By the late 2010s and into the 2020s, a typical “hacked 3DS” is no longer defined by which flashcart it owns but by which version of Luma and boot9strap it runs.</p>
<p>At that point, the community’s relationship to the hardware flips. Instead of finding cracks in an opaque box, users have a reproducible way to take ownership of the machine at boot time. The official operating system becomes one layer among several, and the 3DS turns into a general-purpose handheld platform for fan translations, homebrew, emulation, and archival projects.</p>
<hr>
<h2>After the 3D Hype: A Handheld’s Second Life</h2>
<p>In pure numbers, the 3DS family never reshaped the world the way the original Game Boy did, but selling over 75 million units across all models is hardly a failure. It weathered the first years of the smartphone game boom, playing host to everything from mainline Pokémon entries and Monster Hunter to stereoscopic remakes of Nintendo 64 classics.</p>
<p>Meanwhile, Nintendo slowly winds down the official side. New hardware production ceases; the eShop closes in 2023; repair services start to sunset in one region after another. By the mid-2020s, the 3DS has clearly moved from “current platform” to “legacy hardware,” its commercial life overshadowed by the Switch and whatever comes after.</p>
<p>Yet in another sense, it is more alive than ever. The combination of mature custom firmware, a vast back catalogue, and a hardware design resilient enough to survive a decade in bags and drawers means that the 3DS keeps finding new roles: as an emulation handheld, a portable archive of its own era, a nostalgia machine for <em>StreetPass</em> and <em>Puzzle Swap</em>, or a testbed for late-night experiments in C and ARM assembly.</p>
<p>The 3D headline feature has quietly faded into the background; many people now buy or revive these systems with the slider firmly at zero. But the deeper “3D” — the layered architecture, the backwards-compatibility shell, the overlapping official and unofficial ecosystems — is what gives the 3DS its staying power. Long after Nintendo has stopped manufacturing shells and boards, and long after the last official server is turned off, the slightly battered clamshells with their custom boot logos are still booting, still being patched, still being passed around.</p>
<p>That is the real afterlife of this handheld: not as a museum piece, but as a machine that outlived its own marketing, and then quietly became something more interesting than the slogan on its box.</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>Nintendo</category>
            <category>Handhelds</category>
            <category>Hardware Analysis</category>
            <category>Nintendo 3DS</category>
            <category>Hacking</category>
        </item>
        <item>
            <title><![CDATA[Nintendo DS — A Fork in the Road to Dual Screens]]></title>
            <link>https://nishikori.dev/posts/nintendo-ds-hardware-architecture-and-odd-expansions</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/nintendo-ds-hardware-architecture-and-odd-expansions</guid>
            <pubDate>Sun, 15 Sep 2024 18:30:00 GMT</pubDate>
            <description><![CDATA[From dual ARM CPUs to a zoo of Slot-2 peripherals, the Nintendo DS was never just “a handheld with two screens”, but a long-running hardware experiment in what game interaction could be.]]></description>
            <content:encoded><![CDATA[<p>If I had to describe the Nintendo DS in a single sentence, I would call it “a hardware experiment that tried to probe the future, and accidentally became a sales champion.”<br>
Two screens, a resistive touchscreen, microphone, Wi-Fi, backward compatibility with the GBA, and a long list of bizarre peripherals — the DS never feels like a neatly packaged consumer product. It feels more like a development board stuffed into a reasonably cute shell, with almost every idea Nintendo wanted to try jammed into one generation.</p>
<p>This piece walks through its architecture, compatibility, model evolution, and the stranger corners of its expansion ecosystem, treating the DS as a literal fork in the road of handheld design.</p>
<hr>
<h2>Architecture: Dual ARM and Dual Screens in Concert</h2>
<p>After experimenting with ARM on the GBA, Nintendo doubled down on that partnership for the DS. Inside the SoC live two CPUs: an ARM9 and an ARM7. The ARM9 handles most of the DS-native game logic and 3D graphics, while the ARM7 focuses on audio, I/O, and, in GBA compatibility mode, essentially becomes the “brain” of the previous generation. It is a very Nintendo kind of compromise: not radical in raw specs, but heavily optimized for the exact use cases they cared about.</p>
<p>On paper, 4 MB of main RAM looks almost comically small today. But the entire rendering pipeline is designed around one core question: how do you keep two screens fed at once? Both panels are 256×192; the top behaves as a conventional “main display,” while the bottom adds resistive touch on top. The graphics engine is a hybrid 2D/3D design that can split layers between the two displays. Many games stage the “world” on the top screen and treat the bottom as a control panel; others stitch them together visually, using both screens as one tall canvas, with HUD and scene transitions bridging the seam.</p>
<p>For emulators, the trouble is not so much performance as entanglement. The timing relationship between the two CPUs is baked into many games. Touch input, microphone, Wi-Fi, and, in some cases, Slot-2 accessories all get wired directly into gameplay. Mainstream DS emulators can run most titles smoothly today, but reproducing the exact “feel” of the original hardware is more like simulating a whole interaction system than merely drawing frames and reading button presses. The DS is less a “faster GBA” and more a compact, oddly specialized dual-CPU interactive device.</p>
<hr>
<h2>Compatibility: The Last Window onto the GBA Era</h2>
<p>During the “Project Nitro” phase, Nintendo set a clear constraint: the new handheld was not allowed to abandon the entire GBA software library. That decision manifested physically as Slot-2, the full-size GBA cartridge slot that occupies the entire bottom edge of the system.</p>
<p>Slot-2 gives the DS two layers of compatibility. The obvious one is direct GBA playback. On boot, the user can choose to run in DS mode or GBA mode. Once in GBA mode, the ARM9 more or less steps aside and the ARM7 takes over in a configuration that closely resembles a GBA. Only one screen is used, and the button layout tracks the older handheld closely. For a long time, the DS simply served as “a GBA SP with a backlight that finally did not feel like a compromise.”</p>
<p>The second layer is more subtle. A subset of DS titles explicitly target Slot-2 accessories: rumble modules, RAM expansion packs, and stranger, game-specific hardware add-ons. Electrically, they reuse the GBA form factor and interface, but in software they belong entirely to the DS era. This also means that when Nintendo removed Slot-2 on the DSi, these Slot-2-aware DS titles lost part of their functionality overnight. The backward bridge into the GBA world and the forward bridge into expansion hardware were cut in one stroke.</p>
<p>In the broader history of Nintendo handhelds, the DS is the last machine that truly “bridges” generations in hardware. It hauls the entire GBA ecosystem along, while quietly planting seeds for the 3DS architecture. The visible, literal bridge between eras is that slot that so many of us used to fill with all kinds of weird plastic.</p>
<hr>
<h2>Model Evolution: From “Brick” to Living-Room XL</h2>
<p>The DS family went through several iterations, each answering slightly different questions about who the machine was really for.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251115191546853.jpeg" alt="Nintendo DS"></p>
<p>The original NDS (NTR-001), often nicknamed the “phat” or “brick” DS, looks and feels almost like a prototype that escaped into retail. The shell is thick, the corners are sharp, and the hinge and LED layout have a somewhat utilitarian vibe. The screens are dim by later standards, and the plastic feels more functional than refined. Yet all the essential ideas are there: dual ARM CPUs, dual screens, touch input, microphone, Wi-Fi, and the Slot-1 / Slot-2 combo. It is what you get when you ship the concept before fully polishing the product.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251115191655675.jpeg" alt="Nintendo DS Lite"></p>
<p>Nintendo DS Lite (USG-001) is where that concept finally becomes a consumer device. The shell gets thinner and lighter; the hinge and edges are rounded; the backlight grows much brighter. The iconic white DS Lite, with its glossy shell and vivid screens, became the mental image of “a DS” for many people. Slot-2 receives a flush cover, so the bottom edge is clean when no cartridge is inserted, and a GBA cartridge only protrudes slightly. DS Lite preserves full backward compatibility while striking a very careful balance between “toy” and “consumer electronics.”</p>
<p><img src="https://img.nishikori.dev/2025/11/20251115191741736.jpeg" alt="Nintendo DSi"></p>
<p>Nintendo DSi (TWL-001) marks a clear pivot toward the networked era. The CPU is clocked higher, the RAM jumps to 16 MB, and Slot-2 disappears, replaced by SD storage and the DSiWare download service. Two low-resolution cameras on the shell turn “playing with the camera” into a game mechanic in its own right. Simple filters, doodling tools, and gimmick apps made the DSi feel as much like a family toy camera as a traditional handheld. The trade-off is obvious: GBA compatibility evaporates, and a range of Slot-2-dependent DS titles and accessories lose their full functionality.</p>
<p><img src="https://img.nishikori.dev/2025/11/20251115191758960.jpeg" alt="Nintendo DSi XL"></p>
<p>On top of the DSi sits the DSi XL (known as LL in Japan). It scales the formula up with 4.2-inch screens, wider viewing angles, and larger fonts. The body becomes heavier and more substantial, but the buttons and stylus feel better suited for long sessions. Pre-installed software leans toward brain-training games and party-friendly apps, positioning the machine more on the living-room table than in a student’s backpack. By this point, the DS is no longer at the leading edge technologically, but its role is clearer: not a “tiny tech gadget,” but a shared digital notebook that can be passed around the room.</p>
<hr>
<h2>The Official Expansion Zoo</h2>
<p>Even if you ignore all peripherals, the DS is already an experimental design. The moment you start looking at the official add-ons, it begins to resemble a catalog of hardware ideas that might have been.</p>
<p>The Rumble Pak is the first Slot-2 accessory many players ever saw. It is a GBA-sized cartridge that lives in the bottom slot and provides simple rumble feedback in supported games. When the player takes damage, hits a wall, or triggers an explosion, the handheld buzzes briefly. Because the original DS and the DS Lite have different thicknesses, Nintendo even produced slightly different shells to keep the module from sticking out too awkwardly. The rumble is coarse by modern standards, but for a handheld of its era it was unusually “console-like.”</p>
<p>The Memory Expansion Pak feels like the most “engineering-driven” of the bunch. To make the Opera browser barely usable on DS hardware, Nintendo shipped this Slot-2 cartridge that contains essentially one thing: 8 MB of RAM. Combined with the 4 MB built in, the browser and a handful of later applications can stretch out over a full 12 MB of memory. For ordinary users, it is a “browser cartridge.” For homebrew developers and emulator authors, it is an extra pile of fast RAM that can be detected and exploited. Many homebrew apps probe for it on launch and quietly enable higher-resolution assets or bigger caches when it is present.</p>
<p>Only released in Japan, the Digital TV Tuner for DS is a time capsule from the mobile television era. It receives 1seg digital broadcasts, playing the TV feed on the top screen while the bottom screen becomes a channel guide and remote interface. A small folding antenna extends directly from the cartridge shell, snapped up when needed and tucked away when you are done. Before smartphones fully absorbed mobile video, this fantasy of “watching TV on your handheld” was surprisingly attractive. Today, the accessory reads like a fossil from a very specific moment in consumer electronics.</p>
<p>Among the odder peripherals, the Paddle Controller stands out as the most faithful throwback to the arcade age. It is a Slot-2 cartridge with a physical rotary knob protruding from it, designed for titles like Arkanoid DS and Space Invaders Extreme. The player uses the dial instead of a D-pad or stick, getting a direct, continuous mapping from finger motion to on-screen position. Recreating that particular feel on a tiny handheld, at a time when most controllers were going fully digital, feels almost perversely anachronistic — and that is exactly what makes it interesting.</p>
<p>Around these pillars cluster camera modules, guitar grips, heart-rate sensors, and various other niche devices. Most of them were short-lived. Taken together, though, they sketch out a hardware ecosystem with a particular attitude: if someone can imagine using it in a game, there is probably a piece of plastic we can build to plug into Slot-2 and make it real.</p>
<hr>
<h2>Flashcarts, Extra RAM, and the Unofficial Parallel Universe</h2>
<p>Outside the official catalog, the DS has a parallel life built around flashcarts and homebrew.</p>
<p>From early R4 and M3 units to later EZ-Flash products, Slot-1 was, for a long time, the entry point for running homebrew, emulators, and various utility tools. For technically inclined users, the DS was not just a handheld for retail cartridges. It was a portable dual-ARM development platform with two screens and decent audio. With Wi-Fi and filesystem access, people built FTP clients, chat programs, music players, and even bare-bones text readers that turned the DS into a tiny, multi-purpose computer.</p>
<p>Some of the more advanced flashcarts also extended into Slot-2, embedding extra RAM or rumble modules there and providing software switches to toggle between “GBA link,” “rumble feedback,” and “RAM expansion” modes. In doing so, they mirrored and extended the official Memory Expansion Pak and Rumble Pak, rather than merely circumventing them. The homebrew community went as far as writing libraries and documentation specifically for these unofficial expansions, letting homebrew software stretch the DS far beyond its base 4 MB.</p>
<p>Viewed from today, this makes the DS look less like a closed appliance and more like an underestimated pocket computing platform. The dual ARM CPUs, programmable graphics, and rich I/O make it an ideal playground for experiments that would normally have lived only on PCs — just compressed into a clamshell that fits into a jacket pocket.</p>
<hr>
<h2>A Dual-Screen Testbed and Its Aftershocks</h2>
<p>Seen from this distance, what kind of machine was the Nintendo DS?</p>
<p>Commercially, it is one of the few handhelds that can stand next to the Game Boy line in raw sales. In hardware and interaction history, it feels more like a side branch that grew away from the main trunk. If you look only at conventional metrics — CPU power, polygon count, media capabilities — the DS simply cannot trade blows with Sony’s PSP. But the DS does not try to. Instead, it builds an entire stack of interaction layers: two screens, touch, microphone, local wireless, and a flexible expansion slot, then asks developers and players to explore what that stack can actually do.</p>
<p>That side branch continued into the 3DS and, in a more awkward way, the Wii U’s asymmetric dual-screen experiments. It later folded back into the Nintendo Switch, where true dual screens vanished but the underlying philosophy — handheld plus dock plus detachable controllers — still carries an echo of the DS era’s obsession with new ways to interact.</p>
<p>When you flip open a DS today, the jagged pixels and aging plastic are hard to ignore. Yet once you remember all the Slot-2 carts, flashcarts, RAM packs, tuners, and dials that once lived around it, it becomes difficult to see it only as “the thing that came after the GBA.” It is better understood as the physical remains of a long, collective experiment in what a game console could be. The slightly yellowed clamshell in your hand is not just a product of that experiment; it is, in many ways, its most successful and least repeatable outcome.</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>Retro Obsession</category>
            <category>Nintendo</category>
            <category>Handhelds</category>
            <category>Hardware Analysis</category>
            <category>Nintendo DS</category>
            <category>Slot-2</category>
        </item>
        <item>
            <title><![CDATA[《聲之形》——一個試圖傳達「情感」的失敗故事]]></title>
            <link>https://nishikori.dev/posts/the-shape-of-voice</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/the-shape-of-voice</guid>
            <pubDate>Sun, 07 Jul 2024 11:33:16 GMT</pubDate>
            <description><![CDATA[《聲之形》是一部試圖傳遞「情感」卻最終陷入表層敘事的作品——它誠懇卻笨拙，真摯卻失衡，最終成為一場未能抵達靈魂的情感嘗試。]]></description>
            <content:encoded><![CDATA[<p>::: warning
本文目前為草稿
:::</p>
<p>《聲之形》這部電影，是我從未喜歡過，但卻又觀看了數遍的電影。還記得最初觀看《聲之形》是在初中，儘管當時我的思想還並不深刻，不能完全理解電影所要傳達的內容，但這部電影的劇情給當時的我造成了很大的衝擊。而最近一次觀看則是在我的高中時期，當時我已度過了自己的大低谷時期，從<strong>霸凌</strong>中逐漸走出，對於這部電影的感觸也多了一些。而時至今日，讓我再回顧這一篇電影，我會認為這是<strong>一個試圖傳遞「情感」的失敗故事</strong>。</p>
<h2>劇情</h2>
<h2>校園霸凌——表層現象</h2>
<h2>渴望溝通——深層實質</h2>
<h2>傳遞情感</h2>
<h2>「失敗」</h2>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>隨筆評論</category>
            <category>京阿尼</category>
            <category>動畫</category>
            <category>情感表達</category>
            <category>霸凌議題</category>
        </item>
        <item>
            <title><![CDATA[《迷魂記》——希區考克的一次自省]]></title>
            <link>https://nishikori.dev/posts/vertigo</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/vertigo</guid>
            <pubDate>Sun, 07 Jul 2024 11:20:11 GMT</pubDate>
            <description><![CDATA[《迷魂記》是希區考克對自我創作與人性執念的深層凝視，一場關於慾望、幻象與救贖的心理迷宮。]]></description>
            <content:encoded><![CDATA[<p>::: warning
本文目前為草稿
:::</p>
<p>閒來無事，又觀看了一遍希區考克執導的心理驚悚片《迷魂記》（Vertigo）。</p>
<p>坦白來講，這部電影是我最愛的希區考克作品之一。一方面是這部電影的表現手段十分高明，很典型地反映出了德國表現主義對於希區考克的影響，構圖、色彩十分考究，利用了誇張、非自然的佈景與表演風格進行精神層面的表達，利用一個角色的主觀視角來理解一個奇異的世界。另一方面，這一部電影的所表達的內容也十分深刻，希區考克借助自己特有的的詭異而迷人，情感慾望交織的影像風格，塑造了「被凝視的客體」與「凝視的主體」形象，引發了對於「自我概念」「自我認知」、「男女性別」「權力控制」等議題的探討。</p>
<p>《迷魂記》這一部作品，在我看來，可以被解讀成希區考克的一次自省。他在前半段塑造了一位典型的希區考克式的金髮女郎瑪德蓮·艾爾絲特。而在後半段他又創造了另一位棕髮的角色茱蒂，茱蒂看似通過自己的選擇主導了後半部分的劇情，但最終還是在史考提的控制下，讓步妥協，接受了他人的塑造，又成為了另一個標誌性的希區考克式金髮女郎。茱蒂夾雜了希區考克本人略帶扭曲和邊緣化的心理特徵，在被塑造之中一步步走向絕境，最終墜樓而亡。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>隨筆評論</category>
            <category>希區考克</category>
            <category>心理驚悚</category>
            <category>經典電影</category>
            <category>分析</category>
        </item>
        <item>
            <title><![CDATA[準備搬家 - 2024年7月7日]]></title>
            <link>https://nishikori.dev/diary/2024-07-07</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-07-07</guid>
            <pubDate>Sun, 07 Jul 2024 10:24:33 GMT</pubDate>
            <content:encoded><![CDATA[<p>升入大三，我們便要從虎溪校區搬至沙坪壩校區。由於沙坪壩校區的建築普遍較老，我選擇在未來的兩年在校外自己租房住。</p>
<p>由於是首次租房，我並沒有什麼經驗，因此斟酌許久，選擇給自己租一間公寓。在綜合考慮租金、地段以及裝修等因素後，我最終選擇了江北區的一家公寓。從公寓出發，可以很快地來到重慶大學的沙坪壩校區，上課通勤比較方便。同時前往MAO、VOX和寅派動力等Livehouse都不算太遠，閒時可以去看演出。此外其距離幾個商圈也只需要半小時左右，其他的購物娛樂需求也能滿足。</p>
<p>於是，我週二我去看了房子，週五簽下了合同，週六叫了貨拉拉把大部分東西都搬到了我的公寓。又添置了許多物件，包括一些床上用品，和一把人體工學椅。在虎溪這邊忙完最後的一些工作後，下週六我便正式搬到那邊，正式開始自己的獨居生活。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[一道數學題的巧妙解法 - 2024年7月2日]]></title>
            <link>https://nishikori.dev/diary/2024-07-02</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-07-02</guid>
            <pubDate>Tue, 02 Jul 2024 13:07:54 GMT</pubDate>
            <content:encoded><![CDATA[<p>今日刷知乎，看到一個問題——</p>
<blockquote>
<p>如何優雅地證明 $e &gt;\sqrt{7} $</p>
</blockquote>
<h2>我的解法</h2>
<p>看到這個題目，我的第一反應是借助 $ e $ 的級數展開式 $ e = \sum^{\infty}_{n=0} \frac{1}{n!} $ 來解答，當然，本人並非數學系學生，所以下面的內容也並不嚴謹，僅僅是一個思路。</p>
<p>將其展開可以得到 $ e = 1+1+\frac{1}{2!}+\frac{1}{3!}+\ldots+\frac{1}{n!} $,</p>
<p>取前五項，計算可得 $e &gt; 1+1+\frac{1}{2!}+\frac{1}{3!}+\frac{1}{4!} \approx2.7083$，</p>
<p>又易知$ \sqrt{7} &lt; 2.6458 $，</p>
<p>因為$ 2.7083&gt;2.6458 $，則可得 $e &gt;\sqrt{7} $。</p>
<p>但列出這個思路之後，我不得不承認這並不「<strong>優雅</strong>」。</p>
<h2>優雅的解法</h2>
<p>我查閱網路，看到了一位網友運用Maclaurin級數的證明：</p>
<p>我們根據Maclaurin級數易知 $ e^x = \sum_{n=0}^{\infty} \frac{x^n}{n!} = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \ldots $，</p>
<p>在此我們取 $x=2$，可得$ e^2 = \sum_{n=0}^{\infty} \frac{2^n}{n!} = 1 + 2 + \frac{2^2}{2!} + \frac{2^3}{3!} + \ldots $</p>
<p>又<strong>注意到</strong>截斷前四項後可得到 $ \sum_{n=0}^{4} \frac{2^n}{n!}  = 7 $，</p>
<p>顯然，$e^2= \sum_{n=0}^{\infty} \frac{2^n}{n!} &gt;\sum_{n=0}^{4} \frac{2^n}{n!}  = 7$，</p>
<p>證畢。</p>
<h2>緊跟時事的解法</h2>
<p>因為 $abcdefg \ldots z$，</p>
<p>故 $e&gt;z$，</p>
<p>根據<strong>姜萍等式</strong>，$ \text{主}=6 $，</p>
<p>而 $z=\text{主}-\text{點}=6-0.1=5.9$，</p>
<p>且 $5.9^2&gt;7$，</p>
<p>故 $5.9&gt;\sqrt{7}$，</p>
<p>因此 $e &gt;\sqrt{7} $，</p>
<p>證畢。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[體驗Apple Vision Pro - 2024年6月29日]]></title>
            <link>https://nishikori.dev/diary/2024-06-30</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-06-30</guid>
            <pubDate>Sun, 30 Jun 2024 16:49:10 GMT</pubDate>
            <content:encoded><![CDATA[<h2>體驗流程</h2>
<p>6月14日的時候在Apple Store的軟體上預約了Apple Vision Pro的體驗。 這款產品6月28日正式發售,但是考慮周五時學校內可能有其他安排(事後證明是我多慮了),我選擇了在6月29日,即周六去體驗。</p>
<p>Apple Store店面玻璃上貼著AVP的標示，店內為其專門設置了一排桌子，並使用圍欄隔離開。我在排隊進入後向店員提交預約二維碼,隨後進行前期的準備。</p>
<p><img src="https://file.nishikori.dev/WechatIMG672.jpg" alt="Apple Paradse Walk Chongqing"></p>
<p>第一是用iPhone掃描頭部的信息，需要掃描店員提供的QR code，然後用手機的Face ID掃描頭部特徵，在掃描完成後手機上會出現一個QR code，需要將其提交給店員。其實我認為這一步似乎有些多此一舉，我以為在店員出示的QR code中完全可以帶有一些追蹤信息，用戶不需要在掃描過後又提交一遍QR code。</p>
<p>第二是讓店員拿走眼鏡去測一下度數，用來選擇內部處方鏡片。坦白來講，這一步還是超出我的預期的，我本以為這一項是讓用戶自行選擇，但實際上卻是使用儀器去測定，這樣可以確保使用AVP的觀感和用戶正常視覺效果保持一致。</p>
<p>後面的工作人員會幫忙組裝適合我的設備，而與此同時店員會交代一些基本的手勢。</p>
<p><img src="https://file.nishikori.dev/IMG_5186.JPG" alt="帶著保護罩的Apple Vision Pro"></p>
<p>在設備組裝好後，店員向我教授了如何配戴設備——用右手捏住AVP的中間，將其舉起後拉住後面的伸縮帶，將其套在頭上後調整尺寸並拉緊，隨後再調整頂部伸縮帶，使之處於視野正前方。在這一步時，如果後面的調整不到位，使用中便會感受到漏光；如果頭頂的帶子調整不到位，顯示區域便不會處在視野的中心 。對於這兩點，AVP都會給予提示，確保最佳的使用體驗。（至於我是如何發現這一點的，是因為我同時犯了這兩項錯誤）</p>
<p>配戴後點按按鈕開機，系統根據我的眼睛距離自動調整兩個鏡片的位置。隨後需要進行處方鏡片配對。這一步需要調出兩個二維碼，並將其舉到Vision Pro的前方，讓設備自帶的攝像頭進行掃描，再配對後系統會自動對顯示畫面進行處理，使得我看到的內容清晰。</p>
<p>在使用時店員會使用一台iPad同步查看AVP的顯示內容，同步地給予使用方面的指導，不過我並沒能看清他的螢幕上具體還有些什麼內容。他向我詢問想要著重體驗哪方面的功能，我表示比較關注其娛樂方面。於是他指導我觀看了宣传片裡的全景恐龍視頻，線上觀看全景視頻/普通電影。此外我還瀏覽了相冊，裡面的照片有iPhone拍攝的普通/全景照片，還有iPhone 15 Pro/AVP拍攝的立體照片/視頻。</p>
<p>剩下的時間我還嘗試打開Safari瀏覽網頁，並嘗試調度多個窗口。這些軟件除了交互時使用手勢，其他內容都和使用MacOS差不多。</p>
<p>Vision Pro內置的App store裡包含了一些中國常用的軟體。據店員介紹說目前雖然可以下載很多軟體，但大部分都還沒有適配，都是直接從MacOS或IPad OS過來，未來各家廠商會對這台設備進行專門的適配。</p>
<p>他沒有讓我體驗Apple TV，故不知有沒有將其功能閹割。</p>
<p>在體驗完成後，向店員提供郵箱，他隨後便將我的信息以郵件形式發給了我，日後如果再去體驗的話，便無需再掃描頭部、測定鏡片了。</p>
<hr>
<h2>我的感受</h2>
<p>整體體驗下來，還是非常新奇的。</p>
<p>戴設備時要把劉海掀起來，為觀看體驗需要將帶子拉近，但拉緊後會覺得壓迫顴骨，並不舒適。</p>
<p>開機後看到現實世界中的畫面，畫面很清晰，真的會讓人忘記這是在看屏幕。不過這是建立在Apple Store店舖內光線充足的情況下，在弱光環境下起顯示情況必然會變差一些。</p>
<p>屏幕的視角稍微有些窄，可以注意到屏幕邊緣的黑框，對沈浸感有些影響。設備的聽感還是不錯的，能感受到其「空間感」，但礙於揚聲器尺寸，臨場感還是有所欠缺。</p>
<p>手勢操作準確度大概85/100，也可能是我不太熟悉的緣故，隨著體驗流程進行，在後面我的操作準確度是有所提高的，且大部分操作是符合常識的。</p>
<p>Vision Pro的重量不算輕，在我配戴了半小時後，頸椎會感受到有些疲憊，不過眼睛沒有酸脹感。</p>
<p>體驗的時候是全程坐著的，這樣對於重量的感知還是會弱化一些，並且我也不清楚移動狀態下體驗會怎麼樣。</p>
<p>電池包是放在桌子上的，用手掂量了一下，比我的iPhone 13 Pro Max重一些。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[獲得你的免費網域郵箱——Resend]]></title>
            <link>https://nishikori.dev/posts/get-your-free-domain-email</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/get-your-free-domain-email</guid>
            <pubDate>Thu, 27 Jun 2024 20:49:43 GMT</pubDate>
            <description><![CDATA[本文詳細介紹如何使用 Resend 與 Cloudflare 電子郵件路由功能，免費搭建一個可收可發的網域郵箱。通過將 Resend 的 SMTP 發信服務與 Gmail 作為載體郵箱結合，你可以在不自建郵件伺服器的情況下，輕鬆擁有自己的個性化郵箱地址。]]></description>
            <content:encoded><![CDATA[<p>儘管我已將博客遷移至這個新網域，但我仍然保留了nishikori.tech的所有權。為了更好地利用這一閒置的網域，同時更好地配置自己的郵箱分配，我仍然希望保留nishikori.tech這一網域的網域郵箱。</p>
<p>儘管Google Workspace等服務商都提供了完善的網域郵箱雖使用方便，但所有的服務都需要付費，為了節省開支，我放棄了使用這類服務。而在眾多服務商封禁<code>25</code>連線埠的今天，自建郵箱服務器也不是一件易事。</p>
<p>通過檢索，我發現了<a href="https://resend.com"><strong>Resend</strong></a>，他們會為用戶提供免費的發信服務（免費用戶100封/天，或3000封/月），恰好符合我的需求。將Resend與Cloudflare提供的電子郵件路由功能相結合，我們便可以得到一個免費的網域郵箱。</p>
<h2>開始前的準備</h2>
<ol>
<li>
<p>一個Resend帳號</p>
</li>
<li>
<p>一個使用了Cloudflare的DNS服務的閒置網域</p>
</li>
<li>
<p>一個充當載體的郵箱，在此使用Gmail</p>
</li>
</ol>
<h2>配置Cloudflare電子郵件路由實現收信服務</h2>
<p>首先，打開Cloudflare的控制台，打開目標網域，隨後點擊Email選擇卡，隨後點擊Email Routing，在Custom address的輸入框中填入想要的郵箱名稱，並在下方Destination輸入框填入載體郵箱。</p>
<p><img src="https://file.nishikori.dev/WechatIMG655.jpg" alt=""></p>
<p>隨後，根據提示配置DNS解析。</p>
<p><img src="https://file.nishikori.dev/WechatIMG656.jpg" alt=""></p>
<p>根據教程操作至此，我們的網域郵箱便具備了收信功能，如不需要發信服務，到處便已經結束。</p>
<h2>配置Resend實現發信服務</h2>
<p>打開<a href="https://resend.com/">Resend官網</a>，在首頁或API Keys頁面申請一個免費的API Key，並將其複製下來備用。</p>
<p><img src="https://file.nishikori.dev/WechatIMG657.jpg" alt=""></p>
<p>在Settings頁面選擇SMTP選擇卡，獲得SMTP主機、連結埠等信息。</p>
<p><img src="https://file.nishikori.dev/WechatIMG658.jpg" alt=""></p>
<p>登錄載體郵箱，在設置介面找到「添加其他電子郵件地址」，單擊。</p>
<p><img src="https://file.nishikori.dev/WechatIMG659.jpg" alt=""></p>
<p>根據提示填入各項信息，「電子郵件地址」處填寫網域郵箱地址。</p>
<p><img src="https://file.nishikori.dev/WechatIMG660.jpg" alt=""></p>
<p>根據Resend官方文檔填寫SMTP伺服器（<a href="http://smtp.resend.com">smtp.resend.com</a>），選擇連結埠（465），填寫用戶名（Resend）。結果如下圖所示。</p>
<p><img src="https://file.nishikori.dev/WechatIMG661.jpg" alt=""></p>
<p>單擊「添加帳號」，將網域郵箱添加至載體郵箱帳號。隨後打開載體郵箱的收件箱，找到認證電子郵件並進行驗證。</p>
<p><img src="https://file.nishikori.dev/WechatIMG662.jpg" alt=""></p>
<p>經過上述配置，我們便能夠在載體郵箱的發信介面選擇我們的網域郵箱，並可使用其發信。</p>
<p><img src="https://file.nishikori.dev/WechatIMG663.jpg" alt=""></p>
<h2>參考文獻</h2>
<p><a href="https://cleanclip.cc/zh/developer/cloudflare-worker-gmail-resend-enterprise-email/#_3-4-%E4%BD%A0%E4%BC%9A%E6%94%B6%E5%88%B0%E6%9D%A5%E8%87%AA-gmail-%E7%9A%84%E7%A1%AE%E8%AE%A4%E9%82%AE%E4%BB%B6-%E7%82%B9%E5%87%BB-confirm-%E5%B0%B1%E5%A5%BD">域名搁着别浪费，Cloudflare + Gmail + Resend 十分钟轻松拥有免费的企业邮箱
</a></p>
<p><a href="https://resend.com/docs/introduction">Resend Documentation</a></p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>網域郵箱</category>
            <category>Resend</category>
            <category>Cloudflare</category>
            <category>Gmail整合</category>
            <category>免費服務</category>
        </item>
        <item>
            <title><![CDATA[從色彩命名窺探文化特質]]></title>
            <link>https://nishikori.dev/posts/from-the-color-naming-to-cultural-characteristics</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/from-the-color-naming-to-cultural-characteristics</guid>
            <pubDate>Thu, 27 Jun 2024 13:37:23 GMT</pubDate>
            <description><![CDATA[本文基於跨文化色彩命名研究，探討語言、文化與感知之間的關聯。從語言學與認知心理學的角度，分析不同文化如何對色彩進行分類與命名，進而反映出其獨特的審美觀與世界觀。]]></description>
            <content:encoded><![CDATA[<p>最近讀了幾天有關<em>Color Naming</em>的論文，等讀完後整理一下自己的觀點寫點東西。</p>
<p><a href="https://file.nishikori.dev/A%20Cross-Cultural%20Colour-NamingStudy.%20Part%20I-%20Using%20an%20Unconstrained%20Method.pdf">A Cross-Cultural Colour-Naming Study. Part I - Using an Unconstrained Method</a></p>
<p><a href="https://file.nishikori.dev/A%20Cross-Cultural%20Colour-NamingStudy.%20Part%20II-%20Using%20an%20Constrained%20Method.pdf">A Cross-Cultural Colour-Naming Study. Part II - Using an Constrained Method</a></p>
<p><a href="https://file.nishikori.dev/A%20Cross-Cultural%20Colour-Naming_Study.%20Part%20III-%20A%20Colour-Naming%20Model.pdf">A Cross-Cultural Colour-Naming_Study. Part III - A Colour-Naming Model</a></p>
<p><a href="https://file.nishikori.dev/MacDonaldandMylonas-ColourNamingLinkingVisionandSpeech-CCS2016.pdf">Colour Naming - Linking Vision and Speech</a></p>
<p><a href="https://file.nishikori.dev/031-035.pdf">Color Names Across Languages: Salient Colors and Term Translation in Multilingual Color Naming Models</a></p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>隨筆評論</category>
            <category>色彩命名</category>
            <category>語言學</category>
            <category>文化差異</category>
            <category>認知心理學</category>
            <category>美學</category>
        </item>
        <item>
            <title><![CDATA[記中學時的合唱比賽]]></title>
            <link>https://nishikori.dev/diary/2024-06-26</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-06-26</guid>
            <pubDate>Wed, 26 Jun 2024 03:32:11 GMT</pubDate>
            <content:encoded><![CDATA[<p>在我們的中學，生活並不如刻板印象中的中國中學生活一樣沈悶無聊——相反，我們的課餘生活還是十分豐富的。其中令我印象最深的便是兩次合唱比賽。</p>
<hr>
<p>第一次合唱比賽是在初中，曲目要求是一首「紅歌」與一首流行歌曲。那次我們獲得了年級第一名的成績。</p>
<p>當時我是我們班的班長，而副班長、文藝委員、組織委員都是我的好友。在得知合唱比賽的消息後，我們班鬥志昂揚，許多「猛士」都積極獻策。從他們那裡，我們選擇購買了婚禮慶典上常用的「禮炮」——一種旋轉底部氣管，釋放壓縮氣體，便可以發射出大量彩帶的紙筒——作為氣氛道具，並定下來了流行歌曲爲Queen 樂隊的<em>We Will Rock You</em>。</p>
<p>文藝委員和組織委員則主要負責班級內同學的聲樂合唱。而幾名具備器樂基礎的同學則被我每天課餘時間拉走特別訓練——兩位同學進行吉他伴奏，一名同學負責鋼琴，而我則使用貝司墊低聲。至於打擊樂組，我則邀請了一位隔壁班的外援「Z」——Z從小便學習爵士鼓，技術在本市內都算是頂尖，而由於和他們班同學不合，沒有幫助他們班，而卻選擇來幫助我們班演出。</p>
<p>正式比賽的場地在初中部報告廳，恰好就在我們班教室的對面，我們<strong>近水樓台先得月</strong>，一旦得閒便前去排練，相比於其他班級，我們打磨出了更適合的隊形站位，甚至還設計了在兩首歌交替之間的隊形變換。</p>
<p>我所使用的貝司與音響，是我和副班長從管樂團裡臨時偷來的。當時我們的校管樂團恰好正在排Deep Purple的Smoke on the Water，我正負責其中的貝司。在正式表演前一天晚上，我們將音響和貝司悄悄從學校一角的藝術樓搬到了我們的教學樓。</p>
<p>經過幾次排練後，我們在正式比賽那天穩定發揮，第一首「紅歌」時我擔任班級的合唱指揮。整首歌下來，除了在鞠躬時我險些摔倒，我們整首歌沒有任何瑕疵。隨著兩首歌交替，我們班的隊形站位迅速改變——當時在場的其他班級都未曾有過類似的舞台設計——我和同時器樂組的其他同學也及時操起樂器，準備等待開始。</p>
<p>第二首歌的過程中，我並沒有留下太多印象，只是確定我們的演出相對穩定，儘管Z事先並未和我們排練，但他憑藉自己過硬的器樂素養，還是為我們的演出錦上添花。</p>
<hr>
<p>第二次合唱比賽發生在二〇二〇年的八月份。當時第一波武漢肺炎疫情逐漸穩定，我們六月初才返回學校。在學校進行了短暫的線下學習，並進行了期末考試後，學部便組織了這一比賽來振奮我們的精神。在這一次，我被教務處的老師臨時徵用，負責後台的調音、燈光。班級內的各項事務都交給了文藝委員負責。但在比賽前一天晚上，我們突然收到通知，每個參賽班級都需要準備背景PPT或視頻。時間緊急，文藝委員又叫來了在報告廳後台忙碌的我去幫忙。由於時間緊迫，我也只能劍走偏鋒，讓家裡安排人儘快送來拍攝設備，我在班級內快速錄製了幾條視頻素材。</p>
<p>但有了素材並不能解決問題。為了剪輯成片，我向老師借來了筆記本電腦，但其配置又不能滿足要求，於是我只得又遠程打開家裡的工作站，從老師的筆記本電腦遠程連結，共享素材進行剪輯。眼看天色已晚，我只能拿著筆記本儘快回到宿舍。</p>
<p>當我拎著電腦，回到房間，將其擺在桌子上時，宿舍執勤阿姨便立刻來到我們房間，看著我的電腦，感慨儘管很快就會放假，但現在的學生也不能這樣放肆。我的班主任恰好在我的房間，及時地欸我解圍：「小X要為我們學部剪輯一條視頻。」——這個老狐狸，為了令宿舍阿姨同意，謊報軍情，明明我的任務屬於班級，但他卻稱「爲學部剪輯」。宿舍阿姨見此狀，便不再多言，離開了我的房間。</p>
<p>但熄燈之後，樓長又正巧來到我們樓層巡視，並且從我們房間的門口，看到了面對著發光螢幕「夜戰」的我，她進來後，看著桌子上的筆記本電腦、無人機，以及一大瓶飲料，坐在桌前的我正看著手機打著字。樓長雖工作經驗豐富，但也未曾見過此場面。「現在的學生都這麼猖狂了嗎？這些東西沒一個是合法的！」她正準備訓斥我，我們的宿舍阿姨遲遲趕來，向樓長解釋「X同學要幫Y主任做個東西」——Y主任是我們的學部主任，脾氣火爆且及其較真，宿舍阿姨在班主任編造謊言的基礎上還加深了一部，為我分配了一位領導！</p>
<p>樓長聽到Y主任的大名，也不敢再多嘴，只說了一句不要影響其他同學便關上門離開。而我在這之後便通宵奮戰，最終在早晨七點時為我們班級交付了一條十分完美的視頻。</p>
<p>在我們的選曲中有一段RAP，當時我還特別邀請了我們班一位熱愛說唱的同學，跟著音樂對口型，而我手持鏡頭對著他的正面拍攝特寫。他左右搖擺地向前走，我便配合他的動態一起搖晃，同時謹慎的向後退，確保他始終位於畫面中央。在RAP的最後階段，他手向正排成方陣的我們班同學一指，我也旋轉鏡頭，一齊指向了我們班的同學，實現了完美的配合——這一部分是我們第一次試拍時即興發揮的鏡頭，後面補充鏡頭時曾試圖對這一段多拍幾條，但再也拍不出那種渾然天成的感覺。</p>
<p>在比賽當天，我們班無疑在此獲得了第一名的成績——雖然我很想開玩笑說這多虧了我在幕後的配合，但我不得不承認，這是那段時間我們班所有同學一齊努力奮鬥的結果。</p>
<p>在這場比賽後，我們經過了一個短暫的暑假。隨後，我們升入了高二，學校根據選科以及成績，將我們班三十人拆散到了八個不同的班級。但我們雖然不在同一班級，但關係依舊親密。學期初班幹部競選，年紀裡八個班，七個班級的班長出自我們班（剩下的那個班級，在一個月試用期後被撤職，也換上了我們班的同學擔任班長）。每次年級舉辦會議，都可以稱作我們高一班級成員的團建。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[對初中畢業的回憶]]></title>
            <link>https://nishikori.dev/diary/2024-06-23-2</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-06-23-2</guid>
            <pubDate>Sun, 23 Jun 2024 21:34:16 GMT</pubDate>
            <content:encoded><![CDATA[<p>看到許多網友都查到了今年的中高考成績，不禁讓我回憶起自己當年查詢中考成績的情景。</p>
<p>那時，我的中考成績並不是自己查詢到的，而且還比別人早了幾個小時——至今我也不明白為什麼會這樣。</p>
<p>記得那一天凌晨，我剛剛從上海飛到廈門。在酒店稍作歇息，早晨起床去衛生間時，一位熟識的音樂老師突然打電話給我。我茫然地接通電話，聽到他不正經地問我是否想知道自己的中考成績。我隔著電話翻了個白眼，說道：「成績公布不是還要等幾個小時嗎？你又在賣什麼關子？😤」</p>
<p>他聽完嘿嘿一笑，繼續問：「想不想知道嘛？」在我肯定答覆後，他便告訴了我我的中考成績。說實話，那个成績確實有些出乎意料，但我並不清楚自己在全市的排名，於是向他打聽，「其他人的成績怎麼樣？」</p>
<p>然而，他卻有些為難，只告訴我他只知道我的成績，不知道其他人的。</p>
<p>向他道謝後，我掛斷電話，把這一消息告訴了家人。父親甚至還顯得有些失望。</p>
<p>不久後，我的微信突然收到了大量消息，同校的老師和同學紛紛向我詢問我的中考成績。經過一個朋友的描述，我大致明白了事情的經過。</p>
<p>當時，我的初三班主任正帶著其他同學在日本進行由學校組織的畢業旅行。而那個通知我成績的音樂老師在和我通話後，立刻把消息告訴了班主任，班主任隨後將我的成績告知了一起旅行的同學們。於是，在中考成績公布前的幾個小時，幾乎我們學校的所有人都知道了我的中考成績，而僅僅是我的成績。</p>
<p>一位那時在日本旅行、後來成為市狀元的同學，在得知我的成績後，還小聲嘀咕：「xxx這次怎麼考得這麼高」，被市第二名向我打了小報告。看來他們也許認為我有可能成為本屆的市狀元。（雖然最終並沒有）</p>
<p>幾個小時後，成績才正式公布，但我和家人並沒有費力去查詢。畢竟分數已經知曉，高中也早已簽約，查詢顯得多餘了。相比於登上那個卡頓的查詢網站，我更傾向於享受我在廈門的短暫假期。</p>
<p>然而，我在廈門也並未怎樣享受。同一天的下午我便收到了教務處的電話，他們向我表示，希望我能夠參與組織排練學校的畢業式。我表示我正在廈門度假，婉拒了邀請，老師便又詢問我能否作為畢業生代表在典禮上進行演講。心中感到不好拒絕，便勉強答應了下來——在我答應後，老師卻告訴我畢業典禮正舉辦在三天後。</p>
<p>於是，我只得取消後續幾天的度假計畫，訂好第二天從廈門回家的高鐵票。在高鐵上打好演講稿的草稿並和老師進行了多次聯合修改，我終於定下了一篇還說的過去的講稿。</p>
<p>畢業典禮當天，我的演講差強人意。雖然在演講中提到了所謂的畢業離別，但我也清楚，我們初中的大部分同學還是會繼續在本校唸書，我所講的實際上也指示客套話。</p>
<p>更令人啼笑皆非的是，在畢業典禮的後一天，我們便需要來到學校，進行「銜接課程」的學習。好巧不巧，我的瑞士度假計畫正巧也訂在了「銜接課程」的開學日，於是我向老師謊稱我要去歐洲「遊學」，避開了萬惡的補課。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[在「URSPRUNG」重新啟航 - 2024年6月24日]]></title>
            <link>https://nishikori.dev/diary/2024-06-23</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-06-23</guid>
            <pubDate>Sun, 23 Jun 2024 16:38:05 GMT</pubDate>
            <content:encoded><![CDATA[<p>經過了<strong>漫長</strong>的期末週，終於迎來了短暫的休息時間。趁著這兩天的空閒，我重新搭建了自己的博客，<a href="http://xn--nishikori-uu6px97aezk7r2h.xn--techursprung-b85sn60bura794d5yczt6fyjhsu8ewclmp2b.io">將網域從nishikori.tech切換到了現在的新網域ursprung.io</a>，並且將所有數據遷移至了一台新的位於俄勒岡的新服務器。</p>
<p>至於選擇更換網域的原因，主要還是我對於這個站點的定位做出了調整。我希望不再將這一個站點作為我個人在短期內的博客更新站點，而是一個長期的、穩定的中轉站。基於這一個網域，我未來會部署各類方便我與周邊朋友的網路服務，以及打造個人品牌。基於這樣的目的，使用「nishikori_tech」似乎顯得小家子氣。況且「錦織 唯」只作為此時此刻我個人的筆名，我並不能確保我未來是否會繼續沿用這一名稱。</p>
<hr>
<p>對於網域的選擇，我也糾結了較長時間。由於個人的審美偏好，我傾向於將網域的立意定在「起源，本初」。</p>
<p>最適合這一立意，且符合本站以中文為語言的定位的，當數「元」的拼音「yuan」，但可惜作為中文拼音，絕大多數的「yuan」網域都已被註冊，我最鍾意的「<a href="http://yuan.io">yuan.io</a>」雖處於代售狀態，但$3,500的最低價格讓我望而卻步。</p>
<p>隨後，我想到了使用「元」的耶魯式拼音「ywan」，但由於其過於冷門，因此作罷。</p>
<p>隨後又從各個語種考慮，在網域註冊站點上篩選了許久，查詢了「alfa」「origine」「fundementa」「kigen」「genesis」等等諸多方案，在簡潔程度、價格費用、立意貼近程度數個維度考慮後，我最終選定了如今這個網域名稱「ursrpung」——德語詞彙，通常被理解為「根源」「起源」「本源」。</p>
<p>希望未來的時間裡我可以持續使用這一網域名稱（除非我真的能買下更好的）。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[沮喪 - 2024年6月9日]]></title>
            <link>https://nishikori.dev/diary/2024-06-09</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-06-09</guid>
            <pubDate>Sun, 09 Jun 2024 13:23:05 GMT</pubDate>
            <content:encoded><![CDATA[<p>最近幾天一直忙於學習，沒有更新自己的動態。</p>
<p>前段時間熬夜完成了中國國際大學生創新大賽的項目申報書，希望一切順利。</p>
<p>數學建模比賽的結果暫時也還沒有得出，同樣希望順遂。</p>
<p>這個週末說實話沒怎麼認真複習，多數時間都在睡覺和刷手機。</p>
<hr>
<p>之前常用的圖床IMGTP突然停止了服務，原有的圖片基本都無法顯示了。嘗試搶救了幾篇文章的配圖，但感覺耗時太長，決定日後有時間再來慢慢恢復。畢竟圖片都是自己的，完全恢復的可能性是有的，但是工程量相對來說還是比較大的。</p>
<hr>
<p>前些日子，前任因為某些原因選擇輕生。還好她被及時救回來，並和我恢復了聯繫。無論當初內心有多不甘，我還是希望她能夠好好的。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[近期的情況 - 2024年5月29日]]></title>
            <link>https://nishikori.dev/diary/2024-05-29</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-05-29</guid>
            <pubDate>Wed, 29 May 2024 16:23:23 GMT</pubDate>
            <content:encoded><![CDATA[<p>大概一個月沒有更新有關自己生活的內容，因為這段時間確實是很忙。</p>
<p>五一假期沒有機會出去玩，因為我需要認真備考托福，我的家人不支持我外出旅遊。整個假期總結來說也並不愉快，不過同時也開始了一些自學的計畫，目前在Coursera學習Meta的前端課程（包括React.js的基礎），期待以後能夠自行維護更新這一博客站點。</p>
<p>4月30日去看了宮崎駿《霍爾的移動城堡》的重映，以及《SPY×FAMILY間諜家家酒》的電影《劇場版 SPY×FAMILY CODE: White》。後者我觀看的是首映特殊IMAX場，因此我有幸拿到了限定海報。</p>
<p><img src="https://file.nishikori.dev/IMG_9549.jpeg" alt="海報"></p>
<p>一個月裡陸續做了許多材料力學的實驗。讓我印象比較深的就是材料的壓縮、扭轉實驗——雖然一直以來對於這幾個材料的性質爛熟於心，但真當我在實驗中見識到這些材料究竟能經受多大的壓縮/扭轉之後，還是不禁驚嘆出來。</p>
<p>:::grid {cols=2,gap=12}</p>
<p><img src="https://file.nishikori.dev/IMG_4994.jpeg" alt=""></p>
<p><img src="https://file.nishikori.dev/IMG_5032.jpeg" alt=""></p>
<p>:::</p>
<p>去了過去兩年一直很喜歡的店鋪吃了壽喜燒，一直以來很喜歡的黃油鍋底下架了，肉的種類也變少了，估計以後不會再去了。</p>
<p><img src="https://file.nishikori.dev/IMG_6239.jpeg" alt=""></p>
<p>托福考試整體來說還是比較順利的，大概是可以和托福分手了。</p>
<p>托朋友買來了李志在日本巡演時售賣的專輯。不得不感嘆現在在國內想買到一張逼哥的專輯真的很難——其實說實話，在中國買專輯本身也不是一件容易事了。週末有閑，在渝中區閒逛，去了兩家音像店。一家如今十幾年來搬家數次，雖仍在營業，但店內專輯價格大概是正常價格的兩倍。另一家音像店卻不知什麼時候已經倒閉，我費盡力氣來到它的「遺址」，卻只得看到門口堆積的落滿灰塵的貨架。</p>
<p>拿著新的托福成績單，以及英語學分兌換申請表，來到了沙坪壩校區，想讓我們學院的教務老師簽字蓋章。但前日的留言她尚未回覆，辦公室裡她的工位又不見人影。一氣之下我住在了沙坪壩校區的附近，又跟老師發了信息。隨後正當我在社交平台上吐槽時，這位教務老師卻戲劇性的回覆了我，告訴我只要符合條件，便可以直接去找她蓋章——好似這是一件十分容易而順利的事情。雖然滿是怒氣，但我卻只能順從地回覆一句「好的」。</p>
<p>那天我吃了麥當勞，20元20個雞塊，與我在香港時點過的套餐相似，但中國的麥當勞的包裝設計著實更好一些。</p>
<p><img src="https://file.nishikori.dev/IMG_7097.jpeg" alt=""></p>
<p>剛剛過去的這一週，我與隊友忙於數學建模校級競賽，晝夜不分地趕製論文，終於在截止日期前提交上去。就我個人感覺，這篇文章算是完美的。希望一切順利。接下來的時間我還需要負責撰寫大創比賽的申報書，又要透支自己的身體。</p>
<p>星巴克最近推出了挺多的新品，個人最喜歡第三張圖片的「紅顏草莓椰椰星冰樂」。</p>
<p>::: grid {cols=3,gap=4}</p>
<p><img src="https://file.nishikori.dev/IMG_5953.jpeg" alt=""></p>
<p><img src="https://file.nishikori.dev/IMG_5754.jpeg" alt=""></p>
<p><img src="https://file.nishikori.dev/IMG_2637.jpeg" alt=""></p>
<p>:::</p>
<hr>
<p>友人前幾日向我發出邀約，邀請我一同去韓國休假。儘管我的假期任務繁多，但考慮到這個學期我並未好好度過任何一個假期，我還是想在暑假找個時間放鬆一下。在當日我便與母親商量，她欣然同意，也說我這個學期都沒休息過，可以在假期裡抽出一點時間放鬆一下。</p>
<p>然而，當她昨天下午將這件事告訴我的父親時，他卻直接否決。我的母親雖表面上向著我，但實際上並不會忤逆我的父親，向我傳達了父親的想法。昨晚我們通電話時，他「苦口婆心」地告訴我我的暑假任務很多，需要把精力放在「正事」上面。</p>
<p>他向來都是這樣，一個典型的中國家長，一邊標榜著自己「民主」，一面又不容他人質疑，獨斷專行，像極了偉大的中國共產黨。當我們之間發生一個問題時，他從不會說「因為現在這個情況，讓我們想想怎麼做」，而是「因為現在這個情況，你應該這樣做」，看似留給了我選擇的空間，但其實他已然「幫我」做好了決定。若我對他反駁，他便會說出那經典的「還不是為了你好」之類的言論，似乎我反駁他，做出自己的決定如同十惡不赦的大錯誤。</p>
<p>我懶得和他繼續爭辯，但這也不代表我永遠會忍氣吞聲。當我真正地不再依附於他時，能夠做出自己的選擇時，我不會再顧及他任何。</p>
<p>今天晚上下著雨，但我並沒有帶傘，從星巴克一路淋著雨回到了宿舍。在路上我和他又通了電話，期間都是虛偽的和諧，我向他報告著近幾天學習、工作的情況，他也象徵性的關心了一下我淋雨會不會感冒。比起我的精神狀態，我能夠不生病，能夠繼續投入學習才是更重要的。</p>
<hr>
<p>從小我便是所謂的「別人家孩子」，有關學習的事情從來沒有讓他操過心——當時他調任外地，也不怎麼關心。我輾轉了兩個南方城市才讀完了小學，直到上了中學才穩定居住在山東，與他們分居。中學是住宿制，我每週或每半個月離開學校一次，獨自搭城際公交回到只有自己的家。偶爾我會因為感情問題（中國所謂的「早戀」）被老師通知家長，我的父親也最多只是在電話裡說我兩句。</p>
<p>他真正開始「關心」我，是在他回到了山東，我經歷了嚴重的心理問題之後——我的心理問題是靠自己慢慢解決的，在我逐步回復正常後，我的考試成績經歷了嚴重的下滑。是的，直到我成績沒有了當初的光鮮後，我的偉大的父親才開始關心起我來。當然，他的關心並不是那麼的體貼，而是囑咐我認真學習，不要分心，把成績提上去之類的隔靴搔癢般的話，而從來沒有關心過我的精神狀態。我猜，直到今日，他可能都不清楚我曾經經歷過一段十分痛苦的時期。</p>
<p>在我獨自排解了自己的心理問題後，我逐漸接納了自己，認識到了自己只是一個凡人，也不再對自己有任何不切實際的幻想。但在他的眼中，我這是放棄了奮鬥和努力，我作為「他最好的作品」（他依舊把我當作他的「附屬物」，而不是獨立的「人」），不應該如此的消極（儘管事實並非如此）。</p>
<p>高考完之後，我對自己的成績並沒有什麼後悔，我接受現在的我——但他不允許。他讓司機帶著我連夜來到長沙，去和國防科技大學的某位熟識的政委「協調」，試圖將我送入這所在他看來十分不錯的學校。但我不肯，因為我深知倘若真的進入了這所學校，我的未來就消失了。我在國防科技大學的校門前和他吵了起來，最終讓他改變了想法，讓我按照常規的路徑升入一所普通的大學。我在報考志願時，他一直指手畫腳，保留下來的都是他所中意的大學，直到填報到最後還剩下幾個空餘時，我才有機會在裡面加上了自己的意願學校——其中幾項志願便是重慶大學。其實當時我對於重慶大學一無所知，唯一的了解便是這個地方距離我的家很遠。</p>
<p>我最終被重大錄取，來到了這個距離山東近兩千公里的城市。這是我對偉大的父親的第一次勝利，也是至今唯一一次。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[決策分析]]></title>
            <link>https://nishikori.dev/posts/decision-analysis</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/decision-analysis</guid>
            <pubDate>Wed, 15 May 2024 17:29:20 GMT</pubDate>
            <description><![CDATA[介紹管理決策分析的基本理論與方法，涵蓋確定型、風險型及不確定型決策問題的特徵與求解策略。內容包含期望值法、矩陣法、決策樹法等分析技術，並討論信息價值在決策過程中的作用與應用。]]></description>
            <content:encoded><![CDATA[<p>決策是管理的重要職能，是決策者對系統方案所做決定的過程和結果，決策時候決策者的行為和指責。</p>
<p>管理決策分析就是為幫助決策者在多變的環境條件下，進行正確決策提供的一套推理方法、邏輯步驟和具體技術，以及利用這些技術和方法選擇滿意行動方案的過程。</p>
<h2>決策分析類型</h2>
<p>決策問題的基本模式：</p>
<center>
$ W_{ij} = f(A_i,\theta_j) \qquad i=1,2,\cdots,m \qquad j=1,2,\cdots,n $
</center>
<ul>
<li>
<p>$ A_i $ 是決策者第$i$種策略或方案，屬於決策變量，是決策者可控因素；</p>
</li>
<li>
<p>$ \theta_j $ 是決策者和決策對象（決策問題）所處的第$ j $種環境條件或自然狀態，屬於狀態變量，屬於狀態變量，是決策者不可控制因素；</p>
</li>
<li>
<p>$ W_{ij} $是決策者在第$ j $種環境條件下選擇第$i$種策略的結果，是決策問題的價值函數值，一般叫益損值、效用值。</p>
</li>
</ul>
<h3>確定型問題分析</h3>
<h4>問題特徵</h4>
<ol>
<li>
<p>存在決策者希望達到的<strong>目標</strong>（收益大火損失小）；</p>
</li>
<li>
<p>存在著可供選擇的兩個以上的行動<strong>方案</strong>；</p>
</li>
<li>
<p>不同行動方案再自然狀態下的<strong>益損值</strong>可以計算出來；</p>
</li>
<li>
<p>存在<em>一種</em>確定的自然<strong>狀態</strong>；</p>
</li>
</ol>
<h4>求解方法</h4>
<ol>
<li>
<p>當方案數量較大時，常運用運籌學中規劃等方法來分析解決（線性規劃、動態規劃目標規劃等）；</p>
</li>
<li>
<p>如多階段確定型決策問題的求解方法——動態規劃方法；</p>
</li>
<li>
<p>嚴格來講，確定型問題知識優化計算的問題，而不是真正的管理決策分析問題。</p>
</li>
</ol>
<h4>典型例題</h4>
<blockquote>
<p>某企業準備生產甲產品，其單位售價為150元/件，單位可變成本為100元/件，固定成本為5000元，年產量200件。求解：</p>
<ol>
<li>企業年獲利多少？</li>
<li>盈虧平衡產量為多少？</li>
<li>最低定價為多少時，企業不會虧損？</li>
<li>若目標利潤為1萬元，目標成本為多少？</li>
<li>原材料上漲和工人工資增加，使得單位可變成本上升至140元/件，若單位售價不變且無法轉產，企業是否該停止生產？</li>
</ol>
</blockquote>
<p>企業年獲利：</p>
<center>$ E=(P-V)N-F = (150-100)\times200-5000=5000 元 $</center>
<p>盈虧平衡產量：</p>
<center>$ N^{*}=\frac{F}{P-V}=\frac{5000}{150-100} = 100 件 $</center>
<p>盈虧平衡產量：</p>
<center>$ P^{*}=\frac{VN+F}{N}=100+\frac{5000}{200} = 125 元/件 $</center>
<p>目標利潤為1萬元的銷售量：</p>
<center>$ N_{目標}=\frac{F+E}{P-V}=\frac{5000+10000}{150-100} = 300 件 $</center>
<p>目標總成本：</p>
<center>$ VN_{目標}+F=100\times300+5000 = 35000 元 $</center>
<h3>風險型問題分析</h3>
<h4>問題特徵</h4>
<ol>
<li>
<p>存在決策者希望達到的目標（收益大或損失小）；</p>
</li>
<li>
<p>存在著可供選擇的兩個以上的行動方案；</p>
</li>
<li>
<p>不同行動方案在自然狀態下的益損值可以計算出來；</p>
</li>
<li>
<p>存在兩種或以上的自然狀態；</p>
</li>
<li>
<p>可以預測不同自然狀態發生的概率。</p>
</li>
</ol>
<h4>求解方法</h4>
<ol>
<li>
<p>期望值；</p>
</li>
<li>
<p>矩陣法；</p>
</li>
<li>
<p>決策樹法。</p>
</li>
</ol>
<blockquote>
<p>風險型決策分析問題是一般現實情境中決策分析的主要內容，在基本方法基礎上，應注意把握信息價值及其分析以及決策者效用觀等重要問題。</p>
</blockquote>
<h3>不確定型問題分析</h3>
<h4>問題特徵</h4>
<ol>
<li>
<p>存在決策者希望達到的目標（收益最大或損失最小）；</p>
</li>
<li>
<p>存在兩個以上可供選擇的行動方案；</p>
</li>
<li>
<p>不同行動方案在自然狀態下的益損值可以計算出來；</p>
</li>
<li>
<p>存在兩種或以上的自然狀態；</p>
</li>
<li>
<p>不同自然狀態發生的概率無法預測。</p>
</li>
</ol>
<h4>求解方法</h4>
<ol>
<li>
<p>樂觀法（最大最大原則）;</p>
</li>
<li>
<p>悲觀法（最小最大原則）;</p>
</li>
<li>
<p>後悔值法（SaVage準則或後悔值最大最小原則）;</p>
</li>
<li>
<p>等概率法（Laplace准則，一種特殊的風險型決策）。</p>
</li>
</ol>
<h4>典型例題</h4>
<blockquote>
<p>某企業準備生產一種新產品。估計該產品的銷售量有較高、一般、較低、很低四種情況，而對每種狀態出現的概率則無法預測。為生產該產品，企業有三種實施方案：新建一個車間進行生產；改造一個現有車間進行生產；部分零件在現有車間生產，部分零件外購。該新產品企業準備生產10年，10年內在不同狀態下的損益值（扣除投資費用）如表5-1所示。請分別用樂觀法、悲觀法和後悔值法來決策實施方案。</p>
</blockquote>
<table>
<thead>
<tr>
<th></th>
<th>市場銷售額較高</th>
<th>市場銷售額一般</th>
<th>市場銷售額較低</th>
<th>市場銷售額很低</th>
</tr>
</thead>
<tbody>
<tr>
<td>建立新車間</td>
<td>850</td>
<td>420</td>
<td>-150</td>
<td>-400</td>
</tr>
<tr>
<td>改造現有車間</td>
<td>600</td>
<td>400</td>
<td>-100</td>
<td>-350</td>
</tr>
<tr>
<td>部分生產、部分外購</td>
<td>400</td>
<td>250</td>
<td>90</td>
<td>-50</td>
</tr>
</tbody>
</table>
<p><strong>樂觀法</strong>：</p>
<p>每個不同方案在不同狀態下的最大受益分別為：</p>
<center>
<p>$max_{A_1}{850,420,-150,-400} = 850$<br><br></p>
<p>$max_{A_2}{600,400,-100,-350} = 600$<br><br></p>
<p>$max_{A_3}{400,250,90,-50} = 400$<br><br></p>
</center>
<p>取各方案最大受益值中的最大值，可得：</p>
<center>$ max\{850,600,400\} = 850 $</center>
<p>即對應方案$ A_1 $，建立新車間。</p>
<p><strong>悲觀法</strong>：</p>
<p>每個不同方案在不同狀態下的最小受益分別為：</p>
<center>
<p>$min_{A_1}{850,420,-150,-400} = -400$<br><br></p>
<p>$min_{A_2}{600,400,-100,-350} = -350$<br><br></p>
<p>$min_{A_3}{400,250,90,-50} = -50$<br><br></p>
</center>
<p>取各方案最小受益值中的最大值，可得：</p>
<center>$ max\{-400,-350,-50\} = -50 $</center>
<p>即對應方案$ A_3 $，部分生產、部分外購。</p>
<p><strong>後悔值法</strong>：</p>
<p>取每個狀態下最大的收益值，將之與其餘方案下的收益值做差，隨後求的每個方案的最大後悔值進行比較。</p>
<table>
<thead>
<tr>
<th></th>
<th>市場銷售額較高</th>
<th>市場銷售額一般</th>
<th>市場銷售額較低</th>
<th>市場銷售額很低</th>
</tr>
</thead>
<tbody>
<tr>
<td>建立新車間</td>
<td>850*</td>
<td>420*</td>
<td>-150</td>
<td>-400</td>
</tr>
<tr>
<td>改造現有車間</td>
<td>600</td>
<td>400</td>
<td>-100</td>
<td>-350</td>
</tr>
<tr>
<td>部分生產、部分外購</td>
<td>400</td>
<td>250</td>
<td>90*</td>
<td>-50*</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th></th>
<th>市場銷售額較高</th>
<th>市場銷售額一般</th>
<th>市場銷售額較低</th>
<th>市場銷售額很低</th>
<th>最大後悔值</th>
</tr>
</thead>
<tbody>
<tr>
<td>建立新車間</td>
<td>0</td>
<td>0</td>
<td>-240</td>
<td>350</td>
<td>350</td>
</tr>
<tr>
<td>改造現有車間</td>
<td>250</td>
<td>20</td>
<td>190</td>
<td>300</td>
<td>300</td>
</tr>
<tr>
<td>部分生產、部分外購</td>
<td>450</td>
<td>270</td>
<td>0</td>
<td>0</td>
<td>450</td>
</tr>
</tbody>
</table>
<p>取各方案最大後悔值中的最小值，可得：</p>
<center>$ max\{350,300,450\} = 300 $</center>
<p>即對應方案$ A_2 $，改造現有車間。</p>
<p><strong>等概率法</strong>：</p>
<p>假定各狀態發生概率相同，通過計算各方案的收益期望值進行比較，取個方案收益期望值的最大值，選擇對應方案，因方法過於簡單，不再贅述。</p>
<h2>風險型問題分析</h2>
<h3>問題特徵</h3>
<ol>
<li>
<p>存在決策者希望達到的目標（收益大或損失小）；</p>
</li>
<li>
<p>存在著可供選擇的兩個以上的行動方案；</p>
</li>
<li>
<p>不同行動方案在自然狀態下的益損值可以計算出來；</p>
</li>
<li>
<p>存在兩種或以上的自然狀態；</p>
</li>
<li>
<p>可以預測不同自然狀態發生的概率。</p>
</li>
</ol>
<h3>求解方法</h3>
<ol>
<li>
<p>期望值；</p>
</li>
<li>
<p>矩陣法；</p>
</li>
<li>
<p>決策樹法。</p>
</li>
</ol>
<blockquote>
<p>風險型決策問題是一般決策分析的主要內容，在基本方法的基礎上，應注意把握信息價值及其分析以及決策者效用觀等重要問題。</p>
</blockquote>
<h4>期望值法</h4>
<p>期望值法就是利用概率論中隨機變量的數學期望公式算出每個行動方案的益損期望值並加以比較。若採用決策目標（準則）是期望收益最大，則選擇收益期望值最大的行動方案為最優方案；反之，若決策目標是期望費用最小，則採用費用期望值最小的方案為最優方案。</p>
<center>$ E(X) = \sum{P_iX_i}$</center>
<ul>
<li>
<p>$ X_i $是隨機離散變量$ X $的第$ i $個取值，$i=1,2,\cdots,m $;</p>
</li>
<li>
<p>$ P_i $是$ X = X_i $時的概率。</p>
</li>
</ul>
<h4>決策樹法</h4>
<p>所謂決策樹法，就是利用樹形圖模型來描述決策分析問題，並直接在決策樹圖上進行決策分析其決策目標（準則），也可以是益損期望值或經過變換的其他指標值。</p>
<p><strong>典型例題</strong>：</p>
<blockquote>
<p>某輕工企業要決定一產品明年的產量，以便及早做好生產前的各項準備工作。假設產量的大小主要根據該產品的銷售價格好壞而定。根據以往市場銷售價格統計資料及市場預測信息得知：未來產品銷售價格出現上漲、價格不變和價格下跌三種狀態的概率分別為0.3，0.6和0.1。若該產品按大、中、小三種不同批量（即三種不同方案）投產，則下一年度在不同價格狀態下的益損值可以估算出來，如下表所示。現要求通過決策分析來確定下一年度的產量，使該產品能獲得的收益期望為最大。</p>
</blockquote>
<table>
<thead>
<tr>
<th></th>
<th>價格上漲 $ \theta_1 $</th>
<th>價格不變 $ \theta_2 $</th>
<th>價格降低 $ \theta_3 $</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td>0.3</td>
<td>0.6</td>
<td>0.1</td>
</tr>
<tr>
<td>大批生產$ A_1 $</td>
<td>40</td>
<td>36</td>
<td>-6</td>
</tr>
<tr>
<td>中批生產$ A_2 $</td>
<td>36</td>
<td>34</td>
<td>24</td>
</tr>
<tr>
<td>小批生產$ A_3 $</td>
<td>20</td>
<td>16</td>
<td>14</td>
</tr>
</tbody>
</table>
<p>根據題目描述可繪製出決策樹如下</p>
<p><img src="https://file.nishikori.dev/fctx8pwct8vidr7d3g.webp" alt=""></p>
<h4>多級決策樹法</h4>
<p>如果只需作一次決策，其分析求解即告完成，則這種決策分析問題就稱為單級決策。反之，有些決策問題需要經過多次決策才告完成，則這種決策問題就是多級決策問題。應用決策樹法進行多級決策分析稱為多級決策樹法。</p>
<h2>信息的價值</h2>
<p>信息與決策的關係十分密切。要獲得正確的決策，必須依賴足夠和可靠的信息。決策所需信息的分類：一類是完全信息，即據此可以得到完全肯定的自然狀態，有助於正確的決策；一類是抽樣信息，這是一類不完全可靠的信息。</p>
<h3>完全信息價值</h3>
<h4>典型例題</h4>
<blockquote>
<p>某化工廠生產一種化工產品。對統計資料的分析表明，該產品的次品率可以分成五個多級（即五種狀態），每個等級（狀態）的概率如下：</p>
</blockquote>
<table>
<thead>
<tr>
<th>次品率</th>
<th>$ S_1 $（0.02）</th>
<th>$ S_2 $（0.05）</th>
<th>$ S_3 $（0.10）</th>
<th>$ S_4 $（0.15）</th>
<th>$ S_5 $（0.20）</th>
</tr>
</thead>
<tbody>
<tr>
<td>概率</td>
<td>0.20</td>
<td>0.20</td>
<td>0.10</td>
<td>0.20</td>
<td>0.30</td>
</tr>
</tbody>
</table>
<blockquote>
<p>由進一步的分析發現，產品次品率的高低與該產品所用主要原料的純度有關。今已知，化工原料純度高次品率低（如$ S_1 $為 0.02），反之則次品率高。而化工原料的純度高低，又與運輸、保存日期等因素有關。潮此，工廠主管生產的部門建議在生產該產品前，先對該化工原料增加一道「提純」工序，通過提純工序，能使全部原料處於$ S_1 $狀態，從而降低了次品率。但增加提純工序就必須增加工序費用。</p>
<p>經過核算可知，每批原料的提純費用為3400元。經估算，在不同純度狀態下其益損值如下表所示。如果在生產前，先將化工原料檢驗一下，通過檢驗可以掌握每批化工原料處於何種純度狀態，這樣可以對不同純度的原料採用不同策略，即提純或不提純，從而使益損期望值為最大。</p>
</blockquote>
<table>
<thead>
<tr>
<th>次品率</th>
<th>$ S_1 $（0.02）</th>
<th>$ S_2 $（0.05）</th>
<th>$ S_3 $（0.10）</th>
<th>$ S_4 $（0.15）</th>
<th>$ S_5 $（0.20）</th>
</tr>
</thead>
<tbody>
<tr>
<td>概率</td>
<td>0.20</td>
<td>0.20</td>
<td>0.10</td>
<td>0.20</td>
<td>0.30</td>
</tr>
<tr>
<td>提純$ A_1 $</td>
<td>1000</td>
<td>1000</td>
<td>1000</td>
<td>1000</td>
<td>1000</td>
</tr>
<tr>
<td>不提純$ A_2 $</td>
<td>4400</td>
<td>3200</td>
<td>2000</td>
<td>800</td>
<td>-400</td>
</tr>
</tbody>
</table>
<p>根據題目描述可繪製出決策樹如下</p>
<p><img src="https://file.nishikori.dev/gw8z06qmojders6pq5.webp" alt=""></p>
<h3>抽樣信息價值</h3>
<h4>典型例題</h4>
<blockquote>
<p>某公司有50,000元多餘資金，如用於某項目開發，估計成功率為96%，成功時一年可獲利12%，但一旦失敗，有喪失全部資金的危險。如把資金存放到銀行中，則可穩得年利6%。 獲取更多情報，該公司求助於諮詢服務，諮詢費用為500元，但諮詢意見只提供參考。根據過去諮詢公司類似200例諮詢意見實施結果，具體情況見下表所示。</p>
</blockquote>
<table>
<thead>
<tr>
<th></th>
<th>投資成功</th>
<th>投資失敗</th>
<th>合計</th>
</tr>
</thead>
<tbody>
<tr>
<td>可以投資</td>
<td>154</td>
<td>2</td>
<td>156</td>
</tr>
<tr>
<td>不宜投資</td>
<td>38</td>
<td>6</td>
<td>44</td>
</tr>
<tr>
<td>合計</td>
<td>192</td>
<td>8</td>
<td>200</td>
</tr>
</tbody>
</table>
<p>根據題目描述可繪製出決策樹如下</p>
<p><img src="https://file.nishikori.dev/t4pjd5fk9081beyvzk.webp" alt=""></p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>系統工程學</category>
            <category>決策理論</category>
            <category>管理科學</category>
            <category>風險分析</category>
            <category>信息價值</category>
        </item>
        <item>
            <title><![CDATA[對於《歌手 2024》上的二手玫瑰，談談我的看法]]></title>
            <link>https://nishikori.dev/diary/2024-05-14</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-05-14</guid>
            <pubDate>Tue, 14 May 2024 15:30:02 GMT</pubDate>
            <content:encoded><![CDATA[<p>《歌手 2024》的第一期，出現了一支並不「主流」的樂隊——二手玫瑰。他們在第一場節目裡獻唱了歌曲《耍猴》。在節目播出之後，很多人對此進行了激烈的討論，質疑他們究竟「適不適合參加這個節目」。我也就此談談我的看法。</p>
<p>首先，我們要明確，二手玫瑰參加這一節目，並不是他們主動向《歌手》節目組請纓，乃至腆著臉申請參加節目。相反，他們的登台必定是節目組的主動邀請。當節目組發出邀請時，我猜測二手玫瑰內部也會存在顧慮——他們作為經驗豐富的樂隊，必然了解自己的音樂風格並不會被主流人群全然接受，即使是他們的樂迷，也會發表「正常人誰聽二手玫瑰啊」「二手玫瑰是中國最大的紅白喜事樂隊」的聲音。何況他們作為一個樂隊，相比於中國電視觀眾喜聞樂見的「<strong>炫技</strong>」，他們的作品更突出的特點在於<strong>情感</strong>的抒發。</p>
<p>但是既然節目組對他們發出了邀請，他們還是欣然赴了約。节目组邀请他们，大概率是想體現節目的包容性，以及表達對各類喜好的觀眾的關注，或者，功利性地說一句，這是為了增加這一節目的熱度。</p>
<p>但是在《歌手》上的演出，帶給一些人反饋卻是「這怎麼這麼難聽？」這個問題我認為實際上要歸咎於節目組。在流行歌曲中，通常採用人聲聲音主導，伴奏在背景支撐的混音方式。而在樂隊作品或者人聲樂器化的作品中，人聲和樂器更為接近。這兩種不同類型的作品有不同的混音審美取向。</p>
<p>然而，在《歌手》的名字我們便可以看出，其側重點在「歌手」而不是「樂隊」，這意味著節目的混音重心在於歌手的人聲。因此，製作組在混音二手玫瑰的音頻時仍然按照流行音樂的混音規則，將人聲混在器樂之上並佔據主導地位，即人聲浮於器樂之上。這可能會導致演奏中的打擊樂和吉他部分不那麼突出，換言之，將這樣一首渾然天成的，作為一個整體的樂曲給拆散了。線上觀眾們做出「難聽」的評價也無可厚非——甚至是熟悉搖滾樂的我，也想做出這樣的評價，認為這場表演並不如《樂隊的夏天》中同首歌的演繹。</p>
<p>為什麼我認為問題出在「混音」，這是因為在其表演中，現場觀眾的反饋實際上是不錯的，這暗示我們在現場存在自然混音，且音響聲壓足夠時，這首歌的聽感還是不錯的。</p>
<p>再來談一下我對二手玫瑰這個樂隊的看法。中國搖滾樂的歷史實際上是本土創作和對國外樂隊的模仿相結合的產物。一些自稱「具有國際視野、時尚風格」的樂隊，並沒有呈現出與眾不同的特點。許多人仍未意識到，民族特色才是獨具魅力的。在從事音樂創作時，至少應該有自己獨特的想法。我希望能夠聽到更多體現我們國家民族特色的音樂作品，因為我們擁有獨特的文化傳統，亟待傳承和發揚。在這些年里，我特別喜歡的幾支具有中國特色的樂隊包括二手玫瑰、九寶和杭蓋等，他們在演奏中融入了中國的本土樂器（如嗩吶、大鼓等），在增加了音樂厚度的同時也讓更好成就了中國搖滾的「本土化」。</p>
<hr>
<p>剛剛發現《歌手 2024》的 EP2 已經放送，他們選擇了《嫂子頌》。這一首歌的原唱是李娜，歌曲內容十分悲壯，而二手玫瑰對這首歌的演繹並沒有給出異樣感（即作為一個男歌手，梁龍並沒在演唱中表現出油膩/反差感）。</p>
<p>他們在這場比賽上的選曲是別出心裁的，沒有選擇例如《仙兒》之類相對更火，流傳度更廣，更容易被他人接受的歌曲，而是兩首有態度，有表達的歌曲。</p>
<p>我認為這表達了他們參加這個節目的態度——二手玫瑰不去迎合觀眾，而是去表達自己真正想表達的深沈的東西。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[系統評價方法]]></title>
            <link>https://nishikori.dev/posts/system-evaluation-methods</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/system-evaluation-methods</guid>
            <pubDate>Tue, 14 May 2024 12:15:46 GMT</pubDate>
            <description><![CDATA[介紹系統評價的基本概念與主要方法，包括關聯矩陣法、層次分析法（AHP）與模糊綜合評價法。通過典型例題說明如何確定評價指標權重、建立判斷矩陣與進行綜合決策分析，闡述系統價值判定與多因素評估的理論基礎與實踐步驟。]]></description>
            <content:encoded><![CDATA[<p><strong>系統評價</strong>就是全面評估系統價值。而<strong>價值</strong>通常被理解為評價主體根據其<strong>效用觀點</strong>對評價對象滿足某種需求的認識。它與評價主體，評價對象所處的環境狀況密切相關。</p>
<h2>關聯矩陣法</h2>
<p><strong>關聯矩陣</strong>是一種常規的<strong>綜合評價方法</strong>，它採用<strong>矩陣</strong>的形式，表示各<strong>備選方案</strong>針對具體<strong>指標</strong>價值<strong>評定量</strong>之間的關係。</p>
<p><img src="https://file.nishikori.dev/5ldu3lekc1rblhnlwt.webp" alt="關聯矩陣表示例"></p>
<ul>
<li>
<p>$ A_1 , ⋯ , A_m $是某評價對象的$ m $個替代方案；</p>
</li>
<li>
<p>$ X_1 , ⋯ , X_n $是評價替代方案的$ n $個評價指標或評價項目；</p>
</li>
<li>
<p>$ W_1 , ⋯ , W_n $是$ n $個評價指標的權重；</p>
</li>
<li>
<p>$ V_{i1} , ⋯ , V_{mn} $第$ i $個替代方案$ A_i $關於$ X_j $指標$ ( 1 \leq i \leq m, 1 \leq j \leq n ) $的價值評定量。</p>
</li>
</ul>
<p><strong>下面將結合一例題來接受兩種確定權重以及價值評定量的方法。</strong></p>
<blockquote>
<p>某企業生產一款熱門產品，規劃了以下三種生產方案：</p>
<p>$ A_1 $：自行設計一條新的生產線；</p>
<p>$ A_2 $：從國外引進一條自動化程度較高的生產線；</p>
<p>$ A_3 $：在既有設備基礎上改裝一條生產線。</p>
<p>經過權威部門及專家討論，評價指標確定為五項，分別為：期望利潤；產品良品率；市場佔有率；投資費用；產品外觀。</p>
<p>根據專業人士的預測和估計，執行這三種方案後，對五個評價項目的結果如下所示。</p>
<p><img src="https://file.nishikori.dev/8la0su7zdawu03d1cp.webp" alt=""></p>
</blockquote>
<h3>逐對比較法</h3>
<p>這一方法的基本步驟為：</p>
<ol>
<li>
<p>對各替代方案的評價指標進行逐隊比較，對於相對重要的指標給予較高得分，得到各評價項目的權重$ W_j $；</p>
</li>
<li>
<p>根據評價主體給定的評價尺度，對各替代方案在不同評價指標下一一評價，得到相應的評價值；</p>
</li>
<li>
<p>加權求和得到綜合評價值。</p>
</li>
</ol>
<p>對於例題，我們首先需要通過逐對比較法求處個評價指標的權重。如下圖所示，期望利潤與產品成品率相比前者更為重要，故前者得一分後者得零分。最後根據各評價項目累積得分計算權重。</p>
<p><img src="https://file.nishikori.dev/o9i8cg2b8tnzhoi7a4.webp" alt=""></p>
<p>隨後，由評價主體確定評價尺度，如下圖所示，以使方案在不同指標下的事實結果能夠統一度量，以便加權求和。</p>
<p><img src="https://file.nishikori.dev/d729cl3ajlw5mjlp7t.webp" alt=""></p>
<p>隨後根據前兩張圖，對各替代方案進行綜合評定，結果如下圖所示，可知$ V_2 \gt V_1 \gt V_3 $，則$ A_2 \gt A_1 \gt A_3 $。</p>
<h3>古林法</h3>
<p>但對各評價項目間的重要性可以做出定量估計時，可以採用古林法，這是確定<strong>指標權重</strong>和<strong>方案值評定量</strong>的基本方法。</p>
<p>這一方法的基本步驟為：</p>
<ol>
<li>
<p>確定評價項目$ R_j $的重要程度；</p>
</li>
<li>
<p>將$ R_j $標準化，以$ K_j $為單位處置，並得到權重$ W_j $；</p>
</li>
<li>
<p>採用關聯矩陣法相同的方式計算替代方案的評估值；</p>
</li>
<li>
<p>加權求和得到綜合評價值。</p>
</li>
</ol>
<p>對於例題，我們需要首先確定評價指標的重要度$ R_j $。</p>
<p>隨後對$ R_j $進行基準化處理，設基準化處理的結果為$ K_j $，以最後一個評價指標為基準，令其$ K $值為1，自下而上計算其他項目的$ K $值。</p>
<p>在完成上面的步驟後，對$ K_j $進行歸一化處理，將$ K_j $列數字相加得到$ \sum K_j $，如圖所示用$ K_j $除以$ \sum K_j $，所得結果紀為$ W_j $。</p>
<p><img src="https://file.nishikori.dev/nz3r9lh2f07rscfn4z.webp" alt=""></p>
<p>算出各評價項目的權重後，按照同樣的計算方法，對各替代方案逐項進行評價。此處方案$ A_i $在指標$ X_j $下得重要度$ R_{ij} $不需要再予以估計，可以按照各替代方案的預計結果按比例計算出來。如對期望利潤$ X_1 $的$ R_{i1} $，因$ A_1 $的期望利潤為650萬元，$ A_2 $的期望利潤為730萬元，則有$ R_{11} = 650/730 = 0.890 $，$ R_{21} = 730/520 = 1.404 $，隨後按照與第二步相似的方法求得$ K_{ij} $並進行歸一化得到$ V_{ij} $。</p>
<blockquote>
<p>在計算第四步時，由於投資費用越小越好，故其比例求取倒數，即$ R_{14} = 180/110 = 1.636 $，$ R_{24} = 50/180 = 0.279　 $</p>
</blockquote>
<p><img src="https://file.nishikori.dev/t4u60f86p37vcoikrl.webp" alt=""></p>
<p>可知$ V_2 \gt V_1 \gt V_3 $，則$ A_2 \gt A_1 \gt A_3 $。</p>
<blockquote>
<p>簡便方法：</p>
<p>將所有替代方案中的各項價值評定量除以最後一行的值；</p>
<p><img src="https://file.nishikori.dev/l8g29acf6e05h5pqy8.webp" alt=""></p>
<p>隨後將各行的值除以各列的值的總和；</p>
<p><img src="https://file.nishikori.dev/nhtfzvwwv5pywxi4gg.webp" alt=""></p>
<p>進行歸一化，便可以快速得出加權和$ V_i $以得出結果。</p>
<p><img src="https://file.nishikori.dev/dm28h81tnm01p83424.webp" alt=""></p>
</blockquote>
<h2>層次分析法</h2>
<p>使用層次分析法建模大致可依四個步驟進行：</p>
<ol>
<li>
<p>建立層次結構模型，描述評價系統中各元素之間的關係；</p>
</li>
<li>
<p>創建兩兩判斷矩陣，對同一層元素進行兩兩比較，構建矩陣；</p>
</li>
<li>
<p>計算要素相對權重，分析同一層每個元素對上一層準則的重要程度，透過判斷矩陣計算各元素相對權重，並進行一致性檢驗；</p>
</li>
<li>
<p>計算各元素對系統總目標的合成（總體）權重，並對各候選方案進行排序。</p>
</li>
</ol>
<p>在此使用例題進行說明。</p>
<blockquote>
<p>某大学需要科学评审一系列科研课题，选择科研课题的指标体系如下图所示。针对众多的候选评审课题如何进行科学选择？请使用层次分析法，确定$ C_1 $到$ C_6 $相对于总目标$ A $的权重。</p>
<p><img src="https://file.nishikori.dev/8nmldftuuukbgp23z5.webp" alt=""></p>
<p><img src="https://file.nishikori.dev/dnqwnhhnjtznzqbpsk.webp" alt=""></p>
</blockquote>
<p>對於這道例題，我們首先需要計算$ W_i $，公式為$ W_i = (\prod_{j=1}^{n}a_{ij})^{\frac{1}{n}} $，例如</p>
<center>
<p>$ W_2 = \sqrt[3]{3 \times 1 \times 5} = 2.466 $</p>
</center><br>
<p>隨後對其進行歸一化,得到$ {W_i}^0 $，公式為$ {W_i}^0 =\frac{W_i}{\sum_iW_i} $，例如</p>
<center>
<p>$ {W_2}^0 =\frac{W_2}{\sum_iW_i} =  \frac{2.466}{3.804} = 0.648 $</p>
</center><br>
<p>{% raw %}
在歸一化完成之後，我們需要進行一致性檢驗，首先需要計算$ {\lambda}<em>{max} $，公式為$ {\lambda}</em>{max} \approx \frac{1}{n}\sum_{i=1}^n\frac{{{(AW)}<em>i}}{W_i} = \frac{1}{n}\sum</em>{i=1}^n\frac{\sum_{j=1}^n{(a_{ij}W_j)}}{W_i} $,例如
{% endraw %}</p>
<center>
<p>$ {\lambda}_{max} = \frac{1}{3} \times(\frac{1\times0.874+\frac{1}{3}\times2.466+2\times0.464}{0.874}+\frac{3\times0.874+1\times2.466+5\times0.464}{2.466}+\frac{\frac{1}{2}\times0.874+\frac{1}{5}\times2.466+1\times0.464}{0.464})=3.004 $</p>
</center><br>
<blockquote>
<p>$(AW)_i $的計算方式可參考下圖，類似矩陣的運算。</p>
<p><img src="https://file.nishikori.dev/o8223wn7c3clndg6i9.webp" alt=""></p>
</blockquote>
<p>{% raw %}
隨後計算$ C.I. $，公式為$ C.I. = \frac{{\lambda}_{max}-n}{n-1}$，例如
{% endraw %}</p>
<center>
<p>$ C.I. = \frac{3.004-3}{3-1} = 0.002 $</p>
</center><br>
<p>查表得到$ R.I. $的值。</p>
<table>
<thead>
<tr>
<th>n</th>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
</tr>
</thead>
<tbody>
<tr>
<td>R.I.</td>
<td>0</td>
<td>0</td>
<td>0.52</td>
<td>0.90</td>
<td>1.12</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>n</td>
<td>6</td>
<td>7</td>
<td>8</td>
<td>9</td>
<td></td>
</tr>
<tr>
<td>R.I.</td>
<td>1.26</td>
<td>1.36</td>
<td>1.41</td>
<td>1.46</td>
<td></td>
</tr>
</tbody>
</table>
<p>隨後計算$ C.R. $，公式為$ C.R. = \frac{C.I.}{R.I.}$，若$ C.R. &lt; 0.1 $，即代表通過一致性檢驗，例如</p>
<center>
<p>$ C.R. = \frac{0.002}{0.52} = 0.00384 &lt; 0.1 $</p>
</center><br>
<p>{% raw %}
最後求取各方案的總重要度，公式為$ C_j = \sum_{i=1}^n{(b_i{C_j}^i)}$，例如
{% raw %}</p>
<center>
<p>$ C_2 = 0.230 \times 0.258+0.648\times0.333+0.122\times0.066 = 0.283 $</p>
</center><br>
<p>結果表明，$ C_1 &gt; C_3 &gt; C_2 $，則方案「新建工廠」最為合適，全部計算過程如下圖。</p>
<p><img src="https://file.nishikori.dev/eeki2eqh65e7qngy8v.webp" alt=""></p>
<h2>模糊綜合評價法</h2>
<p>模糊綜合評價法是以模糊數學為基礎，運用模糊關係合成原理，將一些辯解不清不易定量的因素定量話，從多個因素對評判事物隸屬等級狀態進行綜合評價的一種方法。</p>
<p>使用模糊綜合評價法建模大致可依三個步驟進行：</p>
<ol>
<li>
<p>確定因素集$ F $與評定集$ E $。因素集$ F $是評價項目或指標的集合，一般有$F =  {f_i}, 1 \leq i \leq n  $。評定集為評價等級的集合，一般有$ E =  {e_j}, 1 \leq j \leq m  $。</p>
</li>
<li>
<p>統計、確定單因素評價的隸屬度向量，形成隸屬度矩陣$ R $。隸屬度是模糊綜合評判中最基本最重要的概念。隸屬度$ R_{ij} $指多個評價主體對某個評價對象在$  f_i $方面做出$ e_j $評定的可能性大小。</p>
</li>
<li>
<p>確定權重向量$ W_F $，這是評價項目或指標的權重或權系數向量。此外，還可有獲得評定集的數值結果（標準滿意度矢量）$ W'_E $或權重$ W_E $。</p>
</li>
</ol>
<p>在此使用例題進行說明。</p>
<blockquote>
<p>某人在購買冰箱前，為了決定型號$ A_1 $、$ A_2 $、$ A_3 $的優先順序，讓五個家庭成員使用模糊綜合評判法進行評價。評價項目（因素）包括價格$ f_1 $、品質$ f_2 $和外觀$ f_3 $，其相應權重透過圖一的判斷矩陣獲得。評價尺度分為三個級別，例如價格分為低（0.3）、中（0.2）、高（0.1）。評判結果如圖二所示。請計算這三種冰箱的優先度並進行排序。
<img src="https://file.nishikori.dev/kmr0u339lcuecr8u78.webp" alt="">
<img src="https://file.nishikori.dev/gbx1pdprxrtnzidbmy.webp" alt=""></p>
</blockquote>
<p>首先計算權重$ W_i $並進行歸一化，得到如下結果</p>
<p><img src="https://file.nishikori.dev/4fvp1rip5qh2xybjsx.webp" alt=""></p>
<p>隨後進行計算，最終結果如下圖。通過比較評價值，可確定優先順序為$ A_2 $、$ A_1 $、$ A_3 $。</p>
<p><img src="https://file.nishikori.dev/6tgit9klwnypmn4wrc.webp" alt=""></p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>系統工程學</category>
            <category>系統評價</category>
            <category>關聯矩陣法</category>
            <category>層次分析法</category>
            <category>模糊綜合評價</category>
        </item>
        <item>
            <title><![CDATA[停止運營的「健康山東服務號」與失落的三年（1）]]></title>
            <link>https://nishikori.dev/diary/2024-05-09</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-05-09</guid>
            <pubDate>Thu, 09 May 2024 17:39:23 GMT</pubDate>
            <content:encoded><![CDATA[<p>2024年5月6日，得知「健康山東服務號」宣布停用。這一帳號曾作為新冠疫情的信息發佈平台，以及山東省電子健康碼的運營主體。</p>
<p>那失落的三年，也如同這個帳號一樣，隨著政府的一紙公文，甚至一句口頭通知，便被直接抹去。</p>
<p>他們是沒有記憶的，但我不是。</p>
<p>我不會忘記在那三年中的記憶。</p>
<p><img src="https://file.nishikori.dev/IMG_6877.jpeg" alt="公告"></p>
<hr>
<p>2020年初，高中一年級的寒假，在期末考落幕與正式寒假間隙，我已提前完成了所有寒假任務，然而隨著五月校園重啟，那些作業卻不再被人提及。</p>
<p>春節前夕，家庭聚會中，人們談論著武漢肆虐的疫情，無人會相信這場疫情會在偉大光榮正確的政府領導下走向失控。但即便懷疑其廣度，母親仍堅決阻止我乘坐高鐵前往鄰市旅遊，她深知雖本地無恙，但防範之舉不可或缺。</p>
<p>在微微的惶恐中，我們度過了春節，家族裡的人們分別從香港、北京等地趕回家中，一同吃了年夜飯，隨後便立刻返程——某位消息靈通的長輩指出接下來會採取「特殊的防疫措施」，若不立即返程，便有可能困在這裡。</p>
<p>初二，預期的化學奧賽集訓營因防疫政策戛然而止。初四，我們在線上群聊中熱烈討論著學校可能的政策調整，而校辦突然發布公告，讓我們「做好<strong>暫時</strong>居家上網課的準備」，隨後第二學期所需的教科書被批量快遞至家中，我佈置好書房的環境，準備迎接從未體驗過的「網課」。</p>
<p>2月2日，網課的初次登場顯得有些原始，當時學校尚未來得及全面採用釘釘或騰訊會議這樣<strong>現代化</strong>的工具，因此老師們只能生疏地使用「QQ群直播」和「QQ群語音」主持課堂。</p>
<blockquote>
<p>「QQ群直播」是在群組內的直播功能，與其他平台的流媒體直播類似，觀眾的名單並不會全部展示出，且觀眾可以為「主播」（即老師）贈送禮物。面對熟悉的老師和不熟悉的平台，大部分學生都格外興奮，不斷地為老師刷著廉價的禮物——不知道老師那裡會有多少直播收益。在網課進行約一週後，「QQ群課堂」才匆匆上線，刪去了禮物功能，僅保留了直播。「QQ群語音」則類似其他平台的語音聊天功能，並無什麼特殊之處。</p>
</blockquote>
<p>由於尚未引入騰訊會議，我們在網路課堂上享受著一定程度的隱私，無需開啟攝像頭，只需在被提問時才需要打開麥克風，這使得课堂上充斥著一種自由自在的氛圍。課堂期間，我們在各自的班級和年級群組裡熱烈交流，仿若實境課堂中的私下討論，我發出一條空間說說，「我們成功模仿了課堂上的私語熱絡」，獲得了半數同學的轉發。</p>
<p>有一日，我在瀏覽「島市老八」的短視頻時，意外被點名回答問題，那猝不及防的時刻，我迅速抓起電腦的麥克風準備應答，卻不慎遺漏了暫停手機上正在播放的視頻。于是，所有在線的同学们無意間共享了「一日三餐沒煩惱，今天就吃老八秘制小漢堡」。</p>
<p><img src="https://file.nishikori.dev/IMG_6887.jpeg" alt="在被點名後，我憤然在群裡作畫"></p>
<p>我們的作業都是在線上佈置，在線上提交。政治作業因為文字中涉及簡體中文互聯網的「敏感內容」，被QQ提示「安全檢查未通過」，被禁止下載。此外，有些同學心生懶意，從他人的作業中摘錄片段，妄圖蒙混過關，孰料在匆忙中，姓名標注的疏忽暴露了真相，老師在大群通報了這些行為。</p>
<p>在這段時間，儘管防疫措施不斷收緊，但我們實際上依舊可以相對自由地行動。在3月10日凌晨，黎明的微光尚未消退，我們迎來了一幕天文奇觀——超級月亮。我和一位交誼深厚的，且同住於這座城市的小區的小學同學，興致勃勃地登上天台，捕捉那皎潔明亮的月亮，彷彿握住了這天體高掛深紫色天空的美好夜晚。</p>
<p><img src="https://file.nishikori.dev/IMG_6885.jpeg" alt=""></p>
<p>而翌日，我與當時的女友經過吵架後分手，但幸運的是，這場陰霾在四位摯友的調解下逐漸散去，經過一番深思熟慮與情感交流，我們最終和好。但借助每日大量互動而點亮的QQ標識，因為這一次吵架而中途熄滅。</p>
<p><img src="https://file.nishikori.dev/IMG_6886.jpeg" alt=""></p>
<p>我同這一位女友在網課期間換用過諸多情侶頭像，早期是卡通的倉鼠圖片，後面換上了對方扎朝天辮的自拍——許多老師在此時發現了我們的戀情，向我們私信並八卦起來，大都表示很看好我們兩個人（用現在的話來講，「很好嗑」），但希望我們不要因為調情過多而忽視學習。而在同女友一同觀看《異度侵入 ID: INVADED》後，我們還換上了從番劇中截圖的「洞哥」作為情侶頭像。</p>
<p>我們此時上課無人監管，因此我們可以盡情從事自己熱愛之事。我同女友借著流媒體平台的功能一起補全了大量番劇（據嗶哩嗶哩2020年度追番報告顯示，我超越了99.7%的用戶），其中包括《頭文字D》《JOJO的奇妙冒險》等。同時我們也沉浸於觀賞經典影片，將亞佛烈德·希區考克和史丹利·庫柏力克執導的電影悉數補完，又觀看了卓別林的諸多電影以及IMDb250榜單中的大量佳作。</p>
<p>在家中過於無聊，我開始嘗試自媒體運營，所經營的知乎帳號與嗶哩嗶哩的主帳號在被封禁前，分別實現了10k粉絲與23k訂閱——後因觸及「敏感話題」而陸續封禁。在嗶哩嗶哩上主要用來觀影的副帳號上傳了一些音樂相關的專欄與視頻，粉絲數漲到了1k左右，如今因為長期斷更而下滑至700上下。</p>
<p>四月份，學校換用騰訊會議進行網課授課，我們被要求開啟攝像頭，但這依舊沒有影響我們課堂摸魚。此時小道消息傳出我們即將返回學校，但即刻收到校辦闢謠，並宣布四月底將舉行線上的月考。這次考試中大量同學借助互聯網進行作弊，學校排名格外誇張，原本倒數的同學一躍進入前10%，引得我們私下的激烈討論。隨後，我參加了清華大學組織的THUSSAT並取得了校前十名的成績，此時我尚未因為心理問題導致學習成績下滑。</p>
<p>五月份，嗶哩嗶哩官方發布視頻「後浪」引起網路熱議。我在5月6日轉載網路評論「你點贊了後浪，我宣傳了入關，他拍攝了非浪，我们都是新時代的有為青年」。再想想自疫情以來，曾經得到廣泛推崇的「入關學」如今已毫無生命力，不禁感覺可笑。</p>
<p>開學前一日，我與當時的女友分手，這成為了我續心理問題的導火索。</p>
<hr>
<p>隨文章附上一首江睿謹老師的短詩，</p>
<center>
<h2 >《我知道你無所依靠》</h2>
<p>江睿謹<br>
<br>
我知道你無所依靠<br></p>
<p>像曠野里的樹<br></p>
<p>在暴風雨中飄搖<br></p>
  <br>
我知道你無所依靠<br>
<p>像烈日里的魚<br></p>
<p>在河床上翻跳<br></p>
 <br>
沒有人知道<br>
<p>沒有人知道<br></p>
<br>
太陽何時升起<br>
<p>洪水何時來到<br></p>
   <br>
昨天不會<br>
<p>今天不會<br></p>
   <br>
明天或許知道<br>
<br>
忽然看見一顆昨日的樹<br>
<p>長在昨日的樹林里<br></p>
<p>沐浴在清晨的陽光下<br></p>
<p>忽然又瞧見昨日的魚<br></p>
<p>河水豐盈<br></p>
<p>向上躍跳<br></p>
   <br>
哈，都是虛假的幻相<br>
<p>讓人輕易沈淪的美好<br></p>
   <br>
不如期待明日<br>
<p>在明日未來之前<br></p>
<br>
縱情燃燒<br>
</center>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[對癸卯年國慶假期的回憶（5）]]></title>
            <link>https://nishikori.dev/diary/2024-05-02</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-05-02</guid>
            <pubDate>Thu, 02 May 2024 18:36:12 GMT</pubDate>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[搭建自己的博客 - Mix Space 及 Shiro 主題部署教程]]></title>
            <link>https://nishikori.dev/posts/build-a-blog-with-mix-space-and-shiro</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/build-a-blog-with-mix-space-and-shiro</guid>
            <pubDate>Sat, 27 Apr 2024 10:39:13 GMT</pubDate>
            <description><![CDATA[詳細講解如何從零開始搭建基於 Mix Space 核心與 Shiro 主題的個人博客，涵蓋域名託管、後端配置、伺服器部署、Vercel 前端部署與 Clerk 鑑權整合等全流程。]]></description>
            <content:encoded><![CDATA[<p>::: warning
本文中所出現的所有網域、項目與接口在本文發出後均停止服務，僅供演示使用
:::</p>
<h2>最終結果呈現</h2>
<p><img src="https://file.nishikori.dev/f5fcljrqizjbxd87l9.webp" alt="前端介面"></p>
<p><img src="https://file.nishikori.dev/ek5am4kro8s4num9u0.webp" alt="後端介面"></p>
<h2>前期準備</h2>
<p>請在<a href="https://github.com">GitHub</a>、<a href="https://clerk.com/">Clerk</a>、<a href="https://vercel.com">Vercel</a>註冊自己的帳號，此處不再演示。</p>
<h3>配置網域</h3>
<p>搭建個人博客的第一步，便是擁有自己的網域，如果你還沒有，可以前往<a href="http://www.dynadot.com?s8E9O6bh6c9B8y6l">Dynadot</a>購買，在此可以使用我的優惠碼<strong>8E9O6bh6c9B8y6l</strong>以獲得五美元的優惠。</p>
<p>此處以在Dynadot購買<code>nskr.blog</code>為例。</p>
<p><img src="https://img.nishikori.dev/buy-a-new-domain.mp4" alt=""></p>
<p>介於Cloudflare提供了諸多優化站點訪問，保障站點安全的服務，我們在此選擇將站點託管至<a href="https://cloudflare.com">Cloudflare</a>。</p>
<p>首先需要在Cloudflare中加入自己已購買的網域，並令其掃描現有的DNS解析。</p>
<p><img src="https://img.nishikori.dev/link-to-cloudflare.mp4" alt=""></p>
<p>隨後複製Cloudflare提供的DNS伺服器，回到Dynadot控制台，在DNS設定處選擇網域名稱伺服器，並填入已複製的內容。</p>
<p><img src="https://img.nishikori.dev/change-the-dns-server.mp4" alt=""></p>
<h3>配置伺服器</h3>
<p>在完成有關網域的相關設定後，我們便需要進行伺服器的配置。我在此選擇的是<a href="https://cloud.google.com/">Google Cloud</a>，在綁定貸記卡後可以獲得300美元的贈金，有效期三個月。</p>
<p>根據自己的需求配置和購買，我按照個人習慣選擇了Ubuntu的系統鏡像。注意在此處需開啟「允許HTTP流量」、「允許HTTPS流量」兩個選項。</p>
<p><img src="https://img.nishikori.dev/get-a-network-server.mp4" alt=""></p>
<p>在伺服器構建完畢後，我們可以獲得這一伺服器的公網IP。我們需要複製這一IP並在Cloudflare的控制台中配置網域解析，將<code>api.nskr.blog</code>指向自己的伺服器。（實際上，在此處無需參照影片中的操作，同時解析@.nskr.blog，因為後面需要將其解析到Vercel的伺服器上）</p>
<p><img src="https://img.nishikori.dev/dns%20setting.mp4" alt=""></p>
<p>在完成前面的操作後，我們通過SSH連結自己的伺服器。</p>
<p>為了方便管理，我們可以安裝1Panel面板或寶塔面板，二者選其一即可：</p>
<pre><code>#安裝1Panel
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh &amp;&amp; bash quick_start.sh
</code></pre>
<pre><code>#安裝寶塔面板
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh &amp;&amp; sudo bash install.sh ed8484bec
</code></pre>
<p>這安裝這兩個面板後都會自動安裝Docker與Docker-compose，可以通過下面的命令分別檢查：</p>
<pre><code>docker -v
</code></pre>
<pre><code>docker compose version
</code></pre>
<p>如果伺服器沒有正確輸出已安裝版本號，可以執行以下命令即可：</p>
<pre><code>curl -fsSL https://get.docker.com | bash -s docker

</code></pre>
<p>在完成上面的步驟後，請前往伺服器控制台開放相關端口，面所需端口可以在SSH介面查詢，博客所需端口為<code>2323</code>與<code>2333</code>：</p>
<h2>部署博客後端</h2>
<p>首先，需要拉取配置文件：</p>
<pre><code># 創建目錄
cd &amp;&amp; mkdir -p mx-space/core &amp;&amp; cd $_

# 拉取 docker-compose.yml 文件
wget https://fastly.jsdelivr.net/gh/mx-space/core@master/docker-compose.yml
</code></pre>
<p>並在<code>mx-space/core</code>目錄下新建<code>.env</code>文件並填入以下內容（請根據自身需要進行修改）：</p>
<blockquote>
<p>有關<code>vim</code>的使用可以自行學習，在此僅提及與部署相關的操作：</p>
<p>使用<code>vim .env</code>創建並打開<code>.env</code>文件，隨後輸入<code>i</code>切換至insert模式，在輸入完變量後按<code>ESC</code>鍵進入命令模式，輸入<code>:wq</code>保存退出。</p>
</blockquote>
<pre><code>JWT_SECRET=nishikoriyuinishikoriyui
ALLOWED_ORIGINS= nskr.blog
ENCRYPT_ENABLE=false
ENCRYPT_KEY=
</code></pre>
<ul>
<li>JWT_SECRET 長度不小於16個字符，不大於32個字符，用於加密JWT。</li>
<li>ALLOWED_ORIGINS 為被允許的域名,如果存在多個需用英文逗號分割。</li>
<li>ENCRYPT_ENABLE是否開啟加密，填寫<code>true</code>或<code>false</code>。</li>
<li>ENCRYPT_KEY為加密密鑰，如不開啟加密，則無需填寫。密鑰長度需為64位且僅包含小寫字母與數字，可通過<code>openssl rand -hex 32</code>命令生成。</li>
</ul>
<p><img src="https://img.nishikori.dev/pull-the-yml-and-set-the-env.mp4" alt=""></p>
<p>完成上面的操作後，可通過下面的命令拉取鏡像並運行後端核心容器：</p>
<pre><code>docker compose up -d
</code></pre>
<p>完成後端部署後，我們需要配置反向代理。使用單域名的方案可以參照<a href="https://mx-space.js.org/docs/extra#%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86">官方文檔</a> ，我在此選擇借助<strong>1Panel</strong>進行<strong>雙域名</strong>配置，寶塔面板配置方法與之類似，在此不再演示。</p>
<p>首先需要在1Panel安裝<code>OpenResty</code>程式，用於網站部署。</p>
<p><img src="https://file.nishikori.dev/6iw6p6gor0hx4c5rog.png" alt=""></p>
<p>隨後，在「網站」選擇卡中搭建靜態網站<code>api.nskr.blog</code></p>
<p><img src="https://file.nishikori.dev/iqmru4sjqr2tno7v9x.png" alt=""></p>
<p>完成網站搭建後，需要申請SSL證書，在此不再演示。</p>
<p>搭建完成後，選擇「配置」，並將下面的內容粘貼至網站配置文件：</p>
<pre><code>    ## 反向代理开始
    ## WebSocket
    location /socket.io {
      proxy_pass http://127.0.0.1:2333/socket.io; 
      proxy_set_header Host $host; 
      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      proxy_set_header REMOTE-HOST $remote_addr; 
      proxy_set_header Upgrade $http_upgrade; 
      proxy_set_header Connection &quot;upgrade&quot;; 
      proxy_buffering off;
      proxy_http_version 1.1; 
      add_header Cache-Control no-cache; 
    }
    ## Others
    location / {
      proxy_pass http://127.0.0.1:2333; 
      proxy_set_header Host $host; 
      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      proxy_set_header REMOTE-HOST $remote_addr; 
      add_header X-Cache $upstream_cache_status; 
    }
    ## 反向代理结束
</code></pre>
<blockquote>
<p>這樣配置後，</p>
<p>API 地址為 <a href="https://api.nskr.blog/api/v2">https://api.nskr.blog/api/v2</a></p>
<p>GateWay 為 <a href="https://api.nskr.blog/">https://api.nskr.blog/</a></p>
<p>博客後端面板為 <a href="https://api.nskr.blog/proxy/qaqdmin">https://api.nskr.blog/proxy/qaqdmin</a></p>
</blockquote>
<p><img src="https://img.nishikori.dev/set-the-back-end-dashboard.mp4" alt=""></p>
<h2>部署博客前端</h2>
<p>在此我們使用Vercel的Serverless服務進行前端的部署，這可以有效減輕我們伺服器的壓力，從而減少在伺服器上的開支。</p>
<p>我們首先需要在GitHub上克隆Shiro的<a href="https://github.com/Innei/Shiro">官方倉庫</a>。</p>
<p><img src="https://img.nishikori.dev/fork-the-repo.mp4" alt=""></p>
<p>隨後，我們需要打開<a href="https://clerk.com/">Clerk</a>，並創建新應用，獲得公鑰和私鑰。</p>
<p><img src="https://img.nishikori.dev/get-clerk-api.mp4" alt=""></p>
<p>隨後我們需要訪問博客的後端面板，在配置雲函數。</p>
<p>在編輯面板中填入：</p>
<ul>
<li>名稱：<code>shiro</code></li>
<li>引用：<code>theme</code></li>
<li>數據類型：<code>JSON</code></li>
</ul>
<p>並複製<a href="https://api.nishikori.tech/api/v2/snippets/theme/shiro"><em>該連結</em></a>的內容並填入（此處直接引用本站點的配置文件，請根據自身需要進行修改）：</p>
<p><img src="https://img.nishikori.dev/set-the-cloud-function.mp4" alt=""></p>
<p>在完成上述步驟之後，前往<a href="https://vercel.com">Vercel</a>，創建新項目,在配置頁面中，点击 Environment Variables，填入以下內容：</p>
<pre><code>NEXT_PUBLIC_API_URL=https://api.nskr.blog/api/v2
NEXT_PUBLIC_GATEWAY_URL=https://api.nskr.blog
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_•••••••••••••••••••••••••••••••••••••••••••
CLERK_SECRET_KEY=sk_test_•••••••••••••••••••••••••••••••••••••••••••
</code></pre>
<ul>
<li>NEXT_PUBLIC_API_URL 為API地址</li>
<li>NEXT_PUBLIC_GATEWAY_URL 為Gateway地址</li>
<li>NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY 是Clerk獲得的公鑰</li>
<li>CLERK_SECRET_KEY=sk_test_••••••••••••••••••••••••••••••••••••••••••• 是在Clerk獲得的私鑰</li>
</ul>
<p>隨後點擊<code>Deploy</code>，等待部署完成</p>
<p><img src="https://img.nishikori.dev/deploy-on-vercel.mp4" alt=""></p>
<p>在部署完成之後，將自己的網域名稱與之綁定，並將博客連結在Cloudflare上解析到Vercel的服務器。</p>
<p><img src="https://img.nishikori.dev/add-the-domain.mp4" alt=""></p>
<p>就此，基本的部署便已經完成。</p>
<h2>參考資料</h2>
<p>Mix Space官方文檔 <a href="https://mx-space.js.org/">https://mx-space.js.org/</a></p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>博客搭建</category>
            <category>部署教程</category>
            <category>Vercel</category>
            <category>Cloudflare</category>
            <category>Mix Space</category>
            <category>Shiro 主題</category>
        </item>
        <item>
            <title><![CDATA[好睏好睏 - 2024年4月26日]]></title>
            <link>https://nishikori.dev/diary/2024-04-26</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-04-26</guid>
            <pubDate>Fri, 26 Apr 2024 00:53:16 GMT</pubDate>
            <content:encoded><![CDATA[<p>首次在白天更新一篇手記回顧一下最近幾天的情況，無他，因為現在實在是過於疲憊，因而需要找個方式讓自己打起精神。</p>
<p>最近幾天依舊很忙，每天都有挺多課，但從下週開始會好一些——因為 Systems Engineering 以及 Engineering Materials 兩門課程全部在這周結課，並在十五週（一個半月後）進行期末考試。</p>
<p>不知怎的，KFC 現在推出了「Pizza」（儘管我並不認可這個命名），Pizza Hut 則推出了漢堡。週二、週三兩天我分別嘗試了兩款新品漢堡，一款名叫「招牌秘制雞腿堡」，另一款叫做「芝士和牛至尊堡」。</p>
<p>::: grid {cols=2,gap=12}</p>
<p>![](<a href="https://file.nishikori.dev/IMG_7159.JPG">https://file.nishikori.dev/IMG_7159.JPG</a> 招牌秘制雞腿堡)</p>
<p>![](<a href="https://file.nishikori.dev/IMG_7157.JPG">https://file.nishikori.dev/IMG_7157.JPG</a> 芝士和牛至尊堡)</p>
<p>:::</p>
<p>總的來說，作為靠「烙大餅」發家的 Pizza Hut，為這兩款漢堡烤製的麵包非常不錯，氣孔均勻，軟硬適中，還伴有一絲奶香奶甜口味。個人認為一個漢堡好不好吃，其核心就在於麵包的品質，而這兩款產品都做的很好。除此之外，「招牌秘制雞腿堡」並無其他特別之處，而「芝士和牛至尊堡」還有其他一些亮點。和牛肉餅的質量無庸置疑，而其中的配菜是讓我真正為這款漢堡打高分的原因。切片的洋蔥經過烤製，退去了自身的辛辣，保留了自身的輕脆，一口咬下去可以感受到其甘甜的汁水，減輕了牛肉堡自帶的「厚重感」。而另一款配菜青椒也十分不錯，裡面綠色的青椒片同樣經過烹飪而弱化了自身的「青草味」，而依舊具備爽脆的口感。</p>
<p>除了漢堡，我也嘗試了幾款小食。不得不說一塊普通的雞肩胛骨，在 Pizza Hut 手裡竟能推出這麼多款不同的小食——「蜜制醬烤香骨雞」「招牌甜辣韓式炸雞」「新奧爾良香骨雞」「香甜吮指韓式炸雞」。我這次只是嘗試了新品，但即使沒有對比，我依然要表示還是最早的「蜜制醬烤香骨雞」最對我口味。「北海道戀人白桃芝士撻」中規中矩，無法動搖我心中第一的 KFC 蛋撻的地位。</p>
<p>原本以為 Engineering Materials 的實驗課結束之後，之後可以輕鬆一些，但沒料到 Strength of Materials 的實驗緊接著開課。週三的早晨（又是早八）我來到學校的力學中心，完成了拉伸實驗。</p>
<p><img src="https://file.nishikori.dev/IMG_5456.jpeg" alt="實驗機"></p>
<p>實驗中，我們拉斷了低碳鋼棒和鑄鐵棒，分別用了 35kN 與 17kN 的力。</p>
<p>::: grid {cols=2,gap=12}</p>
<p><img src="https://img.nishikori.dev/IMG_5452.mov" alt="低碳鋼棒斷裂"></p>
<p><img src="https://img.nishikori.dev/IMG_5457.mov" alt="鑄鐵棒斷裂"></p>
<p>:::</p>
<p>至於週四，我一大早便去了 Starbucks，在那裡完成了 Strength of Materials 和 Systems Engineering 的相關作業，並且複習了一些 Engineering Materials 的作業。隨後下午六點多回到宿舍，一覺睡到了晚上十點。</p>
<p><img src="https://file.nishikori.dev/IMG_6257.jpeg" alt="開心果拿鐵"></p>
<p>晚上寫了一篇<a href="/posts/exploring-esolang-through-dongbei">東北話編程</a>的水文，又配置了一個雲函數，顯示我使用 Mac 的實時狀態。</p>
<p>忙完後計畫繼續睡覺。但不知怎的卻一直失眠，直到四五點鐘才勉強入睡。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[從東北話編程語言窺探 Esolang 的世界]]></title>
            <link>https://nishikori.dev/posts/exploring-esolang-through-dongbei</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/exploring-esolang-through-dongbei</guid>
            <pubDate>Thu, 25 Apr 2024 18:11:16 GMT</pubDate>
            <description><![CDATA[本文從東北話編程語言《dongbei》出發，探索 Esolang（神秘編程語言）這一獨特領域，介紹從幽默的地方方言語言到視覺化、音樂化的奇異語言設計，並探討它們背後的創意與思想。]]></description>
            <content:encoded><![CDATA[<h2>初探</h2>
<p>今日瀏覽社交平台時，偶然發現一張令人會心一笑的梗圖：</p>
<p><img src="https://img2.imgtp.com/2024/04/25/iIam0MeT.jpeg" alt="菲薄那气数列"></p>
<p>透過對東北方言稍加熟悉，我們就能輕鬆將其轉換成這樣的代碼表示：</p>
<pre><code>def print_fibonacci_sequence(n):
    if n &lt; 1:
        raise ValueError(&quot;Invalid input! Please enter a positive integer.&quot;)

    fibonacci_sequence = []
    current = 0
    next_num = 1
    fibonacci_sequence.append(current + next_num)

    for _ in range(2, n+1):
        current, next_num = next_num, current + next_num
        fibonacci_sequence.append(next_num)

    return ', '.join(map(str, fibonacci_sequence))

print(&quot;Checking result for 0:&quot;)
try:
    print(print_fibonacci_sequence(0))
except ValueError as e:
    print(e)

print(&quot;Checking result for 15:&quot;)
print(print_fibonacci_sequence(15))

# 並未完全對應原文的代碼
</code></pre>
<h2>尋根</h2>
<p>然而，注意到梗圖中的代碼結構清晰<s>且配有代碼高亮標記</s>，讓人感到這并非單純的惡搞之作，于是我決定在互聯網上進一步探索，竟意外地找到了相關的實在項目：</p>
<p><a href="https://github.com/zhanyong-wan/dongbei">https://github.com/zhanyong-wan/dongbei</a></p>
<blockquote>
<p><code>dongbei</code> 是啥？它是一门以东北方言词汇为基本关键字的以人为本的编程语言。</p>
<p>这玩意儿可是填补了世界方言编程地图上的一大片儿空地啊！ 这么说吧，谁要是看了 <code>dongbei</code> 程序能憋住了不笑，我敬他是纯爷们儿！</p>
<p>那它有啥特点咧？多了去了：</p>
<p>简单啊！小学文化程度就行。您能看懂春晚不？能？那就没问题。
好读啊！看着看着包您不由自主地念出声儿来。
开心啊！呃，做人嘛，最重要的是要开心。
开源啊！不但不要钱，而且不要脸 -- 随时随地欢迎东北话高手打脸指正。
总而言之，dongbei 语言具有极高的<strong>娱技比</strong>（娱乐精神-技术含量比例）。</p>
<p><code>dongbei</code> 编程语言的开发采用了业界领先的 <strong>TDD（TreeNewBee-Driven Development）</strong> 方式。 具体地说，就是每个功能都是先把文案写好，八字没一撇牛皮就吹起来了，然后根据牛皮写测试案例，最后再实现功能让牛皮不被吹破。 这样做有两大好处：第一每个功能都是有的放矢，不值得 tree new bee 的功能一概没有。 第二确保了每个功能都有文案负责吹嘘，开发者绝对不会养在深闺无人识。</p>
</blockquote>
<p>經過搜尋，我發現了一個來自該項目的示例文件：</p>
<p><a href="https://github.com/zhanyong-wan/dongbei/blob/master/demo/%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91.dongbei">https://github.com/zhanyong-wan/dongbei/blob/master/demo/斐波那契.dongbei</a></p>
<p>這便確定了梗圖中的代碼，來自這個名為 <a href="https://github.com/zhanyong-wan/dongbei">dongbei</a> 的項目。</p>
<h2>問底</h2>
<p>根據項目的文檔指示，我將<code>dongbei</code>的代碼庫成功克隆至本地，執行<code>src/dongbei.py</code>，這樣便能親自體驗這個充滿趣味的編程語言。</p>
<p><img src="https://img2.imgtp.com/2024/04/26/EMMjCC4A.png" alt="學習dongbei的最快方法就是和大哥嘮嗑"></p>
<p>然而，<code>dongbei</code>的功能遠不止于此。通過閱讀<a href="https://github.com/zhanyong-wan/dongbei/blob/master/doc/dongbei-ref.md">dongbei 语言咬文嚼字</a>，我們可以發現這門語言已經相當完備，足以應對各種複雜的編程挑戰。</p>
<p>例如：</p>
<p><img src="https://github.com/zhanyong-wan/dongbei/blob/master/doc/hanoi.gif?raw=true" alt="河內塔動喚.dongbei"></p>
<p><a href="https://github.com/zhanyong-wan/dongbei/blob/master/demo/%E6%B1%89%E8%AF%BA%E5%A1%94%E5%8A%A8%E5%94%A4.dongbei">https://github.com/zhanyong-wan/dongbei/blob/master/demo/汉诺塔动唤.dongbei</a></p>
<p><img src="https://github.com/zhanyong-wan/dongbei/blob/master/doc/life-pulsar.gif?raw=true" alt="康家莊的活著遊戲.dongbei"></p>
<p><a href="https://github.com/zhanyong-wan/dongbei/blob/master/demo/%E6%B4%BB%E7%9D%80.dongbei">https://github.com/zhanyong-wan/dongbei/blob/master/demo/活着.dongbei</a></p>
<h2>融會</h2>
<p>事實上，網絡上除了標新立異的<code>dongbei</code>之外，還隱藏著眾多富有創意的編程語言，它們通常被歸類為「<strong>Esolang</strong>」——<strong>Eso</strong>eric programming <strong>lang</strong>uage，旨在嘗試奇怪的想法，難以程式設計，或作為笑話，而不是實際使用。</p>
<h3>Cantonese</h3>
<p>參考<code>dongbei</code>的模式，還有另一個創新的項目——<code>Cantonese</code>，它讓開發者能夠使用粵語進行編程，進一步將地方方言融入編程語言的世界，作者至今依舊在維護它。</p>
<p><a href="https://github.com/StepfenShawn/Cantonese">https://github.com/StepfenShawn/Cantonese</a></p>
<p>使用該語言輸出「Hello World！」的代碼：</p>
<pre><code>畀我睇下「&quot;Hello World!&quot;」點樣先？
收工
</code></pre>
<h3>Ook！</h3>
<p><code>Ook!</code> 是一款極致簡潔的編程語言，其核心語法僅由三個基本構件組成，乍看之下易於學習，然而在實際應用中，<code>Ook!</code> 帶來了獨特的挑戰。這種語言的命令系統由 <code>Ook.</code>、<code>Ook!</code> 和 <code>Ook?</code> 這三個元素構成，即便代碼量可能因此增加，卻絲毫不影響創建高效能的程式碼。Ook! 的設計原則簡潔到了極致，其創建者深信甚至猩猩也能輕易掌握，因此他們堅信無需附加繁冗的程式註解。</p>
<p>使用該語言輸出「Hello World！」的代碼：</p>
<pre><code>Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook.
Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.
</code></pre>
<h3>Brainfuck</h3>
<p>與<code>Ook!</code>類似，<code>Brainfuck</code>是一種簡單的、可以用最小的編譯器來實現的、圖靈完備的程式語言。這個語言由八種運算子構成。</p>
<p>使用該語言輸出「Hello World！」的代碼：</p>
<pre><code>++++++++++[&gt;+++++++&gt;++++++++++&gt;+++&gt;+&lt;&lt;&lt;&lt;-]
&gt;++.&gt;+.+++++++..+++.&gt;++.&lt;&lt;+++++++++++++++.
&gt;.+++.------.--------.&gt;+.&gt;.

</code></pre>
<h3>Piet</h3>
<p><code>Piet</code> 是一種獨特的編程語言，它利用色彩的組合來表達程序的邏輯結構。該語言使用了20種亮度級別的色彩，每種色彩都承載著特定的指令功能。編譯器通過辨識色塊之間的亮度差異來解讀程序的命令。程序的布局和結構完全依賴于色塊的形狀和排列，而黑白色調的邊界則作為區分不同代碼區塊的分界線。雖然在<code>Piet</code>上編寫程序是可能的，但由于不同解釋器可能對色彩的解釋存在差異，這使得Piet在實際計算中并不夠精確。因此，<code>Piet</code> 更多地被視為一種創意工具，用于探討編程的新方法和視覺藝術的表現形式，而非作為解決實際問題的工具。它的存在挑戰了傳統編程語言的界限，讓編程過程變得更加豐富多彩和富有表現力。</p>
<h3>Velato</h3>
<p><code>Velato</code> 是一種創新的編程語言，它允許開發者通過音樂來編寫代碼。這種語言通過分析 MIDI 文件來讀取源代碼，讓你可以在創作旋律的同時編寫程序。它根據音符的順序、間距和音高（視為編程的字母）來處理代碼。儘管 <code>Velato</code> 支持基本的編程結構，如表達式、數字和變量聲明，但它目前不支持函數和數組。此外，它不適用於將真正的音樂作品轉化為功能性程序。</p>
<h3>其他語言</h3>
<p>可以參考<a href="https://esolangs.org/wiki/Main_Page">the esoteric programming languages wiki</a>這一站點，了解其他的Esolang。</p>
<p>根據Esolang Wiki，Esolang通常分為以下幾種類別：</p>
<ul>
<li>
<p><em>Minimalism</em>
許多神秘語言的設計目標是盡可能少的指令。例如 <code>Brainfuck</code>、<code>OISC</code> 和 <code>Lazy K</code> 就屬於這種類型。當這些語言實現了圖靈完備，常被稱為「圖靈泥潭」。</p>
</li>
<li>
<p><em>New concepts</em>
探索替代方式設計編程語言在神秘編程中很受歡迎。像 <code>Befunge</code>、<code>Thue</code> 和 <code>Unlambda</code> 是很好的例子。</p>
</li>
<li>
<p><em>Weirdness</em>
有些語言主要為了追求奇特和難以編程而創造。<code>INTERCAL</code> 的初衷就是要與普通語言截然不同（雖然仍有很多與傳統語言相似之處），而 <code>Malbolge</code> 的設計目的是極度難以使用。</p>
</li>
<li>
<p><em>Themed</em>
有些語言基於非計算機相關的主題。比如 <code>var'aq</code> 基於虛構的克林貢語。<code>Shakespeare</code>模仿莎士比亞戲劇風格，而 <code>Chef</code> 程序看起來像烹饪菜譜。<code>dongbei</code>也屬於此類。</p>
</li>
<li>
<p><em>Brevity</em>
許多神秘語言旨在設計得尽可能短小。這些被稱為「Golfing語言」，常常用於「程式碼高爾夫」，即競賽解決編程任務，盡量以最少的字符或字節完成。如 <code>CJam</code>、<code>Pyth</code> 和 <code>GolfScript</code> 等。</p>
</li>
<li>
<p><em>Jokes</em>
許多神秘語言純粹是作為笑話創建。其中一些仍然可以用於編程，如 <code>l33t</code> 和 <code> Ook!</code>，而其他如 <code>HQ9+</code> 和 <code>Bitxtreme</code> 则不然。</p>
</li>
<li>
<p><em>Obfuscation</em>
有些神秘語言刻意設計得難以閱讀（而非難以書寫或理解）。<code>Unreadable</code> 是這方面的典型例子。</p>
</li>
</ul>
<h2>納要</h2>
<p><code>dongbei</code>是一個基於<code>python</code>開發的編程語言。可能有人會認為「這也太不正式了吧」。但實際上，我們需要明確，<code>dongbei</code>只是一個娛樂或探索為目的設計的編程語言，它並不適用於開發嚴肅的應用程序。在開發需要穩定性、容錯能力和功能性的項目時，幾乎所有人都只會去選擇<code>python</code>，<code>C++</code>，<code>JavaScript</code>等成熟的、穩定的語言。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>編程語言</category>
            <category>Esolang</category>
            <category>東北話</category>
            <category>趣味編程</category>
            <category>語言設計</category>
        </item>
        <item>
            <title><![CDATA[鑄鐵]]></title>
            <link>https://nishikori.dev/posts/cast-iron</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/cast-iron</guid>
            <pubDate>Thu, 25 Apr 2024 09:09:44 GMT</pubDate>
            <description><![CDATA[介紹鑄鐵的組成、類型及石墨化過程，闡述灰鑄鐵、球墨鑄鐵、蠕墨鑄鐵與可鍛鑄鐵的組織特徵與性能差異，並探討各類鑄鐵的熱處理方法及應用場景，揭示石墨形態對機械性能與工藝特性的關鍵影響。]]></description>
            <content:encoded><![CDATA[<p>鑄鐵是含碳量大於 2.11% 的鐵碳合金。</p>
<p>鑄鐵是人類使用最早的金屬材料之一，具有生產方法簡便，成本低廉，性能優良等特點，至今仍使用廣泛。缺點：硬脆，不易加工，只能鑄造。</p>
<p>典型零件：機床床身、汽缸體和缸套、凸輪軸、曲軸。</p>
<p><strong>鑄鐵的類別</strong>：</p>
<ol>
<li>
<p>白口鑄鐵：碳主要以滲碳體（$Fe_3C$）形式存在的鑄鐵。</p>
<ul>
<li>硬而脆，很少用做零件，作原料用（生鐵）。</li>
</ul>
</li>
<li>
<p>灰口鑄鐵：碳主要以石墨（G）形式存在的鑄鐵。</p>
</li>
<li>
<p>麻口鑄鐵：介於白口鑄鐵和灰口鑄鐵之間鑄鐵。</p>
</li>
</ol>
<h1>鑄鐵的石墨化</h1>
<h2>$Fe-C $和 $Fe-Fe_3C$ 雙重相圖</h2>
<p><img src="https://file.nishikori.dev/ztadd0ccrp6r42s6go.png" alt=""></p>
<h2>鑄鐵的石墨化過程</h2>
<h3>冷卻（結晶）時的石墨化過程</h3>
<ol>
<li>
<p>從液相中析出石墨</p>
<ul>
<li>$L$ → $G_I$</li>
<li>$L$ → $\gamma + G$（共晶反應）</li>
</ul>
</li>
<li>
<p>從奧氏體中析出石墨</p>
<ul>
<li>$\gamma$ → $G_{II}$</li>
</ul>
</li>
<li>
<p>由共析反應生成石墨</p>
<ul>
<li>$\gamma$ → $\gamma + G$</li>
</ul>
</li>
</ol>
<h3>加熱時的石墨化過程</h3>
<p>$Fe_3C$ → $3Fe + C$</p>
<p>鑄鐵石墨化過程的兩個階段：</p>
<ul>
<li>第一階段石墨化：發生在 P'S'K'線以上的石墨化過程。</li>
<li>第二階段石墨化：發生在 P'S'K'線以下的石墨化過程。</li>
</ul>
<h3>鑄鐵組織的形成條件</h3>
<p>按兩個階段石墨化進行的程度不同，鑄鐵具有不同的組織。</p>
<p><img src="https://file.nishikori.dev/04gvzou5rucqhj443h.png" alt="鑄鐵的組織與石墨化進行程度之間的關係"></p>
<h1>常用鑄鐵的牌號和性能特點</h1>
<p>一般來說，白口鑄鐵、麻口鑄鐵使用不多，灰口鑄鐵應用較多一些。</p>
<h2>灰口鑄鐵的類別</h2>
<p>按石墨的形態，灰口鑄鐵分為四類。</p>
<ul>
<li>
<p>灰鑄鐵：石墨呈片狀</p>
</li>
<li>
<p>球墨鑄鐵：石墨呈球狀</p>
</li>
<li>
<p>蠕墨鑄鐵：石墨呈蠕蟲狀</p>
</li>
<li>
<p>可鍛鑄鐵：石墨呈團絮狀</p>
</li>
</ul>
<p>石墨狀態主要受鑄鐵的化學成分及工藝過程影響，片狀、球狀和蠕蟲狀在鑄造後即可形成，團絮狀由白口鐵退火得來。</p>
<p>:::grid{cols=2,gap=12，type=images}</p>
<p><img src="https://file.nishikori.dev/jpg2bkec47n00uec9c.jpg" alt="灰鑄鐵"></p>
<p><img src="https://file.nishikori.dev/i5plmb0zslpm6w3o3y.jpg" alt="球墨鑄鐵"></p>
<p><img src="https://file.nishikori.dev/od4lhdoylitfjvbylt.jpg" alt="蠕墨鑄鐵"></p>
<p><img src="https://file.nishikori.dev/3zp00m8adlhoxfnuk5.jpg" alt="可鍛鑄鐵"></p>
<p>:::</p>
<h2>灰口鑄鐵的組織</h2>
<p>組織特徵：鋼基體上分佈著不同形態的石墨。</p>
<ul>
<li>
<p>F＋G 鋼基體（鐵素體）和石墨</p>
</li>
<li>
<p>F＋P＋G 鋼基體（鐵素體＋珠光體）和石墨</p>
</li>
<li>
<p>P＋G 鋼基體（珠光體）和石墨</p>
</li>
</ul>
<h2>灰口鑄鐵的性能</h2>
<p>主要取決於石墨的形態、大小、數量。</p>
<h2>灰鑄鐵</h2>
<p>最便宜，應用最廣泛，80% 以上。</p>
<h3>灰鑄鐵的牌號</h3>
<p>HT×××。“HT”表示“灰鐵”，“×××”表示最低抗拉強度值。</p>
<ul>
<li>例：H200
<ul>
<li>HT 為“灰鐵”的漢語拼音字頭</li>
<li>200 表示該灰鑄鐵的抗拉強度值不小於 200MPa</li>
</ul>
</li>
</ul>
<h3>灰鑄鐵的性能特點</h3>
<ol>
<li>
<p>力學性能低</p>
<ul>
<li>片狀石墨對鋼基體的分割作用大，尖端形成應力集中。</li>
</ul>
</li>
<li>
<p>耐磨性和減振性好</p>
<ul>
<li>石墨的存在，有利於潤滑和貯油、吸收振動能量，減震性優於碳鋼。</li>
</ul>
</li>
<li>
<p>工藝性能好</p>
<ul>
<li>熔點低，液態流動性好，易於澆注，特別是結構複雜鑄件；切削時易斷屑（切削性能優於鋼）。</li>
</ul>
</li>
</ol>
<h3>孕育處理</h3>
<p>加孕育劑（變質劑）：矽鐵合金、矽鈣合金，結晶核心多，石墨片尺寸更小更均勻。</p>
<h3>應用</h3>
<p>機床床身、底座、發動機缸體等。</p>
<h2>球墨鑄鐵</h2>
<p>改變石墨形態來提高力學性能。灌鑄前加球化劑和孕育劑，經過球化處理和孕育處理得到。</p>
<p>球化劑：鎂、稀土、稀土鎂。</p>
<h3>球墨鑄鐵的牌號</h3>
<p>QT×××-××。“QT”表示“球鐵”，“×××”表示最低抗拉強度值，“××”表示最低延伸率。</p>
<ul>
<li>例：QT500-05
<ul>
<li>QT 為“球鐵”的漢語拼音字頭</li>
<li>500 表示該球墨鑄鐵的抗拉強度不低於 500MPa</li>
<li>05 表示該球墨鑄鐵的延伸率不低於 5%</li>
</ul>
</li>
</ul>
<h3>球墨鑄鐵的性能特點（與灰鑄鐵相比）</h3>
<ol>
<li>
<p>力學性能高</p>
<ul>
<li>球墨鑄鐵抗拉強度和彎曲疲勞極限高、塑性和韌性好。</li>
<li>球狀石墨對鋼基體的分割作用減低至最小，鋼基體的連續性好，應力集中減弱。</li>
</ul>
</li>
<li>
<p>減振性差</p>
<ul>
<li>減震性不如灰口鐵。</li>
</ul>
</li>
<li>
<p>鑄造性差</p>
</li>
</ol>
<h3>應用</h3>
<p>一定條件下可替代鑄鋼、鍛鋼，用以受力複雜、負荷較大和要求耐磨的鑄件，如內燃機曲軸、凸輪軸閥門、汽車後橋殼等。</p>
<h2>蠕墨鑄鐵</h2>
<p>鐵液經變質處理和和孕育處理得到。</p>
<p>變質元素（蠕化劑）：稀土矽鐵鎂合金、稀土矽鐵鎂合金、稀土鈣鐵合金等。</p>
<h3>蠕墨鑄鐵的牌號</h3>
<p>RuT×××。“RuT”表示“蠕鐵”，“×××”表示最低抗拉強度值。</p>
<h3>球墨鑄鐵的性能特點</h3>
<ol>
<li>
<p>力學性能介於灰鑄鐵和球墨鑄鐵之間</p>
<ul>
<li>強度和韌性高於灰鑄鐵，不如球墨鑄鐵；耐磨性較好；減振能力優於球墨鑄鐵。</li>
<li>蠕蟲狀石墨的頭部鈍而圓，對基體分割作用較灰鑄鐵有明顯降低。</li>
</ul>
</li>
<li>
<p>工藝性能介於球墨鑄鐵和灰鑄鐵之間</p>
<ul>
<li>鑄造性能優於球墨鑄鐵，與灰鑄鐵接近。</li>
</ul>
</li>
<li>
<p>導熱性能接近灰鑄鐵</p>
<ul>
<li>高溫強度、熱疲勞性能大大優於灰鑄鐵。</li>
<li>適於製造承受交變熱負荷的零件。</li>
</ul>
</li>
</ol>
<h2>可鍛鑄鐵</h2>
<p>可鍛鑄鐵的獲得：</p>
<ol>
<li>
<p>獲得白口鑄鐵；</p>
</li>
<li>
<p>白口鑄鐵石墨化。</p>
<ul>
<li>
<p>可鍛鑄鐵在加熱時通過 Fe3C 的石墨化而獲得。</p>
</li>
<li>
<p>灰鑄鐵、球墨鑄鐵、蠕墨鑄鐵在冷卻時通過析出石墨而獲得。</p>
</li>
</ul>
</li>
</ol>
<h3>可鍛鑄鐵的牌號</h3>
<ol>
<li>KTH×××-××。“KTH”表示“可鐵黑”，稱黑心可鍛鑄鐵，以鐵素體為基體。</li>
<li>KTZ×××-××。“KTZ”表示“可鐵珠”，稱珠光體可鍛鑄鐵，以珠光體為基體。</li>
</ol>
<h3>可鍛鑄鐵的性能特點</h3>
<p>性能介於灰鑄鐵與球墨鑄鐵之間，耐蝕性較好，但生產效率低。</p>
<h1>鑄鐵的熱處理</h1>
<p><strong>鑄鐵熱處理的目的</strong>：</p>
<p>1.改變鋼基體的組織，改善鑄鐵性能；</p>
<p>2.消除鑄件應力。</p>
<p><strong>特別提示</strong>：</p>
<ol>
<li>
<p>熱處理只能改變鋼基體的組織，不能改變石墨的形態及分佈</p>
<ul>
<li>
<p>片狀或球狀的石墨不會因熱處理而變成其他的形狀。</p>
</li>
<li>
<p>石墨的尺寸不會因熱處理而增大或減小。</p>
</li>
<li>
<p>石墨的分佈不會因熱處理而改變。</p>
</li>
</ul>
</li>
<li>
<p>灰鑄鐵不適合採用強化型（如淬火）熱處理</p>
<ul>
<li>灰鑄鐵中石墨呈片狀，對基體的分割作用很大，即使進行強化型熱處理也難以獲得明顯的效果。</li>
</ul>
</li>
<li>
<p>球墨鑄鐵適合採用與鋼相同的各種熱處理</p>
<ul>
<li>球墨鑄鐵中石墨呈球狀，對基體的分割作用小，因此通過熱處理可顯著改善其力學性能。</li>
</ul>
</li>
</ol>
<h2>時效處理</h2>
<p>目的：釋放鑄件應力。</p>
<p>工藝：</p>
<ul>
<li>
<p>人工時效：將鑄件加熱到 500～560°C 保溫後隨爐冷卻。</p>
</li>
<li>
<p>自然時效：將鑄件放在室外 6～18 個月，使應力自然釋放。</p>
</li>
</ul>
<p>人工時效是目前生產中最常用的方法。</p>
<h2>消除白口退火</h2>
<p>目的：消除白口組織。</p>
<p>鑄件表面或薄壁處在鑄造過程中會因冷卻速度過快而出現白口組織，其硬度很高，給切削加工帶來困難，必須予以消除。</p>
<p>工藝：</p>
<ul>
<li>加熱溫度：880～900°C。</li>
<li>保溫時間：1～2h。</li>
<li>冷卻方式：保溫後緩慢冷卻至 400～500°C 後出爐空冷。</li>
</ul>
<h2>表面熱處理</h2>
<p>目的：提高鑄件的表面硬度、耐磨性和耐蝕性。</p>
<p>工藝：</p>
<ul>
<li>
<p>感應加熱表面淬火</p>
</li>
<li>
<p>激光加熱表面淬火</p>
</li>
<li>
<p>滲氮、滲金屬</p>
</li>
</ul>
<h2>球墨鑄鐵的熱處理</h2>
<h3>退火</h3>
<p>目的：提高球墨鑄鐵件的韌性。</p>
<p>工藝：</p>
<ol>
<li>
<p>880～900°C 加熱保溫後，爐冷至 600°C 出爐空冷。
- 適應的鑄件：含有白口組織的鑄件。
- 退火後的組織：$F＋G_球$</p>
</li>
<li>
<p>700～760°C 加熱保溫後，爐冷至 600°C 出爐空冷。</p>
<ul>
<li>適應的鑄件：組織為$F＋P＋G_球$的鑄件。</li>
<li>退火後的組織：$F＋G_球$</li>
</ul>
</li>
</ol>
<h3>正火</h3>
<p>目的：將基體轉換為細珠光體組織，以提高強度、硬度和耐磨性。</p>
<p>工藝：850～900°C 加熱保溫後出爐空冷。</p>
<ul>
<li>適應的鑄件：組織為 F＋P＋G 球的鑄件。</li>
<li>正火後的組織：$P＋G_球$</li>
</ul>
<h3>淬火及回火</h3>
<p>目的：提高球墨鑄鐵的力學性能。</p>
<ol>
<li>淬火（860～900°C）→ 低溫回火（250～350°C）
- 組織：$M_回＋A'＋G_球$。可用於製造軸承。</li>
<li>淬火（860～900°C）→ 中溫回火（500～600°C）
- 組織：$S_回＋G_球$。可用於製造軸類零件。</li>
</ol>
<h3>等温淬火</h3>
<p>目的：獲得$B_下$，使球墨鑄鐵具有良好的綜合力學性能。</p>
<p>工藝：830～870°C 加熱保溫後投入 280～350°C 的熔鹽中保持。</p>
<p>組織：$B_下＋A'＋G_球$</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>工程材料學</category>
            <category>鑄鐵</category>
            <category>石墨化</category>
            <category>灰鑄鐵</category>
            <category>球墨鑄鐵</category>
            <category>可鍛鑄鐵</category>
            <category>熱處理</category>
        </item>
        <item>
            <title><![CDATA[摸魚，以及摸魚 2024年4月22日]]></title>
            <link>https://nishikori.dev/diary/2024-04-22</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-04-22</guid>
            <pubDate>Mon, 22 Apr 2024 16:56:06 GMT</pubDate>
            <content:encoded><![CDATA[<p>今天是週一，上午本來要有兩門課，但英語課我免修，體育課是其他組進行比賽，於是上午我實際上並沒有課。開開心心睡到了下午一點多，起床煮了一碗泡麵後便動身去上 Marxism 課程。</p>
<p>在課上摸魚搭了兩個新的小玩具。一個是文件轉換，可以幫我快捷的轉換文件格式。另一個是 freegpt，從 chatgpt 的網頁端提取 api-key 從而免費使用 gpt-3.5，這個因為 openai 的用量/請求次數限制，就不打算設為公開了。</p>
<p>在將DNS遷移到Cloudflare之後，某些頁面的JavaScript內容渲染總是出現錯誤。今天終於解決了這一問題。Cloudflare為優化網頁訪問，有一個名為Rocket Loader™的功能，作用是「改善含有 JavaScript 的網頁繪製時間」，但在實際中會導致渲染錯誤。在關掉這一功能後，一切恢復正常。</p>
<p>今天格外的喜歡聽草東沒有派對的<a href="https://www.youtube.com/watch?v=GavvkJ-Svrg">《滔滔》</a>，台語很有意思，但我至今還沒學會多少。</p>
<p><a href="https://www.youtube.com/watch?v=GavvkJ-Svrg">https://www.youtube.com/watch?v=GavvkJ-Svrg</a></p>
<p>晚飯依舊是自己煮的麵，不過不是方便麵，而是一種類似掛麵的。味道還可以，價格也很好。除了麵之外，還自己做了一杯奶茶，味道也還可以，我不愧是廚藝小天才。</p>
<p>吃完晚飯後，斷斷續續完成了 Mechanisms &amp; Machine Theory 的作業，十分的折磨，因為解題不僅需要帶入公式，還需要精確的作圖。在做到一半時實在忍不下去而選擇摸魚，下樓轉了一圈，順便買了一包菸——以前買菸我總是去一公里外的熙街裡的一家便利店，今天不想走那麼遠，於是就去了校門對面的超市碰碰運氣，才意外發現原來這家超市也賣香菸，看來以後會便利很多了。</p>
<p>明天要從早上八點鐘上課上到下午四點，後面如果有時間的話準備動筆寫一下<strong>對癸卯年國慶假期的回憶</strong>的第五篇。這一篇因為會有些色情敏感（x）的內容，於是依舊是加密的。</p>
<hr>
<p>除了昨天提到的幾部網劇，最近也在看《漫長的季節》和《白夜追凶》，不得不說這幾部劇改變了我對中國產網劇的印象</p>
<hr>
<p>重慶的春天向來是這樣，有時烈日當空，氣溫直升至三十多攝氏度，有時又連續幾日陰雨，寒風凜人，見不到一點陽光。在這樣的情緒影響下，我的心情總是很不好，希望春天能儘快過去，夏天儘管炎熱，但見了日光，大概我的情緒也會積極起來。</p>
<hr>
<p>好想要和人貼貼。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[最近幾日的情況 - 2024年4月21日]]></title>
            <link>https://nishikori.dev/diary/2024-04-21</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-04-21</guid>
            <pubDate>Sun, 21 Apr 2024 15:53:11 GMT</pubDate>
            <content:encoded><![CDATA[<p>最近幾日都沒有更新內容，因為線下生活實在繁忙。今天是週日，正巧有些閒工夫，於是更新一篇手記。</p>
<p>週四的時候觀察了常用材料的顯微圖像，拍下了一張最特別的球碳石墨。</p>
<p><img src="https://file.nishikori.dev/IMG_2947.jpeg" alt="球碳石墨鑄態"></p>
<p>週五都上了很多課，十分疲憊，在空閒之時完成了監控面板的部署並介入了Telegram的Bot，以後我所部署的各項服務出現問題都可以及時發現，便於維護。</p>
<p>此外，還搭建了屬於自己的gpt-academic，便利個人的學術寫作，使用自己的oneapi服務接入了很多主流大模型。其中內置了LaTeX和TTS服務，功能很強，且相比於在其他公共平台進行部署，安全性更高。</p>
<p>週六休息到了中午才起床，下午去實驗室做了實驗，這個實驗因為很特殊，原本我們分了十五組，但最終能成功讀取數據的只有四個組（其中包括我自己的組）。</p>
<p><img src="https://file.nishikori.dev/IMG_3259.jpeg" alt="示波器的圖像"></p>
<p>隨後去了商場買了幾件新衣服，還嘗了一下瑞幸的新品。</p>
<p><img src="https://file.nishikori.dev/IMG_3344.jpeg" alt="椰皇拿鐵"></p>
<p>今天學習了半天，晚上在KTV開心地唱了三個小時。</p>
<p>晚上折騰服務器時不小心出了故障，不過萬幸我製作了快照，對服務器立刻進行了恢復。</p>
<hr>
<p>最近看了幾部中國製作的有趣的網絡短劇《無證之罪》《隱秘的角落》和《沈默的真相》，很有意思。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[工業用鋼]]></title>
            <link>https://nishikori.dev/posts/industrial-steels</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/industrial-steels</guid>
            <pubDate>Thu, 18 Apr 2024 06:20:50 GMT</pubDate>
            <description><![CDATA[介紹工業用鋼的主要分類、化學成分與性能特徵，涵蓋碳鋼、合金鋼與特殊鋼的應用領域，並探討熱處理對機械性能的影響。]]></description>
            <content:encoded><![CDATA[<p>工業用鋼包括碳素鋼（簡稱碳鋼）和合金鋼兩大類。</p>
<p>在工業用鋼中，除 Fe 和 C 元素外，還含有其他元素，包括雜質元素和合金元素。</p>
<blockquote>
<p>雜質元素：泛指鋼冶煉後殘留在鋼中的元素。</p>
<p>合金元素：指為提高鋼的性能特意添加到鋼中的元素。</p>
</blockquote>
<p>碳鋼是$w_C $為 0.0218%～2.11% 的鐵碳合金，具有較好的性能，產量大、價格低，應用十分廣泛，但淬透性、回火抗力差、屈強比低。</p>
<p>合金鋼是在碳鋼的基礦上添加合金元素的鐵基合金，總體性能優於碳鋼，但加工困難、價格昂貴。選材時，如果碳鋼能夠滿足要求，一般不使用合金鋼。</p>
<h1>鋼的分類和編號</h1>
<h2>鋼的分類</h2>
<h3>按化學成分分類</h3>
<p><img src="https://file.nishikori.dev/5s4sk5r4oz5ibjvcm3.png" alt=""></p>
<h3>按用途分類</h3>
<p><img src="https://file.nishikori.dev/7t45087hufs37ezbi8.png" alt=""></p>
<h3>按金相組織分類</h3>
<p><img src="https://file.nishikori.dev/n6uxmj7tcvhyph9cj0.png" alt=""></p>
<h3>按質量分類</h3>
<p><img src="https://file.nishikori.dev/31byrdryxsqkj2aepu.png" alt=""></p>
<blockquote>
<p>注：
高級優質鋼在其編號後加註“A”
特級優質鋼在其編號後加註“E”</p>
</blockquote>
<h2>鋼的編號</h2>
<ol>
<li>普通碳素結構鋼——用“符號 Q＋數字”表示</li>
</ol>
<ul>
<li>例：Q235</li>
<li>Q 為屈服點的漢語拼音字頭</li>
<li>235 表示該鋼的屈服強度值不小於 235MPa</li>
</ul>
<ol start="2">
<li>優質碳素結構鋼——用“2 數字”表示</li>
</ol>
<ul>
<li>例：45</li>
<li>45 表示$\omega_C$的萬分之幾，即該鋼的平均$\omega_C$為 0.45%</li>
</ul>
<ol start="3">
<li>合金結構鋼——用“2 數字＋元素符號＋數字”表示</li>
</ol>
<ul>
<li>例：36Mn2Si</li>
<li>36 表示$\omega_C$的萬分之幾，即該鋼的平均$\omega_C$為 0.36%</li>
<li>Mn2 表示該鋼含有錳元素，平均$\omega_{Mn}$為 2%(百分之幾)</li>
<li>Si 表示該鋼含有矽元素，平均$\omega_{Si}$小於 1.5%</li>
</ul>
<ol start="4">
<li>碳素工具鋼——用“T＋數字”表示</li>
</ol>
<ul>
<li>例：T12A</li>
<li>T 為“碳素工具鋼”的漢語拼音字頭</li>
<li>12 表示$\omega_C$的千分之幾，即該鋼的平均$\omega_C$為 1.2%</li>
<li>A 表示該鋼為高級優質鋼</li>
</ul>
<ol start="5">
<li>合金工具鋼——用“1 數字＋元素符號＋數字”表示</li>
</ol>
<ul>
<li>例：9Mn2V</li>
<li>9 表示$\omega_C$的千分之幾（當$\omega_C$&gt;1.0%,則不予標出）</li>
<li>Mn2 表示該鋼含有錳元素，平均$\omega_{Mn}$為 2%(百分之幾)</li>
<li>V 表示該鋼含有釩元素，平均$\omega_{V}$小於 1.5%</li>
</ul>
<ol start="6">
<li>滾動軸承鋼——用“G＋數字”表示</li>
</ol>
<ul>
<li>例：GCr15</li>
<li>G 為“滾動軸承鋼”的漢語拼音字頭</li>
<li>Cr15 表示該鋼含有鉻元素，平均$\omega_{Cr}$為 1.5%(Cr 千分之幾，其餘百分之幾)</li>
</ul>
<ol start="7">
<li>不銹鋼——用“數字＋元素符號＋數字”表示</li>
</ol>
<ul>
<li>例：1Cr18Ni9Ti</li>
<li>1 表示平均$\omega_C$的千分之幾</li>
<li>Cr18 表示該鋼含有鉻元素，平均$\omega_{Cr}$為 18%</li>
<li>Ni9 表示該鋼含有鎳元素，平均$\omega_{Ni}$為 9%</li>
<li>Ti 表示該鋼含有鈦元素，平均$\omega_{Ti}$小於 1.5%</li>
</ul>
<ol start="8">
<li>高速工具鋼——用“元素符號＋數字”表示，不標出含碳量</li>
</ol>
<ul>
<li>例：W18Cr4V</li>
<li>W18 表示該鋼含有鎢元素，平均$\omega_{W}$為 18%</li>
<li>Cr4 表示該鋼含有鉻元素，平均$\omega_{Cr}$為 4%</li>
<li>V 表示該鋼含有釩元素，平均$\omega_{V}$小於 1.5%</li>
</ul>
<h1>鋼中的雜質及合金元素</h1>
<h2>雜質元素對鋼性能的影響</h2>
<ol>
<li>錳（Mn）</li>
</ol>
<ul>
<li>Mn 能溶入鐵素體中起固溶強化作用，提高鋼的硬度和強度。</li>
</ul>
<ol start="2">
<li>矽（Si）</li>
</ol>
<ul>
<li>Si 能溶入鐵素體中起固溶強化作用，提高鋼的硬度和強度。</li>
</ul>
<ol start="3">
<li>硫（S）</li>
</ol>
<ul>
<li>S 通常是有害元素，會引起鋼的“熱脆”。</li>
</ul>
<ol start="4">
<li>磷（P）</li>
</ol>
<ul>
<li>P 通常是有害元素，會引起鋼的“冷脆”。</li>
</ul>
<ol start="5">
<li>氮（N）</li>
</ol>
<ul>
<li>過量 N 會使鋼的塑性、韌性顯著降低，出現“時效脆化”。</li>
</ul>
<ol start="6">
<li>氧（O）</li>
</ol>
<ul>
<li>氧通常是有害元素，在鋼中成為非金屬夾雜物而降低鋼的性能。</li>
</ul>
<ol start="7">
<li>氫（H）</li>
</ol>
<ul>
<li>氫是鋼中的有害元素，產生“氫脆”和造成“白點”（微裂紋）。</li>
</ul>
<h2>合金元素在鋼中的作用</h2>
<p>合金元素在鋼中的兩種存在形式：溶入鐵素體和形成碳化物。</p>
<h3>合金元素對鋼中基本相的影響</h3>
<ol>
<li>溶入鐵素體——非碳化物形成元素</li>
</ol>
<ul>
<li>Ni、Si、Al、Co、Cu、N、B 等非碳化物形成元素主要溶入鐵素體中，起固溶強化作用，提高鋼的硬度和強度。Ni 還能提高鋼的韌性。</li>
</ul>
<ol start="2">
<li>形成碳化物——碳化物形成元素</li>
</ol>
<ul>
<li>
<p>Ti、Zr、V、Nb、W、Mo、Cr、Mn 等在碳化物形成元素在鋼中與 C 作用形成碳化物。</p>
</li>
<li>
<p>鋼中的碳化物通常能夠提高鋼的強度、硬度和耐磨性。</p>
</li>
</ul>
<blockquote>
<p>碳化物形成元素與碳的親和力的大小：Ti, Zr, V, Nb, W, Mo, Cr, Mn, ＞Fe 依次減弱</p>
</blockquote>
<h3>合金元素對鐵碳相圖的影響</h3>
<p>鋼中加入合金元素後，Fe－$Fe_3C $相圖將發生變化，這些元素或者擴大奧氏體區域，或者縮小奧氏體區域。</p>
<ol>
<li>擴大奧氏體區的元素</li>
</ol>
<ul>
<li>Ni、Mn、C、N 等元素擴大奧氏體區域，使$A_1$和$A_3$溫度降低、S 點和 E 點向左下方移動。</li>
</ul>
<ol start="2">
<li>縮小奧氏體區的元素</li>
</ol>
<ul>
<li>Cr、Mo、Si、W 等元素縮小奧氏體區域，使$A_1$和$A_3$溫度升高、S 點和 E 點向左上方移動。</li>
</ul>
<p><img src="https://file.nishikori.dev/wqgvtiwpohi7xqed1n.jpg" alt="Mn 的占比對γ區的影響"></p>
<p><img src="https://file.nishikori.dev/z2a855rd7px2afupjc.jpg" alt="Cr 的占比對γ區的影響"></p>
<h3>合金元素對鋼的熱處理的影響</h3>
<ol>
<li>對奧氏體化的影響</li>
</ol>
<ul>
<li>
<p>除 Ni、Co 外，大多數合金元素都延緩鋼的奧氏體化過程。</p>
</li>
<li>
<p>它們阻礙 C 和 Me 的擴散，因此合金鋼的 A 化溫度較高、時間較長。</p>
</li>
</ul>
<ol start="2">
<li>對奧氏體晶粒度的影響</li>
</ol>
<ul>
<li>
<p>除 Mn 外，幾乎所有合金元素都細化晶粒。</p>
</li>
<li>
<p>尤其以碳化物形成元素的細化晶粒效果最顯著，它們形成的碳化物分布在 A 中時，能夠阻礙晶界的遷移，從而阻止晶粒長大。</p>
</li>
</ul>
<ol start="3">
<li>對鋼的淬透性的影響</li>
</ol>
<ul>
<li>除 Co 外，大多數合金元素只要溶入奧氏體中，都提高淬透性。</li>
</ul>
<ol start="4">
<li>對鋼的回火穩定性的影響</li>
</ol>
<ul>
<li>
<p>回火穩定性：淬火鋼在回火過程中抵抗硬度下降的能力。又稱回火抗力。</p>
</li>
<li>
<p>大多數合金元素因為能夠阻礙 M 的分解，從而提高回火抗力。</p>
</li>
</ul>
<h1>鋼結構</h1>
<h2>工程組件用鋼</h2>
<p>工程組件用鋼是國防、化工、石油、電站、車輛、船舶、橋梁、建築等國民經濟部門製造各種重要組件的金屬材料。</p>
<h3>工程組件用鋼的性能要求</h3>
<ol>
<li>高的彈性極限和高的剛度，低的屈強比。</li>
<li>良好的焊接性和冷變形性。</li>
<li>良好的耐大氣、水腐蝕性。</li>
</ol>
<h3>工程組件用鋼的成分特點</h3>
<p>低含碳量：$\omega_C$＜0.25%。</p>
<p>含微量合金元素：V、Ti、Nb、Zr、Ca、RE（稀土元素）等。</p>
<h3>工程組件用鋼分類</h3>
<h4>普通碳素結構鋼</h4>
<ul>
<li>化學成分特點：低碳：0.10～0.20%</li>
<li>典型鋼號：Q235</li>
<li>熱處理特點：一般不進行熱處理強化，只保證力學性能和工藝性能</li>
<li>使用狀態：熱軋態，組織：F＋P(少量)</li>
<li>應用：建築鋼筋</li>
</ul>
<h4>低合金高強度鋼（普通低合金結構鋼）</h4>
<ul>
<li>化學成分特點：低碳：0.10～0.20%，錳含量：1.2～1.6%</li>
<li>典型鋼號：16Mn
<ul>
<li>相當於是在 Q235 的基礦上多添加了 0.6～0.8% 的 Mn</li>
</ul>
</li>
<li>熱處理特點——一般不進行熱處理強化，只保證力學性能和工藝性能</li>
<li>使用狀態：熱軋態或正火態，組織：F＋P(少量)。</li>
<li>應用：橋梁鋼構、船用鋼板等。</li>
</ul>
<h2>機器零件用鋼</h2>
<p>機器零件用鋼是製造各種機器零件，如齒輪、軸、彈簧、軸承等的金屬材料。</p>
<h3>機器零件用鋼的性能要求</h3>
<ol>
<li>高的強度和塑性、韌性。</li>
<li>良好的疲勞強度、耐磨性。</li>
<li>良好的切削加工性能和熱處理性能。</li>
</ol>
<h3>機器零件用鋼的成分特點</h3>
<p>除 C 元素外，通常含有能夠提高淬透性和細化晶粒的合金元素：Cr、Ni、Mn、Si、Mo、Ti、V、W 等。</p>
<h3>機器零件用鋼分類</h3>
<h4>滲碳鋼</h4>
<ul>
<li>化學成分特點：低碳：0.1～0.25%；合金元素：Cr、Mn、Ni、Mo、Ti、W、V、B 等。
<ul>
<li>滲碳後，表層為 1.0% 左右的高碳成分，保證高硬度、高耐磨性；心部保持原始成分，熱處理後具有良好的韌性和足夠的強度。</li>
</ul>
</li>
<li>典型鋼號：20CrMnTi
<ul>
<li>在 20 號鋼的基礎上，通過添加合金元素 Cr、Mn、Ti 而形成</li>
</ul>
</li>
<li>熱處理特點：滲碳（$920～930^\circ C$）→ 淬火（$830^\circ C$）→ 低溫回火（$200^\circ C$，2h）。</li>
<li>組織和性能
<ul>
<li>表層：高碳$M_回＋k＋A'$，硬度：HRC56～62。</li>
<li>心部：低碳$M_回$（淬透時），硬度：HRC30～45。</li>
</ul>
</li>
<li>應用：重載齒輪、凸輪、活塞銷等。</li>
</ul>
<h4>調質鋼</h4>
<ul>
<li>化學成分特點：中碳：0.30～0.50%；合金元素：Cr、Ni、Mn、Mo、W、V、Ti、B 等。熱處理後可滿足綜合力學性能的要求。</li>
<li>典型鋼號：40Cr
<ul>
<li>在 40 號鋼的基礎上，通過添加合金元素 Cr 而形成</li>
</ul>
</li>
<li>熱處理特點：調質處理：淬火（$830^\circ C$）→ 高溫回火（$525^\circ C$）。</li>
<li>組織：$S_回$，硬度：HRC25～35。</li>
<li>應用：各種軸類零件、汽車後橋半軸、連桿、螺栓等。</li>
</ul>
<h4>彈簧鋼</h4>
<ul>
<li>化學成分特點：中、高碳：0.45～0.70%；合金元素：Si、Mn、Cr、V 等。</li>
<li>典型鋼號：
<ul>
<li>熱成形彈簧（彈簧用鋼的尺寸較大）：60Si2Mn（在 60 號鋼的基礎上，通過添加合金元素 Si、Mn 等元素而形成）</li>
<li>冷成形彈簧（彈簧用鋼絲的直徑一般小於 10mm）：50CrVA。</li>
</ul>
</li>
<li>熱處理特點
<ul>
<li>熱成形彈簧：淬火（$870^\circ C$）→ 中溫回火（$460^\circ C$）。</li>
<li>冷成形彈簧：卷繞→ 去應力退火（$250^\circ C$）。</li>
</ul>
</li>
<li>組織：$T_回$，硬度：HRC35～45。</li>
<li>應用：
<ul>
<li>60Si2Mn —— 汽車減振板彈簧、懸擺彈簧。</li>
<li>50CrVA —— 汽車發動機氣閥彈簧。</li>
</ul>
</li>
</ul>
<h4>滾動軸承鋼</h4>
<ul>
<li>化學成分特點：高碳：0.95～1.15%；合金元素：Cr（主要）、Si、Mn 等。</li>
<li>典型鋼號：GCr15</li>
<li>熱處理特點：
<ul>
<li>預備熱處理：球化退火，以降低硬度，改善切削加工性，並獲得 P 粒。</li>
<li>最終熱處理：淬火（840°C）→ 低溫回火（150～160°C）。</li>
</ul>
</li>
<li>組織：$M_回＋k＋A'$硬度：＞HRC61。</li>
<li>應用：滾動軸承的滾珠、軸承套等。</li>
</ul>
<h1>工具鋼</h1>
<h2>刃具鋼</h2>
<p>刃具鋼是製造各種車刀、銑刀、鑽頭等切削工具的金屬材料。</p>
<h3>刃具鋼的性能要求</h3>
<ol>
<li>
<p>高的硬度和耐磨性。HRC＞60。</p>
</li>
<li>
<p>高的熱硬性（紅硬性）。</p>
<ul>
<li>熱硬性：刃具在高溫下保持高硬度的能力。</li>
</ul>
</li>
<li>
<p>足夠的塑性和韌性。</p>
</li>
</ol>
<h3>刃具鋼的成分特點</h3>
<ol>
<li>
<p>高碳：以保證高的硬度，並形成足夠多的碳化物以提高耐磨性。</p>
</li>
<li>
<p>合金元素：</p>
</li>
</ol>
<ul>
<li>提高淬透性的元素 Cr、Ni、Mn、Si 等；</li>
<li>提高熱硬性的元素 W、Mo、V、Co 等。</li>
</ul>
<h3>刃具鋼分類</h3>
<h4>碳素工具鋼</h4>
<ul>
<li>
<p>化學成分特點</p>
<ul>
<li>高碳：0.65～1.35%。
<ul>
<li>高的含碳量保證高硬度及形成足夠的碳化物，提高耐磨性。</li>
</ul>
</li>
</ul>
</li>
<li>
<p>典型鋼號</p>
<ul>
<li>T7、T8、T10、T12。</li>
</ul>
</li>
<li>
<p>熱處理特點：</p>
<ul>
<li>預備熱處理：
<ul>
<li>球化退火（T8、T10、T12）；</li>
<li>完全退火（T7）。</li>
</ul>
</li>
<li>最終熱處理：淬火（780°C）→ 低溫回火（180°C）（除 T7 外，溫度$A_{c3}$以上）。</li>
</ul>
</li>
<li>
<p>組織和性能：</p>
<ul>
<li>組織：$M_回＋k＋A'$</li>
<li>硬度：＞HRC60。</li>
</ul>
</li>
<li>
<p>應用：</p>
<ul>
<li>T7、T8 —— 木工工具、刃具（切削軟金屬）及錘子、沖頭等沖擊負荷工具。</li>
<li>T9~T11 —— 手用鋸條、要求不高的刀具、鑽頭等。</li>
<li>T12、T13 —— 耐磨性最高，韌性最低，銼刀、量具等。</li>
</ul>
</li>
</ul>
<h4>低合金工具鋼</h4>
<ul>
<li>
<p>化學成分特點</p>
<ul>
<li>高碳：0.75～1.5%；合金元素：Cr、Mn、Si、W、V 等。
<ul>
<li>高的含碳量保證高硬度及形成足夠的碳化物，提高耐磨性和熱硬性。</li>
</ul>
</li>
</ul>
</li>
<li>
<p>典型鋼號</p>
<ul>
<li>9SiCr</li>
</ul>
</li>
<li>
<p>熱處理特點</p>
<ul>
<li>預備熱處理：球化退火</li>
<li>最終熱處理：淬火（830～860°C）→ 低溫回火（180～200°C）。</li>
</ul>
</li>
<li>
<p>組織和性能</p>
<ul>
<li>組織：$M_回＋k＋A'$</li>
<li>硬度：HRC61～63。</li>
</ul>
</li>
<li>
<p>應用</p>
<ul>
<li>丝錐、板牙、鑽頭、鉸刀等。</li>
</ul>
</li>
</ul>
<h4>高速鋼</h4>
<p>在高速切削過程中，刀具的刃部溫度可達 600℃以上，低合金鋼刃具已不能滿足這種要求。</p>
<ul>
<li>
<p>化學成分特點</p>
<ul>
<li>高碳：0.70～1.6%；合金元素：W、Mo、Cr、V、Co 等。
<ul>
<li>高的含碳量形成足夠的碳化物，保證淬硬性；W 提高熱硬性。</li>
</ul>
</li>
</ul>
</li>
<li>
<p>典型鋼號</p>
<ul>
<li>W18Cr4V</li>
</ul>
</li>
<li>
<p>熱處理特點</p>
<ul>
<li>鍛造（使大塊的碳化物破碎）→ 等溫退火（等同於球化退火）→ 淬火（1280°C）→ 回火（560°C，3 次）（消除 A'，得 M，消除二次應力）。</li>
</ul>
</li>
<li>
<p>組織和性能</p>
<ul>
<li>組織：$M_回＋k＋A'$</li>
<li>硬度：＞HRC62。</li>
</ul>
</li>
<li>
<p>應用</p>
<ul>
<li>高速車刀、拉刀、鑽頭等。</li>
</ul>
</li>
</ul>
<p><img src="https://file.nishikori.dev/4uxjnyvp7ewociwsg7.jpg" alt="W18Cr4V 鋼的鑄態組織（組織中含有大量“魚骨”狀碳化物）"></p>
<p><img src="https://file.nishikori.dev/pvmazxs6apghgc4zeb.jpg" alt="W18Cr4V 鋼的退火組織（碳化物基本上呈顆粒狀）"></p>
<p><img src="https://file.nishikori.dev/mruz5if94lmfbkuink.jpg" alt="W18Cr4V 鋼的淬火組織 (M＋k＋A')"></p>
<p><img src="https://file.nishikori.dev/w3qev3ia55yckz1d2c.jpg" alt="W18Cr4V 鋼的回火組織 (M 回＋k＋A'(少量))"></p>
<h2>模具鋼</h2>
<p>模具鋼是製造各種衝模、擠壓模、鍛模等模具的金屬材料。</p>
<p>根據模具的工作條件，模具鋼分為冷作模具鋼和熱作模具鋼兩類。</p>
<h3>模具鋼的性能要求</h3>
<p>保持尺寸精度（或尺寸穩定性）是量具最基本的性能要求。</p>
<ol>
<li>
<p>高的硬度和耐磨性。HRC58～60。</p>
</li>
<li>
<p>高的組織穩定性。儘量減少殘余奧氏體量。</p>
</li>
<li>
<p>良好的耐腐蝕性。</p>
</li>
</ol>
<h3>模具鋼的成分特點</h3>
<ol>
<li>冷作模具鋼</li>
</ol>
<ul>
<li>高碳：以保證高的硬度，並形成足夠多的碳化物以提高耐磨性。</li>
<li>合金元素：Cr、Mo、V、W 等，提高淬透性、細化晶粒。</li>
</ul>
<ol start="2">
<li>熱作模具鋼</li>
</ol>
<ul>
<li>中碳：以保證良好的綜合力學性能。</li>
<li>合金元素：Cr、Ni、Mn、W、Mo、V 等。
<ul>
<li>Cr、Ni、Mn、Mo 提高淬透性；</li>
<li>Cr、Mo 提高回火抗力；</li>
<li>Cr、W、Mo 縮小$\gamma$區，提高$A_1$溫度，提高抗冷熱蠕變性能。</li>
</ul>
</li>
</ul>
<h3>模具鋼分類</h3>
<h4>冷作模具鋼（在冷態下變形的模具）</h4>
<ul>
<li>
<p>化學成分特點</p>
<ul>
<li>高碳：1.4～2.3%；合金元素：Cr、Mo、V、W 等。
<ul>
<li>高的含碳量保證形成足夠的碳化物，提高硬度及耐磨性。</li>
</ul>
</li>
</ul>
</li>
<li>
<p>典型鋼號</p>
<ul>
<li>碳素工具鋼、低合金工具鋼、高碳高鉻的 Cr12 型模具鋼。
<ul>
<li>Cr12MoV（Cr12 型模具鋼）</li>
</ul>
</li>
</ul>
</li>
<li>
<p>熱處理特點</p>
<ul>
<li>預備熱處理：球化退火（850～870°C）</li>
<li>最終熱處理：淬火（980～1030°C）→ 低溫回火（160～180°C）。</li>
</ul>
</li>
<li>
<p>組織和性能</p>
<ul>
<li>組織：$M回＋k＋A'_{ (少量)}$</li>
<li>硬度：HRC61～63。</li>
</ul>
</li>
<li>
<p>應用</p>
</li>
<li>
<p>冷沖模、冷擠壓模、拉絲模等。</p>
</li>
</ul>
<h2>量具鋼</h2>
<p>量具鋼是製造計量工件尺寸的工具的金屬材料。</p>
<h3>量具鋼的性能要求</h3>
<p>保持尺寸精度（或尺寸穩定性）是量具最基本的性能要求。</p>
<ol>
<li>
<p>高的硬度和耐磨性。HRC58～64。</p>
</li>
<li>
<p>高的組織穩定性。盡量減少殘余奧氏體量。</p>
</li>
<li>
<p>良好的耐腐蝕性。</p>
</li>
</ol>
<h3>量具鋼的成分特點</h3>
<ol>
<li>
<p>高碳：以保證高的硬度，並形成足夠多的碳化物以提高耐磨性。</p>
</li>
<li>
<p>合金元素：Cr、Mn、W 等，提高淬透性、耐磨性。</p>
</li>
</ol>
<h3>量具鋼分類</h3>
<h4>量具鋼</h4>
<ul>
<li>
<p>化學成分特點</p>
<ul>
<li>高碳：0.9～1.5%；合金元素：Cr、Mn、W 等。
<ul>
<li>高的含碳量保證形成足夠的合金碳化物提高硬度及耐磨性。</li>
</ul>
</li>
</ul>
</li>
<li>
<p>典型鋼號</p>
<ul>
<li>低合金工具鋼：CrWMn、GCr15</li>
<li>碳素工具鋼：T10、T12</li>
</ul>
</li>
<li>
<p>熱處理特點</p>
<ul>
<li>球化退火→淬火→冷處理 (淬火後繼續冷至－70～－80°C，減少 A')→長時間低溫回火（提高鋼的組織穩定性）→人工時效 (低溫回火後在 120～130°C 長時間保溫，進一步穩定尺寸)</li>
</ul>
</li>
<li>
<p>組織和性能</p>
<ul>
<li>組織：$M回＋k＋A'_{ (少量)}$</li>
<li>硬度：HRC58～64。</li>
</ul>
</li>
<li>
<p>應用</p>
<ul>
<li>游標卡尺、千分尺、直尺、塞尺、塊規等。</li>
</ul>
</li>
</ul>
<h1>特殊鋼</h1>
<h2>不鏽鋼</h2>
<p>不鏽鋼是能抵抗大氣或酸等化學介質腐蝕的鋼種。</p>
<p>不鏽鋼又稱不銹耐酸鋼。</p>
<p>金屬腐蝕的形式：</p>
<ol>
<li>
<p>化學腐蝕</p>
<ul>
<li>是金屬與介質直接發生化學作用的結果，如氧化。</li>
</ul>
</li>
<li>
<p>電化學腐蝕</p>
<ul>
<li>是金屬在電解質中由於形成原電池而引起的腐蝕。</li>
</ul>
</li>
</ol>
<blockquote>
<p>電化學腐蝕是金屬腐蝕的主要形式。</p>
</blockquote>
<h3>合金中的原電池</h3>
<p>在合金中，由於組成合金的相不同，而不同相的電極電位有高有低，因此就會形成無數個原電池。</p>
<p>例如：鋼中的珠光體，由 F 和$Fe_3C$組成，F 的電極電位低，為陽極，$Fe_3C$的電極電位高，為陰極，如果鋼的表面覆蓋了酸性介質（如酸雨），則作為陽極的 F（鋼的基體）就會被腐蝕掉，從而造成鋼的腐蝕。</p>
<h3>防止金屬電化學腐蝕的措施</h3>
<ul>
<li>室溫下獲得單相組織
<ul>
<li>例如：加入＞24%Ni，室溫下可獲得單相奧氏體組織。</li>
</ul>
</li>
<li>提高金屬基體的電極電位
<ul>
<li>例如：加入＞13%Cr，F 的電極電位從－0.56V 跃增至 0.2V。</li>
</ul>
</li>
<li>金屬表面形成鈍化膜
<ul>
<li>例如：加入 Cr、Al、Si 可在金屬的表面形成致密的氧化膜，將金屬與介質分隔開。</li>
</ul>
</li>
</ul>
<h3>不銹鋼分類</h3>
<h4>馬氏體不銹鋼</h4>
<ul>
<li>
<p>化學成分特點</p>
<ul>
<li>碳含量：0.1～0.45%；鉻含量：12～14%（提高 F）</li>
</ul>
</li>
<li>
<p>典型鋼號</p>
<ul>
<li>Cr13 型：1Cr13、2Cr13、3Cr13、4Cr13</li>
<li>隨 C%的增加，強度、硬度增大，但耐腐蝕性降低。</li>
</ul>
</li>
<li>
<p>熱處理特點及組織</p>
<ul>
<li>預備熱處理：完全退火或高溫回火。</li>
<li>最終熱處理：淬火（1000～1100°C）→ 回火。</li>
<li>對 1Cr13、2Cr13：高溫回火（600～700°C），組織：$S_回$。</li>
<li>對 3Cr13、4Cr13：低溫回火（200～300°C），組織：$M_回$。</li>
</ul>
</li>
<li>
<p>應用</p>
<ul>
<li>1Cr13、2Cr13：汽輪機葉片、水壓機閥、鍋爐管附件等耐蝕結構鋼。</li>
<li>3Cr13、4Cr13：醫用手術刀、耐蝕彈簧等耐蝕工具鋼。</li>
</ul>
</li>
</ul>
<h4>鐵素體不銹鋼</h4>
<ul>
<li>
<p>化學成分特點</p>
<ul>
<li>高鉻低碳：碳含量：&lt;0.15，鉻含量：12～30%。</li>
</ul>
</li>
<li>
<p>典型鋼號</p>
<ul>
<li>Cr17 型：1Cr17</li>
<li>隨 Cr%的增加，基體電極電位提高，並在室溫獲得單相 F。</li>
</ul>
</li>
<li>
<p>熱處理特點及組織</p>
<ul>
<li>鐵素體不銹鋼在加熱、冷卻時不發生組織轉變，組織始終為 F，因此不能通過熱處理進行強化。</li>
<li>鐵素體不銹鋼可採用冷塑性變形，通過加工硬化提高強度。</li>
</ul>
</li>
<li>
<p>應用</p>
<ul>
<li>硝酸、氮肥、磷酸工業中的耐蝕零件（強度低）。</li>
</ul>
</li>
</ul>
<h4>奧氏體不銹鋼</h4>
<ul>
<li>
<p>化學成分特點</p>
<ul>
<li>低碳：$\omega_C$＜0.15%；合金元素：Cr%：18%、Ni%：8～11% (Ni 擴大奧氏體區域，室溫下就能得到亞穩的單相奧氏體)。</li>
</ul>
</li>
<li>
<p>典型鋼號</p>
<ul>
<li>18－8 型：1Cr18Ni9Ti</li>
<li>Ti 的作用：防止晶間腐蝕</li>
</ul>
</li>
<li>
<p>熱處理特點及組織</p>
<ul>
<li>固溶處理：1050～1150°C 水冷。獲得單相 A。</li>
<li>穩定化處理：850～900°C、2～4h 空冷。形成 TiC，防止晶界形成 Cr23C6，晶界貧 Cr 引起晶間腐蝕。</li>
<li>去應力處理：300～350°C。</li>
</ul>
</li>
<li>
<p>應用</p>
<ul>
<li>應用廣泛，主要用於製造各類耐蝕的結構零件，如硝酸槽等。</li>
</ul>
</li>
</ul>
<h3>晶間腐蝕</h3>
<p>沿晶界發生的腐蝕稱為晶間腐蝕。</p>
<h4>產生晶間腐蝕的原因（晶界貧鉻理論）</h4>
<p>Cr 的碳化物 Cr23C6 沿晶界析出，導致晶界附近基體貧鉻（即$w_{Cr}$降低），使耐蝕性顯著下降。</p>
<h4>防止晶間腐蝕的措施</h4>
<ul>
<li>加入 Ti
Ti 與 C 的親和力遠大於 Cr 與 C 的親和力，Ti 將優先與 C 形成 TiC，從而可避免 Cr23C6 的形成，從而防止晶間腐蝕。</li>
<li>降低$w_{C}$
降低$w_{C}$可減少 Cr23C6 的形成。</li>
</ul>
<h2>耐熱鋼</h2>
<p>耐熱鋼是指在高溫下具有一定強度和抗氧化、耐腐蝕能力的鋼種。</p>
<h3>耐熱性的兩層涵義</h3>
<ol>
<li>熱穩定性</li>
</ol>
<p>表現為金屬在高溫下的抗氧化能力，即高溫抗氧化性。</p>
<ol start="2">
<li>熱強性</li>
</ol>
<p>表現為金屬在高溫下具有高的強度，即高溫強度。</p>
<h3>蠕變</h3>
<p>金屬在高溫下工作時，隨時間的延長發生極其緩慢的塑性變形的現象。</p>
<p>蠕變發生時，工作應力小於金屬的屈服強度，這在常溫下是不可能發生塑性變形的。</p>
<h3>耐熱鋼種類</h3>
<h4>珠光體耐熱鋼</h4>
<ul>
<li>典型鋼號：12Cr1MoV，工作溫度：350～550°C</li>
<li>熱處理：正火（950～1050°C）→ 高溫回火（600～750°C）。</li>
<li>組織：P+F</li>
<li>應用：鍋爐管等。</li>
</ul>
<h4>馬氏體耐熱鋼</h4>
<ul>
<li>典型鋼號：1Cr13、2Cr13，工作溫度：550～600°C</li>
<li>熱處理：淬火（＞1000°C）→ 高溫回火（600～700°C）。</li>
<li>組織：$S_回$</li>
<li>應用：內燃機葉片、排氣閥等。</li>
</ul>
<h4>奧氏體耐熱鋼</h4>
<ul>
<li>典型鋼號：1Cr18Ni9Ti，工作溫度：600～700°C</li>
<li>熱處理：固溶處理（1050～1150°C 水冷）。</li>
<li>組織：A</li>
<li>應用：汽輪機葉片、內燃機排氣閥等。</li>
</ul>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>工程材料學</category>
            <category>材料工程</category>
            <category>鋼鐵冶金</category>
            <category>合金設計</category>
            <category>熱處理</category>
        </item>
        <item>
            <title><![CDATA[回憶與肯德基新品 - 2024年4月17日]]></title>
            <link>https://nishikori.dev/diary/2024-04-17-2</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-04-17-2</guid>
            <pubDate>Wed, 17 Apr 2024 14:41:40 GMT</pubDate>
            <content:encoded><![CDATA[<p>今天終於動筆寫下了<strong>對癸卯年國慶假期的回憶 - （4）重慶上篇</strong>，坦白來講，這段回憶是美好的，因此在碼字時我的心情實際上是愉悅的。無論如何，當時我們相愛，那段回憶也是寶貴的，即使結局並不美好，我也想去用文字記錄下來，以供我未來能夠繼續懷念。</p>
<p>今天早晨又完成了一項Engineering Materials的實驗「鋼的熱處理組織觀察」。這次實驗的指導老師的氣質很像我在高一時的女友，文弱而又有一絲書生氣——與這一位前任的回憶也令我十分懷念，且與「她」（即我過去常常提到的小女友）不同，我們至今仍然保持朋友的聯繫。在實驗過程中成功畫出了八張圖，且完成的十分完美，得到了老師的誇獎。</p>
<p><img src="https://file.nishikori.dev/IMG_0835.jpeg" alt="熱辣不羈全是肉尊享無餅底「披薩」"></p>
<p>中午嘗試了肯德基的新品，到手的第一感覺是「居然這麼大」，與我對肯德基產品的stereotype並不相同。但味道只能說是中規中矩，可能是因為這是外賣，下面的炸雞排口感並不很好，上面的馬蘇里拉芝士只起到了裝飾作用而沒有貢獻一絲口味，且「麻辣香鍋風味醬」佐料味道似乎太重，導致口味過於單調。</p>
<p>肯德基在中國的經營策略實際上挺有趣，如果未來有時間的話，可能會寫一篇小文章。</p>
<p>因為宿舍裡沒有香菸，於是晚上洗完澡後，我騎著車來到附近的便利店，愉悅地買了盒菸。點上之後輕吸一口，心曠神怡。</p>
<p>今天還是有些疲憊，先去休息了。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[對癸卯年國慶假期的回憶（4）]]></title>
            <link>https://nishikori.dev/diary/2024-04-17</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-04-17</guid>
            <pubDate>Wed, 17 Apr 2024 07:42:09 GMT</pubDate>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[雨 - 2024年4月16日]]></title>
            <link>https://nishikori.dev/diary/2024-04-16</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-04-16</guid>
            <pubDate>Tue, 16 Apr 2024 06:59:46 GMT</pubDate>
            <content:encoded><![CDATA[<h2>學校生活</h2>
<p>今天早晨意外起晚了，匆忙地洗漱收拾好趕到教室，不小心忘記了帶移動電源和線材。</p>
<p>中午鄰近下課卻突然下起暴雨，下午的課又在一點多開始，因而沒有機會去吃午飯。硬撐到了四點多下了課才吃了今天的第一頓飯。</p>
<p>晚上做了幾套托福練習題，一想到考試臨近，還是有些緊張的。</p>
<p>晚飯的菜似乎有些太辣了，剛剛在衛生間有些痛苦。</p>
<p>跟昨天提到的Gameboy Color的賣家溝通過了，通過視頻確定了這台機器確實難得一見，故決定儘快買下。我的遊戲掌機收藏進程邁出了一大步。</p>
<p><img src="https://file.nishikori.dev/IMG_0061.JPG" alt="經過視頻和圖片檢查，這台機器的品相確實太棒了"></p>
<h2>網站建設</h2>
<p>退訂了Google Workspace，無他，價格太貴。本來以為新手套餐是5GBP每月，但後來發現定價其實是5GBP每月每用戶。考慮到自己實際上不會用到太多功能，於是遷移到相對來說價格低很多的GoDaddy企業郵箱服務，每用戶每月僅需1.4USD，開支減少了很多。</p>
<p>今天沒發生什麼大事，就寫到這裡吧。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[熱，熱，熱 - 2024年4月15日]]></title>
            <link>https://nishikori.dev/diary/2024-04-15</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-04-15</guid>
            <pubDate>Mon, 15 Apr 2024 07:47:49 GMT</pubDate>
            <content:encoded><![CDATA[<p>今日所感，用一句話來形容，便是「酷熱無比」。</p>
<p>晨間的體育課，有班級進行了長跑測試，在烈日的炙炸之下，據聞有三四位同學不支倒下。</p>
<p>昨天購買了一些心儀的水果，結果不料花費了我 130HKD，不由得我要感慨一下，當下的物價真是高得驚人。</p>
<p><img src="https://file.nishikori.dev/IMG_9089.jpeg" alt="品嚐了車厘子、當地櫻桃、藍莓及青提，風味平平，無法與其昂貴的價格相匹配"></p>
<p>在如此炎熱的天氣，品嚐冷飲簡直是必不可少。下午課後，我便買了一杯 DQ 的暴風雪冰沙。</p>
<p><img src="https://file.nishikori.dev/IMG_9764.JPG" alt="在宿舍樓外快速拍下這一景，隨後迫不及待地享用了起來"></p>
<p>我還買了一袋冰塊，用以降溫前天購得的香檳，減低了酒體的溫度后，原本的厚實沈重感消失不見，釋放出的香氣與輕爽的口感令人心曠神怡。然而，唯一的不足是，由於條件所限，我只能將冰塊直接加入酒中，而無法對整瓶酒進行冰鎮。</p>
<p><img src="https://file.nishikori.dev/IMG_9823.JPG" alt="在酒杯裡加了冰塊，酒的口感好了一些。但隨著冰塊融化，味道又被稀釋淡了"></p>
<p>跟其他知道有這個博客存在而不知道網域的朋友講到，待我將這個博客更新至十萬字後，便向他們公開網域。而家從後台來看，已有 64,000 餘字（儘管多半是過去幾年所著的散文），希望我能堅持更新，從而儘早能把本博客分享給他們。</p>
<p>成功的實現了郵箱訂閱功能。</p>
<p><s>先去寫作業了，睡前再更新一下。</s></p>
<p>看上了一台成色非常新的 Gameboy Color，正在考慮要不要入手，畢竟價格不算太低，現在正在詢問賣家其他信息，以及聯繫一位比較有經驗的博主來把把關。</p>
<p><img src="https://file.nishikori.dev/IMG_0094.jpeg" alt="晚上喝了些啤酒和香檳，再加上沒有休息，神智有些不清醒，必須要睡覺了"></p>
<p>今天熱了一天，而到了晚上卻開始打起了雷，不知道現在有沒有開始下雨。外面雷聲滾滾，我在室內蓋好被子舒適地躺下，希望今晚能夠有不錯的睡眠。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[鋼的熱處理 (2)]]></title>
            <link>https://nishikori.dev/posts/heat-treatment-of-steel-2</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/heat-treatment-of-steel-2</guid>
            <pubDate>Sun, 14 Apr 2024 16:25:24 GMT</pubDate>
            <description><![CDATA[闡述鋼的退火、正火、淬火與回火等典型熱處理工藝的原理與應用，解析不同加熱與冷卻條件對組織與性能的影響，並介紹感應加熱表面淬火與化學熱處理（滲碳）等表面強化技術，總結鋼的綜合熱處理思路與性能調控機理。]]></description>
            <content:encoded><![CDATA[<h1>鋼的退火與正火</h1>
<h2>退火和正火的目的</h2>
<ol>
<li>調整硬度以便切削加工</li>
</ol>
<ul>
<li>適於機加工的硬度：HB170～230</li>
</ul>
<ol start="2">
<li>消除殘餘內應力</li>
</ol>
<ul>
<li>防止工件淬火時變形或開裂</li>
</ul>
<ol start="3">
<li>
<p>細化晶粒，改善組織</p>
</li>
<li>
<p>為最終熱處理（淬火和回火）作好組織上的準備</p>
</li>
</ol>
<ul>
<li>獲得粒（球）狀珠光體</li>
</ul>
<blockquote>
<p>退火和正火通常屬於預備熱處理。</p>
</blockquote>
<h2>退火</h2>
<p>退火是將鋼加熱至臨界點$A_{c1}$以上或以下溫度，保溫後緩慢冷卻（通常是隨爐冷卻）下來以獲得近於平衡狀態組織的熱處理工藝。</p>
<h3>退火的種類</h3>
<ol>
<li>
<p>完全退火：加熱溫度：$A_{c3} + 20～30^\circ C$。主要用於亞共析鋼。</p>
</li>
<li>
<p>等溫退火：加熱溫度：對亞共析成分的鋼為$A_{c3} + 30～50^\circ C$；對過共析成分的鋼為$A_{c1} + 30～50^\circ C$。主要適用於合金鋼。</p>
</li>
<li>
<p>球化退火：加熱溫度：$A_{c1}$附近。主要用於共析成分和過共析成分的
鋼，是使鋼中的碳化物球狀化的工藝，以獲得粒（球）狀珠光體。</p>
</li>
<li>
<p>擴散退火：加熱溫度：略低於相圖上的固相線。用於消除偏析。</p>
</li>
</ol>
<h2>正火</h2>
<p>正火是將鋼加熱至$A_{c3}$或$A_{ccm} + 30～50^\circ C$溫度，保溫後空冷的熱處理工藝。</p>
<p>與退火相比，正火冷卻速度快，得到較細的 P，強度和硬度也較高。</p>
<h3>正火的主要應用</h3>
<ol>
<li>
<p>消除網狀二次滲碳體</p>
</li>
<li>
<p>作為要求不高的零件的最終熱處理</p>
</li>
<li>
<p>作為低、中碳結構鋼的預備熱處理，改善切削加工性能。</p>
</li>
</ol>
<h2>退火和正火的選用</h2>
<ol>
<li>C%＜0.25% 的低碳鋼宜採用正火代替退火作為預備熱處理。</li>
<li>0.25%＜C%＜0.50% 的中碳鋼，可採用退火或正火作為預備熱處理。</li>
<li>0.50%＜C%＜0.75% 的中、高碳鋼，採用完全退火。</li>
<li>C%＞0.75% 的高碳鋼，首先用正火消除網狀$Fe_3C$，再進行球化退火。</li>
</ol>
<p><img src="https://file.nishikori.dev/bjblxbzrjay6cncgzy.png" alt="常用退火及正火的加熱範圍"></p>
<h1>鋼的淬火與回火</h1>
<h2>淬火</h2>
<p>淬火是將鋼加熱至$A_{c3}$或$A_{c1}$以上一定溫度，保溫後以大於臨界冷卻速度$v_k$冷卻下來，以獲得馬氏體的熱處理工藝。</p>
<p>淬火的目的：獲得馬氏體，提高鋼的力學性能。</p>
<h3>淬火工藝參數的確定</h3>
<h4>淬火加熱溫度</h4>
<p>淬火加熱溫度（或稱淬火溫度）即鋼的奧氏體化溫度。確定原則是獲得均勻細小的奧氏體組織。</p>
<p>淬火加熱溫度可依據$Fe-Fe_3C$相圖選擇。</p>
<p><img src="https://file.nishikori.dev/jblewa5a4ojm2f65tl.png" alt="碳鋼的淬火溫度範圍"></p>
<h5>各類鋼淬火溫度的確定</h5>
<p>亞共析鋼：$A_{c3} + 30～50^\circ C$</p>
<p>共析鋼和過共析鋼：$A_{c1} + 30～50^\circ C$</p>
<p>合金鋼：臨界溫度以上$50～100^\circ C$</p>
<h4>淬火加熱時間</h4>
<p>加熱時間由升溫時間和保溫時間組成。</p>
<p>加熱時間通常根據經驗公式估算或通過實驗確定。</p>
<h4>淬火介質</h4>
<h5>兩個問題</h5>
<ul>
<li>
<p>冷卻速度大，更容易獲得 M。</p>
</li>
<li>
<p>冷卻速度大，內應力更大，工件變形和開裂的傾向大。</p>
</li>
</ul>
<h5>理想淬火介質的冷卻特性</h5>
<ul>
<li>
<p>當冷卻至“鼻尖”溫度前冷卻較慢，以充分降低熱應力。</p>
</li>
<li>
<p>在“鼻尖”溫度附近具有較大的冷卻能力，避免產生非馬氏體組織。</p>
</li>
<li>
<p>在$M_s$點附近冷卻盡量緩慢，以減少 M 轉變時產生的組織應力。</p>
</li>
</ul>
<h5>常用淬火介質</h5>
<ul>
<li>
<p>水：主要適用於碳鋼</p>
</li>
<li>
<p>鹽水：主要適用於碳鋼</p>
</li>
<li>
<p>油：主要適用於合金鋼</p>
</li>
<li>
<p>有機溶液：適用於不同材質</p>
</li>
</ul>
<p><img src="https://file.nishikori.dev/ggnjw6gri027uq31or.png" alt="理想淬火介質的冷卻曲線"></p>
<h3>淬火方法</h3>
<ol>
<li>單液淬火法</li>
</ol>
<p>操作簡單，易實現機械化。用於尺寸不大、形狀簡單的工件。</p>
<p>淬火後組織：M</p>
<ol start="2">
<li>雙液淬火法</li>
</ol>
<p>操作複雜，不易掌握。用於形狀複雜的高碳鋼工件及尺寸較大的合金鋼工件。</p>
<p>淬火後組織：M</p>
<ol start="3">
<li>分級淬火法</li>
</ol>
<p>工藝較複雜。用於尺寸較大、形狀複雜的合金鋼工件。</p>
<p>淬火後組織：M</p>
<ol start="4">
<li>等溫淬火法</li>
</ol>
<p>用於形狀複雜和要求較高的小工件。</p>
<p>淬火後組織：$B_下$</p>
<p><img src="https://file.nishikori.dev/b1k0yhpxgxkkbq6z6i.png" alt="各種淬火方法示意圖"></p>
<h3>鋼的淬透性</h3>
<h4>淬透性的概念</h4>
<p>鋼的淬透性是指奧氏體化後的鋼在淬火時獲得淬透層深度的能力。</p>
<p>簡單地說，淬透性就是鋼淬火時獲得馬氏體的能力。</p>
<h5>淬透性的大小</h5>
<p>淬透性的大小用規定條件下鋼淬火後獲得的淬硬層的深度表示。</p>
<p>淬硬層深度：由工件表面到半馬氏體區域的深度。</p>
<h5>淬透性與淬硬性的區別</h5>
<ul>
<li>
<p>淬透性表示鋼淬火後獲得淬透層深度的能力，是鋼本身的固有屬性。</p>
</li>
<li>
<p>淬硬性表示鋼淬火後能達到的最高硬度，是鋼在淬火時的硬化能力，取決於鋼的含碳量。</p>
</li>
</ul>
<h4>影響淬透性的因素</h4>
<p>決定淬透性的因素是過冷奧氏體的穩定性，即過冷奧氏體的穩定性越高，淬透性越好，反之，淬透性越差。</p>
<p>影響過冷奧氏體的穩定性的因素：C 曲線的位置。</p>
<blockquote>
<p>凡是使鋼的 C 曲線向右移的因素，均提高鋼的淬透性。</p>
</blockquote>
<blockquote>
<p>影響淬透性的主要因素是鋼的化學成分：除 Co 外，所有溶入奧氏體中的合金元素均提高淬透性。</p>
</blockquote>
<h4>淬透性的測定及其表示方法</h4>
<ol>
<li>
<p>末端淬火法——通過端淬試驗測定淬透性，淬透性的數值為$J\frac{HRC}{d}$ 。</p>
</li>
<li>
<p>臨界淬透直徑法——用鋼在某種淬火介質中能夠完全淬透的最大直徑 D0 表示。</p>
</li>
</ol>
<h2>回火</h2>
<p>回火是將淬火鋼加熱到 Ac1 以下某一溫度，保溫後再冷卻到室溫的一種熱處理工藝。</p>
<p>回火的目的：</p>
<ol>
<li>
<p>降低或消除殘餘內應力，防止工件變形或開裂。
淬火鋼內部應力高、脆性大，直接應用有變形甚至開裂的危險。</p>
</li>
<li>
<p>減少或消除殘餘奧氏體，穩定工件尺寸。
馬氏體和殘餘奧氏體是亞穩定組織，在一定條件下要發生轉變。</p>
</li>
<li>
<p>調整工件的組織和性能，滿足工件的使用要求。
淬火鋼的硬度高且脆性大，通過回火可調整組織和性能。</p>
</li>
</ol>
<blockquote>
<p>鋼淬火後應及時回火。</p>
</blockquote>
<h3>回火工藝</h3>
<ol>
<li>低溫回火</li>
</ol>
<ul>
<li>
<p>回火溫度：$150～250^\circ C$。</p>
</li>
<li>
<p>回火組織：$M_回$，具有高的硬度。</p>
</li>
<li>
<p>硬度：HRC58～64。</p>
</li>
<li>
<p>應用：各種工具、模具、軸承、滲碳工件、表面淬火工件等。</p>
</li>
</ul>
<ol start="2">
<li>中溫回火</li>
</ol>
<ul>
<li>
<p>回火溫度：$350～500^\circ C$。</p>
</li>
<li>
<p>回火組織：$T_回$，具有高的彈性、屈服強度和屈強比，又有足夠韌性。</p>
</li>
<li>
<p>硬度：HRC35～45。</p>
</li>
<li>
<p>應用：各種彈簧。</p>
</li>
</ul>
<ol start="3">
<li>高溫回火</li>
</ol>
<ul>
<li>
<p>回火溫度：$500～600^\circ C$。</p>
</li>
<li>
<p>回火組織：$S_回$，具有良好的綜合力學性能。</p>
</li>
<li>
<p>硬度：HRC25～35。</p>
</li>
<li>
<p>應用：各種軸、齒輪、連桿等。</p>
</li>
<li>
<p>調質：淬火加高溫回火稱為調質處理，簡稱調質。</p>
</li>
</ul>
<h3>回火脆性</h3>
<p>淬火鋼在某些溫度回火時，其沖擊韌性顯著下降的現象稱為回火脆性。</p>
<ol>
<li>第一類回火脆性</li>
</ol>
<ul>
<li>
<p>出現的溫度範圍：$250～350^\circ C$。</p>
</li>
<li>
<p>特點：淬火鋼一旦在這一溫度範圍回火，就極可能產生這類回火脆性，且無法消除。</p>
</li>
<li>
<p>解決辦法：避免將淬火鋼在該溫度範圍內回火。</p>
<blockquote>
<p>第一類回火脆性又稱為低溫回火脆性、不可逆回火脆性。</p>
</blockquote>
</li>
</ul>
<ol start="2">
<li>第二類回火脆性</li>
</ol>
<ul>
<li>
<p>出現的溫度範圍：$500～650^\circ C$。</p>
</li>
<li>
<p>特點：淬火鋼在這一溫度範圍內回火後，如果緩冷則會出現回火脆
性，如果快冷則不產生回火脆性。</p>
</li>
<li>
<p>解決辦法：產生第二類回火脆性的鋼可重新回火後進行快速冷卻。</p>
<blockquote>
<p>第二類回火脆性又稱為高溫回火脆性、可逆回火脆性。</p>
</blockquote>
</li>
</ul>
<p><img src="https://file.nishikori.dev/p1zm1li7rzoq1vyi0p.png" alt="鋼的沖擊韌性與回火溫度的關係"></p>
<h1>鋼的表面熱處理</h1>
<h2>鋼的表面淬火</h2>
<p>表面淬火是將鋼快速加熱至奧氏體化溫度，然後快速冷卻，僅使工件表面層獲得淬火組織（M），而心部仍保持工件原始組織的熱處理工藝。</p>
<p>表面淬火的目的：賦予工件“外硬內韌”的性能。</p>
<h3>表面淬火用材料及表面淬火後的組織</h3>
<h4>表面淬火用材料</h4>
<p>典型材料：中碳鋼和中碳合金鋼。</p>
<h4>預備熱處理</h4>
<p>典型工藝：調質處理。如果心部性能要求不高，可採用正火。</p>
<h4>表面淬火後的組織</h4>
<p>預備熱處理為調質：表面$M_回$，心部$S_回$。</p>
<p>預備熱處理為正火：表面$M_回$，心部 F＋S。</p>
<h3>感應加熱表面淬火</h3>
<p>感應加熱表面淬火是生產實際中應用最廣泛的表面淬火工藝。</p>
<h4>感應加熱表面淬火的基本原理</h4>
<p>集皮效應：當感應線圈中的交變電流在工件表面感生出感應電流時，該感應電流絕大部分分佈在工件表面，而工件內部幾乎沒有電流通過，這種現象稱為集皮效應。</p>
<p>感應加熱表面淬火原理：基於集皮效應，工件表面被迅速加熱到奧氏體化溫度（幾秒鐘即升至 $800～1000^\circ C$），而工件內部幾乎未被加熱，隨後噴水冷，實現表面淬火。</p>
<p>感應電流透入工件表面層的深度：取決於交變電流的頻率。</p>
<p>$\delta= 503\sqrt{\frac{\rho}{\mu f}}$</p>
<blockquote>
<p>$\delta$ ：感應電流的透入深度（$mm$）；</p>
<p>$\rho$ ：工件的電阻率（$4\Omega \cdot mm^2/m$）；</p>
<p>$\mu$：工件的磁導率（$H/m4$）</p>
<p>$f$：交變電流的頻率（$Hz$）。</p>
</blockquote>
<h4>感應加熱表面淬火的種類</h4>
<ol>
<li>高頻感應加熱：</li>
</ol>
<ul>
<li>
<p>電流頻率：250～300kHz。</p>
</li>
<li>
<p>淬硬層深度：0.5～2.0mm。</p>
</li>
<li>
<p>應用：中、小模數齒輪及中、小尺寸的軸件。</p>
</li>
</ul>
<ol start="2">
<li>中頻感應加熱：</li>
</ol>
<ul>
<li>
<p>電流頻率：2500～8000kHz。</p>
</li>
<li>
<p>淬硬層深度：2～10mm。</p>
</li>
<li>
<p>應用：較大尺寸的軸和大、中模數齒輪。</p>
</li>
</ul>
<ol start="3">
<li>工頻感應加熱：</li>
</ol>
<ul>
<li>
<p>電流頻率：50Hz。</p>
</li>
<li>
<p>淬硬層深度：10～15mm。</p>
</li>
<li>
<p>應用：要求淬硬層很深的工件。</p>
</li>
</ul>
<h4>感應加熱表面淬火的特點</h4>
<ul>
<li>
<p>加熱溫度高，加熱時間短，升溫快。可實現“短時快速加熱”。</p>
</li>
<li>
<p>工件表層 A 晶粒細小。淬火後，表層多為隱晶馬氏體，硬度比普通淬火高 HRC2～3。</p>
</li>
<li>
<p>工件表面質量好。加熱時間，不易氧化和脫碳，淬火變形小。</p>
</li>
</ul>
<h2>鋼的化學熱處理</h2>
<p>化學熱處理是將鋼放在一定的活性介質中加熱和保溫，使介質中的活性原子滲入工件表層，從而改變工件表面化學成分和組織，進而改變其性能的熱處理工藝。</p>
<p>化學熱處理的目的：賦予工件“外硬內韌”的性能。</p>
<h3>化學熱處理的基本過程</h3>
<ol>
<li>
<p>分解——加熱時，活性介質分解出活性原子。</p>
</li>
<li>
<p>吸收——活性原子被鋼件表面吸附並向鋼的固溶體中溶解。</p>
</li>
<li>
<p>擴散——鋼件表面吸收並溶解的活性原子向內部遷移。</p>
</li>
</ol>
<h3>滲碳</h3>
<p>滲碳是將低碳鋼（0.1～0.25%C）置於高碳介質中加熱、保溫，使工件表面獲得高碳成分的化學熱處理工藝。</p>
<p>滲碳的目的：提高工件表層的C%，從而提高表面硬度和耐磨性、疲勞強度，同時保持心部的良好韌性。</p>
<h4>滲碳方法</h4>
<p>主要有氣體滲碳、固體滲碳和液體滲碳三種。最常用的是氣體滲碳。</p>
<p>氣體滲碳是將工件置於密封的氣體滲碳爐內，加熱使其奧氏體化，然後向爐內滴入滲碳劑或直接通入滲碳氣氛，使碳原子滲入到工件表層，進而提高工件表層的C%。</p>
<ul>
<li>
<p>滲碳溫度：$920～950^\circ C$</p>
</li>
<li>
<p>滲碳層表面含碳量：以0.85～1.05%為宜。</p>
</li>
<li>
<p>滲碳層深度：一般為0.5～2.5mm。可根據工件承載能力確定。</p>
</li>
</ul>
<h4>滲碳後的熱處理</h4>
<p>淬火＋低溫回火。</p>
<ol>
<li>預冷直接淬火＋低溫回火</li>
</ol>
<ul>
<li>將工件從滲碳溫度預冷至略高於$A_{r1}$的溫度後立即淬火，然後在$160～180^\circ C$下低溫回火。</li>
</ul>
<ol start="2">
<li>預冷一次淬火＋低溫回火</li>
</ol>
<ul>
<li>將工件滲碳後先緩冷至室溫，然後再重新加熱進行淬火和低溫回火。</li>
</ul>
<ol start="3">
<li>預冷二次淬火＋低溫回火</li>
</ol>
<ul>
<li>滲碳緩冷後進行兩次加熱淬火，最後進行低溫回火。</li>
</ul>
<h4>滲碳熱處理後滲層及心部的組織與性能</h4>
<ol>
<li>表層：高碳$M_回$＋滲碳體＋$A'$（少量），HRC58～62。</li>
</ol>
<ul>
<li>工件表層具有高的硬度、耐磨性和疲勞強度。</li>
</ul>
<ol start="2">
<li>心部：淬透時：低碳$M_回$。</li>
</ol>
<ul>
<li>
<p>未淬透時：F＋S。</p>
</li>
<li>
<p>工件心部具有良好的韌性和足夠的強度。</p>
</li>
</ul>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>工程材料學</category>
            <category>熱處理</category>
            <category>退火</category>
            <category>正火</category>
            <category>淬火</category>
            <category>回火</category>
            <category>表面處理</category>
            <category>滲碳</category>
        </item>
        <item>
            <title><![CDATA[鋼的熱處理 (1)]]></title>
            <link>https://nishikori.dev/posts/heat-treatment-of-steel-1</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/heat-treatment-of-steel-1</guid>
            <pubDate>Sun, 14 Apr 2024 14:35:01 GMT</pubDate>
            <description><![CDATA[介紹鋼的熱處理基本原理與組織轉變機制，闡述奧氏體形成、過冷奧氏體的穩定性、TTT與CCT曲線特徵，以及珠光體、貝氏體與馬氏體三種典型轉變產物的形成條件與性能差異，為後續退火、正火、淬火與回火等工藝奠定理論基礎。]]></description>
            <content:encoded><![CDATA[<p>钢铁材料是工程材料中最重要的材料之一，在機械製造業中的比例達到 90% 左右，在汽車製造業中的比例達到 70%，在其他製造業中也是最重要的材料之一。</p>
<p>改善鋼鐵材料性能的途徑：</p>
<ol>
<li>
<p>合金化——通過在鋼中加入合金元素，調整鋼的化學成分，從而獲得優良的性能。</p>
</li>
<li>
<p>熱處理——將金屬在固態下經加熱、保溫和冷卻，以改變金屬的內部組織和結構，從而獲得優良的性能。</p>
</li>
</ol>
<blockquote>
<p>也可以這麼認為：</p>
<p>合金化：改變原子種類（形成固溶體或引入金屬化合物）</p>
<p>熱處理：改變原子排列方式（通常得到非平衡組織，除退火外）</p>
</blockquote>
<h1>熱處理的基本概念</h1>
<h2>熱處理的定義</h2>
<p>熱處理是指金屬在固態下經加熱、保溫和冷卻，以改變金屬的內部組織和結構，從而獲得所需性能的一種工藝過程。</p>
<p><img src="https://file.nishikori.dev/tpjdx41uk1d1ft7yxq.png" alt=""></p>
<h2>熱處理的三大要素</h2>
<ol>
<li>
<p>加熱——目的是獲得均勻細小的奧氏體組織。</p>
</li>
<li>
<p>保溫——目的是保證工件燒透，並防止脫碳和氧化等。</p>
</li>
<li>
<p>冷卻——目的是使奧氏體轉變為不同的組織。</p>
</li>
</ol>
<h3>熱處理後的組織</h3>
<p>加熱、保溫後的奧氏體在隨後的冷卻過程中，根據冷卻速度的不同將
轉變成不同的組織。不同的組織具有不同的性能。</p>
<h3>熱處理的特點</h3>
<p>熱處理不改變工件的形狀，僅改變鋼的內部組織和結構，從而改變鋼的性能。</p>
<blockquote>
<p>材料是否能夠通過熱處理而改善其性能，關鍵條件是材料在加熱和冷卻過程中是否發生組織和結構的變化。</p>
</blockquote>
<h2>熱處理的類型</h2>
<h3>按加熱、冷卻方式及鋼的組織、性能不同分類</h3>
<p><img src="https://file.nishikori.dev/udiu5lrx04p6x79juq.png" alt=""></p>
<h3>按熱處理在工件生產過程中的位置和作用不同分類</h3>
<p><img src="https://file.nishikori.dev/qjg21wklm4ken8mf84.png" alt="鐵 - 滲碳體相圖的共析轉變部分"></p>
<h2>鋼的臨界轉變溫度</h2>
<p>鋼的臨界轉變溫度是鋼在熱處理時制定加熱、保溫、冷卻工藝的重要依據，由鐵碳合金相圖確定。</p>
<p><img src="https://file.nishikori.dev/bvyn902kdwao4ls500.png" alt=""></p>
<p>鋼的實際臨界轉變溫度總是滯後於理論臨界轉變溫度，即加熱時需要過熱，冷卻時需要過冷。</p>
<h1>鐵在加熱時的轉變</h1>
<p><strong>兩種加熱方式</strong>：</p>
<ol>
<li>
<p>在臨界溫度$A_{c1}$以上的加熱——發生相變</p>
</li>
<li>
<p>在臨界溫度$A_{c1}$以下的加熱——不發生相變</p>
</li>
</ol>
<p>第一種加熱過程，目的是使鋼從室溫組織（如珠光體）轉變為奧氏體，即獲得奧氏體組織。該過程稱為鋼的奧氏體化。</p>
<blockquote>
<p>關鍵：均勻 + 細小</p>
</blockquote>
<h2>奧氏體的形成過程（奧氏體化）</h2>
<h3>共析鋼</h3>
<p>共析鋼奧氏體的形成是一個形核和長大的過程，是滲碳體（$Fe_3C$）溶解、鐵素體（$F$）向奧氏體（$A$）的晶格改組，以
及碳（$C$）在奧氏體中擴散的過程。</p>
<p><img src="https://file.nishikori.dev/1c3f34x9ejnvlvauyf.png" alt="珠光體向奧氏體轉變的過程"></p>
<p>共析鋼奧氏體化的四個基本過程：</p>
<ol>
<li>
<p>奧氏體的形核</p>
</li>
<li>
<p>奧氏體的長大</p>
</li>
<li>
<p>殘餘$Fe_3C$的溶解</p>
</li>
<li>
<p>奧氏體成分的均勻化</p>
</li>
</ol>
<h3>亞共析鋼和過共析鋼</h3>
<p>奧氏體化過程與共析鋼基本相同。但由於先共析$\alpha$或二次$Fe_3C$的存在，要獲得全部奧氏體組織，必須相應加熱到$Ac_3$或$Ac_{cm}$以上。</p>
<ol>
<li>奧氏體的形核——A 晶核優先在 F/Fe3C 相界處形成。</li>
</ol>
<blockquote>
<p>原因：</p>
<ol>
<li>
<p>能量起伏——相界處晶格畸變較大，能量較高，有利於獲得 A 形核所需的能量要求。</p>
</li>
<li>
<p>結構起伏——相界處晶格畸變較大，原子排列不規則，有利於獲得奧氏體的 fcc 結構要求。</p>
</li>
<li>
<p>成分起伏——相界處碳濃度相差較大，有利於獲得 A 形核所需的碳濃度要求。</p>
</li>
</ol>
</blockquote>
<ol start="2">
<li>
<p>奧氏體的長大——A 晶核形成後，將通過 F→A 轉變和$Fe_3C$溶入 A 的過程不斷長大。</p>
</li>
<li>
<p>殘餘$Fe_3C$的溶解——$Fe_3C$的溶解落後於 F→A 轉變，需要殘餘的 $Fe_3C$繼續溶入 A。</p>
</li>
<li>
<p>奧氏體成分的均勻化——殘餘的$Fe_3C$溶解結束後，A 成分極不均勻，原 F 區域 C%低，原$Fe_3C$區域 C%高。通過保溫，使碳原子充分擴散，奧氏體成分最終均勻化。</p>
</li>
</ol>
<h2>奧氏體晶粒的長大及其影響因素</h2>
<p>奧氏體晶粒的大小關係到隨後冷卻的組織的粗細程度，對鋼的性能有著重大的影響。控制奧氏體晶粒度具有重要的意義。</p>
<h3>影響因素</h3>
<ol>
<li>加熱溫度和保溫時間——加熱溫度越高、保溫時間越長，A 晶粒越粗大。其中，溫度的影響尤為顯著。</li>
</ol>
<blockquote>
<p>過熱組織：因加熱溫度過高而導致的粗大晶粒組織。</p>
</blockquote>
<ol start="2">
<li>加熱速度——加熱速度越快，A 晶粒越細小。</li>
</ol>
<blockquote>
<p>短時快速加熱工藝：生產上獲得超細晶粒的重要手段之一。</p>
</blockquote>
<ol start="3">
<li>碳化物形成元素_鋼中有碳化物形成元素時，鋼組織中存在的細小碳化物可阻礙晶粒的長大，從而使 A 晶粒細化。</li>
</ol>
<blockquote>
<p>碳化物形成元素：Ti、V、Nb、W、Mo、Cr 等。含有上述元素的鋼均是本質細晶粒鋼。</p>
</blockquote>
<ol start="4">
<li>Mn、P 等元素—— 促進 A 晶粒長大，易產生過熱組織。</li>
</ol>
<h1>鋼在冷卻時的轉變</h1>
<p><img src="https://file.nishikori.dev/3evrwkgd6k3f97x63h.png" alt=""></p>
<h2>兩種冷卻方式</h2>
<ol>
<li>
<p>等溫冷卻——先將 A 快速冷至臨界溫度以下某一溫度，然後 A 在該溫度下完成組織轉變，最後再冷卻至室溫。</p>
</li>
<li>
<p>連續冷卻——A 在逐漸降溫至室溫的過程中轉變成其他組織。</p>
</li>
</ol>
<blockquote>
<p>過冷奧氏體：奧氏體被過冷至臨界溫度以下即處於不穩定狀態，即將發生分解（即奧氏體轉變為其他組織轉變）。這種狀態的奧氏體稱過冷奧氏體。</p>
</blockquote>
<h2>過冷奧氏體轉變曲線</h2>
<p><img src="https://file.nishikori.dev/anbjfrrkn7igje4pcb.png" alt=""></p>
<h3>過冷奧氏體等溫轉變曲線（TTT 曲線/C 曲線）</h3>
<p>以共析鋼為例。</p>
<h4>C 曲線分析</h4>
<p><img src="https://file.nishikori.dev/fn17ccihk2a1ro4jy1.png" alt=""></p>
<ol>
<li>
<p>$A_1$以上為奧氏體區域。</p>
</li>
<li>
<p>兩個“C”分別是過冷奧氏體轉變開始線和轉變終了線。</p>
</li>
<li>
<p>$A_1$以下、$M_s$以上、轉變開始線以左的區域是過冷奧氏體區。</p>
</li>
<li>
<p>轉變開始前需要一定的時間，稱孕育期。C 曲線的“鼻尖”處孕育期最短，其溫度大致是$550^\circ C$。</p>
</li>
<li>
<p>C 曲線由上至下分三個區域：珠光體轉變、貝氏體轉變、馬氏體轉變。</p>
</li>
<li>
<p>以恰好與&quot;鼻尖&quot;相切的冷卻速度將鋼冷卻下來時，過冷 A 將不發生 P 和 B 轉變，鋼冷卻後的組織為 M。這一冷卻速度$ v_k $稱為鋼的臨界冷卻速度。</p>
</li>
</ol>
<h4>影響 C 曲線的因素</h4>
<p>各種不同因素對 C 曲線的影響體現在對 C 曲線在坐標平面上的位置和形狀的影響。具體表現在：</p>
<ol>
<li>
<p>C 曲線是向左移，還是向右移。</p>
</li>
<li>
<p>C 曲線是否發生形狀的變化。如變成上下兩個 C 曲線。</p>
</li>
</ol>
<p>::: grid{cols=2, gap=12}</p>
<p><img src="https://file.nishikori.dev/wl2du8gtoy2551cktx.png" alt="C 曲線向左或向右移動"></p>
<p><img src="https://file.nishikori.dev/34cgd9ksqjf2ikvrlq.png" alt="C 曲線從鼻尖處分開"></p>
<p>:::</p>
<blockquote>
<p>過冷奧氏體越穩定，C 曲線越向右移。</p>
</blockquote>
<p>影響因素主要有：</p>
<ol>
<li>
<p>含碳量的影響——對亞共析鋼：C%↑，C 曲線向右移；對過共析鋼：C%↑，C 曲線向左移。共析鋼過冷奧氏體最穩定。</p>
</li>
<li>
<p>合金元素的影響——除 Co 外，所有溶入 A 的合金元素均使 C 曲線向右移。一些碳化物形成元素還將改變 C 曲線的形狀。例如元素 Cr。</p>
</li>
<li>
<p>奧氏體化條件的影響——隨 A 化溫度的提高和保溫時間的延長，C 曲線向右移。</p>
</li>
</ol>
<h3>過冷奧氏體連續轉變曲線（CCT 曲線）</h3>
<p><img src="https://file.nishikori.dev/9k3xoj3f3hr64piov4.png" alt=""></p>
<p>CCT 曲線，以共析鋼為例：</p>
<ol>
<li>
<p>CCT 曲線中只有 P 和 M 轉變，沒有 B 轉變。</p>
</li>
<li>
<p>CCT 曲線中除 A→P 轉變開始和終了線外，多了一條中止線。</p>
</li>
</ol>
<blockquote>
<p>中止線的意義：當冷卻曲線碰到該線時，A→P 轉變終止，未轉變的 A 將隨後轉變為 M。</p>
</blockquote>
<ol start="3">
<li>
<p>$ v_k $稱為 CCT 曲線的臨界冷卻速度，它是獲得全部 M 組織（實際上還含有少量的 A'）的最小冷卻速度。</p>
</li>
<li>
<p>冷卻速度大於$ v_k $k時，轉變得到 M；冷卻速度小於$ v'_k $時，轉變得到 P；冷卻速度大於$ v_k' $而小於$ v_k' $時，轉變得到 P＋M。</p>
</li>
<li>
<p>臨界冷卻速度越小，奧氏體越穩定，越容易獲得 M 組織。這對淬火工藝操作具有十分重要的意義。</p>
</li>
</ol>
<h2>過冷奧氏體的轉變產物及轉變過程</h2>
<h4>珠光體（Pearlite）</h4>
<p>符號：P</p>
<p>加熱後的奧氏體以緩慢的冷卻速度冷卻至室溫，或過冷奧氏體在較高的溫度下等溫時，奧氏體將轉變成珠光體。</p>
<p>典型的冷卻方式：爐冷（退火）</p>
<p>珠光體相比馬氏體和貝氏體，其強度和硬度較低。</p>
<h4>馬氏體（Martensite）</h4>
<p>符號：M</p>
<p>過冷奧氏體以極快的冷卻速度冷卻至室溫，奧氏體將轉變成馬氏體。</p>
<p>典型的冷卻方式：水冷或油冷（淬火）</p>
<p>馬氏體具有很高的強度和硬度。</p>
<h4>貝氏體（Bainite）</h4>
<p>符號：B</p>
<p>過冷奧氏體在中等溫度範圍內等溫時，奧氏體將轉變成貝氏體。</p>
<p>貝氏體的強度和硬度介於珠光體和馬氏體之間。</p>
<h3>珠光體轉變</h3>
<p>珠光體在臨界溫度以下的較高溫度範圍（$A_{r1}-550^\circ C$）形成。</p>
<h4>珠光體的組織形態</h4>
<ol>
<li>
<p>片層狀珠光體（簡稱片狀珠光體）——片狀珠光體是相間排列成層片形態的鐵素體與滲碳體的機械混合物。</p>
</li>
<li>
<p>粒狀珠光體（又稱球狀珠光體）——粒狀珠光體是顆粒狀滲碳體分布在鐵素體基體中的機械混合物。</p>
</li>
</ol>
<h4>珠光體的性能</h4>
<p>珠光體的性能與組織的粗細程度密切相關：片間距越小，片狀珠光體的硬度和強度越大、塑性和韌性越好；滲碳體顆粒越細小，分布越弥散均匀，粒狀珠光體的硬度和強度越大。</p>
<p>:::grid{cols=2, gap=12}</p>
<p><img src="https://file.nishikori.dev/foc7kxd87z1yu4cp03.jpg" alt="片狀珠光體"></p>
<p><img src="https://file.nishikori.dev/cne6bpa16g556zwr6o.jpg" alt="粒（球）狀珠光體"></p>
<p>:::
片狀珠光體的片間距 ($s_0$) 與其形成溫度或冷卻速度有關：</p>
<ul>
<li>
<p>形成溫度越低，$s_0$越小。</p>
</li>
<li>
<p>冷卻速度越大，$s_0$越小。</p>
</li>
</ul>
<p>根據片間距 ($s_0$)，片狀珠光體可分為：</p>
<p>珠光體（P）：$s_0＝0.60-1.0\mu m$，形成溫度為$A_{r1}-650^\circ C$</p>
<blockquote>
<p>金相顯微鏡 400～500 倍即可</p>
</blockquote>
<p>索氏體（S）：$s_0＝0.25-0.3\mu m$，形成溫度為$650-600^\circ C$;</p>
<blockquote>
<p>金相顯微鏡 800～1000 倍才可</p>
</blockquote>
<p>托氏體（T）,又叫屈氏體：$s_0＝0.10-0.15\mu m$，形成溫度為$600-550^\circ C$</p>
<blockquote>
<p>金相顯微鏡 無法觀察</p>
</blockquote>
<h4>珠光體的轉變過程</h4>
<p>珠光體轉變（即 A→P 轉變）是一個形核和長大的過程，是碳原子重新分佈和晶格重構的過程。</p>
<p>以共析鋼片狀珠光體的形成為例。</p>
<p><img src="https://file.nishikori.dev/owwz8l6uqc7rnsn3yp.png" alt="片層狀珠光體的轉變過程"></p>
<blockquote>
<p>珠光體轉變是典型的擴散型相變：珠光體形成時，碳原子和鐵原子均需進行長程擴散。</p>
</blockquote>
<h3>馬氏體轉變</h3>
<p>馬氏體是碳溶解在體心立方晶格的$\alpha-Fe$中形成的過飽和間隙固溶體。</p>
<p>馬氏體轉變在臨界溫度以下的較低溫度範圍內進行。</p>
<h4>馬氏體的晶體結構</h4>
<p>馬氏體的晶體結構屬體心正方晶格（bct）。</p>
<p>由於馬氏體含碳過飽和，導致 bcc 晶格畸變成 bct 晶格。因此 bct 晶格可以看成是 bcc 晶格沿 c 軸的伸長。c/a 稱為馬氏體的正方度。</p>
<p>c/a 與 C%有關：C%越高，c/a 越大；C%越低，c/a 越小。</p>
<blockquote>
<p>馬氏體含碳量越高，其正方度越大，晶格畸變越嚴重，故硬度越高。</p>
</blockquote>
<p>鋼中獲得馬氏體組織是強化鋼鐵材料的重要手段之一。</p>
<h4>馬氏體的組織形態</h4>
<p><strong>板條狀馬氏體（簡稱板條馬氏體）</strong>：</p>
<p>板條馬氏體呈條片狀，由許多成群的平行馬氏體板條束組成。</p>
<p>板條馬氏體主要出現在低碳鋼中。</p>
<p>板條馬氏體的亞結構為高密度的位錯。</p>
<p>板條馬氏體又稱低碳馬氏體、位錯馬氏體。</p>
<p><img src="https://file.nishikori.dev/i67eidgk0yc0e18a4e.png" alt="板條馬氏體金相組織"></p>
<p><strong>針狀馬氏體（又稱片狀馬氏體）</strong>：</p>
<p>針狀馬氏體呈針片狀或竹葉狀，立體形態呈透鏡狀。</p>
<p>針狀馬氏體主要出現在高碳鋼中。</p>
<p>針狀馬氏體的亞結構為孪晶。</p>
<p>針狀馬氏體又稱高碳馬氏體、孪晶馬氏體。</p>
<p><img src="https://file.nishikori.dev/icoj0zvu6wl09djje0.png" alt="針狀（片狀）馬氏體金相組織"></p>
<blockquote>
<p>馬氏體“針”或“片”的粗細主要取決於奧氏體的晶粒度。</p>
</blockquote>
<p><strong>隱晶馬氏體</strong>：</p>
<p>當奧氏體的晶粒非常細小，以至於在光學顯微鏡下難以分辨出馬氏體的針狀特徵。這種馬氏體稱為隱晶馬氏體。</p>
<h6>影響馬氏體形態的因素</h6>
<p><img src="https://file.nishikori.dev/wdet7fr8vhcld9pjf1.png" alt=""></p>
<p>當 C%＜0.2%，馬氏體轉變後的組織中幾乎全部是板條馬氏體；</p>
<p>當 C%＞1.0%，馬氏體轉變後的組織中幾乎全部是針狀馬氏體；</p>
<p>當 0.2%＜C%＜1.0%，馬氏體轉變後的組織中既有板條馬氏體，也有針狀馬氏體。</p>
<h4>馬氏體的性能</h4>
<p>馬氏體的性能主要取決於含碳量和組織形態。</p>
<ol>
<li>
<p>含碳量的影響——C%高則硬度和強度高，但脆性大。高碳針狀馬氏體“硬而脆”。</p>
</li>
<li>
<p>組織形態的影響——針狀馬氏體塑性和韧性差，而板條馬氏體韧性好，且具足夠的強度。低碳板條馬氏體“強而韧”。</p>
</li>
</ol>
<p><strong>馬氏體的硬度與淬火鋼的硬度之間的關係</strong>：</p>
<p>馬氏體的硬度由含碳量決定，淬火鋼的硬度與馬氏體轉變結束後鋼中馬氏體的相對量和未轉變組織的相對量有關，即隨淬火鋼中未轉變組織的相對量增多，硬度下降。</p>
<h4>馬氏體轉變的特點</h4>
<p>馬氏體轉變同樣是一個形核和長大的過程。</p>
<ol>
<li>無擴散性</li>
</ol>
<ul>
<li>Fe、C、Me（合金元素）的原子均不進行長程擴散。</li>
<li>$\gamma$（fcc）→ M（bct）的晶格重組由原子集體的、有規律的近程遷移而完成。</li>
<li>轉變前後合金的化學成分不變。</li>
</ul>
<blockquote>
<p>馬氏體轉變是典型的非擴散型相變。</p>
</blockquote>
<ol start="2">
<li>共格切變性和表面浮凸現象</li>
</ol>
<ul>
<li>$\gamma$（fcc）→ M（bct）的晶格重組以切變方式進行。</li>
<li>新相（M）與母相（$\gamma$）保持共格關係。</li>
</ul>
<p>:::grid{cols=2, gap=12}</p>
<p><img src="https://file.nishikori.dev/a61q497aohncfq3vme.png" alt="轉變的切變結果——在原拋光的表面產生浮凸現象"></p>
<p><img src="https://file.nishikori.dev/5ev4csandjub2mr80j.png" alt="新相與母相的共格關係——相界上的原子為兩個相共有"></p>
<p>:::</p>
<ol start="3">
<li>在不斷降溫的過程中形成</li>
</ol>
<ul>
<li>馬氏體轉變在一個溫度範圍內完成，冷卻中斷，轉變立即停止。</li>
<li>馬氏體轉變開始的溫度稱為$M_s$點，轉變終了的溫度稱為$M_f$點。</li>
<li>$M_s$點和$M_f$點主要取決於奧氏體中的含碳量（C%）和合金元素的含量（Me%）。</li>
</ul>
<blockquote>
<ul>
<li>C%增多，Ms 点和 Mf 点降低。</li>
<li>除 Al、Co 外，Me%增多，$M_s$點和$M_f$點降低。</li>
<li>C%增多，殘余奧氏體增多</li>
</ul>
</blockquote>
<ol start="4">
<li>高速長大</li>
</ol>
<ul>
<li>馬氏體形成速度極快，瞬間形核、瞬間長大，速度接近聲速。</li>
</ul>
<ol start="5">
<li>馬氏體轉變的不完全性</li>
</ol>
<ul>
<li>即使溫度降低至$M_f$以下，奧氏體也不能 100% 轉變為馬氏體。</li>
</ul>
<p>殘餘奧氏體：</p>
<p>$\gamma$→M 轉變結束後，總有部分奧氏體未轉變而殘留下來，這部分奧氏體稱為殘餘奧氏體，記作$A'$、$\gamma'$或 $\gamma_R$。</p>
<p>重要結論：</p>
<ol>
<li>
<p>淬火鋼中$A'$的含量隨 C%和 Me%（除 Al、Co 外）的增加而增加。</p>
</li>
<li>
<p>淬火鋼的硬度隨$A'$量的增多而降低。</p>
</li>
</ol>
<h3>貝氏體轉變</h3>
<p>貝氏體轉變在臨界溫度以下的中溫區域（$550^\circ C-M_s$）內進行。</p>
<p>貝氏體轉變具有 P 轉變和 M 轉變的某些特點，又具有自身的一些特點。</p>
<h4>貝氏體的組織形態</h4>
<p>貝氏體是由含碳過飽和的鐵素體與滲碳體組成的機械混合物。根據形成溫度的不同，主要有上貝氏體和下貝氏體兩種，其中，上貝氏體鐵素體中輕度含 C 過飽和，下貝氏體鐵素體中的 C 過飽和量較大。</p>
<ol>
<li>
<p>上貝氏體 (符號：$B_上)$：形成溫度$550～350^\circ C$，金相組織呈羽毛狀。</p>
</li>
<li>
<p>下貝氏體 (符號：$B_下$)：形成溫度$350^\circ C～M_s$，金相組織呈黑針狀。</p>
</li>
</ol>
<p>::: grid{cols=2,gap=12}</p>
<p><img src="https://file.nishikori.dev/ptzeyzri2z795ab5l1.jpg" alt="上貝氏體金相組織（羽毛狀）"></p>
<p><img src="https://file.nishikori.dev/2j2p4itywyq1o3n1fm.jpg" alt="上貝氏體電鏡組織（黑色板條為 F；白色短杆為滲碳體）"></p>
<p><img src="https://file.nishikori.dev/6vt54bdiw7plmhd0j6.jpg" alt="下貝氏體金相組織（黑針狀）"></p>
<p><img src="https://file.nishikori.dev/gj3huwwsv869n7r7zl.jpg" alt="下貝氏體電鏡組織（黑針為 F；白色顆粒為滲碳體）"></p>
<p>:::</p>
<h4>貝氏體的性能</h4>
<p>上貝氏體：強度、韌性低，脆性大，是實際生產中應避免出現的組織。</p>
<p>下貝氏體：綜合力學性能良好，是實際生產中常用的組織。</p>
<h4>貝氏體的轉變過程</h4>
<p>貝氏體轉變（即 A→B 轉變）也是一個形核和長大的過程。</p>
<p>A→B 轉變是 A 以切變的方式向過飽和 F 的晶格改組、C 原子通過短程擴散
從 F 中以$Fe_3C$形式析出的過程。</p>
<p><strong>貝氏體的形成</strong>：</p>
<p>F 首先在 A 晶界上 C%較少的地方形成，其 C%為過飽和。</p>
<p>當溫度較高（$550-350^\circ C$）時，F 向 A 晶粒內部生長成大致平行的板條束，而 C 原子則富集在 F 板條束之間的 A 中，最終以$Fe_3C$形式析出，這樣就形成了羽毛狀的上貝氏體。</p>
<p>當溫度較低（$350^\circ C～M_s$）時，C 原子已難以擴散至 A 中，只能在 F 中析出不連續分布的$Fe_3C$，這樣就形成了黑針狀的下貝氏體。</p>
<blockquote>
<p>貝氏體轉變是半擴散型相變：貝氏體形成時，鐵原子不能擴散，碳原子可以擴散。</p>
</blockquote>
<blockquote>
<p>冷卻時，奧氏體可轉變為：</p>
<p>珠光體（P）完全擴散</p>
<p>貝氏體（B）半擴散</p>
<p>馬氏體（M）非擴散</p>
</blockquote>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>工程材料學</category>
            <category>熱處理</category>
            <category>奧氏體化</category>
            <category>TTT曲線</category>
            <category>CCT曲線</category>
            <category>相變</category>
        </item>
        <item>
            <title><![CDATA[放鬆 - 2024年4月14日]]></title>
            <link>https://nishikori.dev/diary/2024-04-14</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-04-14</guid>
            <pubDate>Sun, 14 Apr 2024 12:38:01 GMT</pubDate>
            <content:encoded><![CDATA[<p>偶然獲得了一張Starbucks的bogo券，於是昨天中午便踏入了門店。或許是因為周末的關係，店內座無虛席，我只能選擇坐在店門口的一把椅子上。雖然當天天氣未算過於炎熱，可直射的陽光終究仍舊讓人感到些許不適。</p>
<p><img src="https://file.nishikori.dev/IMG_9056.jpeg" alt="我點了兩杯飲品，左邊是開心果燕麥奶搭配春見橘糖漿，右邊則是燕麥奶配睡蓮糖漿，我個人偏愛前一款。"></p>
<p>下午五點過後，提不起勁繼續學習，我便訂了KTV的包間，一口氣唱了三小時，邊唱邊享用幾瓶啤酒，雖然最終略感疲憊，但心情極佳。</p>
<p>晚上回到學校的途中，我買了一瓶香檳，然後才發現自己不會開瓶。</p>
<p>直到今天中午才懶洋洋地起床，解答了幾題Strength of Materials的習題，接著玩了會兒《逆轉裁判4》，晚餐享用了燒烤。剛剛又訂了些水果外賣，準備邊吃水果邊繼續學習Matlab。</p>
<p><s>接下來有空再更新。</s></p>
<p>我終於學會了如何開香檳，雖說第一次嘗試並不算太成功。傳說中正確開啟香檳應伴隨著「少女的嘆息」，但由於操作不當，這次聲音更像是「少女的飽嗝」，且瓶塞險些從手中飛出。</p>
<p><img src="https://file.nishikori.dev/IMG_9123.jpeg" alt="這款香檳杯顏值頗高，它的由來頗為別致——是Durex的促銷贈品"></p>
<p>嘗試著輕輕品了兩杯，缺少冰塊的情況下，坦白說口感並不盡如人意。或許等到周一買回一袋冰塊冰鎮後，風味會有所提升。</p>
<p>晚上對網站的前後端進行了同步更新，一些之前失效的功能現已恢復正常。然而，郵箱訂閱功能目前仍存在一些問題。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[雨夜，崩潰 - 2024年4月12日]]></title>
            <link>https://nishikori.dev/diary/2024-04-12-2</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-04-12-2</guid>
            <pubDate>Fri, 12 Apr 2024 18:39:03 GMT</pubDate>
            <content:encoded><![CDATA[<blockquote>
<p>F不斷地想起N，未必一定是思念，那更像是二十多年如一日的生活所養成的習慣，是他平靜河流上的一個擺渡，或者更像是一種枯寂的消遣，最多是略帶憂傷略帶溫馨的欣賞——就像是集郵，把往日的收藏拿出來看一看，無論是引出快樂還是引出痛苦，都益於時光的流逝，然後依舊把它們收藏起來，不讓它們為非作歹打破一條河流的通暢，包括不讓往事把今天弄得臉色慘白。</p>
<p>——史鐵生</p>
</blockquote>
<p>今天是周五，但由于學校舉行運動會，我們獲得了意外的休息時間。清晨十點左右醒來，兼顧了早餐和午餐，接著專心投入學習。</p>
<p>接近黃昏時分，我前往食堂匆忙解決了晚餐，隨后再次來到了星巴克。尋找一個無人打擾的學習環境<s>實際上也抱著找回昨日遺落在那里藍牙鍵盤的念頭</s>。在一番努力后，我成功地完成了多份實驗報告：</p>
<ul>
<li>
<p>螢光燈功率因數優化 - Electric and Electronics</p>
</li>
<li>
<p>凝固狀態觀察 - Engineering Materials</p>
<p><img src="https://file.nishikori.dev/IMG_7353.JPG" alt="氯化銨的均勻形核與非均勻形核"></p>
</li>
<li>
<p>金相制樣與顯微攝影 - Engineering Materials</p>
</li>
<li>
<p>鋼的熱處理工藝 - Engineering Materials</p>
</li>
<li>
<p>鐵碳合金平衡組織觀察 - Engineering Materials</p>
<p><img src="https://file.nishikori.dev/IMG_7354.JPG" alt="鋼的熱處理工藝"></p>
</li>
<li>
<p>金屬的塑性變形與再結晶 - Engineering Materials</p>
</li>
</ul>
<p>完成之後恰好也到了Starbucks的歇店時間，於是拎著包往學校走。</p>
<hr>
<p>在歸途上，途經許多小攤，每家賣淀粉腸的小販都懸掛著原料的檢驗報告，讓人想起3·15過后的景象。那天，我見證了物業與商家的爭執，媒體的一句話、社會的一粒塵土，對個人來說可能就是一座沉重的大山。打開煙盒，發現只剩寥寥幾根，疲憊地點燃，深深吸一口，卻吐出令人不悦的煙霧。</p>
<p>雖然我始終表現得鎮定自若，看似悠然自得，但不得不承認，這個學期的確讓我倍感煎熬。上學期，還有她的陪伴（哪怕只有半學期），學業壓力尚可，偶爾出游，小酌一番，在Space、DNA、PH等酒吧也算熟面孔。那時，我財務狀況尚算穩定（實際上靠朋友的援助才延緩了危機的爆發）。</p>
<p>然而，這個學期情況迥異，沒有任何人陪在身邊，學業壓力陡增，財務問題終究浮現，每個月都過得捉襟見肘。幾個星期來，我未曾沾酒，原本打算去KTV獨自放歌解壓，卻因夜場價格不菲而作罷。</p>
<p>回到宿舍，窗外突然大雨傾盆，舍友告知我因違規使用電鍋，被宿舍管理站查獲，導致失去了評優評獎的資格。雖然我不在乎獎學金和評價，但聽到這個消息，心里仍難免失落。</p>
<p>正當我提筆想記錄國慶的回憶，尤其是那段與她共度的時光，才寫了幾句，我就深陷其中。看着手機屏幕上的聊天記錄，一天的郁悶情緒瞬間爆發，眼淚止不住地流了下來。</p>
<p>她已屏蔽我半年，我卻一次次在悲傷中徘徊，看似走出又陷入——事實上，我從未真正走出陰霾。我對她的譴責與仇恨，並不代表我已經釋懷。我一直困在她制造的漩渦中，無法自拔，這半年來，我並未積極尋求出路，只是消極地任由自己沉淪……</p>
<p>我思念她，但這不該是我生活的全部。</p>
<p>我清楚她才是那個不對的人，我從來沒有做錯什么。</p>
<p>她輕描淡寫地走了，留我一個人在泥沼中掙扎。</p>
<p>我必須找到一個方法，讓自己從困境中解脫。</p>
<p>我相信時間會治愈一切，但我也需積極應對。</p>
<p>我期待有一天能坦然回首過去，只留下淡然的微笑。</p>
<p>一切會好起來嗎？</p>
<p><img src="https://file.nishikori.dev/IMG_7366.jpeg" alt=""></p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[對癸卯年國慶假期的回憶（3）]]></title>
            <link>https://nishikori.dev/diary/2024-04-12</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-04-12</guid>
            <pubDate>Fri, 12 Apr 2024 17:36:51 GMT</pubDate>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[實驗課，影評，課業 - 2024年4月11日]]></title>
            <link>https://nishikori.dev/diary/2024-04-11</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-04-11</guid>
            <pubDate>Thu, 11 Apr 2024 10:59:08 GMT</pubDate>
            <content:encoded><![CDATA[<h2>學校生活</h2>
<p>上午有兩堂課，其中一堂是Marxism，相對輕松。下午，我完成了兩個實驗：「鋼的熱處理工藝」和「金相制樣與顯微觀察」。</p>
<p>::: grid {cols=3,gap=4}</p>
<p>![](<a href="https://file.nishikori.dev/IMG_5857.jpeg">https://file.nishikori.dev/IMG_5857.jpeg</a> 在電阻爐中取出預熱好的的試樣)</p>
<p>![](<a href="https://file.nishikori.dev/IMG_5844.jpeg">https://file.nishikori.dev/IMG_5844.jpeg</a> 本人的取樣嘗試)</p>
<p>![](<a href="https://file.nishikori.dev/IMG_5866.jpeg">https://file.nishikori.dev/IMG_5866.jpeg</a> 使用儀器檢測試樣硬度)</p>
<p>![](<a href="https://file.nishikori.dev/IMG_5871.jpeg">https://file.nishikori.dev/IMG_5871.jpeg</a> 金相制作時用砂紙打磨的成果)</p>
<p>![](<a href="https://file.nishikori.dev/IMG_5882.jpeg">https://file.nishikori.dev/IMG_5882.jpeg</a> 使用設備進行拋光的成果)</p>
<p>![](<a href="https://file.nishikori.dev/IMG_5887.jpeg">https://file.nishikori.dev/IMG_5887.jpeg</a> 最後忘記清洗，圖像出現了顏色和污垢)</p>
<p>:::</p>
<p>明天因運動會放假，我能稍事休息。</p>
<p>完成實驗后，我又來到Starbucks，在這裡寫完了《蒼鷺與少年》的影評，準備繼續學習 Strength of Materials 。</p>
<p><s>其他事情回到宿舍再談。</s></p>
<p>我平時用來碼字的藍牙鍵盤落在Starbucks了，明天又要再去一趟（這是逼著我去消費嗎x）</p>
<h2>網站建設</h2>
<ul>
<li>
<p>後端面板進行了更新，但郵箱服務仍然無法正常連接。</p>
</li>
<li>
<p>《蒼鷺與少年》的影評已完成大部分，原本打算一篇涵蓋所有內容，但現在已分成三篇文章來寫了…</p>
</li>
</ul>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[宮崎駿動畫作品中的俄狄浦斯情結]]></title>
            <link>https://nishikori.dev/posts/oedipus-complex-in-hayao-miyazaki-films</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/oedipus-complex-in-hayao-miyazaki-films</guid>
            <pubDate>Thu, 11 Apr 2024 09:30:43 GMT</pubDate>
            <description><![CDATA[本文從心理分析視角探討宮崎駿動畫作品中的母題與人物關係，通過弗洛伊德的俄狄浦斯情結理論解析其創作背後的潛在情感結構與自我投射。]]></description>
            <content:encoded><![CDATA[<blockquote>
<p>她生他，疼愛他，管著他。 而他也反过来把愛傾注在她的身上，以致他簡直無辦法摆脱她，獨自去生活，真正愛別的女人。
——《兒子和情人》</p>
</blockquote>
<p>倘若欣賞過大部分宮崎駿的動畫作品，便不難發現其作品設計的主題關係主要有三種：人與戰爭、人與自然、人與人。</p>
<p>藝術家的作品往往折射出其內心深處的情感連結，這些情感往往與他們的成長背景息息相關。在宮崎駿的创作中，對人與戰爭的描繪可追溯至其成長于戰后重建時期的經歷，以及家庭中經營飛機元件工廠的影響；人與自然的主題則體現了昭和年代他所沐浴的純淨自然環境，以及日本人對多神教自然崇拜的深刻印象。而本文將專注于探討宮崎駿作品中「人與人」，尤其是宮崎駿的俄狄浦斯情結（戀母情結）。</p>
<p>這三個主題貫穿了宮崎駿的多部作品，有時一部電影會涵蓋多個主題，因此這種分類方式相對主觀，旨在突出各作品的主要側重點。人與人的關係作為普遍存在的主題，貫穿于宮崎駿的所有作品，尤其是在探討人物情感互動時尤為突出。</p>
<p>分析宮崎駿作品中的人際關係，首先要關注他塑造的各種人物形態，包括兒童、青少年、壯年和老年。值得注意的是，他的作品中女性角色往往擔任主角或重要角色，而非男性。藝術家在其作品中的人物塑造，往往映射出自我生活的投影。宮崎駿的創作中，這種自我投射最為顯著的就是他與母親形象的關聯，這在他的作品中得到了深刻的體現。</p>
<h2>宮崎駿對於母親的兩種感情</h2>
<p>宮崎駿六歲時，母親因病臥床，並在宮崎駿埋頭創作《風之谷》時逝世。由於這一經歷，在宮崎駿動畫作品中，往往會反映出他內心深處的一些情結。而在火美這一個角色中，我們亦可以分析出他內心中的俄狄浦斯情結。</p>
<p>宮崎駿本人曾在一次訪談中提到，他對於母親宮崎美子懷有諸多複雜的感情，因而他不斷讓自己的母親在電影中「活過來」——活在可愛的少女、堅強的婦人、慈祥的老人，而相對應的，他自己則時而是小孩子，時而時是少年。</p>
<p>宮崎駿作品中對母親的兩種投射，可以歸納出其對於母親的兩類感情：一類是孩子對於母親的依戀感情，一類是男性對於女性的愛慕欣賞。前者是能夠被世人所接受的，而後者則被視作「亂倫」，在通常倫理上為眾人不齒。而根據弗洛伊德的理論，男性或多或少都會存在一些俄狄浦斯情結，他們對自己生命中第一位產生親密關係的女性總會懷有非同一般的感情，這一種感情會直接影響自身對於女性的觀點與看法。</p>
<h2>宮崎駿電影中的自我性格投射</h2>
<p>宮崎駿的諸多電影中都會在主角身上投射出自己的性格特點，這些性格大都源於他青年至壯年時期的經歷：</p>
<ol>
<li>
<p>宮崎駿童年時期身體瘦弱多病，運動能力較差，性格內向自卑，多愁善感，腦內始終充滿幻想。</p>
</li>
<li>
<p>宮崎駿對於母親具備很深的依戀，長大後也毫不掩飾自己的女權主義傾向，但因從事動畫行業工作繁忙而在母親患病長期臥床時無法給予充分的照顧。</p>
</li>
<li>
<p>宮崎駿年輕時立志闖蕩漫畫行業，但因無法走出前輩作品的影子而「棄漫從動」轉型走上動畫製作的道路</p>
</li>
</ol>
<p>這幾條經歷，投射到動畫中可以形成三種形象：</p>
<ol>
<li>
<p>不成熟而需要成長或關愛的孩童形象。例如《千與千尋》中荻野千尋角色形象便是一個亟待成長的普通女孩。</p>
</li>
<li>
<p>保護女性的男性形象。例如《崖上的波妞》中的小男孩宗介，發自決心保護波妞並最終愛上她。</p>
</li>
<li>
<p>追求理想堅持不懈的青年形象。例如《風起》中獨自設計製造飛機的堀越二郎</p>
</li>
</ol>
<h2>宮崎駿電影中的母親性格投射</h2>
<p>宮崎駿在其動畫中對「母親」性格的投射主要源於他自己的經歷與感受：</p>
<ol>
<li>
<p>其作為孩童，對自己母親的觀察。正如前文所說，在宮崎駿六歲時母親變換上了重病而長期臥床。他在學校收到欺負霸凌後回家試圖與母親擁抱，但母親卻因無法翻身而拒絕。宮崎駿本人在內心深處始終渴求來自母親的愛與擁抱。正因為此，他會大量使用擁抱來表達感情與愛——正如在最新電影《蒼鷺與少年》的第三幕中，眞人與火美再度見面後會進行擁抱一樣——這是他與傳統意義上會用「月色真美」來含蓄表達感情的日本文化的差異點。</p>
</li>
<li>
<p>其作為男性，對於女性的觀察與互動。宮崎駿出生於 1941 年，經歷了戰爭與戰後重建的陰影，戰後日本一片廢墟百廢待興，國家對於女性的要求歲時代發生了重大變化，社會開始崇尚剛強而幹練的女性，而宮崎駿印象中的母親恰恰符合這樣的女性群像。一個人的孩童、少年時代對個人的思想與價值觀影響巨大，那個年代女性的優良皮質直接影響了宮崎駿本人對於女性的審美觀，因而在他的作品中，儘管角色年齡不盡相同，但都具備獨立自主剛強的特徵。</p>
</li>
</ol>
<p>具體來說，投射到宮崎駿動畫作品中形成了這兩種形象：</p>
<ol>
<li>
<p>爽朗強悍而外剛內柔的中老年婦女形象。例如《天空之城》的海盜婆婆朵拉，心直口快，勇敢大膽，外表嚴厲而內心善良溫柔。</p>
</li>
<li>
<p>善良將槍獨立的少女形象。例如《風之谷》中堅強善良而大方的娜烏西卡，以及《蒼鷺與少年》中的火美。</p>
</li>
</ol>
<p>不同階段的女性均能夠反映出宮崎駿價值觀中的女性優良品質。除了普遍的善良外，大量的女性角色也會具備強大的戰爭能力（《天空之城》中的朵拉）、勤勞的工作能力（《千與千尋》中的錢婆婆）、對人和世界的大愛（《蒼鷺與少年》中的霧子》）以及強烈的母性特質（《蒼鷺與少年》中的火美）。</p>
<h2>結語</h2>
<blockquote>
<p>藝術家都是殯葬業者，他們一遍遍把苦慟、絕望、創傷埋在；然後掘出，再埋葬。
——格雷厄姆·格林</p>
</blockquote>
<p>宮崎駿為了紀念母親，屢次在作品中讓母親復活，化身為少女、婦人、老祖母，有時健康，有時疾病纏身。而他自己則不斷地融入作品中，化身為小孩、少年，有時撒嬌，有時保護。他在動畫中實現了現實中永不可能達成的夢想。</p>
<p>許多藝術家一生只說一件事。正如周星馳電影中含淚微笑的形象總是他的自我映射，宮崎駿的作品裡可能只有兩個主角：一個是他自己，另一個就是他的母親。</p>
<p>他有時是個孩子，需要成長、陪伴和愛。有時他又是少年，需要夢想、愛情和守護。他是森林中嬉戲的小梅，離家闖蕩的琪琪，尋找自我的千尋，英勇的巴斯，堅毅的阿席達卡，善良的宗介，執著的天澤聖司，追夢的堀越二郎...</p>
<p>他的母親有時是純真的少女，善良、堅強、獨立。有時她是堅韌的婦人，強大、霸氣、執著。有時她又是老婆婆，刀子嘴豆腐心，急躁卻充滿愛心。她是直率無畏的朵拉，病弱溫柔的小梅媽媽，剛烈的艾伯西，古怪慈祥的辰婆婆，外表嚴厲內心善良的錢婆婆，溫柔且執著的希達，早逝的里見菜穗子，母性包容的娜烏西卡，強大而善良的珊，堅韌有愛的蘇菲...</p>
<p>1983年，宮崎駿的重要作品《風之谷》尚未完成，宮崎美子便離世了。美子離世時，兒子不在身邊，宮崎駿直至最後也未得到那份欠缺的擁抱。當時他滿頭黑髮，母親卻已是白髮蒼蒼。</p>
<p>2023年，宮崎駿的封筆作品《蒼鷺與少年》上映，此後便宣布退休。為了尋求母親的那份擁抱，他耗費了整整四十年，終於在自己的作品中找到了母親。此刻，他已白髮如雪，而母親在他心中依舊青絲綰鬢。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>隨筆評論</category>
            <category>宮崎駿</category>
            <category>心理分析</category>
            <category>俄狄浦斯情結</category>
            <category>母題研究</category>
            <category>動畫美學</category>
        </item>
        <item>
            <title><![CDATA[宮崎駿動畫作品中的反戰思想]]></title>
            <link>https://nishikori.dev/posts/anti-war-thought-in-hayao-miyazaki-films</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/anti-war-thought-in-hayao-miyazaki-films</guid>
            <pubDate>Wed, 10 Apr 2024 10:30:49 GMT</pubDate>
            <description><![CDATA[本文探討宮崎駿動畫作品中蘊含的反戰思想，分析其如何以幻想與寓言形式揭示戰爭的荒謬與人性的光輝，從《風之谷》到《霍爾的移動城堡》展現創作者對和平的執著追求。]]></description>
            <content:encoded><![CDATA[<p>如<a href="/posts/the-boy-and-the-heron-review">《蒼鷺與少年》—— 我心中的宮崎駿新代表作</a> 所述，宮崎駿出生于 1941 年，經歷了太平洋戰爭。四歲時，他與家人一同經歷了躲避美軍轟炸的驚魂時刻，亲眼目睹鄰居因無法挤上載著他們的小貨車，被困在火光熊熊的街道上，那一幕悲慘的畫面深深烙印在他的心靈深處，塑造了他內心深沉的反戰信念。宮崎駿立志透過動畫來傳達和平與反戰的理念，他力圖揭示戰爭的苦痛，批評並嘲諷戰爭的荒謬，以此警示那些煽動戰爭的人，敦促他們停止對同胞施加暴行，並表達對和平的深切期盼。</p>
<p>在《風之谷》《天空之城》《魔法公主》以及《霍爾的移動城堡》等多部經典之作中，宮崎駿的這種對戰爭的疏離與批判態度顯而易見。他將戰爭描繪成摧毀世界的巨神兵，將戰機化作隨時可能爆發的死亡機器，將戰爭的惡魔化形象投射到肆虐無辜人民的怪物身上，它們破壞家園，讓人們陷入恐懼與分離的痛苦，承受失去一切的沉重打擊。宮崎駿的動畫作品，如同一面鏡子，映照出戰爭對人類文明與生活的巨大摧毀，提醒人們珍愛和平，遠離戰亂。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>隨筆評論</category>
            <category>宮崎駿</category>
            <category>反戰</category>
            <category>動畫研究</category>
            <category>社會主題</category>
            <category>戰爭與和平</category>
        </item>
        <item>
            <title><![CDATA[咖啡，功課，以及音樂節 - 2024年4月10日]]></title>
            <link>https://nishikori.dev/diary/2024-04-10</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-04-10</guid>
            <pubDate>Wed, 10 Apr 2024 09:07:56 GMT</pubDate>
            <content:encoded><![CDATA[<h2>學校生活</h2>
<p>今天課程不多，專業課只有 Strength of Materials 和 Engineering Materials。並且沒有早八，於是下午下了課就來到大學城的 Starbucks，一杯咖啡坐半天了。</p>
<p><img src="https://file.nishikori.dev/IMG_5206.jpeg" alt="今日的咖啡，2shots 的淺烘濃縮混開心果燕麥奶，外加兩泵春見橘糖漿。似乎是與 Disney 聯名的春季新品，味道中規中矩"></p>
<p>現在（17:10）在店裡，準備補補 Strength of Materials 的漏洞，順便趕一下作業。~~如果還有時間的話就複習一下 Engineering Materials 的知識點。~~想多了，作業也沒寫完。</p>
<p>十分地想去音樂節，最近壓力有點大，想躁一下。</p>
<h2>網站建設優化</h2>
<p>郵箱訂閱功能仍然沒有修好，心塞。</p>
<p>在首頁填寫好郵箱並提交後，後台確實可以看到訂閱信息，但是與郵箱 no-reply@nishikori[.]tech 的連接一直沒打通。</p>
<p><s>其他的事情回宿舍再更新。</s> 更新完畢。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[2024年的第一百天 - 2024年4月9日]]></title>
            <link>https://nishikori.dev/diary/2024-04-09</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-04-09</guid>
            <pubDate>Tue, 09 Apr 2024 15:51:32 GMT</pubDate>
            <content:encoded><![CDATA[<p>今天是2024年的第一百天，算是這一年的一個節點。</p>
<h2>網站建設優化</h2>
<p>今天把網站的DNS伺服器轉移到了Cloudflare，並嘗試開啟了一些免費的優化功能。</p>
<p>本博客的前端借助Vercel的Serverless部署，在將DNS伺服器遷移至Cloudflare之後訪問站點會無法訪問，並提示「重定向次數過多」。為解決這一問題，需要在Cloudflare的Dashboard中進行調整，進入 SSL/TLS -&gt; 概觀 介面，隨後將加密模式調整為 完整 (嚴格) 即可解決這一問題。</p>
<p>根據網路上的教程，嘗試建立了免費的Cloudflare R2 貯體作為免費圖床，但是不知什麼原因，其效果不如我此前使用的公共圖床，故暫時不會遷移至自建的這個新圖床。</p>
<blockquote>
<p>2024-06-25 編輯:</p>
<p>那一個公共圖床已經停止服務，因此舊推文的所有配圖都需要重新導入（正是我目前在做的工作），心力十分憔悴。</p>
</blockquote>
<p>同時，為了規避一些風險，我手動屏蔽了來自中國的訪問。</p>
<p>此外，本博客前端主題的源代碼fork自innei老師，長期以來依靠Sync Fork進行自動更新，但自4月4日以來Github平台一直提示我的fork無法進行Auto Merge。為解決這一問題，我在備份了原來的魔改代碼之後，在Github上DIscard了我自己所有的commit並進行了更新，隨後重新導入自己的魔改代碼。</p>
<h2>學校生活</h2>
<p>最近的課業都變難了很多，Mechanisms &amp; Machine Theory剛剛開課幾週，但已經需要我花費很多時間才能夠基本理解課程內容，Systems Engineering剛剛度過令人頭痛的System Modeling，現在正在教授繁瑣的Analytic Hierarchy Process和Fuzzy Comprehensive Evaluation Method，希望這學期的專業課能取得一個還能看的成績。</p>
<p>五月份要參與TOEFL考試，現在正在忙碌備考中。同時也在為下半年論文發表進行一些基礎的準備。下半年升入大三，要搬到另一個校區，同時也要正式備考GRE。真的一刻也閒不下來。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[觀影 - 2024年4月6日]]></title>
            <link>https://nishikori.dev/diary/2024-04-06</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-04-06</guid>
            <pubDate>Sat, 06 Apr 2024 04:28:53 GMT</pubDate>
            <content:encoded><![CDATA[<p>今天看了三場IMAX電影，其中兩場都是《蒼鷹與少年》，一場是《哥吉拉大戰金剛 2 》。對於前者，我一共看了兩次，產生了許多感觸，具體想法會單獨再出一篇影評。而後者是一部IMAX 3D影片，劇情方面不談， 在巨幕上欣賞多個巨獸進行混戰，本身也是一件極其爽快的事情</p>
<p>晚餐吃了一家OMAKASE，味道依然很不錯，只是苦了我的錢包😭</p>
<p>看完電影回學校的時候下起了小雨，伴隨著陣陣的風，讓身著夏裝的我感到一絲涼意🥶</p>
<p>由於週末（四月七日）要進行調休，我早晨會有實驗課，原計畫今晚寫完的影評只是打了一個草稿，定稿估計會推遲一兩天發布</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[金屬的塑性變形與再結晶]]></title>
            <link>https://nishikori.dev/posts/plastic-deformation-and-recrystallization-of-metals</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/plastic-deformation-and-recrystallization-of-metals</guid>
            <pubDate>Fri, 05 Apr 2024 18:25:35 GMT</pubDate>
            <description><![CDATA[闡述金屬在塑性變形過程中的滑移、孿生與位錯運動機理，分析冷變形後的加工硬化與殘餘應力特徵，說明回復與再結晶的微觀過程及其對組織與性能的影響，並探討熱加工中動態再結晶與細晶強化等工程應用原理。]]></description>
            <content:encoded><![CDATA[<h2>兩個方面的問題</h2>
<h3>塑性變形</h3>
<p>各種壓力加工，如軋制、鍛造、擠壓、拉伸、沖壓等，均能使金屬發生塑性變形。</p>
<p>一般來說，金屬在常溫下發生的塑性變形是冷塑性變形。</p>
<p>金屬發生冷塑性變形後，其內部組織、結構和性能均將發生變化，宏觀性能表現為強度和硬度、電阻率升高，塑性和韌性、耐腐蝕性降低。</p>
<h3>回復與再結晶</h3>
<p>經過冷塑性變形的金屬被重新加熱後，其內部組織、結構和性能又將發生變化，宏觀性能表現為強度和硬度降低，塑性和韌性升高。</p>
<h1>金屬的塑性變形</h1>
<h2>單晶體金屬的塑性變形</h2>
<p><strong>滑移</strong>：在剪應力作用下，晶體的一部分沿著特定的晶面和晶向相對於另一部分發生相對滑動位移的現象。</p>
<p><strong>孪生</strong>：在剪應力作用下，晶體的一部分沿著特定的晶面和晶向相對於另一部分發生對稱切變的現象。</p>
<p><img src="https://file.nishikori.dev/%E5%B7%A6%E8%B5%B7%E9%A0%86%E6%99%82%E9%87%9D%E6%96%B9%E5%90%91%E4%BE%9D%E6%AC%A1%E7%82%BA%EF%BC%9A%E6%9C%AA%E8%AE%8A%E5%BD%A2%E3%80%81%E6%BB%91%E7%A7%BB%E3%80%81%E5%AD%BF%E7%94%9F.jpg" alt="左起順時針方向依次為：未變形、滑移、孿生"></p>
<h3>滑移變形的特點</h3>
<ol>
<li>滑移只能在切應力的作用下發生，產生滑移所需的最小切應力稱為臨界切應力。</li>
</ol>
<p><img src="https://file.nishikori.dev/%E9%8B%85%E5%96%AE%E6%99%B6%E9%AB%94%E6%8B%89%E4%BC%B8%E8%A9%A6%E9%A9%97%E7%A4%BA%E6%84%8F%E5%9C%96.jpg" alt="鋅單晶體拉伸試驗示意圖"></p>
<blockquote>
<p>重要現象：當外力與滑移所發生的晶面之間呈45°時，臨界切應力最小，即當單晶體在外力作用下，呈45°角的晶面最容易產生滑移。</p>
</blockquote>
<ol start="2">
<li>滑移沿原子密度最大的晶面和原子密度最大的晶向發生。</li>
</ol>
<p><img src="https://file.nishikori.dev/%E5%B8%B8%E8%A6%8B%E6%BB%91%E7%A7%BB%E7%B3%BB.jpg" alt=""></p>
<blockquote>
<p>重要結論：滑移系越多，則金屬發生滑移的可能性越大，該金屬的塑性也越好。</p>
</blockquote>
<ol start="3">
<li>滑移時兩部分晶體的相對位移是原子間距的整數倍，滑移的結果會在金屬表面造成臺階。</li>
</ol>
<p><img src="https://file.nishikori.dev/%E6%BB%91%E7%A7%BB%E5%B8%B6%E5%92%8C%E6%BB%91%E7%A7%BB%E7%B7%9A.jpg" alt="滑移帶和滑移線"></p>
<ol start="4">
<li>滑移的同時伴隨著晶體的旋轉。</li>
</ol>
<p><img src="https://file.nishikori.dev/abc.jpg" alt=" a) 原試樣；b) 自由滑移變形；c) 受夾頭限制時的變形"></p>
<h3>滑移的機理</h3>
<p><img src="https://file.nishikori.dev/%E6%BB%91%E7%A7%BB%E7%9A%84%E6%A9%9F%E7%90%86.jpg" alt=""></p>
<p>滑移是通過位錯在滑移面上的運動實現的。</p>
<p>當位錯線掃過滑移面到達金屬表面時，便產生一個原子間距的滑移量，同一滑移面上若有大量位錯移出，則會在金屬表面形成一條滑移線。</p>
<blockquote>
<p>重要結論：位錯運動越困難，則金屬的強度越高；反之則強度越低，塑性越好。</p>
</blockquote>
<h2>多晶體金屬的塑性變形</h2>
<p>多晶體金屬發生塑性變形的方式仍然是滑移或孪生。</p>
<h3>晶界和晶粒位向對多晶體塑性變形的影響</h3>
<ul>
<li><strong>晶界的存在</strong>（原子紊亂）和每個晶粒間存在的<strong>位向差</strong>（易變形位向不同）將導致強度和硬度提高。</li>
</ul>
<p><img src="https://file.nishikori.dev/uwbu9ulzop4nr5rzd5.jpg" alt="位錯的塞積"></p>
<h3>晶粒大小對多晶體金屬力學性能的影響</h3>
<ol>
<li>
<p>對硬度和強度的影響</p>
<ul>
<li>晶粒越小，則晶界越多，金屬的強度和硬度越高；晶粒越小，則晶粒越多，位向差越顯著，每個晶粒變形時受到的約束也越大，金屬的強度和硬度越高。因此，多晶體金屬的晶粒越細小，則強度和硬度越高。</li>
</ul>
</li>
<li>
<p>對塑性和韌性的影響</p>
<ul>
<li>晶粒越小，則晶粒越多，同時參與變形的晶粒也越多，變形越均勻，不易造成局部應力集中，可延遲裂紋的形成和擴展，使金屬能夠發生很大的塑性變形而不斷裂。同時，要使金屬斷裂則需要更大的能量。因此，多晶體金屬的晶粒越細小，則塑性和韌性越好。</li>
</ul>
</li>
</ol>
<blockquote>
<p><strong>細晶強化</strong>：通過細化多晶體金屬的晶粒，以同時提高金屬的強度和硬度、塑性和韌性的方法。</p>
</blockquote>
<h2>合金的塑性變形</h2>
<h3>單相固溶體合金的塑性變形</h3>
<p>固溶體中存在溶質原子，造成晶格畸變，從而對位錯的運動有阻礙作用，使合金的強度和硬度升高。溶質原子在位錯線上的偏聚，會對位錯起“釘鎖”作用，使位錯運動困難，也使合金的強度和硬度升高。</p>
<blockquote>
<p><strong>固溶強化</strong>：通過在金屬中溶入某種溶質元素，從而形成固溶體而使合金的強度和硬度提高的方法。</p>
</blockquote>
<h3>多相合金的塑性變形</h3>
<p>多相合金的組織中通常有兩類不同的相，一是連續分布的基體相，二是以一定的形狀和數量分布在基體相中的分散相（又稱為第二相）。分散相的性質、形狀、大小、數量及分布對多相合金的塑性變形和力學性能有很大的影響。</p>
<ol>
<li>
<p>第二相以<strong>網狀</strong>分布在晶界上</p>
<ul>
<li>降低強度和韌性。<em>如過共析鋼平衡組織中的$ Fe_3C_{II} $。</em></li>
</ul>
</li>
<li>
<p>第二相以<strong>片狀</strong>分布在基體相中</p>
<ul>
<li>提高強度和硬度，降低塑性和韌性。<em>如共析鋼平衡組織中的$ Fe_3C $。</em></li>
</ul>
</li>
<li>
<p>第二相以<strong>顆粒狀</strong>分布在基體相中</p>
<ul>
<li>显著提高強度和硬度，略降低塑性和韧性。<em>如粒狀珠光體中的$ Fe_3C $。</em></li>
</ul>
</li>
</ol>
<p>::: grid{cols=3,gap=12}</p>
<p><img src="https://file.nishikori.dev/61mlypmfsghrdcv6yx.jpg" alt=""></p>
<p><img src="https://file.nishikori.dev/5czdg13c3bvige1ctg.jpg" alt=""></p>
<p><img src="https://file.nishikori.dev/5fr13bwbwvwl1eqyx4.jpg" alt=""></p>
<p>:::</p>
<blockquote>
<p><strong>弥散強化</strong>：第二相以細小的顆粒形狀，均勻弥散地分布在基體相中，以顯著提高合金強度和硬度的方法。又稱為分散強化、第二相強化、沉澱強化。</p>
</blockquote>
<h1>塑性變形對金屬組織和性能的影響</h1>
<h2>產生加工硬化（形變強化）</h2>
<p>隨著變形量的增加，金屬強度、硬度身高，塑性、硬度下降的現象。</p>
<p><img src="https://file.nishikori.dev/k1hgjatloxdetjsbmf.jpg" alt="低碳鋼的應力-應變曲線"></p>
<h2>產生殘餘內應力</h2>
<h3>宏觀內應力——第一類內應力</h3>
<p><strong>定義</strong>：平衡於金屬表層和心部之間的內應力。</p>
<p><strong>原因</strong>：表層於心部變形不一致。</p>
<h3>微觀內應力——第二類內應力</h3>
<p><strong>定義</strong>：平衡於晶粒或晶粒內部的內應力。</p>
<p><strong>原因</strong>：晶粒之間的變形不均勻。</p>
<h3>點陣畸變——第三類內應力</h3>
<p><strong>定義</strong>：存在於晶體缺陷中的內應力。</p>
<p><strong>原因</strong>：晶體缺陷增加引起畸變增大。</p>
<blockquote>
<p>殘餘內應力的危害：</p>
<ol>
<li>
<p>引起壓力加工、熱處理過程中零件變形和開裂</p>
</li>
<li>
<p>降低金屬的硬度（第一、二類）</p>
</li>
<li>
<p>降低金屬的耐腐蝕性</p>
</li>
</ol>
</blockquote>
<blockquote>
<p>殘餘內應力的消除：去應力退火或低溫回火。</p>
</blockquote>
<h1>回復與再結晶</h1>
<p><img src="https://file.nishikori.dev/7vrhcuftfkcnb9noib.jpg" alt="冷變形金屬在不同加熱溫度時組織和性能的變化"></p>
<h2>回復</h2>
<p>冷變形金屬在較低溫度加熱時，在光學顯微組織發生改變前所產生的某些亞結構和性能的變化的過程稱為回復。</p>
<h3>組織、結構方面</h3>
<ol>
<li>
<p>顯微組織沒有明顯變化。</p>
</li>
<li>
<p>亞結構發生一定的變化，表現為晶體缺陷數量有所減少。（空位與間隙原子的合併、同一滑移面上的異號位錯相互抵消）</p>
</li>
</ol>
<h3>性能方面</h3>
<ol>
<li>
<p>力學性能沒有明顯變化。（強度和硬度稍有下降，塑性和韌性稍有升高）</p>
</li>
<li>
<p>內應力和電阻率明顯降低。</p>
</li>
</ol>
<h3>工業應用——去應力退火</h3>
<p>將已經加工硬化的金屬在較低的溫度下加熱，使其內應力基本消除，同時保持加工硬化的工藝方法。</p>
<p>舉例：冷軋彈簧製品，在成型後進行一次250～300C的低溫加熱，充分消除殘餘內應力，穩定尺寸，改善性能。</p>
<h2>再結晶</h2>
<p>冷變形金屬在加熱到一定溫度後，在已變形組織中重新產生無畸變的新晶粒，性能發生明顯的變化，並恢復到完全軟化狀態的過程稱為再結晶。</p>
<h3>組織、結構方面</h3>
<ol>
<li>
<p>變形的晶粒完全恢復為等軸狀晶粒。</p>
</li>
<li>
<p>晶體缺陷數量明顯減少。</p>
</li>
</ol>
<h3>性能方面</h3>
<ol>
<li>
<p>強度和硬度顯著下降，塑性和韌性顯著提高。</p>
</li>
<li>
<p>冷變形時的加工硬化現象完全消失。</p>
</li>
<li>
<p>內應力也基本被消除。</p>
</li>
</ol>
<h3>工業應用——再結晶退火</h3>
<p>將已經加工硬化的金屬加熱到再結晶溫度以上，使其發生再結晶，以消除加工硬化的工藝方法。</p>
<p>舉例：冷拉鋼絲時，每拉拔一次，中間均進行再結晶退火，消除加工硬化，以便於下一次拉拔。</p>
<h3>再結晶的驅動力</h3>
<p>再結晶的驅動力來自冷變形所產生的儲存能。</p>
<p>再結晶過程也是一個形核和長大的過程。在溫度作用下，再結晶的核心（晶核）在變形造成的最大畸變處形成，隨後進一步長大，最終全面替換畸變的晶粒，金屬組織重新恢復成無畸變的等軸晶。</p>
<h3>再結晶溫度</h3>
<p>冷變形金屬發生再結晶的最低溫度。</p>
<p>再結晶不是一個恆溫過程，沒有恆定的轉變溫度。因此，再結晶溫度的意義是開始發生再結晶的溫度，即在畸變的晶粒中產生無畸變等軸晶粒的最低溫度。</p>
<blockquote>
<p>純金屬的再結晶溫度：$ T_{再}\approx0.4T_{m} （單位為K）$</p>
</blockquote>
<h2>晶粒長大</h2>
<p>冷變形金屬在再結晶結束後，繼續升高溫度或保溫，晶粒就會不斷長大，這一過程即稱為晶粒長大。</p>
<h3>晶粒長大的類型</h3>
<ol>
<li>
<p>正常長大——隨溫度升高或保溫時間延長，晶粒均勻連續地長大。</p>
</li>
<li>
<p>反常長大（二次再結晶）——晶粒不均勻不連續地迅速長大。</p>
</li>
</ol>
<h2>影響再結晶後晶粒度的因素</h2>
<h3>加熱溫度和保溫時間</h3>
<p>加熱溫度越高、保溫時間越長，晶粒越粗大。</p>
<p>其中溫度的影響尤其顯著。</p>
<p><img src="https://file.nishikori.dev/imtghf0rpraz78ng3g.jpg" alt="加熱溫度對晶粒度的影響"></p>
<h3>變形程度</h3>
<ol>
<li>
<p>變形量較小——不發生再結晶，晶粒保持原狀、大小。</p>
</li>
<li>
<p>變形量達到2～10%——再結晶後的晶粒異常粗大。2～10%的變形量稱為臨界變形度。</p>
</li>
<li>
<p>變形量超過臨界變形度——隨變形程度的增加，晶粒細小而均勻。</p>
</li>
</ol>
<p><img src="https://file.nishikori.dev/cmsqvvseuf6v2rppzs.jpg" alt="預先變形程度對晶粒度的影響"></p>
<h1>金屬的熱加工</h1>
<h2>熱加工與冷加工</h2>
<p>熱加工：指在再結晶溫度以上的加工過程。</p>
<p>冷加工：指在再結晶溫度以下的加工過程。</p>
<h2>動態回復和動態再結晶</h2>
<p>金屬在熱加工時，溫度在T再之上，因此金屬內部同時進行著加工硬化與回復再結晶軟化兩個相反的過程，即回復和再結晶是邊加工邊發生的，此即動態回復和動態再結晶。</p>
<h2>熱加工對金屬組織和性能的影響</h2>
<h3>改善鑄錠組織</h3>
<ol>
<li>
<p>使氣孔和裂紋焊合，增大材料的致密性。</p>
</li>
<li>
<p>改善夾雜物與脆性相的形態、大小和分佈。</p>
</li>
<li>
<p>部分消除枝晶偏析。</p>
</li>
<li>
<p>破碎粗大晶粒而使晶粒細化。</p>
</li>
</ol>
<h3>產生熱加工流線</h3>
<p>組織中的夾雜物及偏析沿變形方向伸長，在宏觀上變成一條條細線，即流線。</p>
<p><img src="https://file.nishikori.dev/d39ayzodmq89vvt3as.jpg" alt="曲軸中的流線分布——a)鍛造變形；b)切削加工"></p>
<h3>產生帶狀組織</h3>
<p>合金中的各個相在熱加工時沿著變形方向交替地呈帶狀分佈的組織稱為帶狀組織。</p>
<p>出現帶狀組織，會使材料的力學性能產生方向性，特別是橫向塑性和韌性明顯下降。</p>
<p>舉例：亞共析鋼在熱軋後，其中的珠光體和鐵素體常沿軋向呈帶狀或層狀分佈，即形成帶狀組織。</p>
<h1>小結</h1>
<ul>
<li>
<p>塑性變形機理：塑性變形→滑移→位錯運動</p>
</li>
<li>
<p>多晶體：也是滑移，只是多了晶界和晶粒位向的影響</p>
</li>
<li>
<p>合金：也是滑移，只是多了固溶和第二相的影響</p>
</li>
<li>
<p>塑性變形對組織和性能均有影響</p>
</li>
<li>
<p>加熱：回復+再結晶+晶粒長大 $ T_{再}\approx0.4T_{m} （單位為K）$</p>
</li>
<li>
<p>熱加工和冷加工</p>
</li>
<li>
<p>強化思路：阻礙塑性變形→阻礙位錯運動 →提高點線面缺陷</p>
</li>
<li>
<p>細晶強化、固溶強化、第二相強化（弥散）、加工硬化</p>
</li>
</ul>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>工程材料學</category>
            <category>塑性變形</category>
            <category>再結晶</category>
            <category>加工硬化</category>
            <category>熱加工</category>
            <category>強化機理</category>
        </item>
        <item>
            <title><![CDATA[對癸卯年國慶假期的回憶（2）]]></title>
            <link>https://nishikori.dev/diary/2024-04-05</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-04-05</guid>
            <pubDate>Fri, 05 Apr 2024 12:04:47 GMT</pubDate>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[《蒼鷺與少年》—— 我心中的宮崎駿新代表作]]></title>
            <link>https://nishikori.dev/posts/the-boy-and-the-heron-review</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/the-boy-and-the-heron-review</guid>
            <pubDate>Fri, 05 Apr 2024 02:43:30 GMT</pubDate>
            <description><![CDATA[《蒼鷺與少年》可以列入宮崎駿動畫的「代表作」，但「代表作」並不意味著這是一部好作品；此處的「代表作」指電影具備顯著的宮崎駿個人風格。]]></description>
            <content:encoded><![CDATA[<p>::: warning</p>
<p>本文不可避免的會包含||<strong>劇透內容</strong>||，為了文章觀感而未添加 Spoiler，故而強烈建議閱讀正文前完整地觀看原片。</p>
<p>:::</p>
<p><a href="https://www.youtube.com/watch?v=VUsURj_OYdA">https://www.youtube.com/watch?v=VUsURj_OYdA</a></p>
<p><img src="https://file.nishikori.dev/SjziUlbGwtf.jpeg" alt=""></p>
<h2>一句話評價</h2>
<p><strong>《蒼鷺與少年》可以列入宮崎駿動畫的「代表作」，但「代表作」並不意味著這是一部好作品。此處的「代表作」指電影具備顯著的宮崎駿個人風格。</strong></p>
<h2>劇情介紹</h2>
<p>在我看來，這部電影的劇情結構仍舊是經典的三幕式，雖然第一幕的節奏相對來說過於緩慢（～40 分鐘），而後兩幕幾乎每十分鐘便切換了一個場景。</p>
<h3>第一幕——遺失與重生</h3>
<p>第一幕開始於太平洋戰爭的動蕩背景之下，牧眞人（マヒト）因東京轟炸失去了母親久子（ヒサコ），並被迫與軍工廠廠長父親勝一（ショイチ）以及自己的養母，同時也是自己生母妹妹的夏子（ナツコ）組建新的家庭，搬遷到母親家族所在的承載著家族的歷史與秘密的古老宅邸。一隻從屋簷下飛過的蒼鷺（アオサギ）引起了眞人的好奇和不安。在新家的探索中，眞人意外發現森林深處一座莫名其妙的石塔——據家中的婆婆們講，這座塔由太舅公建造，並且在一場事故後「塔主」太舅公在此地徹底失蹤。</p>
<p><img src="https://file.nishikori.dev/gWw.webp" alt="牧眞人（マヒト）"></p>
<p>進入新家庭的眞人對於繼母內心中感到抗拒，並作為轉校生無法融入環境之中。開學首日，在勞動教育期間眞人與同學發生衝突。在回家路上他出於逃避現實的想法，拿一塊石頭砸傷了自己的頭。在家休養時，那隻奇怪的蒼鷺來到眞人窗前，模仿眞人生母求救「救救我，眞人，救救我」，並在此之後多次騷擾眞人，告知他眞人的母親還活著，令眞人深受折磨。</p>
<p>夏子因早孕反應臥床許久，但一日卻無故下床走向森林深處並消失。眞人與霧子婆婆（キリコ）為尋找夏子，跟隨其腳印一同深入森林並來到那座神秘的塔裡。蒼鷺所謂「還活著的母親」實際上只是它製作的雕像，而眞人認為這是對他母親的褻瀆，射傷了蒼鷺的長喙，使得他由鳥形變成了滑稽的人形。正當眞人要求蒼鷺交出養母夏子時，神秘塔主現身塔頂，命令蒼鷺帶眞人與霧子婆婆前往「下界」。</p>
<p>就此，第一幕結束。</p>
<h3>第二幕——覺醒與成長</h3>
<h4><strong>現實世界</strong></h4>
<p>第二幕，現實世界的眾人在尋找眞人與夏子過程中，僕人們道出有關塔的過去：在明治維新開始後不久，一顆神秘隕石墜落在當地池畔，太舅公將其視為珍寶，並在其外部修建了那座詭異的塔。老僕人們也向眞人父親透露出，眞人的生母久子年輕時也曾因不明緣故在塔中失蹤，經歷一年後才再度現身。</p>
<p>得知了塔的過去之後，眞人的父親勝一協家丁前往高塔，意外發現了為躲避鸚鵡藏在這個世界的眞人與火美。正當他衝上前去時，人形的鸚鵡竄入現實世界，勝一目睹到人形鸚鵡返回到原本世界後姿態變化為普通鸚鵡而大為吃驚。</p>
<h4><strong>下界</strong></h4>
<p>第二幕時眞人從日常生活的掙扎被帶入一個名為「下界」的幻想世界。在這個充滿異常生物與奇幻事件的新世界，眞人遇到了以打漁為業，照顧逝者靈魂化成的「ワラワラ」的年輕版霧子，以及可以使用火焰魔法的火美（ヒミ）。在這個事件中，鵜鶘以ワラワラ為食，鸚鵡則以人類為食，並建立了自己的帝國。</p>
<p>夜晚，成熟的ワラワラ們飛上天空，前往再度投胎的輪迴過程。但鵜鶘卻在此時對其發起了攻擊，而火美聞訊趕來，用魔法向天空攻擊，在驅趕鵜鶘的同時也傷害了大量ワラワラ。眞人在廁所旁發現一隻被火美攻擊而瀕死的老鵜鶘，老鵜鶘告知鵜鶘們以ワラワラ為食是因為他們無法食用這裡的海魚，為了活命而不得不若此。在眞人將耗盡精力死去的老鵜鶘安葬時，蒼鷺突然冒出在他身旁。經過一番打鬥後，他們在年輕霧子的要求下和好，並一同前去尋找失蹤的養母夏子。
<img src="https://file.nishikori.dev/Gko.webp" alt="老鵜鶘（老ペリカン） - 這個角色雖然出場時間極短，但塑造的十分立體"></p>
<p>尋找夏子的必經之路上存在著一家鐵匠鋪，其已被一群性情兇猛的鸚鵡群佔領，眞人落入了鸚鵡群的圈套，而蒼鷺不知去向。幸而火美及時現身讓眞人解圍，並告知眞人夏子現在身處高塔的產房之中——那座高塔是聯通各個時空的樞紐，如今也已被鸚鵡佔領。兩人同行進入了高塔，來到了一個漫長的迴廊，迴廊上分布著眾多的門，每個門都聯通著一個時空。兩人的行蹤再度被鸚鵡發現，為了擺脫追兵，眞人與火美急忙開啟門逃往眞人原本的時空，並在門外剛好遇見正在尋找眞人的父親勝一，眞人由於不想放棄尋找夏子，打開門令大量鸚鵡湧入現實世界後同時自己返回塔中，並最終抵達了夏子所在的產房。</p>
<p>在產房中，眞人試圖勸說夏子一起回去原本的世界時，房間內開始躁動，夏子對於眞人的出現生氣不已，並飽含情緒地說出「我最討厭你了」。與此同時，房間內的大風試圖將眞人吹出房間。眞人大喊出了「夏子媽媽」，發自真心地接受了夏子並試圖化解兩人間的隔閡。眞人被產房內的一股力量彈出並隨後暈倒，火美向控制下界的高塔之主許願，希望讓眞人與夏子回到本來的時代，但也遭到石頭力量的影響給震飛而陷入昏迷，兩人被鸚鵡群捕獲。</p>
<p><img src="https://file.nishikori.dev/644iwTl06fPHKlEH5IHwKHDUIlm.jpg" alt="產房中的夏子 - 在聽到眞人的一聲「夏子媽媽」後，她與眞人之間的厚障壁被打破"></p>
<p>就此，第二幕結束。</p>
<h3>第三幕——抉擇與歸途</h3>
<p>在昏迷時，眞人從夢境裡與之前在塔頂的神秘塔主相見，對方正是過去在塔裡失蹤，被眾人認為已離世的太舅公。眞人隨後得知太舅公的真實身分是控制下界平衡的管理者。他希望眞人能繼承他的位置，來繼續維持下界這個異境的平衡。</p>
<p>醒來後，眞人發現自己被捕捉在鸚鵡群的廚房裡，之後由偽裝成鸚鵡的蒼鷺解危。在得知火美遭鸚鵡大王捕獲，以交換高塔控制權為目的，被帶去太舅公所在的塔頂。眞人與蒼鷺與太舅公和火美再次會面，但鸚鵡大王尾隨。太舅公向眞人說明平衡下界的方法——用十三塊不含惡意的石頭積木搭成塔，再逐個將積木取下，每日移動需移動一塊積木。太舅公隨後闡明現在他需要與他有血緣關係、內心無惡意的對象才能成為繼任者，但眞人拒絕對方的要求，指著自己頭上的傷，道出自己是為了逃避而傷害自己，內心中存在惡意而不具備資格，並選擇回到自己的世界。鸚鵡王對太舅公想委託給一個孩子，借助搭積木來平衡下界的這個方式感到不滿，便一氣之下斬碎了用來維持下界平衡的堆石，造成下界開始崩壞毀滅，太舅公選擇留下，與下界一同毀滅。</p>
<p><img src="https://file.nishikori.dev/MXg.webp" alt="在塔頂上，眞人與火美再次會面"></p>
<p>在眾人逃跑時，霧子趕到塔樓拯救同樣在逃跑的夏子。來到聯通現實世界的門前，火美拒絕了眞人要求一起回到他所處世界的提議，並坦承自己真實身分正是少女時期的久子，為了確保眞人的誕生不會受到時間悖論的影響，她必須回到自己所屬的時代，並欣然接受未來不可免於在東京轟炸中被燒死的命運。眞人接受了這個事實後與火美道別，眞人與蒼鷺，火美與年輕霧子均平安地回到了他們原先的世界。</p>
<p>幾年後，戰爭也跟著結束，眞人聽到繼母夏子的呼喚，離開了自己的房間。眞人與父親、養母以及養母生下的弟弟一起返回東京。</p>
<p>至此，影片結束。</p>
<h2>宮崎駿的人生哲學</h2>
<p>宮崎駿生於西曆 1941 年，經歷了太平洋戰爭以及戰後的所有時期——戰後復興、經濟崛起、平成景氣與失落的三十年。他的人生是日本近現代史的縮影。在見證了日本社會的諸多變動後，他無疑對人生產生了獨有的理解，其價值觀滲入了包括《蒼鷺與少年》在內的作品中。個人認為，這一部電影，借助動畫的形式，揭穿成人世界的污穢。</p>
<p>諸多影評人認為，《蒼鷺與少年》這部電影在某種程度上具有自傳性質，可以視作宮崎駿的自傳體電影。無疑，對於宮崎駿來說，他與主角眞人有一些相似之處。正如遠見雜誌所稅：</p>
<blockquote>
<p>在電影《蒼鷺與少年》裡，牧眞人的父親因為從事航空製造業，剛好受益於當時的二戰背景而擁有大量的訂單，產品甚至多到工廠沒辦法擺放，必須由員工搬到住家裡面暫時擱置，顯見他的生活在戰時是非常富裕的。</p>
<p>而現實生活中的宮崎駿，父親是宮崎家族經營的「宮崎航空興學」的職員，直到 1945 年第二次世界大戰結束為止，宮崎駿度過了相當自由的幼年生活，他也因此對飛行充滿興趣，並成為終身愛好，後來許多作品當中都反覆出現飛行的概念。</p>
<p>不過，對於家中的富有、對比當年戰時背景的刻苦，宮﨑駿顯得有點格格不入，這些也顯示在《蒼鷺與少年》中，爸爸硬要開著當時只有富有人家有的車，送他去上學「炫耀」的情節中。</p>
<p>——<a href="https://www.gvm.com.tw/article/107018">宮崎駿《蒼鷺與少年》最深刻的 10 種人生寓意！優美動人的溫暖篇章</a></p>
</blockquote>
<p>但我並不這樣認為，而原因在<strong>後記</strong>中會有所闡述。</p>
<h3>人物解讀</h3>
<h4>牧 眞人——直面內心黑暗，掌握中庸之道，成為「真人」</h4>
<blockquote>
<p>知天之所為，知人之所為者，至矣。知天之所為者，天而生也；知人之所為者，以其知之所知，以養其知之所不知，終其天年而不中道夭者，是知之盛也。雖然，有患。夫知有所待而後當，其所待者特未定也。庸詎知吾所謂天之非人乎？所謂人之非天乎？且有真人，而後有真知。</p>
<p>何謂真人？古之真人，不逆寡，不雄成，不謨士。若然者，過而弗悔，當而不自得也。若然者，登高不慄，入水不濡，入火不熱。是知之能登假於道也若此。</p>
<p>古之真人，其寢不夢，其覺無憂，其食不甘，其息深深。真人之息以踵，眾人之息以喉。屈服者，其嗌言若哇。其耆欲深者，其天機淺。</p>
<p>古之真人，不知說生，不知惡死；其出不訢，其入不距；翛然而往，翛然而來而已矣。不忘其所始，不求其所終；受而喜之，忘而復之。是之謂不以心捐道，不以人助天。是之謂真人。若然者，其心志，其容寂，其顙頯，淒然似秋，煖然似春，喜怒通四時，與物有宜，而莫知其極。故聖人之用兵也，亡國而不失人心；利澤施於萬物，不為愛人。故樂通物，非聖人也；有親，非仁也；天時，非賢也；利害不通，非君子也；行名失己，非士也；亡身不真，非役人也。若狐不偕、務光、伯夷、叔齊、箕子胥餘、紀他、申徒狄，是役人之役，適人之適，而不自適其適者也。</p>
<p>古之真人，其狀義而不朋，若不足而不承，與乎其觚而不堅也，張乎其虛而不華也，邴邴乎其似喜乎！崔乎其不得已乎！滀乎進我色也，與乎止我德也，厲乎其似世乎！謷乎其未可制也，連乎其似好閉也，悗乎忘其言也。以刑為體，以禮為翼，以知為時，以德為循。以刑為體者，綽乎其殺也；以禮為翼者，所以行於世也；以知為時者，不得已於事也；以德為循者，言其與有足者至於丘也，而人真以為勤行者也。故其好之也一，其弗好之也一。其一也一，其不一也一。其一，與天為徒；其不一，與人為徒。天與人不相勝也，是之謂真人。</p>
<p>——《莊子·大宗師》</p>
</blockquote>
<p>電影中的主角牧眞人，不僅是故事情節的核心，更是宮崎駿對人類精神探索的具象化表現，象征著生命之旅中自我應當踏上的道路。主角的名稱——眞人，格外耐人尋味，代表了一種理想化的生存狀態，即達到身心靈的完美統一。在中國古代典籍中，真人、至人、聖人、賢人分別代表四种养生與悟道的层次，真人被描述為超脫世俗煩惱、內心平靜且無所執著的智者。宮崎駿或许正是以「真人」為目標，希望在自己的動畫中尋找這樣的精神境界。</p>
<p>然而，動畫中的眞人他的內心并非無瑕，內心仍藏有邪念，但他自知其惡，這種「覺察」使得他有能力選擇重塑自我，在第三幕中打破太舅公為之安排的未來，拒絕困於塔中一隅，而是選擇走出「下界」這一虛幻而不實的環境，去擁抱並不美好的現實世界。電影的末段，他向宣告將去建立友誼，這不僅意味著他超越自我，擺脫自我束縛，更是體現了對世界融合的理解，因為萬物終將歸一，達到無我之境。</p>
<p>本電影日文名稱為《君たちはどう生きるか》，致敬了小說家吉野源三郎的同名小說。在此小說中，主角小哥白尼於建築高塔上俯瞰，在視線中發現自己短暫遠離了塵世，體驗到了短暂的超然，但又意識到自己卻是塵世中的一份子，必須與世界共呼吸。從中他因此開始思考，他要怎麼活。而本電影中牧眞人這一形象的塑造，不僅是宮崎駿對个体存在的反思，也是對人類在宇宙中的定位提出質疑。這種對自我與世界的深刻理解，與牧眞人的人生旅程相互呼應，共同探討了如何在现实生活中找到平衡，以及如何在無我的狀態中實現自我與世界的和諧共生。</p>
<blockquote>
<p>爾時，須菩提聞說是經，深解義趣，涕淚悲泣，而白佛言：「希有，世尊！佛說如是甚深經典，我從昔來所得慧眼，未曾得聞如是之經。世尊！若復有人得聞是經，信心清淨，則生實相，當知是人，成就第一希有功德。世尊！是實相者，即是非相，是故如來說名實相。世尊！我今得聞如是經典，信解受持不足為難，若當來世，後五百歲，其有眾生，得聞是經，信解受持，是人即為第一希有。何以故？此人無我相、無人相、無眾生相、無壽者相。所以者何？我相即是非相，人相、眾生相、壽者相即是非相。何以故？離一切諸相，即名諸佛。」</p>
<p>——《金剛經》</p>
</blockquote>
<p>宮崎駿的電影與《金剛經》的四句偈在寓意上有所契合，將「無我」的哲學理念融入牧眞人的故事中。這四句偈提醒人們放下對自我、他人、眾生和時間的執著，只有這樣，才能真正地解放自我，達到內心的平靜。牧眞人的人物塑造，正是對這種境界的生動詮釋，他通過自我覺察、自我救贖，最終走向了無我之境，進而放棄對逃避現實的執念，選擇擁抱並不美好的現實生活。宮崎駿通過牧眞人這個角色，不僅向觀眾展示了如何面對內心的陰暗面，還教導我們如何在自我與無我之間找到平衡，進而活出一個更完整、更善良的自我。這部電影是一部深刻的哲理寓言，讓觀眾在享受視覺盛宴的同時，也能對生活和存在產生深層次的思考。</p>
<h4>蒼鷺——無論如何，他依舊會與你一同前行</h4>
<p>蒼鷺（アオサギ）這一命名，包含了一個有趣的日文梗。讀音「saki」亦可寫作「詐欺」。而在電影中導演也借蒼鷺之口對此調侃：「蒼鷺們都是騙子，只會說謊」。而在電影中，蒼鷺這一角色也多次對主角眞人致以謊言——製作眞人母親的假雕像，哄騙眞人為他補上長喙上的破洞等。</p>
<p><img src="https://file.nishikori.dev/rGtsLHDOv08mzgUCD0ZjVOroPr4.jpg" alt="蒼鷺（アオサギ）"></p>
<p>但不可否認的是，蒼鷺仍與眞人共同踏上了神秘的地下世界之旅，它不僅僅是一個虛構的伙伴，更是宮崎駿對其摯友鈴木敏夫、高畑勳的致敬。這部電影，可以看作是宮崎駿與鈴木敏夫、高畑勳之間深厚友情的寓言。在這個角色上，我們可以看到鈴木敏夫、高畑勳二人的影子。</p>
<p>鈴木敏夫先生始終具備一種特殊的豁達和活力，信奉的工作哲學是：「把工作當工作的人是傻瓜，要把工作當成是玩樂祭典才有趣。」這一形象也與電影中的蒼鷺相似，無論身處怎樣的困境，蒼鷺始終會去嬉鬧，玩笑，似乎從不重視自己的使命。但實際上他在眞人遇到困境時仍舊能盡全力相助，帶領眞人脫險。而依宮崎駿所稅，鈴木敏夫先生也為吉卜力工作室的發展注入了活力，正如蒼鷺在電影中引領眞人探索未知，兩人的相輔相成成就了工作室的輝煌。蒼鷺的存在，不僅是旅途的引導者，更是一種生活的啟迪。如同鈴木敏夫在宮崎駿的創作生涯中扮演的角色，他陪伴、支持並激勵著宮崎駿，共同經歷風雨。電影中的離別場景，蒼鷺告誡眞人，即使有一天會忘記這段旅程的細節，那些經歷所帶來的影響將會深植心底，成為未來成長的養分。這正是宮崎駿對友情與合作的深刻理解，即使面對分離，那些共同度過的時光與學習將永存，成為人生道路上不可或缺的支撐。</p>
<p>高畑勲先生則始終令宮崎駿先生「又愛又恨」。他是宮崎駿在東映動畫公司所認識的前輩，在製作《太陽王子 霍爾斯的大冒險》時，高畑勳提拔了當時職位雖不高但熱心參與的宮崎駿。由於能力頗強，宮崎駿在拍攝《風之谷》時也特別指明希望高畑勳能擔任該片的製作人。兩人從東映動畫至吉卜力工作室期間也互相合作拍攝不少的動畫。在訪問中被問及是否做夢時，宮崎駿曾回答說：「我只有一個夢，主角永遠是高畑先生。」他對青春高畑勲的情感有著深深的思念，他說：「不論從性格還是外表來看，他都不算好看，甚至有點醜陋，但他有一種非常人性化的魅力，讓我愛上了他。」</p>
<p>蒼鷺的形象，不僅是宮崎駿對鈴木敏夫、高畑勳先生的敬意，也是對所有在生活中陪伴、支持我們的人的歌頌。他們如同蒼鷺一般，引領我們穿越生活的迷霧，讓我們在探索與成長的道路上不再孤單，即使某一天他們遠去，他們留下的痕跡將永久地影響著我們的生命。</p>
<h4>火美——正派、陽光與純潔的母親形象</h4>
<p>在日語中，火美（ヒミ）的名字顯然是久子（ヒサコ）的一種變體，導演在角色出場之初便交代了這個角色的真實身分，並通過多個細節來反映這一點——在第二幕中，現實世界中家中的僕人婆婆們提到久子曾在和眞人年紀相仿時在高塔中消失了約一年，出來時忘卻了在那裡發生的所有事情而只是笑；眞人提及來下界的目的是為了尋找養母夏子（ナツコ）時，火美指出這是他的妹妹；而在給眞人製作三明治後眞人也說過「味道像是媽媽做的一樣」。因此在電影結尾時火美證實指明母親的身分時也並不會使觀眾感到意外。</p>
<p><img src="https://file.nishikori.dev/Wsw.webp" alt="火美（ヒミ） - 在將眞人從鸚鵡的圈套中救出後，她為眞人製作了三明治，被眞人評價為「媽媽的味道」"></p>
<p>正如其在電影中的形象，火美的內心不存在任何對外界的惡意，宛如下界中純潔無瑕的寶石。而在影片中，昏死的火美被裝進了豪華的水晶棺，如同象徵著珍貴的收藏品被放入玻璃展櫃中。</p>
<p>太舅公在影片中曾言，「我已經太老了，需要一位身上繼承我的血脈的人」，但為什麼不提早一些培養火美成為接班人？明明火美在這一個世界中已停留足夠長的時間，並且具備一些天賦。這個問題的答案恰恰是因為火美這一角色過於美好，過於正派。儘管下界空間並不大，但仍需要勾心鬥角，但她所具備的正派、美好、光明的形象並不適合她在此掌權。她無需成為維繫下界的控制者，因而沒有必要接受培養、訓練。</p>
<p>況且，作為宮崎駿影片中的「母親」形象，火美是一種更高階的角色，她雖生活在下界之中，但已然看穿、超越了下界中的幻象，她所能感受到的，不是世界中的邪惡、矛盾、污穢，而是純粹的「愛」，一種不屬於下界的更高階的靈魂。她並不屬於下界，因此在結尾也必須要離開。</p>
<p>火美在影片結尾選擇打開門，回到現實世界中——儘管眞人對她施以阻攔，告訴她倘若回去，未來將在東京轟炸中喪生。但火美卻積極地回應「我已經迫不及待成為你的媽媽了，我不怕火」，塑造了一個偉大的、閃耀著母性光輝的女性形象。</p>
<h4>霧子——關愛他人，世間無我的隱修士</h4>
<p>霧子婆婆雖然在影片中是眞人家中的僕人，但這一角色也象徵著現實生活中我們會遇到的友善的家中長輩、提攜照顧自己的職場前輩。這類角色，往往是生活中看似不起眼，不會令我們特別在意的角色，甚至某些時候還會對他們施以偏見——（他們）又老又頹廢，迂腐保守不開明，只會做一些簡單至極的工作。現代社會中人們的趨向是愈發自我的，因而對他們並不能夠完全理解，看不清霧子這類形象的本質。</p>
<p><img src="https://file.nishikori.dev/oz8.webp" alt="眞人在下界遇到的年輕霧子，是一名善良而強大的女性"></p>
<p>在第二幕中霧子以年輕的形象出現時，觀眾們一時無法將其與第一幕中霧子婆婆相聯繫起來。霧子在下界中，成為了一名年輕有力的漁夫。這一個角色瞬間變得有所作為，也不禁令眞人和我們都開始在意起這樣的角色——眞人在電影中因霧子而得救，又跟她學習了諸多有用的技能使他能夠在下界中生存下來。我們往往在得知了家中長輩、職場前輩年輕時的豐功偉績後，才會對他們有所正視，剝離自己之前對他們的偏見，真正看到他們角色中的閃光點。</p>
<p><img src="https://file.nishikori.dev/wxPHhgaQEnsNo5j2q1NsqZEBwhD.jpg" alt="ワラワラ - 我曾經在和朋友聊天時提到一個暴論，每當宮崎駿的電影出現硬傷時，便會使用一種可愛的生物轉移觀眾的注意力"></p>
<p>面對出發尋找夏子的眞人和蒼鷺，她並不選擇一起參與冒險，選擇留下照顧ワラワラ——ワラワラ是現實世界中的逝者所化為的生物，在成熟後他們會飛上天空前去投胎，實現輪迴。這一選擇反映出了她內心中的隱修士形象，她生活的很無我，一生中致力於幫助他人，這也恰恰是我們在生活中會遇到的家中長輩、職場前輩所具備的特質。</p>
<h3>宮崎駿的創作哲學</h3>
<p>這部電影可被視為宮崎駿對其動畫創作過程的映射。從前文中可見，眞人可能象征著宮崎駿，蒼鷹象徵著他的朋友和同事，而霧子則代表指導他的前輩。</p>
<p>由此推論，下界可視作吉卜力工作室的象征。在下界中，我們能看到宮崎駿其他作品的影子和致敬元素。太舅公建造下界的情節，也可以看作是宮崎駿的另一個化身。當僕人形容他「聰明但書讀多了走火入魔，變得古怪」，這可能是在自嘲宮崎駿晚年的狀態。</p>
<p>高塔的建造，可以反映宮崎駿的動畫創作過程。高塔的核心是外來的隕石，暗示他的作品受前人影響，比如《蒼鷺與少年》參考了《你想活出怎樣的人生》和《失物之書》。高塔建造的艱辛，則可能寓言了宮崎駿在創作中遇到的困難，如團隊協作的不順利。</p>
<p>墓石積木代表了動畫行業的眾多作品。當太舅公挑選十三塊積木建塔，隨后拆除，這里如果將眞人視為初入動畫界的宮崎駿，太舅公則象征著動畫界的前輩。眞人流著太舅公的血（繼承了前輩的精神），能夠完成只有擁有太舅公血脈的人才能做到的工作（即創作動畫）。</p>
<p>這個思路似乎無法解釋而眞人指出這些積木「製作於懷有惡意的墓碑」並拒絕接班太舅公的相關劇情。但我們亦可以發現，從《卡里奧斯特羅城》到《蒼鷺與少年》，宮崎駿恰恰完成了十三部作品。倘若太舅公在此處代表著老年的宮崎駿本人，而眞人在此時並不代表宮崎駿，而是指他的兒子宮崎吾朗呢？這樣似乎可以說得通。宮崎駿製作了數部作品，並希望吾朗傳承其工作，可以在後面加上「自己的積木」，而宮崎吾朗拒絕傳承事業，宮崎駿也不再強求血緣傳承。</p>
<h2>後記——我們沒必要刻意去看懂《蒼鷺與少年》</h2>
<h3>這並不是宮崎駿的自傳電影</h3>
<p>宮崎駿一九四一年出生于東京，家有四兄弟，他是第二個。母親患有嚴重肺結核，經常住院，一九四四年全家搬到了栃木縣宇都宮市，戰後五年又回到東京。這與《蒼鷺與少年》主角眞人的成長背景相似。</p>
<p>宮崎駿從小依賴母親，但由于母親多病，無法照顧好他和兄弟們，這對他影響很大。他對這點坦承不諱，并在多部作品中塑造了強烈母性的角色。《蒼鷺與少年》中，主角眞人冒險救母的情節，顯露出對母愛的深厚情感，讓人猜想這可能是宮崎駿的自傳式作品。然而，這種解釋太直接，對理解電影幫助有限，而且「自傳」這個標簽并不準確。</p>
<p>自從宮崎駿和吉卜力開始籌備這部作品，外界就知道宮崎駿的《蒼鷺與少年》源自吉野源三郎的《你想活出怎樣的人生》，但按照宮崎駿的創作慣例，他的作品通常只借鑒原作，與原作的關係通常不大，像是參考而不是改編。而《蒼鷺與少年》的故事情節與原著《你想活出怎樣的人生》的關聯微乎其微，更確切地說，宮崎駿只是借用了書名。他采用書名，并非用來作為電影的核心主題。如果這成為主題，那么電影可能被視為自傳式作品，即創作者通過創意手法將自身經歷編織成一個完整的生命故事，呈現在觀眾面前。</p>
<p>若果真如此，影評人和觀眾試圖從電影中窺探宮崎駿的個人歷史，自然有其合理性。然而，若無法深刻理解，也無需感到遺憾。我個人并不認為宮崎駿意在通過《蒼鷺與少年》來概括他的一生，這部電影并非自傳。</p>
<p>有些評論家主張，宮崎駿用書名的問題來挑戰觀眾。他們認為宮崎駿期望觀眾在觀影后深思這個問題：「你想活出怎樣的人生？」然而，我認為這種解讀缺乏根據。宮崎駿從未在作品中直接向觀眾提問，他的風格也不支持這種做法，尤其在他這樣的年紀，我不相信他會這樣做。</p>
<p>我認為，「你想活出怎樣的人生？」這個問題是宮崎駿對自身的拷問。這部電影，作為他的封筆之作，旨在以回答這個問題為目標，但他並無意提供一個嚴肅的解決方案或心灵鸡汤，而是借助流動的回憶或回憶的流淌來呈現。</p>
<h3>這是一部任性的人生跑馬燈</h3>
<p>宮崎駿透過這部電影來追溯他的生活軌跡，但他的目的並非提供一個完滿的答案。這不僅因為人生問題難以簡單解答，更因為他可能不期望在作品中尋求答案，而是渴望表達對這些問題的個人反應。電影中流動的記憶猶如跑馬燈，自然而然地浮現，讓觀眾感受到他內心世界的自由流動。</p>
<p>對宮崎駿而言，哪些記憶選擇浮現，以及它們如何流動和呈現，可能隱含著某種深意，即便他自己也不一定能完全意識到。將這些記憶視為他對自我過去和現在的反覆思考，而非特意對觀眾訴說的故事，可能更符合他的創作意圖。</p>
<p>因此，許多影評的解釋雖然看似合理，卻難以形成全面的說服力。觀眾們試圖從電影中尋找類似普通劇情片的結構，往往只是徒勞無功或勉強附會。又如同本文前面將電影角色與宮崎駿现实生活中的某個角色對應，但坦白來講這種做法通常是徒勞無功的。（正如在創作哲學一部分時我試圖將將太舅公與眞人的互動套在宮崎駿的現實人際關係中，卻發現無法找到一個合理的答案）電影中的角色可能是宮崎駿生活中的某人轉化，也可能是多個人特質的結合或重疊。因為這部電影不是自傳，而是個人重要回憶的自然流動。</p>
<p>此外，這些回憶的流動中包含了宮崎駿過去作品的痕跡，因為這些作品對他意義重大。電影中出現了《龍貓》《魔女宅急便》等經典場景和視覺元素，甚至眞人父親開車的場景令人聯想到《卡里奧斯特羅城》。不過這些「彩蛋」並非刻意植入，而是自然流露，觀眾可以隨心所欲地欣賞和聯想，無需急著參考影評來尋找全部答案。</p>
<p>同樣的，即便電影中有許多難以理解的部分，每位觀眾仍能從中體會到宮崎駿想要傳達的深意，如親情的溫情、創作者的自省、人性的兩面。這些感受無需影評指導，可以作為與宮崎駿最后的對話，深藏在心中，因為這可能是最后一次機會了。</p>
<p>儘管有些地方晦澀難懂，但我仍然認為，每個觀眾都能從中捕捉宮崎駿想要分享的意義。</p>
<h3>我們應該如何欣賞宮崎駿的電影</h3>
<p>觀賞完《蒼鷺與少年》，並研究眾多評論后，我心中產生一個疑問：大家普遍認為這部電影難懂，是否意味宮崎駿以往的作品都易懂呢？實際上，不把故事講得一清二楚，是宮崎駿作品的一大特色。</p>
<p>如果你是宮崎駿動畫的粉絲，回顧過去，是否有過這樣的情況：某個場景或情節讓你感到困惑，或者對其意義半知半解？肯定是有的，但因為我們大致掌握了作品的主軸，便忽略了那些模糊的細節。</p>
<p>這並非說宮崎駿忽視觀眾，他實際上極力讓作品更接地氣，讓觀眾在觀影時感到愉快。然而，他內心深處的任性冲动從未消失，他偶爾會讓主角做些無厘頭的事情，只為了遵循自己的直覺。這種矛盾對宮崎駿來說是一種負擔。</p>
<p>這可能解釋了他多次宣布退休后又推出新作的原因：他始終未找到一個能盡情展現任性的終結篇。《風起》曾被認為是他的最后一部作品，但它與宮崎駿以往的風格不同，因為它是基于真實人物堀越二郎的故事。在這部作品中，宮崎駿對戰爭、武器和人生觀的態度得以展現。然而，即便如此，《風起》仍是一部經過深思熟慮和平衡創作出的作品，如果以此作為他職業生涯的終點，恐怕他不會感到滿足或平靜。</p>
<p>于是，《蒼鷺與少年》成為宮崎駿一次任性的嘗試，無拘無束地讓情感與回憶流淌，故事自然發展，無需考慮觀眾的期待。我猜測，這正是他選擇在《風起》之后制作這部電影的動機。</p>
<p>由於宮崎駿在《蒼鷺與少年》中首次如此自由地展現任性，他的坦誠無比感人，即便我們對電影的理解不夠深入。事實上，當我們放下對理解的執著，反而能獲得更深層的感動。這種感動與以往觀看宮崎駿作品時的體驗截然不同，因為這次，我們仿佛目睹了一位老友的人生跑馬燈，聆聽他任性的回憶故事，這份感動格外真摯。</p>
<h3>與吉卜力在螢幕上告別</h3>
<p>說到宮崎駿的任性，這與吉卜力的成立密不可分。一九八四年，宮崎駿在籌拍《風之谷》時，才意識到沒有穩定的公司架構很難在電影市場立足。于是，他與高畑勳、鈴木敏夫共同創辦了吉卜力。宮崎駿和高畑勳雖然不善考慮市場因素，但他們明白電影需要現實面，這正是鈴木敏夫的價值所在。鈴木敏夫在維護兩位天才創作者的創作熱情和自由同時，也成功地將吉卜力推向國際市場，贏得他們的高度信賴，這絕非易事。</p>
<p>高畑勳在二零一八年去世，享年八十二歲，宮崎駿如今也已八十二歲，而鈴木敏夫則已七十五歲。吉卜力雖出品過其他導演的作品，也曾試圖培養接班人，但似乎鈴木已無意持續經營。據報道，日本電視台將收購吉卜力，這不禁讓人懷疑，未來的吉卜力將何去何從？</p>
<p>吉卜力作為一個品牌和組織，無論在產品特色還是企業模式上，都在日本動畫乃至全球動畫界獨樹一幟，其不可複制的特性顯而易見。如今，鈴木可能已不愿再限制宮崎駿的創作，讓他的想法得以自由實現。這部「零宣發」的電影，既是宮崎駿的任性之作，也成為鈴木敏夫營銷策略的絕妙示範。</p>
<p>兩次觀賞《蒼鷺與少年》后，我深深體會到，宮崎駿在晚年能完成這樣一部作品，想必是十分幸運的。我相信，這份信念讓《蒼鷺與少年》超越了理解的局限，成為一個溫馨且美好的存在，與宮崎駿的其他作品一同深植于觀眾心中。</p>
<h2>拓展閱讀</h2>
<blockquote>
<p><a href="/posts/anti-war-thought-in-hayao-miyazaki-films">宮崎駿動畫作品中的反戰思想</a></p>
</blockquote>
<blockquote>
<p><a href="/posts/oedipus-complex-in-hayao-miyazaki-films">宮崎駿動畫作品中的俄狄浦斯情結</a></p>
</blockquote>
<hr>
<h2>創作日誌</h2>
<p>2024-04-06 23:00 完成文章大綱。</p>
<p>2024-04-08 16:30 完成劇情介紹部分。</p>
<p>2024-04-10 23:05 完成各類資料收集，正在進行影片解析，第一層分析開始動筆，完成牧眞人、蒼鷺人物分析，列明創作哲學與人生哲學主要觀點，第二層分析完成開頭，確定角色分析、反戰思想兩個方向。定下後記內容方向。</p>
<p>2024-04-11 10:30 完成火美、霧子的人物分析，宮崎駿的創作哲學，俄狄浦斯情結開始動筆。</p>
<p>2024-04-11 18:30 重構文章結構，將俄狄浦斯情結、反戰思想的內容獨立為一片新文章，完成後記寫作，優化了一些文字表述。</p>
<p>2024-04-12 01:50 添加輔助圖片，定稿。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>隨筆評論</category>
            <category>宮崎駿</category>
            <category>吉卜力</category>
            <category>動畫</category>
            <category>影評</category>
        </item>
        <item>
            <title><![CDATA[系統模型與模型化技術（2）]]></title>
            <link>https://nishikori.dev/posts/system-models-and-modeling-techniques-2</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/system-models-and-modeling-techniques-2</guid>
            <pubDate>Wed, 03 Apr 2024 12:14:13 GMT</pubDate>
            <description><![CDATA[闡述系統結構模型化的理論與方法，介紹結構分析的概念、系統結構的集合表達、有向圖與矩陣表示方法，並說明可達矩陣與縮減矩陣的構建原理。內容最後探討遞階結構模型的建立過程，為系統層次化分析與優化設計提供方法依據。]]></description>
            <content:encoded><![CDATA[<h1>系統結構模型化技術</h1>
<h2>結構分析的概念及意義</h2>
<p><strong>概念</strong>：結構分析是一個實現系統結構模型化並加以解釋的過程</p>
<p><strong>意義</strong>：結構分析是系統分析的總要內容，是系統優化分析、設計與管理的基礎。</p>
<p><strong>主要內容</strong>：</p>
<ul>
<li>
<p>對系統目的—功能的認識；</p>
</li>
<li>
<p>系統構成要素的選取；</p>
</li>
<li>
<p>對要素間的聯繫及其層次關係的分析；</p>
</li>
<li>
<p>系統整體結構的確定及其解釋。</p>
</li>
</ul>
<h2>系統結構的基本表達方式</h2>
<p>系統結構可以有多種表達方式，一般情況下，他們之間可以相互轉化。在下面的介紹中，我們會給出兩個案例。</p>
<h3>系統結構的集合表達</h3>
<p>假設某系統 A 中含有 $ S_1 $ 至 $ S_5 $ 五個元素，他們之間的二元關係都集合表達為</p>
<p>$ R_b = {(S_1, S_2), (S_1, S_5), (S_2, S_3), (S_3, S_4), (S_5, S_2), (S_5, S_3), (S_5, S_4)} $</p>
<p>同理，含有$ S_1 $ 至 $ S_6 $ 六個元素的系統 B，他們之間的二元關係的集合表達為</p>
<p>$ R_b = {(S_1, S_3), (S_1, S_5), (S_2, S_4), (S_4, S_2), (S_4, S_6), (S_5, S_1), (S_5, S_2)} $</p>
<h3>系統結構的有向圖表達</h3>
<p>根據描述，我們可以作出有向圖如下：</p>
<p><img src="https://file.nishikori.dev/t1lfqw15olrn7xfcmf.webp" alt=""></p>
<h3>系統結構的矩陣表達</h3>
<h4>鄰接矩陣</h4>
<p>鄰接矩陣$ (A) $是表示系統要素間基本二元關係或直接聯繫情況的方陣。若兩元素間存在二元關係，則對應位置填入 &quot;1&quot;，反之則填入 &quot;0&quot;。有了表達系統結構的集合式 $ (S , R_b)  $ 或有向圖 $ (D) $，就可以很容易地把$ (A) $寫出。系統 A、B 的鄰接矩陣如下</p>
<p><img src="https://file.nishikori.dev/uisgi1ltsjfv99rwxe.webp" alt=""></p>
<p>很明顯。$ A $ 中&quot;1&quot;的個數與 $ R_b $ 所包含的要素對數目以及有向圖 $ D $ 中有向弧的條數相同。</p>
<p>在鄰接矩陣中，若有一列元素完全為 0，則這一列所對應的要素為系統的<strong>輸入要素</strong>，若有一行元素完全為 0，則這一行對應的要素為系統的<strong>輸出要素</strong>。</p>
<h4>可達矩陣</h4>
<p>若在要素 $ S_i $ 和 $ S_j $ 間存在某種傳遞性二元關係，或在有向圖上存在由節點<em>i</em>通往<em>j</em>的有向通路時，則稱 $ S_i $ 可以到達 $ S_j $ 。所謂可達矩陣$ (M) $ 就是表達系統要素間任意次傳遞性二元關係或有向圖上兩節點之間通任意長路徑可到達情況的方陣。</p>
<p>矩陣 $ A $ 和$ M $的元素均為&quot;1&quot;或&quot;0&quot;，符合布爾運算的運算規則。通過對鄰接矩陣$ A $的運算，可求處系統要素的可達矩陣$ M $。設無迴路情況下的最大路長或傳遞次數為$ r $，$ I $為與 $ A $ 同階次的單位矩陣，則可達矩陣的計算公式為$ M=(A+I)^r $。</p>
<p>系統 A 和系統 B 的可達矩陣如下</p>
<p><img src="https://file.nishikori.dev/da4g6q84vfq8mqnv7r.webp" alt=""></p>
<h4>縮減矩陣</h4>
<p>根據強連接要素的可替換行，在已有的可達矩陣$ M $ 中，將具有強連接關係的一組要素看作一個要素，保留其中的某個代表要素，刪除其餘要素，便可得到可達矩陣$ M $的縮減矩陣 $ M' $。系統 A 和系統 B 的縮減矩陣如下</p>
<p><img src="https://file.nishikori.dev/38b9epj86ds5oklfef.webp" alt=""></p>
<h2>建立遞階結構模型</h2>
<p>為了建立反應系統問題要素間層次關係的遞階結構模型，可以在可達矩陣$ M $的基礎上進行。</p>
<p>使用<strong>規範方法</strong>時，我們一般需要經過<strong>區域劃分</strong>、<strong>級位劃分</strong>、<strong>骨架矩陣提取</strong>和<strong>多級遞階有向圖繪製</strong>四個階段。</p>
<p>而在使用<strong>實用方法</strong>時，我們需要經過<strong>建立縮減矩陣</strong>、<strong>層次化處理</strong>、<strong>多級遞階有向圖繪製</strong>三個步驟。</p>
<p>由於該部分涉及概念過多且較為抽象，我們選擇通過解決實際問題來進行說明。</p>
<blockquote>
<p>已知下面的系統可達矩陣，建立其遞階結構模型</p>
<p><img src="https://file.nishikori.dev/dd44u8miu26v4f3bjf.webp" alt=""></p>
</blockquote>
<p>由於本站點對於 $ \LaTeX $ 的支持並不完備，故使用圖片形式進行演示，相關文件將在稍後開源。</p>
<p>::: gallery</p>
<p><img src="https://file.nishikori.dev/ympkdqygzgtkzd35rs.webp" alt="file_3372.jpeg" title="file_3372.jpeg"></p>
<p><img src="https://file.nishikori.dev/97as07ll0kbbp7x7zv.webp" alt="file_3373.jpeg" title="file_3373.jpeg"></p>
<p><img src="https://file.nishikori.dev/mrcap81jyiolf97jiw.webp" alt="file_3374.jpeg" title="file_3374.jpeg"></p>
<p><img src="https://file.nishikori.dev/et6687bkwpbma8cts8.webp" alt="file_3375.jpeg" title="file_3375.jpeg"></p>
<p><img src="https://file.nishikori.dev/spirhr5sqzf4wb8gdb.webp" alt="file_3376.jpeg" title="file_3376.jpeg"></p>
<p><img src="https://file.nishikori.dev/wcbperro2x4xnh4kbv.webp" alt="file_3377.jpeg" title="file_3377.jpeg"></p>
<p><img src="https://file.nishikori.dev/hwbn8zj0hvs8z8tjow.webp" alt="file_3378.jpeg" title="file_3378.jpeg"></p>
<p>:::</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>系統工程學</category>
            <category>系統結構</category>
            <category>模型化技術</category>
            <category>矩陣分析</category>
            <category>遞階模型</category>
        </item>
        <item>
            <title><![CDATA[有關咖哩，一位朋友的口述回憶]]></title>
            <link>https://nishikori.dev/diary/2024-04-03-2</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-04-03-2</guid>
            <pubDate>Wed, 03 Apr 2024 07:41:33 GMT</pubDate>
            <content:encoded><![CDATA[<p>在與朋友的交談中，得到了一段十分有生活氣息的口述回憶：</p>
<blockquote>
<p>從家出來後，咖喱幾乎成了我求學省時的必備菜，任何食材，只要焯好炒過，在加上咖喱煮好，都可以快速下飯。母親小時候最常買的是百夢多，那時候也只買的到這個，她都是嚴格按照盒子後的烹調步驟來的，那時會覺吃咖喱是一頓重大且有儀式感的活動。不過是獨屬於我和我母親的活動，我父親是不會吃這種「十三香花椒面泡飯」的。</p>
<p>咖喱，紫菜包飯，漢堡之類都是我母親做給我的，有的是她聽人說來的，有的是我歪纏著要吃的，她對新鮮事物的接受度很高，並致力於把它們變成家庭菜譜的一部分，我父親就很討厭，在他眼裡，這些均不算正經飯菜，叫「瞎吃」。所以每次要給他另做一份，因著這個，我也很少在他留家裡吃飯時吃這些，全家主要順著他的口味來。</p>
</blockquote>
<p><img src="https://file.nishikori.dev/IMG_4221.jpeg" alt="我對咖哩，尤其是CoCo壱番屋咖哩有著特別的感情，2024年年初我獨自在大阪休假時某天夜晚，我失意地在路上走著，不知去吃些什麼，無意中走入了一家CoCo壱番屋，憑感覺點了一份咖哩飯，不知怎的，那份咖哩飯振奮了我的精神。"></p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[對癸卯年國慶假期的回憶（1）]]></title>
            <link>https://nishikori.dev/diary/2024-04-03</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-04-03</guid>
            <pubDate>Wed, 03 Apr 2024 07:11:46 GMT</pubDate>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[高三那年我所吃到的最美味的炸雞]]></title>
            <link>https://nishikori.dev/diary/2024-04-02</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-04-02</guid>
            <pubDate>Tue, 02 Apr 2024 14:06:09 GMT</pubDate>
            <content:encoded><![CDATA[<p>在那個被冬日寒風籠罩的高三夜晚裡，我和她共享的那份炸雞，成為了我們故事中最甜美也最苦澀的一章。現如今，時光流轉使她成為了我的前任，但那個夜晚的記憶，依然是我心中最寶貴的珍藏。</p>
<p>彼時我們已然選擇了不同的課程，已少有機會同坐一室，儘管我們被安排在相鄰的教室，我的思念卻如同瀰漫的晨霧一般無所不在。記得那是二零二一年的冬季，嚴寒逼人，我們雖都留宿學校，但她還是偷偷帶了手機進學校，只為給這平靜的日子裡帶來一絲小小的驚喜與快樂。</p>
<p>某日晚自習的課間，她悄無聲息地來到我的班級，用那種只屬於我們的眼神問我是否渴望一點「<strong>非日常的滋味</strong>」。我在驚訝和興奮中迅速點頭同意。她帶著一抹難以捉摸的笑容離開，一句多餘的話都沒留下——後來我才知道，她竟然溜到廁所裡，利用手機點了外賣。</p>
<p>那夜，課間鐘聲響起的那一刻，我們如同兩隻偷腥的貓，躲避著值日老師的目光，潛入了學校的夜色中。寒風中，我們笑語嬉戲，即使冬日裹挾著刺骨的寒冷，也絲毫掩蓋不了心中的喜悅。終於，我們顫抖著手抵達約定外賣送達地點。然而，命運總愛開玩笑，在我們即將取餐時，不巧遇到了巡邏車。小心翼翼地，我們躲避著巡邏的保安，假裝漫不經心地踱步散心，直到保安離去後，才終於轉身回走，拿到了那個裝滿希望的外賣盒。</p>
<p>取了外賣，我們兩個也一份不敢多待，怕再遇到保安，也怕染上風寒。急匆匆返回教學樓，找到了一間無人的教室，我們隱匿在黑暗之中——因為擔心被發現，連教室的燈光都不敢開啟。在黝黑的空間內小心翼翼地拆封那袋子，期待中卻發現裡頭僅有的一副手套。我想將之平分，讓我們各戴一隻以食，她卻婉轉拒絕。「一層手套恐怕難以阻隔油脂的滲透，將兩隻手套都戴在你的一隻手上罷！」她向我耳語道，溫暖的氣息在寒冷而幽靜的空教室中撫摸著我凍得泛微紅的臉上。如此安排下，我戴上手套，拾起一塊炸雞，在模糊的燈光下細心尋覓她的唇邊，將第一口為她送去。幽暗中，我盡力辨識她的面龐，輕輕將炸雞递到她嘴邊。那個動作在她看來可能既笨拙又充滿溫柔——每當我回想起這一幕，心中總是五味雜陳，不知她又有何感受。</p>
<p>僅管我試圖將炸雞精准的送到她的口中，但迫於環境實在昏暗，她的臉頰仍不時被我不經意地蹭上醬料。當然，她也並沒有吃什麼虧，我的手時常被她她不小心咬到而感到疼痛，但在當下，這種痛感反而夾雜著一絲暖意——拋去那些感性的說法，這可能是因為我的手指被她的牙給咬得微微腫起。</p>
<p>那頓炸雞讓我們在翌日齊齊腹痛，彼此陪伴著走向醫務室的途中，還是決定給那家外賣店裏差評。實話實說，那炸雞的滋味原本就平平無奇，油膩的醬料裹得太厚，對於我來說，幾近於負擔。外賣從下單到到達，間隔了許久，那幾十分鐘的等待，在寒冷的北國夜風中，使得炸雞早已失去了原有的溫度，更別說是溫暖了。</p>
<p>然而，在我的記憶中，那仍舊是我短短二十年人生中吃過的最好的炸雞。畢竟，它是在高三那段充滿壓力的日子裡，我們顛覆校規，偷偷奔向的一次小小的自由。它不僅僅是一頓簡單的炸雞晚餐，而是我們曾共有的那段青澀歲月，那些小小的叛逆和偷偷摸摸的甜蜜。我與她攜手，在一間黑暗的教室中，共同分享的秘密晚宴。在那一刻，即使是她不小心咬痛了我的手，那份痛楚在我心中，也轉化成了一種難以言喻的甜蜜。</p>
<p>今日，即便她已成為我的前任，那個夜晚的記憶，仍舊清晰如昨。在青春的歷程上，我們曾相互陪伴，共同度過，即便最終各自前往不同的方向，那夜的記憶將永遠溫暖我心。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[有關日本簽證的記憶]]></title>
            <link>https://nishikori.dev/diary/2024-04-01</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-04-01</guid>
            <pubDate>Mon, 01 Apr 2024 13:35:58 GMT</pubDate>
            <content:encoded><![CDATA[<p><img src="https://file.nishikori.dev/IMG_5452.jpeg" alt="心齋橋 - 2023年8月10日攝於日本大阪"></p>
<p>我很慶幸 2023 年申請日本觀光簽證時沒有圖方便遞交 V44 申請，而是準備好各種材料申請了 V72。</p>
<p>在我遞交申請後沒幾天，重慶市便推行新政策，推行之後 V70 和 V72 只能提交稅收證明申請（V72 依然可以使用三年內兩次赴日旅遊紀錄免除資產證明）。</p>
<p>而萬幸我剛在新政策出台的前幾天成功借助存款證明遞交了 V72 簽證申請，因此在三年內可以自由往返日本，這使得我在2024年初，心情極度低落時可以自行前往大阪休假，而不被家人知道。</p>
<blockquote>
<p>近幾年來，中國籍遊客在中國申請的赴日觀光簽證主要有下面幾種：</p>
<blockquote>
<p>個人單次旅遊簽證 (V) AS A TEMPORARY VISITOR (INDIVIDUAL)  V43 ———— 這一類日中雙方旅行社不需要派領隊和導遊，遊客可以進行自由行。有效期一般為「3 個月」，停留期限分為「15 天」或「30 天」。申請條件相對來說較高。除了要提交基礎資料（護照原件、<a href="https://www.cn.emb-japan.go.jp/files/100034897.pdf">簽證申請表</a>、近期證件照、身分證複印件、戶口本複印件與在職/在校/退休證明），還需要提交以下資產證明中的至少一項——持有信用卡金卡及以上卡種，年收入十萬元以上的工資流水，十萬元人民幣存款證明（需凍結至從日本返程之後），房產證明。</p>
</blockquote>
<blockquote>
<p>(V) AS A TEMPORARY VISITOR (TOKUDAI)  V44 ———— 這一類於 V43 類似，但是適用於在<a href="https://www.shenyang.cn.emb-japan.go.jp/cn/visa/zhongguojiaoyudaxue1243.pdf">1243 所高校清單</a>內的在讀學生，除基礎資料外，僅需提供在讀證明，或者學信網的學籍報告，無需提供資產證明。</p>
</blockquote>
<blockquote>
<p>赴日沖繩或東北六縣多次旅遊簽證 (V) AS A TEMPORARY VISITOR (OKINAWA) (M) V66 / V67 / V68 / V69 / V73 / V74 ———— 這一種簽證可以在 3 年有效期之內多次使用，停留期限為「30 天」，首次赴日需有至少一日停留在沖繩或東北六縣。從第二次以後赴日，除了觀光旅遊以外的短期訪問也可以使用。申請這種簽證，除了要提交基礎資料包括三年內一次赴日旅遊簽證紀錄（V44 不適用），只需提供年收入十萬元人民幣的工資單。</p>
</blockquote>
<blockquote>
<p>具有足夠經濟能力人士的多次旅遊簽證 (V) AS A TEMPORARY VISITOR V72 ———— 這一種簽證同樣可以在 3 年有效期之內多次使用，停留期限也是「30 天」，需要在申請簽證後三個月內訪問一次日本。這一簽證的常規申請條件比較高，需要年收入二十萬元以上的工資流水、年納稅一萬八千元人民幣的納稅證明或五十萬人民幣的存款證明。但對於經常赴日旅遊的遊客來說，&gt;可以提交三年內兩次赴日旅遊的簽證紀錄以免除資產證明要求（V44 不適用）。從第二次以後赴日，除了觀光旅遊以外的短期訪問也可以使用。發放對象是具有足夠經濟能力的人士及家屬，即家庭中某一位可以作為主申請人，家庭其他成員作為副申請人。</p>
</blockquote>
<blockquote>
<p>相當高收入人士的多次簽證 (V) AS A TEMPORARY VISITOR (SPECIAL) V70 ———— 該簽證可以在 5 年有效期之內多次使用，停留期限為「90 天」。這種簽證從初次赴日開始，觀光旅遊以外的短期訪問也可以使用。且赴日機票，船票和住宿設施等預訂以及旅行全程，都可以申請人本人自行決定和改變。這一簽證的申請條件最高，除基礎資料外，還需要提供一百五十萬人民幣的存款證明或年納稅八萬元人民幣的納稅證明。發放對象是“具有相當高收入的人士及家屬”，即家庭中某一位可以作為主申請人，家庭其他成員作為副申請人。</p>
</blockquote>
<p>*以上各政策僅為大概，各領區具體要求有所不同。</p>
</blockquote>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[椅子樂團：穿越音符的旅程與溫柔的告白]]></title>
            <link>https://nishikori.dev/posts/the-chairs-band-music-journey</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/the-chairs-band-music-journey</guid>
            <pubDate>Sat, 30 Mar 2024 05:39:00 GMT</pubDate>
            <description><![CDATA[本文以細膩的筆觸描繪椅子樂團的音樂風格與文化底蘊。從語言的多樣性到舞台的溫柔能量，作者透過現場經驗與聆聽體驗，展現了這支樂團如何以迷離與真誠的旋律，穿越時代與語境的界線。]]></description>
            <content:encoded><![CDATA[<p>在《日常的鏡頭》中，我們跟隨著一位大叔的視覺，演繹伯元所唱出的日語詞句:「<strong>今天也看到了很多可愛的女孩子，不變的日常總覺得幸福。</strong>」</p>
<p>然而，這故事的高潮，卻是一次充滿情感的告白：「<strong>有你的鏡頭，就不一樣。</strong>」</p>
<p>椅子樂隊的音樂游走於不同語言之間，他們能夠將日語、中文、英文等語言巧妙融合，甚至包括了閩南語、台灣原住民阿美族的方言。通過將這些多樣的語言與1960年代的迷幻搖滾元素結合，椅子樂隊精於在一個樂章中呈現文化多樣性。</p>
<p>在首張專輯裡，他們使用的樂器主要為木吉他，當時的風格比較靠近民謠。但是在《Lovely Sunday》這張專輯中，樂團又嘗試了很多新的演奏方法，甚至邀請到了落日飛車的鼓手羅尊龍、薩克斯演奏家謝明諺來協助，這些都對其樂隊風格的形成產生了很大的影響。</p>
<p>椅子樂隊的風格該如何定義？有的人語重心長地認為它是「<strong>迷離</strong>」，有人說他們復古了，也有酸語揶揄地說他們變得浪漫、蒸汽波、溫柔、搖滾……榮毅在一次採訪中表示，現在他們的風格非常多元，很難歸為一種，如果一定要強行歸類，則希望能創新一種音樂類別「<strong>椅子音樂</strong>」。</p>
<p>在台灣長大的椅子樂團，創作歌詞時選擇的意象都充滿了溫度和清新，就像多數人對台灣電視劇的直觀印象。例如在《若今夜我失眠》裡，他們如此歌唱「<strong>若我卷了數夜思念，你就幫我點菸，氤氳成夕陽紅的雪</strong>」，在《後山舞曲》裡唱「<strong>海風吹過來味道帶點鹽巴</strong>」……他們的詞句中充滿了美好的意象和豐富的畫面感，再加上獨特的唱腔和編曲風格，就像海風般清新驅暑。寓言般明麗之中，椅子樂團可愛的台灣話，坦然的談吐，滿眼的笑意，就像是熱夏裡，加了蜂蜜的冰檸檬水般清涼。</p>
<p>他們會以搞怪的「旺福」風格撰寫樂曲、讓歌曲獻給祖母的小狗阿奇；他們會給你帶來開朗的建議，「<strong>你可以恣意地哭呀！你知道眼淚多奢侈嗎？把所有情感溶化，我羨慕你擁有這種享受軟弱的能力呀</strong>」；他們會將人生中的第一首創作獻給父親，用軟糯軟糯的閩南語唱《惦惦的夢》；他們也會寫出甜蜜蜜的小情歌，「<strong>I may be dreamer baby，Tonight I'll be dreaming with you</strong>」……</p>
<p>我曾親臨椅子樂團的Live現場，意外的發現台下的觀眾不會去混亂打混，而是溫柔的晃動自己的身體。情緒到了極點，椅子樂團的歌迷會一起敬禮，「<strong>向可愛和溫柔致敬！</strong>」印象最深的是，《Rollin’On》這首歌引發了全場歌迷的大合唱，暖藍色的燈光在舞台上搖曳，年輕人們搖擺著自己的身體，輕鬆地和樂團一起唱，「<strong>Rolling on</strong>」。</p>
<p><img src="https://img2.imgtp.com/2024/03/30/AYS0ex5S.jpg" alt="椅子樂團Livehouse照片-來源於網路"></p>
<p><strong>你是我的銀河，而我是你的歌者，追尋著你的光和熱，就是我的永恆，明天我們在哪醒來，I don't know buttonight we'll be fine.</strong></p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>隨筆評論</category>
            <category>音樂評論</category>
            <category>椅子樂團</category>
            <category>臺灣獨立音樂</category>
            <category>樂團現場</category>
        </item>
        <item>
            <title><![CDATA[有關私密照片洩漏的兩段回憶]]></title>
            <link>https://nishikori.dev/diary/2024-03-29</link>
            <guid isPermaLink="false">https://nishikori.dev/diary/2024-03-29</guid>
            <pubDate>Fri, 29 Mar 2024 11:41:16 GMT</pubDate>
            <content:encoded><![CDATA[<p>我上高中時，不幸地，不止一個同學的私密照片在級部流傳，經過了不知多少人的手。</p>
<hr>
<p>第一位是與我關係並不和諧的女生，她因與男友爭執而分手，分手過程中感情非常激烈。那位男生，將她的私密影像分享給了自己的朋友，隨後，這些照片像野火一樣在我們之間蔓延開來。</p>
<p>記得有個命名類似「絕密文件」之類的壓縮包被傳給了我。我的確與她關係不佳，但當我無意中打開了一張照片，立即意識到了事情的嚴重性，我選擇了刪除。</p>
<p>雖然只是匆匆一瞥，但那個場景至今仍在我的腦海中揮之不去——女生孤單地坐在床上，表情麻木，赤裸著身體，擺著 誘惑的姿勢。</p>
<p>有傳聞說，在他們感情的最後階段，為了試圖維繫這段關係，她不得不屈從於男方的無理要求。可即便如此，他們還是因為男生的移情別戀而分手了。</p>
<hr>
<p>第二個故事的主人公是一位去了五角場的女生，傳出隱私照片的同樣是他的男朋友。那男生，現在在五道口。女生很符合現今所謂的「白幼瘦」審美標準，而男生則是那種總是不正經的人。</p>
<p>男生經常去女生家裡進行私會。曾有一次，男生在女生家長不在時去她家相會，結果在家長突然回家時被迫躲進衣櫃，直到凌晨三點才得以逃跑。當然，男生也並不總是能這麼順利逃脫，有一回，情況幾乎失控，女孩的父親發現了幽會，大吼一聲，去廚房拿起了菜刀，男生匆忙逃走，在逃離過程中出點意外——騎電動車逃離撞上了路旁的樹，後來請了一個星期的病假。</p>
<p>一次醉酒後，男生在微信群里開始炫耀與女生的親密經歷，其中不乏與她發生關係的描述，興奮之下，他還分享了幾張照片。這些照片很快在班上的男生和少量女生間傳開——但照片中只有美颜滤镜下的裸体，並沒有顯示女生的臉，真實性難以判斷。</p>
<p>兩人最終因分分合合中女生的移情別戀而結束了這段關係。</p>
<hr>
<p>第一位女生後來得知了自己隱私照片的事，班上因此掀起了一場罵戰。有趣的是，這對前戀人最終被同一所大學同一專業錄取。</p>
<p>至於第二位女主，她一直不知情，和新歡一同前往五角場，開始了新的篇章。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
        </item>
        <item>
            <title><![CDATA[系統模型與模型化技術（1）]]></title>
            <link>https://nishikori.dev/posts/system-models-and-modeling-techniques-1</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/system-models-and-modeling-techniques-1</guid>
            <pubDate>Mon, 25 Mar 2024 14:42:33 GMT</pubDate>
            <description><![CDATA[介紹系統模型與模型化技術的基本概念與方法，闡述模型的定義、分類、建模步驟與模型化原則，並探討分析法、實驗法、綜合法、德爾非法與辯證法等建模技術的特點及應用，為系統工程分析奠定方法論基礎。]]></description>
            <content:encoded><![CDATA[<h2>模型及模型化概述</h2>
<h3>模型及模型化的定義</h3>
<p>模型是現實系統的理想化抽象或簡潔表示，描繪了現實系統的某些主要特點，是為了可觀的研究系統二發展起來的。</p>
<blockquote>
<p>模型的特徵：模型是現實世界部分的抽象或模仿；它是由那些與分析問題有關的因素構成；它表明了有關因素間的相互關係。</p>
</blockquote>
<p>系統模型是現實系統的替代物，是為了描述現實世界的一個抽象。模型反應了系統的主要組成成分、各部分之間的相互作用以及在運用條件下的因果作用、相互關係。</p>
<p>模型化就是為了描述系統的構成和行為，對實體系統的各種因素進行適當篩選後，用一定方式（數學、圖像等）表達系統實體的方法。</p>
<h3>模型化的本質、作用與地位</h3>
<p>模型化的<strong>本質</strong>在於利用模型與原型之間某方面的相似關係，在研究過程中用模型來代替原型，通過對模型的研究得到關於原型的一些信息。</p>
<p>模型化的<strong>作用</strong>分為三點：</p>
<ul>
<li>
<p>模型本身是人們對客體系統一定程度研究成果的表達，這種表達是簡潔的、形式化的。</p>
</li>
<li>
<p>模型提供了脫離具體內容邏輯研議和計算的基礎，這回促使科學規律、理論、原理的發現。</p>
</li>
<li>
<p>利用模型可以進行「思想」實驗。</p>
</li>
</ul>
<p>模型化的<strong>地位</strong>：模型的本質決定了它作用的<strong>局限性</strong>，模型<strong>不能</strong>代替對客觀系統內容的研究，只有在和客觀系統相配合時，模型的作用才能充分發揮。</p>
<h3>模型的分類</h3>
<p><img src="https://img.nishikori.dev/04h97cbrvpocvu9cjy.webp" alt="模型分類示意圖"></p>
<h3>構建模型的一般原則</h3>
<ol>
<li>
<p>考慮系統集合性</p>
</li>
<li>
<p>考慮信息相關性</p>
</li>
<li>
<p>考慮信息準確性</p>
</li>
<li>
<p>考慮系統層次性</p>
</li>
</ol>
<h3>建模的基本步驟</h3>
<ol>
<li>
<p>明確建模的目的和要求</p>
</li>
<li>
<p>對系統進行一般語言描述</p>
</li>
<li>
<p>弄清楚系統中的主要因素（變量）及其相互關係（結構關係、函數關係）</p>
</li>
<li>
<p>確定模型的結構</p>
</li>
<li>
<p>估計模型的參數</p>
</li>
<li>
<p>實驗研究</p>
</li>
<li>
<p>必要修改</p>
</li>
</ol>
<h3>模型化的基本方法</h3>
<ol>
<li>
<p>分析法 分析解剖問題，深入研究客體系統內部的細節（如結構、形式、函數關係等）。利用邏輯研議方法，從公理、定律到處系統模型。
如 $ Mx'' + Bx' + kx = F(t) $</p>
</li>
<li>
<p>實驗法 通過對實驗結果的觀察和分析，利用邏輯歸納法到處系統模型，數理模型法是典型代表。實驗法基本分為三類：模擬法、統計數據分析（如線性回歸法）、試驗分析。</p>
</li>
<li>
<p>綜合法 重視實驗數據又承認理論價值，將實驗數據與理論推導統一於緘默之中。實驗數據與理論不可分割，沒有實驗就建立不了理論，沒有理論推導就難以得到有用的數據。通常使用演繹方法，從已知定理中導出模型，對於某些不詳之處則利用實驗方法來補充，再利用歸納法從實驗數據中搞清楚關係，建立模型。</p>
</li>
<li>
<p>老手法  主要為德爾非法。通過專家們之間啟發式的討論，逐步完善對系統的認識，構造出模型來。在社會系統規劃、決策中是常用的方法。</p>
</li>
<li>
<p>辯證法  其基本觀點是：系統是一個對立統一體，是有矛盾的兩方面構成的。矛盾雙方互相轉化與統一乃是真實情境。同時現象不是本質，形式不是內容。因此必須構成兩個相反的分析模型。相同數據可以通過兩個模型來解釋。這種方法可以防止片面性，結果優於單方面的結果。</p>
</li>
</ol>
<h3>模型的簡化</h3>
<ol>
<li>
<p>減少變量</p>
</li>
<li>
<p>改變變量性質</p>
</li>
<li>
<p>合併變量（集結）</p>
</li>
<li>
<p>改變函數關係</p>
</li>
<li>
<p>改變約束條件</p>
</li>
</ol>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>系統工程學</category>
            <category>系統建模</category>
            <category>模型化方法</category>
            <category>建模原則</category>
            <category>模型簡化</category>
        </item>
        <item>
            <title><![CDATA[二元相圖及應用]]></title>
            <link>https://nishikori.dev/posts/binary-phase-diagrams-and-applications</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/binary-phase-diagrams-and-applications</guid>
            <pubDate>Wed, 20 Mar 2024 08:03:20 GMT</pubDate>
            <description><![CDATA[介紹二元相圖的基本原理、相變化規律與工程應用。內容涵蓋液相線、固相線、共晶與共析系統的熱力學分析，並探討其在金屬材料設計中的實際運用。]]></description>
            <content:encoded><![CDATA[<p><strong>重要概念</strong></p>
<p><strong>相圖</strong>：描述系統的狀態、溫度、壓力、成分之間關係的一種圖解。</p>
<p><strong>狀態</strong>：指系統中的各相的凝聚狀態、相的類型等。</p>
<p><strong>相變</strong>：合金中的相從一種類型轉變為另一種類型的過程。</p>
<p><strong>特別提示</strong></p>
<p>相圖是在熱力學平衡的條件下建立起來的。測定相圖最常用的辦法是熱分析法，它要求合金在冷卻時冷卻速度非常緩慢，從而能夠滿足惹咯學平衡的條件。因此相圖又被稱為平衡相圖，平衡圖。</p>
<p><strong>相圖的作用</strong></p>
<p>利用相圖，可以了解不同成份的材料在不同條件下：</p>
<ol>
<li>
<p>存在哪些相；</p>
</li>
<li>
<p>各相的相對量；</p>
</li>
<li>
<p>成分、溫度變化時材料中發生的相變。</p>
</li>
</ol>
<h1>二元相圖的建立</h1>
<h2>熱分析法</h2>
<p>以 $ Cu-Ni $ 合金為例</p>
<ol>
<li>
<p>配製一系列不同的 $ Cu-Ni $ 合金（例如$ 100% Cu、80% Cu-20% Ni、60% Cu-40% Ni、40% Cu-60% Ni、20% Cu-80% Ni、100% Ni $等 6 个合金）；</p>
</li>
<li>
<p>分別測定上述合金的冷卻曲線；</p>
</li>
</ol>
<p><img src="https://file.nishikori.dev/07wurqsyvwsh82fi2n.jpeg" alt=""></p>
<ol start="3">
<li>
<p>在冷卻曲線上找出合金的各個臨界點（合金在凝固開始和凝固終了的溫度點）；</p>
</li>
<li>
<p>將各臨界點標在相圖的座標平面上（二元相圖的座標平面，橫軸為成分，縱軸為溫度）；</p>
</li>
<li>
<p>在相圖平面上將性質相同的臨界點分別連結起來，即建立起相圖。</p>
</li>
</ol>
<p><img src="https://file.nishikori.dev/2c8t5ul7cd8ryx2wnv.png" alt=""></p>
<h1>二元相圖的基本類型與分析</h1>
<h2>二元勻晶相圖</h2>
<p><img src="https://file.nishikori.dev/b905eatyqcrq4mjmew.png" alt=" $ Cu-Ni $ 合金相圖"></p>
<h3>勻晶反應（轉變）</h3>
<p>從液相中直接結晶出固溶體的反應（轉變）。  $ L  \Rightarrow \alpha $</p>
<p>具有勻晶相圖的二元合金系：$Cu-Ni, Au-Ag, Fe-Ni, Cu-Au, Cr-Mo$ 等。</p>
<blockquote>
<p><strong>槓桿定律</strong>：用於二元合金處於兩相平衡時，兩個相的相對量的計算。</p>
<p>$Q_L=\frac{x_2-x}{x_2-x_1}\times100%$</p>
<p>$Q_\alpha=\frac{x-x_1}{x_2-x_1}\times100%$</p>
</blockquote>
<blockquote>
<p><strong>枝晶偏析</strong>：合金在結晶時通常以樹枝狀形式長大，從而造成了樹幹和樹枝在成分上的差異，這就是枝晶偏析，是一種冶金缺陷。</p>
<p><strong>處理辦法</strong>：一般可以通過<strong>鍛造</strong>和<strong>均勻化退火</strong>（或稱擴散退火）與以減輕或消除。</p>
</blockquote>
<p><img src="https://file.nishikori.dev/k1hgyac4nosn31b49k.png" alt="Cu-Ni 合金鑄態（枝晶偏析）"></p>
<p><img src="https://file.nishikori.dev/sp73balwoscu20jvby.png" alt="Cu-Ni 合金退火態"></p>
<h2>二元共晶相圖</h2>
<h3>共晶反應（轉變）</h3>
<p>從液相中同時結晶出兩種不同的固相的反應（轉變）。  $ L  \Rightarrow \alpha+\beta $</p>
<h3>共晶相圖</h3>
<p>兩組元在野台無限互溶，固態有限互溶或完全不互溶，冷卻時發生共晶反應的相圖。</p>
<p>具有共晶相圖的二元合金系：$ Pb-Sn, Al-Ag, Al-Si, Pb-Bi  等。</p>
<p><img src="https://api.nishikori.tech/api/v2/objects/icon/jfg1g25to0cbxqit0c.jpeg" alt="對 Pb-Sn 合金相圖各區域的分析"></p>
<p><img src="https://api.nishikori.tech/api/v2/objects/icon/m6swmzx4ass1hug0o4.jpeg" alt="按組織組合物填寫的 Pb-Sn 合金相圖"></p>
<h2>二元包晶相圖</h2>
<h3>包晶反應（轉變）</h3>
<p>依從液相中結晶出的固相和液相作用，生成一種新的固相等反應。  $ L+\alpha  \Rightarrow \beta $</p>
<h3>包晶相圖</h3>
<p>兩組元在液態無限互溶，固態有限互溶或完全不互溶，冷卻時發生包晶反應的相圖。</p>
<p>具有包晶反應的二元合金系：$ Pt-Ag, Sn-Sb, Cu-Sn, Cu-Zn $等。</p>
<p><img src="https://file.nishikori.dev/k5rtc8jg7mb1fo14f7.jpeg" alt=""></p>
<h2>形成穩定化合物的二元相圖</h2>
<h3>穩定化合物</h3>
<p>具有一熔點，在溶點一下保持其固有結構而不發生分解的化合物。</p>
<p>行曾穩定化合物的二元合金系：$ Mg-Si, Mn-Si, Fe-P, Cu-Sb $等。</p>
<p>1<img src="https://file.nishikori.dev/wrtpb6x8l8fg9mm9jl.jpeg" alt="Mg-Si 合金相圖"></p>
<h2>具有共析反應的二元相圖</h2>
<h3>共析反應（轉變）</h3>
<p>一定成分的固相，一定溫度下，同時析出兩種化學成分和結構完全不同的新的固相的反應（轉變）。  $ \alpha  \Rightarrow \beta_1+\beta_2 $</p>
<p>共析相圖和共晶相圖在形狀上很相似，但發生的反應完全不同。共析相圖的分析方法與共晶相圖類似。</p>
<p><img src="https://file.nishikori.dev/xa05g2twuzeki9n8hx.jpeg" alt=""></p>
<h1>鐵碳合金相圖</h1>
<p><strong>鐵碳合金</strong>：以鐵和碳爲基本組元的合金。</p>
<p><strong>兩大類</strong>：碳鋼（$ C% &lt; 2.11%$）、鑄鐵（$ C% &gt; 2.11% $）</p>
<p><strong>碳在鐵碳合金中的存在形式</strong>：</p>
<ol>
<li>
<p>C 溶入 Fe 的晶格間隙中形成間隙固溶體（鐵素體、奧式體）。</p>
</li>
<li>
<p>C 與 Fe 作用形成化合物（$Fe_3C$）.</p>
</li>
<li>
<p>以游離態（石墨）存在。</p>
</li>
</ol>
<p><img src="https://file.nishikori.dev/j3z5ynpy7x90e6u2ak.jpeg" alt=""></p>
<h2>鐵碳合金中的基本相</h2>
<h3>鐵素體</h3>
<p><strong>符號</strong>：$ \alpha $或$ F $</p>
<p><strong>定義</strong>：碳溶解在體心立方晶格的$ \alpha-Fe $形成的間隙固溶體。</p>
<p>碳溶解在體心立方晶格的$ \delta-Fe $中形成的間隙固溶體也是鐵素體，為了區別起見，故稱$ \delta-鐵素體 $或高溫鐵素體。</p>
<p><strong>性能</strong>：強度和硬度低，塑性和韌性高。</p>
<p>$HB=50-80, \delta = 30-50% $</p>
<h3>奧式體</h3>
<p><strong>符號</strong>：$ \gamma $或$ A $</p>
<p><strong>定義</strong>：碳溶解面心立方晶格的$ \gamma-Fe $形成的間隙固溶體。</p>
<p><strong>性能</strong>：強度和硬度低，塑性和韌性高。</p>
<p>$HB=170-220, \delta = 30-50% $</p>
<p>相比鐵素體，奧式體可溶入更多的碳，強度和硬度更高。</p>
<h3>滲碳體</h3>
<p><strong>符號</strong>：$ C_m $或$ Fe_3C $</p>
<p><strong>定義</strong>：碳和鐵相互作用形成的間隙化合物。</p>
<p><strong>性能</strong>：熔點高，硬度大，脆性大，塑性幾乎為零。</p>
<p>$HB=800, \delta\approx 0% $</p>
<h2>鐵碳合金相圖分析</h2>
<h3>特徵點</h3>
<table>
<thead>
<tr>
<th>符號</th>
<th>溫度</th>
<th>$C% $</th>
<th>說明</th>
</tr>
</thead>
<tbody>
<tr>
<td>A</td>
<td>1538</td>
<td>0</td>
<td>純鐵的熔點</td>
</tr>
<tr>
<td>B</td>
<td>1495</td>
<td>0.53</td>
<td>包晶轉變時液態合金的成分（$C%$）。</td>
</tr>
<tr>
<td>C</td>
<td>1148</td>
<td>4.3</td>
<td>共晶點</td>
</tr>
<tr>
<td>D</td>
<td>1227</td>
<td>6.69</td>
<td>滲碳體的熔點</td>
</tr>
<tr>
<td>E</td>
<td>1148</td>
<td>2.11</td>
<td>碳在$ \gamma-Fe $中的最大溶解度</td>
</tr>
<tr>
<td>F</td>
<td>1148</td>
<td>6.69</td>
<td>滲碳體的成分</td>
</tr>
<tr>
<td>G</td>
<td>912</td>
<td>0</td>
<td>$ \alpha-Fe \leftrightarrow \gamma-Fe $的轉變溫度（A3）</td>
</tr>
<tr>
<td>H</td>
<td>1495</td>
<td>0.09</td>
<td>碳在$\delta-Fe$中的最大溶解度</td>
</tr>
<tr>
<td>J</td>
<td>1495</td>
<td>0.17</td>
<td>包晶點</td>
</tr>
<tr>
<td>K</td>
<td>727</td>
<td>6.69</td>
<td>滲碳體的成分</td>
</tr>
<tr>
<td>N</td>
<td>1394</td>
<td>0</td>
<td>$\gamma-Fe \leftrightarrow \delta-Fe$的轉變溫度（A4）</td>
</tr>
<tr>
<td>P</td>
<td>727</td>
<td>0.0218</td>
<td>碳在$ \alpha-Fe $中的最大溶解度</td>
</tr>
<tr>
<td>S</td>
<td>727</td>
<td>0.77</td>
<td>共析點（A1）</td>
</tr>
<tr>
<td>Q</td>
<td>室温</td>
<td>0.0008</td>
<td>室溫時碳在$ \alpha-Fe $中的溶解度</td>
</tr>
</tbody>
</table>
<h3>特徵線</h3>
<h4>液、固相線</h4>
<p>ABCD：<strong>液相線</strong></p>
<p>AHJECF：<strong>固相線</strong></p>
<h4>三條水平線</h4>
<p>HJB：<strong>包晶線（$1495^\circ C$）</strong></p>
<p>包晶反應：$L_{0.53} +\delta_{0.09} \leftarrow^{1495^\circ C}\rightarrow \gamma_{0.17}$</p>
<p>ECF：<strong>共晶線（$1148^\circ C$）</strong></p>
<p>包晶反應：$L_{4.3}  \leftarrow^{1148^\circ C}\rightarrow \gamma_{2.11}+Fe_3C$ ，形成萊氏體** $ L_d = \gamma_{2.11}+Fe_3C $ **</p>
<p>PSK：<strong>共析線（$727^\circ C$）</strong></p>
<p>共析反應：$\gamma_{4.3}  \leftarrow^{727^\circ C}\rightarrow \alpha_{0.0218}+Fe_3C$ ，形成珠光體** $ P = \alpha_{0.0218}+Fe_3C $ **</p>
<h4>三條固態轉變線</h4>
<p>GS：$\gamma \leftarrow^{加熱}_{冷卻} \rightarrow \alpha $  轉變溫度線，又稱為$ A_3 $線</p>
<p>ES：$\gamma \leftarrow^{加熱}<em>{冷卻} \rightarrow Fe_3C</em>{II} $  碳在奧氏體（$\gamma$）中的固溶度曲線，又稱為$ A_{cm} $線</p>
<p>PQ：$\alpha \leftarrow^{加熱}<em>{冷卻} \rightarrow Fe_3C</em>{III} $  碳在鐵素體（$\alpha$）中的固溶度曲線</p>
<blockquote>
<p>五種型態不同的滲碳體</p>
<ul>
<li>
<p>一次滲碳體（$Fe_3C_I$）：從液相中析出的滲碳體。</p>
</li>
<li>
<p>共晶滲碳體：共晶反應中生成的滲碳體</p>
</li>
<li>
<p>二次滲碳體（$Fe_3C_{II}$）：從奧氏體中析出的滲碳體</p>
</li>
<li>
<p>共析滲碳體：共析反應中生成的滲碳體</p>
</li>
<li>
<p>三次滲碳體（$Fe_3C_{III}$）：從鐵素體中析出的滲碳體</p>
</li>
</ul>
</blockquote>
<h3>典型鐵碳合金的平衡結晶過程分析</h3>
<p><img src="https://file.nishikori.dev/djx755ljbum0r3m7rb.jpg" alt=""></p>
<table>
<thead>
<tr>
<th>分類</th>
<th>C%</th>
</tr>
</thead>
<tbody>
<tr>
<td>工業純鐵</td>
<td>＜0.0218</td>
</tr>
<tr>
<td>亞共析鋼</td>
<td>0.0218～0.77</td>
</tr>
<tr>
<td>共析鋼</td>
<td>＝0.77%</td>
</tr>
<tr>
<td>過共析鋼</td>
<td>0.77～2.11</td>
</tr>
<tr>
<td>亞共晶白口鑄鐵</td>
<td>2.11～4.3</td>
</tr>
<tr>
<td>共晶白口鑄鐵</td>
<td>＝4.3%</td>
</tr>
<tr>
<td>過共晶白口鑄鐵</td>
<td>4.3～6.69</td>
</tr>
</tbody>
</table>
<p>工業純鐵（$ \omega_c=0-0.0218% $）的室溫組織：$F+Fe_3C_{III}$</p>
<p><img src="https://file.nishikori.dev/967ehv3zdowv0ai5kr.jpg" alt="工業純鐵"></p>
<p>亞共析鋼 （$ \omega_c=0.0218-0.77% $）的室溫組織：$F+P$</p>
<p><img src="https://file.nishikori.dev/3n8jsp8c8p0rzfzmr4.jpg" alt="亞共析鋼"></p>
<p>共析鋼 （$ \omega_c=0.77% $）的室溫組織：$P$</p>
<p><img src="https://file.nishikori.dev/zpbhgd3m3lt43fxv3e.jpg" alt="共析鋼"></p>
<p>過共析鋼 （$ \omega_c=0.77-2.11% $）的室溫組織：$P+Fe_3C_{II}$</p>
<p><img src="https://file.nishikori.dev/nhakb4tiho857nh8e6.jpg" alt="過共析鋼"></p>
<p>亞共晶白口鑄鐵 （$ \omega_c=2.11-4.3% $）的室溫組織：$P+Fe_3C_{II}+L_d'$</p>
<p><img src="https://file.nishikori.dev/l44z0h0v4eek204hj1.jpg" alt="亞共晶白口鑄鐵"></p>
<p>共晶白口鑄鐵 （$ \omega_c=0-4.3% $）的室溫組織：$L_d'$</p>
<p><img src="https://file.nishikori.dev/xvbeyzsv9g805os5az.jpg" alt="共晶白口鑄鐵"></p>
<p>過共晶白口鑄鐵（$ \omega_c=4.3-6.69% $）的室溫組織：$Fe_3C_{I}+L_d'$</p>
<p><img src="https://file.nishikori.dev/lvdpyih4z35gspfbb7.jpg" alt="過共晶白口鑄鐵"></p>
<h3>含碳量對鐵碳合金組織和性能的影響</h3>
<h4>對平衡組織的影響</h4>
<p><strong>對相組成物（$ F $和$ Fe_3C $）的影響</strong>：隨$ C% $升高，$ F $的相對量減少，$ Fe_3C $的相對量增多。</p>
<p><strong>對組織組成物（$ F, Fe_3C_{III}, P, Fe_3C_{II}, L_d', Fe3C_I $）的影響</strong>：隨$ C% $升高，$ F $的相對量減少，$ Fe_3C_I $的相對量增多，其餘組織的相對量在達到其特性成分點時達到最大值。</p>
<h4>對力學性能的影響</h4>
<p>鐵素體（$ F $）：軟韌相；滲碳體（$ Fe_3C $）：硬脆相。</p>
<ul>
<li>
<p>對硬度的影響：隨$ C% $升高，硬度逐漸增大。</p>
</li>
<li>
<p>對強度的影響：隨$ C% $升高，強度先增大、後降低。</p>
</li>
<li>
<p>對塑性和韌性的影響：隨$ C% $升高，塑性和韌性降低。</p>
</li>
</ul>
<h4>對工藝性能的影響</h4>
<ul>
<li>
<p>對切削加工性的影響：中碳鋼的切削加工性能最好。</p>
</li>
<li>
<p>對可鍛性的影響：低碳鋼比高碳鋼的可鍛性好。</p>
</li>
<li>
<p>對鑄造性的影響：共晶點附近的鑄鐵鑄造性好。</p>
</li>
<li>
<p>對焊接性的影響：低碳鋼比高碳鋼的焊接性好。</p>
</li>
</ul>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>工程材料學</category>
            <category>材料科學</category>
            <category>相圖分析</category>
            <category>熱力學</category>
            <category>合金系統</category>
        </item>
        <item>
            <title><![CDATA[材料製備的基本過程]]></title>
            <link>https://nishikori.dev/posts/fundamentals-of-materials-processing</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/fundamentals-of-materials-processing</guid>
            <pubDate>Sun, 17 Mar 2024 17:52:05 GMT</pubDate>
            <description><![CDATA[介紹材料製備的基本理論與過程，涵蓋液態金屬結構特點、結晶機理、晶粒控制方法與同素異構轉變等內容。闡述凝固、結晶、晶核形成與長大過程對金屬性能的影響，並分析不同控制技術（變質、攪拌、降溫等）對材料組織的調控作用。]]></description>
            <content:encoded><![CDATA[<p>新材料的發展,不僅與對材料的成分--結構--性能的研究有著密切的關係,還與其製備方法有著直接的聯系。</p>
<p>不同的材料需要採用不同的公益過程來製備和合成：</p>
<p><strong>金屬材料</strong>：凝固</p>
<p><strong>陶瓷材料</strong>：燒結</p>
<p><strong>聚合物</strong>：反應合成</p>
<p>材料的製備過程對其物理、化學和力學性能都會產生較大的影響。了解材料製備的基本過程，掌握材料製備的基本理論、技術和工藝方法，對於材料惡選用，進一步提升其使用性能有重要意義。</p>
<p><strong>凝固</strong>：物質從液態轉變為固態的過程。</p>
<p><strong>結晶</strong>：物質從液態轉變為晶體（固態）的過程。</p>
<blockquote>
<p>結晶是凝固的一種形式。</p>
</blockquote>
<h2>液態金屬的結構特點</h2>
<ol>
<li>原子排列的短程有序和長程無序</li>
</ol>
<p>氣體（長程無序）$ \Rightarrow $ 液體（短程有序、長程無序）$ \Rightarrow $ 晶體/固體（長程有序）</p>
<ol start="2">
<li>存在著結構起伏（相起伏）</li>
</ol>
<p>結構起伏：液態金屬中的有序原子團瞬間出現、瞬間消失、此起彼伏、變化不定。這是金屬結晶的結構條件。</p>
<h2>純金屬的結晶過程</h2>
<h3>金屬結晶的宏觀現象</h3>
<p>結晶的宏觀現象主要表現在出現<strong>過冷現象</strong>和產生<strong>結晶潛熱</strong>。</p>
<p><img src="https://file.nishikori.dev/j4n720pfntyjgxf5z4.jpg" alt=""></p>
<blockquote>
<p>過冷是金屬結晶的能量條件（熱力學條件）</p>
</blockquote>
<h3>金屬結晶的微觀過程</h3>
<p>金屬的結晶由<strong>晶核的形成</strong>和<strong>晶核的長大</strong>兩個基本過程組成。</p>
<p>晶核長大後成為晶粒。</p>
<p><img src="https://file.nishikori.dev/pan31j8sfq776y2izz.png" alt=""></p>
<h4>形核——晶核的形成</h4>
<p><strong>兩個條件</strong>：</p>
<ol>
<li>
<p>結構條件——結構起伏</p>
</li>
<li>
<p>能量條件——能量起伏</p>
</li>
</ol>
<p><strong>形核的兩種方式</strong>：</p>
<ul>
<li>
<p>自發形核/均勻形核（從液體內部自發形成晶核的方式。需要的能量大，則需要較大的過冷度才有可能形成晶核）</p>
</li>
<li>
<p>非自發形核/非均勻形核（依附於液體中的雜質而形成晶核的方式。需要的能量小，在實際金屬的結晶中往往起優先和主導作用）</p>
</li>
</ul>
<h4>長大——晶核的生長</h4>
<p>晶核長大的實質是原子由液體向固體表面轉移。</p>
<p><strong>純金屬及合金的晶核長大方式</strong>：</p>
<ul>
<li><strong>樹枝狀長大</strong> 猶如樹的生長一樣，晶核在長大時，首先生長成樹幹，然後樹幹上長出樹枝。隨後，樹枝還可以長出更小的樹枝（稜角處散熱快溫度低）。按樹枝狀生長的晶粒成為樹枝晶或枝晶。</li>
</ul>
<h2>晶粒大小的控制</h2>
<h3>晶粒大小對金屬性能的影響</h3>
<p>在常溫下，金屬的晶粒越細小，起綜合力學性能越好。即金屬的晶粒被細化，不僅能提高強度和硬度，同時還能提高塑性和韌性。</p>
<h3>晶粒大小的評定</h3>
<h4>晶粒度</h4>
<p>評定晶粒大小的指標。一般可用晶粒的平均直徑或平均面積來表示。</p>
<p>工業上常用晶粒度等級表示晶粒大小。標準晶粒度分為八級，一級最粗，八級最細。</p>
<p><img src="https://file.nishikori.dev/gyqrxtb294altxzdn8.png" alt=""></p>
<h4>影響晶粒度的因素</h4>
<ul>
<li>
<p><strong>形核率 N</strong>  單位時間、單位體積液態金屬中形成晶核的數目。</p>
</li>
<li>
<p><strong>長大速度 G</strong>  單位時間內 晶體長大的長度。</p>
</li>
</ul>
<blockquote>
<p>比值$ N/G $越大，則結晶後獲得的晶粒越細小，反之則約粗大。</p>
</blockquote>
<h3>控制晶粒大小的方法</h3>
<h4>控制過冷度</h4>
<p><strong>措施</strong>：降低澆築溫度。</p>
<p><strong>原理</strong>：提高冷卻速度。過冷度大，比值$ N/G $大。</p>
<h4>變質處理</h4>
<p><strong>措施</strong>：向液態金屬中加入變質劑。</p>
<p><strong>原理</strong>：變質劑作為非自發形核的核心，提高了形核率N。</p>
<h4>振動攪拌</h4>
<p><strong>措施</strong>：對即將能股的金屬進行機械振動、超聲波振動和電磁攪拌。</p>
<p><strong>原理</strong>：通過振動攪拌，一方面是生長中的枝晶破碎，從而增加形核率N，另一方面輸入能量以促進自發形核。</p>
<h2>同素異構轉變</h2>
<h3>同素異構現象與同素異構體</h3>
<p>有些金屬在固態下，存在兩種或兩種以上的晶格類型，這種現象稱為同素異構或多晶型性。</p>
<p>以不同晶體結構存在的同一種晶體稱為該金屬的同素異構體。</p>
<h3>同素異構轉變</h3>
<p>同一種金屬的同素異構體在一定條件下會相互轉化。同素異構轉變就是在這種固態下隨溫度的改變由一種晶格轉變為另一種晶格的現象。</p>
<blockquote>
<p>純鐵的同素異構轉變：</p>
<p>$ \delta-Fe \Leftarrow^{1394^{\circ}C}\Rightarrow \gamma-Fe \Leftarrow^{1394^{\circ}C}\Rightarrow \alpha-Fe $</p>
</blockquote>
<h3>同素異構轉變的特點</h3>
<p>金屬的同素異構轉變與液態金屬的結晶過程相似，故稱二次結晶或重結晶。</p>
<ol>
<li>
<p>同素異構轉變具有規定的轉變溫度，轉變發生時需要過冷，放出潛熱。</p>
</li>
<li>
<p>同素異構轉變在固態下進行，因此轉變需要過大的過冷度。</p>
</li>
<li>
<p>同素異構體的形成經過形核、長大過程，新相晶核往往在舊相的晶界或某些特定晶面上形成。</p>
</li>
<li>
<p>同一種金屬的同素異構體通常具有不同的晶格致密度，因此比容也不同，轉變前後往往伴隨著提及的變化，導致內應力產生。</p>
</li>
</ol>
<blockquote>
<p>比容：物質單位重量的體積。</p>
</blockquote>
<h2>金屬鑄錠的結晶</h2>
<p><img src="https://file.nishikori.dev/v01vm2a2m26bnwxuuf.png" alt=""></p>
<blockquote>
<p>1：表層細晶區</p>
<p>2：柱狀晶區</p>
<p>3：中心等軸晶區</p>
</blockquote>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>工程材料學</category>
            <category>材料製備</category>
            <category>凝固過程</category>
            <category>晶粒細化</category>
            <category>同素異構轉變</category>
        </item>
        <item>
            <title><![CDATA[系統工程方法論]]></title>
            <link>https://nishikori.dev/posts/systems-engineering-methodology</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/systems-engineering-methodology</guid>
            <pubDate>Fri, 15 Mar 2024 14:10:55 GMT</pubDate>
            <description><![CDATA[介紹系統工程方法論的基本框架與分析方法，涵蓋霍爾三維結構的硬系統方法論與切克蘭德軟系統方法論。內容說明兩者的特徵與差異，並結合系統分析原理、環境分析與應用原則，闡述系統化思維在工程實踐中的方法論基礎。]]></description>
            <content:encoded><![CDATA[<p>系統工程方法論事分析和解決系統<strong>開發、運作和管理</strong>實踐的實際問題所應當遵守的<strong>工作程序、邏輯步驟與基本方法</strong>，是考慮和處理問題的<strong>一般方法</strong>和<strong>總體框架</strong>。</p>
<h2>系統的分類</h2>
<ul>
<li>
<p>軟系統  目標不明確、結構不良、機理不清楚、難以用數學模型表達的、偏社會、經濟、文化、生物的模型</p>
</li>
<li>
<p>硬系統  指目標明確、結構清晰、機理清楚、可用數學模型表達的系統</p>
</li>
</ul>
<h2>霍爾三維結構（硬體系統方法論）</h2>
<p>霍爾三維結構集中體現了系統工程方法的系統化、綜合話、最優化和程序化等特點，是系統工程方法論的重要基礎內容。</p>
<ul>
<li>時間維  表示系統工程的工作階段或進程。</li>
</ul>
<blockquote>
<p>規劃階段 &gt; 設計階段 &gt; 分析階段 &gt; 運籌階段 &gt; 實施階段 &gt; 運行階段 &gt; 更新階段</p>
</blockquote>
<ul>
<li>邏輯維  指系統工程每個階段工作所應當遵從等邏輯順序與工作步驟。</li>
</ul>
<blockquote>
<p>擺明問題 &gt; 系統設計 &gt; 系統整合 &gt; 模型化 &gt; 最優化 &gt; 決策 &gt; 實施計畫</p>
</blockquote>
<ul>
<li>知識維  表徵從事系統工程工作所需的知識，也反映系統工程應用的專業領域。</li>
</ul>
<p><img src="https://img2.imgtp.com/2024/05/13/6d1OkAok.jpeg" alt="霍爾三維結構示意圖"></p>
<h2>切克蘭德方法論（軟體系統方法論）</h2>
<p>切克蘭德方法論的主要內容為：</p>
<blockquote>
<p>認識問題 &gt; 問題定義 &gt; 建立概念模型 &gt; 比較與探尋 &gt; 選擇可行方案 &gt; 設計與實施 &gt; 評估與反饋</p>
</blockquote>
<p><img src="https://img2.imgtp.com/2024/05/13/RjhNEq5S.jpeg" alt="切克蘭德方法論示意圖"></p>
<blockquote>
<h2>兩種系統工程方法論的比較</h2>
</blockquote>
<blockquote>
<p>兩者均以問題為起點，具有相應的邏輯過程，存在一下不同點：</p>
</blockquote>
<blockquote>
<ol>
<li>霍爾方法論主要以工程系統為研究對象，而切克蘭德方法論更適合經濟和經營管理等軟系統問題的研究。</li>
</ol>
</blockquote>
<blockquote>
<ol start="2">
<li>霍爾方法論的核心內容是優化分析，而切克蘭德方法論的核心內容是比較學習。</li>
</ol>
</blockquote>
<blockquote>
<ol start="3">
<li>霍爾方法論更多關注定量分析方法，而切克蘭德方法論比較強調定型與定量有機結合的基本方法。</li>
</ol>
</blockquote>
<h2>系統分析原理及其應用</h2>
<h3>系統分析的概念及其要素</h3>
<h4>系統分析的定義</h4>
<p>系統分析是運用緘默及預測、優化、仿真、評價等技術對系統各方面進行定量與定性結合的分析，為選擇最優活最滿意的系統方案提供決策依據的分析研究過程。</p>
<h4>系統分析的六要素</h4>
<blockquote>
<p>問題描述 &gt; 目標確定 &gt; 方案制定 &gt; 建立模型 &gt; 評價模型 &gt; 決策實施</p>
</blockquote>
<h3>系統分析程序——基於霍爾邏輯維</h3>
<blockquote>
<p>初步分析（圍繞<strong>5W1H</strong>） &gt; 規範分析 &gt; 綜合分析</p>
</blockquote>
<p><img src="https://img2.imgtp.com/2024/05/13/EPiUL2tS.jpeg" alt="系統分析的基本過程"></p>
<h3>環境分析</h3>
<h4>系統環境分析類型</h4>
<ul>
<li>
<p>物理和技術環境</p>
</li>
<li>
<p>經營管理環境</p>
</li>
<li>
<p>社會環境</p>
</li>
</ul>
<h4>系統環境分析的意義</h4>
<ul>
<li>
<p>環境是系統工程問題存在的物質基礎</p>
</li>
<li>
<p>系統分析資料來自環境</p>
</li>
<li>
<p>環境分析幾乎貫穿於系統分析的全過程，具有重要作用</p>
</li>
</ul>
<h3>應用系統分析的原則</h3>
<ul>
<li>
<p>堅持問題導向</p>
</li>
<li>
<p>以整體為目標</p>
</li>
<li>
<p>多方案模型分析與優選</p>
</li>
<li>
<p>定量與定性分析相結合</p>
</li>
<li>
<p>多次反覆進行</p>
</li>
</ul>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>系統工程學</category>
            <category>系統分析</category>
            <category>霍爾三維結構</category>
            <category>切克蘭德方法論</category>
            <category>方法論比較</category>
        </item>
        <item>
            <title><![CDATA[材料的結構]]></title>
            <link>https://nishikori.dev/posts/structure-of-materials</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/structure-of-materials</guid>
            <pubDate>Tue, 12 Mar 2024 12:26:14 GMT</pubDate>
            <description><![CDATA[介紹材料的微觀結構與晶體學基礎，包括晶格、晶胞、晶面、晶向等基本概念，以及體心立方、面心立方與密排六方等典型晶格結構。內容同時涵蓋缺陷類型（點缺陷、位錯、晶界）對力學性能的影響與合金相結構的基本分類。]]></description>
            <content:encoded><![CDATA[<h1>晶體的基本概念</h1>
<h2>晶體與非晶體</h2>
<h3>晶體</h3>
<p>晶體是其內部原子再三維空間呈現規則排列的物質。</p>
<p>例如，所有的金屬、食用鹽等。</p>
<h4>晶體的特點</h4>
<ol>
<li>
<p>結構有序</p>
</li>
<li>
<p>各向異性</p>
</li>
<li>
<p>有固定的熔點</p>
</li>
</ol>
<h3>非晶體</h3>
<p>非晶體是內部原子排列無序的物質。</p>
<p>例如，普通玻璃，松香等。</p>
<h4>非晶體的特點</h4>
<ol>
<li>
<p>結構無序</p>
</li>
<li>
<p>各向同性</p>
</li>
<li>
<p>沒有固定的熔點</p>
</li>
<li>
<p>熱導率金額熱膨脹性小</p>
</li>
<li>
<p>塑性變形大</p>
</li>
<li>
<p>著稱的變化範圍大</p>
</li>
</ol>
<h2>晶體學的基本知識</h2>
<h3>晶格</h3>
<p>用以描述晶體中原子排列規律的空間幾何格架。</p>
<h4>晶體結構的描述</h4>
<p>1.把晶體的原子看作剛性小球</p>
<ol start="2">
<li>
<p>把原子抽象為幾何點</p>
</li>
<li>
<p>把假想的直線用幾何點連接起來</p>
</li>
</ol>
<h3>晶胞</h3>
<p>組成晶格的最小幾何單元體。</p>
<p>晶胞在三維空間平移，即可重構晶格。</p>
<h3>晶格常數</h3>
<p>晶胞的幾何尺寸，又稱為點陣常數。</p>
<p><img src="https://file.nishikori.dev/%E6%99%B6%E6%A0%BC%E5%B8%B8%E6%95%B8.jpg" alt=""></p>
<p>$a$、$b$、$c$ 為晶格常數</p>
<p>$\alpha$、$\beta$、$\gamma$ 為夾角</p>
<h3>晶面</h3>
<p>晶格中由一系列原子構成的平面。</p>
<h4>晶面指數</h4>
<p>為了便於研究和表述給晶面規定的符號。</p>
<ol>
<li>
<p>求解距（求出待定晶面在三個座標軸上的截距）</p>
</li>
<li>
<p>取倒數（將三個截距之值變為倒數）</p>
</li>
<li>
<p>化簡並加圓括號（將三個倒數按比例化為最小整數，加上一圓括號，即 $ (hkl) $ ）</p>
</li>
</ol>
<p><img src="https://file.nishikori.dev/%E6%99%B6%E9%9D%A2%E6%8C%87%E6%95%B8.png" alt=""></p>
<h3>晶向</h3>
<p>晶格中任一兩原子之間的連線所指的方向。</p>
<h4>晶向指數</h4>
<p>為便於研究和表述給晶向規定的符號。</p>
<ol>
<li>
<p>引直線（通過坐標原點引一條直線，使其平行於待求的晶向）</p>
</li>
<li>
<p>求坐標值（求出所引直線上任意一點的三個座標值）</p>
</li>
<li>
<p>化簡並加方括號（將三個座標值按比例化為最小整數，並加上一方括號，即 $ [uvw]$ ）</p>
</li>
</ol>
<p><img src="https://file.nishikori.dev/%E6%99%B6%E5%90%91%E6%8C%87%E6%95%B8.png" alt=""></p>
<blockquote>
<p>某一晶面指數並不僅代表某一具體的晶面，而是代表一組相互平行的晶面。</p>
<blockquote>
<p>所有相互平行的晶面都具有相同的晶面指數。</p>
</blockquote>
<p>原子排列情況完全相同的所有晶面同屬於一個晶面族，表示方式為 $ {hkl}$ 。</p>
<p>某一晶向指數並不僅代表某一具體的晶向，而是代表了一族平行線的位向。</p>
<blockquote>
<p>所有相互平行的晶向都具有相同的晶向指數。</p>
</blockquote>
<p>原子排列情況完全相同的所有晶向同屬於一個晶向族，表示方式為 $ <uvw> $ 。</p>
<p>在立方晶系中，相同指數的晶面和晶向相互垂直。</p>
</blockquote>
<h3>晶格結構的表徵</h3>
<p><strong>晶格尺寸</strong>：以晶格常數表示。</p>
<p><strong>原子半徑（r）</strong>：代表原子的剛性小球半徑。</p>
<p><strong>晶胞原子數（n）</strong>：晶胞內的原子數目。</p>
<p><strong>晶格中原子排列的緊密程度</strong>：</p>
<ul>
<li>
<p><strong>配位數（Z）</strong>：晶格中與任一原子等距且最近鄰的原子數目。</p>
</li>
<li>
<p><strong>致密度（K）</strong>：晶胞中原子所佔體積與晶胞體積之比。</p>
</li>
</ul>
<h2>常見純金屬的晶格類型</h2>
<h3>體心立方晶格 bcc</h3>
<p>代表金屬：$\alpha-Fe, Na, K, Cr, W, Mo, V, Nb, Ta $</p>
<h3>晶格的特徵</h3>
<p>$ r= \frac{\sqrt{3}}{4}a$</p>
<p>$n = \frac{1}{8}\times8+1=2 $</p>
<p>$Z = 8$</p>
<p>$K = \frac{n\times \frac{4}{3}\pi\cdot r^3}{V} =\frac{2\times \frac{4}{3}\pi\cdot (\frac{\sqrt{3}a}{4})^3}{a^3} \approx 68% $</p>
<p><img src="https://file.nishikori.dev/%E9%AB%94%E5%BF%83%E7%AB%8B%E6%96%B9%E6%99%B6%E6%A0%BC.jpg" alt=""></p>
<h3>面心立方晶格 fcc</h3>
<p>代表金屬：$\gamma-Fe, Cu, Al, Ni, Au, Ag, Pt, Pb$</p>
<h3>晶格的特徵</h3>
<p>$ r= \frac{\sqrt{2}}{4}a$</p>
<p>$n = \frac{1}{8}\times8+\frac{1}{2}\times6=4 $</p>
<p>$Z = 12$</p>
<p>$K = \frac{n\times \frac{4}{3}\pi\cdot r^3}{V} =\frac{4\times \frac{4}{3}\pi\cdot (\frac{\sqrt{2}a}{4})^3}{a^3} \approx 74% $</p>
<p><img src="https://file.nishikori.dev/%E9%9D%A2%E5%BF%83%E7%AB%8B%E6%96%B9%E6%99%B6%E6%A0%BC.jpg" alt=""></p>
<h3>密排六方晶格 hcp</h3>
<p>代表金屬：$Mg, Zn, Cd, Be, \alpha-Ti $</p>
<h3>晶格的特徵</h3>
<p>$ r= \frac{1}{2} a $</p>
<p>$n = \frac{1}{6}\times12+\frac{1}{2}\times2+3=6 $</p>
<p>$Z = 12$</p>
<p>$K = \frac{n\times \frac{4}{3}\pi\cdot r^3}{V} =\frac{6\times \frac{4}{3}\pi\cdot (\frac{1}{2}a)^3}{a^3} \approx 74% $</p>
<p><img src="https://file.nishikori.dev/%E5%AF%86%E6%8E%92%E5%85%AD%E6%96%B9%E6%99%B6%E6%A0%BC.png" alt=""></p>
<h2>實際金屬的晶體結構</h2>
<h3>點缺陷</h3>
<p><strong>點缺陷對於晶格規律性的影響</strong>：點缺陷的存在破壞了原子的平衡，使晶格發生畸變。</p>
<p><strong>點缺陷對於晶格性能的影響</strong>：點缺陷的存在將提高材料的硬度和強度，降低材料的塑性、韌性。  $\Rightarrow$  <strong><u>固溶強化</u></strong></p>
<p><img src="https://www.researchgate.net/profile/Rafael-Herschberg/publication/331296354/figure/fig1/AS:729285513994240@1550886624760/Examples-of-point-defects-in-a-crystal-showing-a-self-interstitial-a-a-vacancy-b-a.ppm" alt="晶體中的點缺陷的實例，間隙原子、空位、置換原子、和間隙原子（雜質）"></p>
<h3>線缺陷——位錯</h3>
<p><strong>位錯對於晶格規律性的影響</strong>：在位錯線附近，原子的錯排使晶格發生畸變。</p>
<p><strong>位錯對於的影響</strong>：位錯的存在可降低晶體的強度。當位錯大量產生後，又可提升強度，同時使晶體的塑性和韌性降低。$\Rightarrow$  <strong><u>加工硬化</u></strong></p>
<p><img src="https://file.nishikori.dev/%E7%B7%9A%E7%BC%BA%E9%99%B7%E2%80%94%E2%80%94%E4%BD%8D%E9%8C%AF.png" alt=""></p>
<h3>面缺陷——晶界</h3>
<p>晶界夾角大於$10^\circ $的為晶界，小於$10^\circ $為亞晶界。</p>
<p><strong>晶界等面缺陷對晶體性能的影響</strong>：晶界等面缺陷能夠「同時提高」晶體的強度和塑性。細化晶粒是改善金屬力學性能的有效手段。$\Rightarrow$  <strong><u>細晶強化</u></strong></p>
<p><img src="https://cdn-0.material-properties.org/wp-content/uploads/2020/07/Grains-Grain-Boundaries.png" alt=""></p>
<h2>合金的相結構</h2>
<h3>重要概念</h3>
<p><strong>合金</strong>：由兩種或兩種以上的金屬，或金屬與非金屬組成的具有金屬特徵的物質。（純金屬的力學性能差）</p>
<p><strong>組元</strong>：組成合金最基本、獨立的物質（比如元素，少數情況是化合物）。</p>
<p><strong>合金系</strong>：由給定組元以不同比例配置而成的一系列成分不同的合金，它們構成一個合金系統，即合金系。</p>
<p><strong>相</strong>：合金中具有相同的化學成分、結構和性能，並以界面互相分開且均勻的組成部分。</p>
<h3>固溶體</h3>
<p>構成合金的元素互相溶解，形成一種與某一元素的晶體結構相同，並包含有其他元素的合金固相。</p>
<p>一般情況下固溶體相比於其組元，金屬的強度、硬度提高。$\Rightarrow$  <strong><u>固溶強化</u></strong></p>
<p><img src="https://file.nishikori.dev/%E7%B4%94%E9%87%91%E5%B1%AC%E3%80%81%E7%BD%AE%E6%8F%9B%E5%9B%BA%E6%BA%B6%E9%AB%94%E3%80%81%E9%96%93%E9%9A%99%E5%9B%BA%E6%BA%B6%E9%AB%94%E3%80%81%E7%BD%AE%E6%8F%9B%E5%9B%BA%E6%BA%B6%E9%AB%94%E5%92%8C%E9%96%93%E9%9A%99%E5%9B%BA%E6%BA%B6%E9%AB%94%E7%9A%84%E6%B7%B7%E5%90%88.jpg" alt="純金屬/置換固溶體/間隙固溶體/置換固溶體和間隙固溶體的混合"></p>
<h3>金屬化合物</h3>
<p>合金組元間相互作用所形成的一種晶格類型和性能均不同於任一組元的合金固相。$\Rightarrow$  <strong><u>彌散強化</u></strong></p>
<h3>固溶體與金屬化合物比較</h3>
<h4>晶體結構</h4>
<p><strong>固溶體</strong>： 與組元之一的溶劑的晶體結構相同</p>
<p><strong>金屬化合物</strong>：與任一組元的晶體結構都不相同，而是一種全新結構</p>
<h4>性能</h4>
<p><strong>固溶體</strong>：強度和硬度提高，塑性韌性有所下降</p>
<p><strong>金屬化合物</strong>：強度、硬度提高，脆性較大</p>
<h4>在合金中的作用</h4>
<p><strong>固溶體</strong>：常作為合金的基體</p>
<p><strong>金屬化合物</strong>：常作為合金的強化相</p>
<h1>小結</h1>
<ul>
<li>
<p>晶體的基本概念：晶體與非晶體、晶格晶胞、晶面和晶向</p>
</li>
<li>
<p>常見純金屬的晶格類型：bcc、fcc、hcp</p>
</li>
<li>
<p>實際金屬的晶體結構為多晶體結構，點缺陷（間隙、置換、空位）、線缺陷（位錯）、面缺陷（晶界和亞晶界），缺陷的影響</p>
</li>
<li>
<p>合金的相結構：固溶體和金屬化合物</p>
</li>
</ul>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>工程材料學</category>
            <category>晶體結構</category>
            <category>晶格缺陷</category>
            <category>合金相</category>
            <category>材料科學</category>
        </item>
        <item>
            <title><![CDATA[材料的物理性能、化學性能與工藝性能]]></title>
            <link>https://nishikori.dev/posts/physical-chemical-and-technological-properties-of-materials</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/physical-chemical-and-technological-properties-of-materials</guid>
            <pubDate>Sat, 09 Mar 2024 13:38:36 GMT</pubDate>
            <description><![CDATA[闡述材料的物理性能、化學性能與工藝性能的基本概念與主要指標，涵蓋密度、熔點、熱膨脹性、導熱與導電性等物理屬性，以及耐腐蝕、高溫抗氧化、焊接性與切削加工性等工藝特徵，並探討其在工程應用中的綜合考量。]]></description>
            <content:encoded><![CDATA[<h1>物理性能</h1>
<h2>密度</h2>
<p>材料單位體积的質量。</p>
<h3>比強度</h3>
<p>抗拉強度與密度的比值，$ \frac{\sigma_b}{\rho} $。</p>
<p>飛機、宇宙船上使用的結構材料需要有高的比強度。</p>
<p>Ti、Al及其合金具有高的比強度。</p>
<h3>比彈性模量</h3>
<p>彈性模量與密度的比值，$ \frac{E}{\rho} $。</p>
<h2>熔點</h2>
<p>材料的融化溫度。</p>
<p>晶體材料具有固定熔點，非晶體則無固定熔點。</p>
<h2>熱容</h2>
<p>材料在沒有體積改變時，溫度變化$ 1^\circ C $時熱量的變化。</p>
<p>材料從一種狀態轉變為另一種狀態，是因為其內部的原子或分子結構發生了變化，這使得材料的熱量吸收（熱容）也随之變動。例如，材料在熔化或氣化時，需要外界輸入熱量，這表達為材料的熱容有所改變。</p>
<h2>熱膨脹性</h2>
<h3>線膨脹係數</h3>
<p>材料每變化$ 1^\circ C $時引起長度的相對膨脹量。</p>
<p>一般來說，陶瓷的線膨脹系數最小，金屬次之，高分子材料最大。</p>
<h2>导熱性</h2>
<p>材料導熱的性能。</p>
<p>常規上，金屬及其合金的導熱性遠高於非金屬材料。</p>
<h2>导電性</h2>
<p>材料導電荷的性能，用電導率或電阻率表示。</p>
<p>金屬及其合金通常具有良好的導電性，陶瓷材料和高分子材料一般是絕緣體。</p>
<h2>磁性</h2>
<p>材料在磁场中導磁的性能。</p>
<p>物質的磁性主要有抗磁性、順磁性、鐵磁性等。</p>
<h2>介電常數</h2>
<p>材料在電場中被極化的性能。</p>
<h1>化學性能</h1>
<h2>耐腐蝕性</h2>
<p>材料抵抗介質腐蝕的能力。</p>
<p>陶瓷材料和高分子材料的耐腐蝕性通常比金屬材料高得多。</p>
<h2>高溫抗氧化性</h2>
<p>材料在高溫下快速氧化後，能在表面形成一層連續且與母體牢固結合的膜來阻止進一步氧化的能力。</p>
<h2>抗老化性</h2>
<p>高分子材料對老化的抵抗力。</p>
<h2>降解性</h2>
<p>塑料在自然環境中能否迅速分解的能力。</p>
<h1>工藝性能</h1>
<h2>鎖鑄性</h2>
<p>澆注鑄件時，液態材料能夠填充鑄型並獲得優質鑄件的性能。</p>
<p>鑄造性的優劣與液態材料的流動性、收縮率、偏析等因素有關。</p>
<h2>可锻性</h2>
<p>材料是否容易進行壓力加工的性能。</p>
<p>可鍛性的優劣主要以材料的塑性和形變抗力來衡量。</p>
<h2>焊接性</h2>
<p>材料是否易於焊接在一起並能保證焊縫質量的性能。</p>
<p>焊接性的優劣通常以焊接處出現各種缺點的傾向來評估。</p>
<h2>切削加工性</h2>
<p>材料是否易於切削加工的性能。</p>
<p>切削加工性與材料的類別、化學成分、硬度、韌性、導熱性以及內部組織狀態等有關。</p>
<p>切削加工性好的材料，切削過程輕鬆，刀具磨損小，加工表面光潔。</p>
<p>在其它條件相同的情況下，切削加工性的優劣與硬度關係密切。</p>
<p>一般來說，有利於切削的硬度範圍為160～230HBS。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>工程材料學</category>
            <category>材料性能</category>
            <category>物理特性</category>
            <category>化學穩定性</category>
            <category>加工工藝</category>
        </item>
        <item>
            <title><![CDATA[材料的力學性能]]></title>
            <link>https://nishikori.dev/posts/mechanical-properties-of-materials</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/mechanical-properties-of-materials</guid>
            <pubDate>Fri, 08 Mar 2024 13:14:20 GMT</pubDate>
            <description><![CDATA[闡述材料的力學性能基本概念與測試方法，包含強度、塑性、硬度、韌性及疲勞等指標，並分析其對工程結構設計的意義與應用。]]></description>
            <content:encoded><![CDATA[<p>材料的力學性能是材料在受外力作用時表現出的性能。</p>
<h1>彈性</h1>
<p>材料在外力作用下不產生永久變形的能力。</p>
<h2>彈性極限</h2>
<p>$ \sigma_e=\frac{F_e}{A_0} $</p>
<p>其中，$ F_e $為彈性極限載荷，單位為$ N $;$ A_0 $為試樣原始橫截面積，單位為$ mm^2 $。</p>
<h1>剛度</h1>
<p>材料在外力作用下抵抗彈性變形的能力。</p>
<p>根據Hooke's law:</p>
<p>$ \sigma = E\varepsilon $</p>
<p>其中，$ E $為彈性模量，單位為$ MPa $，表徵剛度。</p>
<h1>強度</h1>
<p>材料在外力作用下抵抗變形和破壞的能力。</p>
<h2>屈服強度</h2>
<p>材料抵抗塑性變形的能力。</p>
<p>$ \sigma_s=\frac{F_s}{A_0} $</p>
<p>其中，$ F_s $為試樣屈服時的載荷，單位為$ N $。</p>
<h2>條件屈服強度</h2>
<p>沒有明顯塑性變形的塑性材料，以產生$ 0.2% $永久變形時的應力值為其屈服強度，稱條件屈服強度。</p>
<p>$ \sigma_{0.2} = \frac{F_{0.2}}{A_0} $</p>
<p>其中，$ f_{0.2} $為試樣產生$ 0.2% $殘餘塑性變形時的載荷，單位為$ N $。</p>
<h2>抗拉強度</h2>
<p>材料在拉伸力作用下抵抗被拉斷的能力，為材料斷裂前所能承受的最大應力。</p>
<p>$ \sigma_b=\frac{F_b}{A_0} $</p>
<p>其中，$ F_b $為試樣斷裂前的最大載荷，單位為$ N $。</p>
<p><img src="https://www.eigenplus.com/wp-content/uploads/2022/05/stress_strain-2.png" alt=""></p>
<blockquote>
<p>A點為比例極限，對應$ \sigma_p $</p>
</blockquote>
<blockquote>
<p>B點為彈性極限，對應$ \sigma_e $</p>
</blockquote>
<blockquote>
<p>C點為上屈服點</p>
</blockquote>
<blockquote>
<p>D點為下屈服點，對應抗拉強度$ \sigma_s $</p>
</blockquote>
<blockquote>
<p>E點為應變硬化的開始點</p>
</blockquote>
<blockquote>
<p>F點為極限應力點，對應抗拉強度$ \sigma_b $</p>
</blockquote>
<blockquote>
<p>G點為斷裂點，對應$ \sigma_E $</p>
</blockquote>
<h1>硬度</h1>
<p>材料抵抗局部形變的能力，也就是抵抗其他硬物體嵌入其表面的能力。</p>
<blockquote>
<p>通常，材料的強度越高，硬度也越高。</p>
</blockquote>
<h2>布氏硬度 HB（Brinell-hardness）</h2>
<p>使用特定載荷$ F $，將直徑為$ D $的淬火鋼球或硬質合金球压入被測材料表面，保持一段時間後去除載荷，依据壓痕面積來確定硬度值。</p>
<p>通常適用於測試較軟的材料如退火、正火、調質鋼、鑄鐵及有色金属等。</p>
<p><img src="https://www.zwickroell.com/zrmedia/_processed_/3/d/csm_CTA56725_TVM1065302_00a831752d.png" alt=""></p>
<h2>維氏硬度 HV（Vickers-Hardness）</h2>
<p>使用頂角為$ 136^\circ $的金剛石錐頭，在載荷F（$ kgf $）作用下，材料表面產生一個四方錐形壓痕，測量壓痕對角線長度$ d $（$ mm $），並計算壓痕面積$ A $ （$ mm^2 $），以$ F/A $的數值表達硬度值。</p>
<p>尤其適合測試極薄層硬度，如金屬鍍層、薄片金屬、滲碳或氮化零件表面硬度等。</p>
<p><img src="https://www.zwickroell.com/zrmedia/_processed_/d/c/csm_CTA56723_TVM1065297_c0062c3111.png" alt=""></p>
<h2>洛氏硬度 HR（Rockwell-Hardness）</h2>
<p>使用錐度為$ 120^\circ $的金剛石或鋼製標準壓頭，以規定壓力压入被測材料表面，根據壓痕深度決定硬度值。</p>
<p>常見於測試較硬的材料，如淬火鋼、調質鋼。</p>
<p><img src="https://www.zwickroell.com/fileadmin/_processed_/e/b/csm_Rockwell_Functional_Principle_ac05ddfa2b.jpg" alt=""></p>
<h1>塑性</h1>
<p>材料在受力情形下，產生永久形變且不會破裂的能力。</p>
<h2>斷面縮小率</h2>
<p>$ \psi = \frac{A_0-A_1}{A_0}\times 100% $</p>
<p>A1和A0為試樣斷裂處和原始橫截面積，單位為$ mm^2 $。</p>
<h2>伸長率（延伸率）</h2>
<p>$ \delta = \frac{L_0-L_1}{L_0}\times 100% $</p>
<p>L1和L0為試樣斷裂後和原始標距長度，單位為$ mm $。</p>
<h1>韧性</h1>
<p>材料在破裂時所需能量的衡量。</p>
<h2>冲擊韌性</h2>
<p>材料在衝擊載荷作用下抵抗毀壞的能力。當試樣衝斷時，所耗費的衝擊功$ A_k $，單位為$ J $：</p>
<p>$ A_k = mg\cdot h_1 - mg\cdot h_2$</p>
<p>衝擊韌性值$ a_k $是缺口處單位截面積上的衝擊功，用於表示材料衝擊韌性的大小，單位為$ J/cm^2 $：</p>
<p>$ a_k = \frac{A_k}{A_0} $</p>
<p>通常塑性好的材料，韌性也較高。</p>
<blockquote>
<p>物質的強度、硬度與塑性、韌性的關聯：</p>
<p>通常，材料的強度越高，則硬度越大。</p>
<p>通常，材料的塑性越好，則韌性越好。</p>
<p>通常，材料的強度和硬度提高，則塑性和韌性下降。</p>
</blockquote>
<h1>疲勞強度</h1>
<h2>疲勞</h2>
<p>材料在交變載荷作用下，在其屈服強度之下就會發生斷裂的現象。</p>
<h2>疲勞強度</h2>
<p>材料在規定次數的交變載荷作用下而不致斷裂的最大應力，用 $ \sigma^{-1} $表示，常稱為疲勞極限。</p>
<p>鋼鐵材料的$ \sigma^{-1} $大約為其屈服強度$ \sigma_b $的一半，而非金屬材料的$ \sigma^{-1} $通常遠低於金屬。</p>
<blockquote>
<p>規定次數：</p>
<p>鋼鐵材料：$ 10^7 $</p>
<p>有色金屬及其合金：$ 10^8 $</p>
</blockquote>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>工程材料學</category>
            <category>材料力學</category>
            <category>強度理論</category>
            <category>應力應變</category>
            <category>性能測試</category>
        </item>
        <item>
            <title><![CDATA[系統工程學概述]]></title>
            <link>https://nishikori.dev/posts/introduction-to-systems-engineering</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/introduction-to-systems-engineering</guid>
            <pubDate>Tue, 05 Mar 2024 12:31:51 GMT</pubDate>
            <description><![CDATA[介紹系統工程學的基本概念與核心思想，涵蓋系統的定義、特徵與分類，以及系統工程的概念、方法與特點。內容強調全局性、最優化、綜合性與反饋控制等系統工程的基本原則，為後續決策分析與系統設計奠定理論基礎。]]></description>
            <content:encoded><![CDATA[<h2>有關系統</h2>
<h3>系統的定義</h3>
<p>系統是由<strong>兩個</strong>以上<strong>有機聯繫、相互作用</strong>的要素構成，具有特定<strong>功能、結構、環境適應能力</strong>的<strong>有機整體</strong>。</p>
<h3>系統的特徵</h3>
<ul>
<li>
<p><strong>整體性</strong>  整體性是系統最根本，最核心的特徵，是系統性最集中的表現。</p>
</li>
<li>
<p><strong>關聯性</strong>  構成系統的要素是相互聯繫，相互作用的，同時，所有要素均隸屬於系統整體，並具有互動關係。關聯性表明這些聯繫或關係的特性，並且形成了系統結構問題的基礎。</p>
</li>
<li>
<p><strong>環境適應性</strong>  任何一個系統都處於一定的環境中，並與環境之間產生物質、能量、信息的交流。環境的變化必然導致系統功能與結構的變化。</p>
</li>
<li>
<p>層次性  系統都可以分解為一系列不同層次的子系統，並存在一定的層次結構。</p>
</li>
<li>
<p>目的性  任何系統都存在某種目的，為達到其目的，系統一般都具有一定功能。</p>
</li>
</ul>
<h3>系統的類型</h3>
<ul>
<li>
<p>自然系統與人造系統  自然系統是主要有自然物形成的系統，如礦藏系統、海洋系統等。人造系統則是指根據特定的目標，同古人的主觀努力所建成的系統，如生產系統、管理系統等。</p>
</li>
<li>
<p>實體系統與概念系統  方式以礦物生物人群等實體為基本要素所組成的系統為實體系統。凡是有概念、原理、原則、方法、制度等概念性的非物質要素所構成的系統為概念系統。</p>
</li>
<li>
<p>動態系統與靜態系統  動態系統就是系統的狀態隨時間而變化的系統。靜態系統這是表徵系統運行規律的模型中不含有時間因素，即模型的量不隨時間而變化。</p>
</li>
<li>
<p>封閉系統與開放系統  封閉系統是指該系統與環境之間沒有物質、能量、信息的交換，因而呈現一種封閉狀態的系統。開放系統是指系統與環境之間具有物質、能量、信息的交換的系統。這類系統通過系統內部各子系統的不斷調整來適應環境變化，一保持相對穩定狀態。開放系統一般具有自適應、自調節的功能。</p>
</li>
</ul>
<h2>有關系統工程</h2>
<h3>系統工程的定義</h3>
<p>系統工程是從整體出發、合理開發、設計、實施和運用系統的技術，從而達到全局最優的工程技術，是屬於一門綜合性的工程技術。</p>
<h3>系統工程方法的特徵、特點</h3>
<h4>系統工程方法的特徵</h4>
<ul>
<li>
<p>系統工程一般採用<strong>先決定整體框架，後進入內部詳細設計</strong>的程序</p>
</li>
<li>
<p>系統工程試圖通過<strong>將構成事物的要素加以適當配置來提高整體功能</strong>，其核心思想是「綜合即創造」。</p>
</li>
<li>
<p>系統工程屬於「軟科學」，而軟科學的基本特徵在於：<strong>人（決策者、分析人員等）和信息的重要作用</strong>；<strong>多次反饋和反覆協商</strong>；<strong>科學性與藝術性的二重性及其有機結合</strong>等。</p>
</li>
</ul>
<h4>系統工程方法的特點</h4>
<ul>
<li>
<p>科學性與藝術性兼容。</p>
</li>
<li>
<p>多學科、多領域的理論、方法和技術的集成。</p>
</li>
<li>
<p>定性分析與定量分析有機結合。</p>
</li>
</ul>
<h3>系統工程的思想</h3>
<ul>
<li>
<p>全局性觀點</p>
</li>
<li>
<p><strong>最優化觀點</strong></p>
</li>
<li>
<p>實踐性觀點</p>
</li>
<li>
<p><strong>綜合性觀點</strong></p>
</li>
<li>
<p>定量定性分析相結合觀點</p>
</li>
<li>
<p><strong>問題導向與反饋控制</strong></p>
</li>
</ul>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>技術筆記</category>
            <category>系統工程學</category>
            <category>系統思維</category>
            <category>工程方法論</category>
            <category>全局最優</category>
            <category>系統分析</category>
        </item>
        <item>
            <title><![CDATA[由PPT製作引發的隨想]]></title>
            <link>https://nishikori.dev/posts/reflections-on-making-presentations</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/reflections-on-making-presentations</guid>
            <pubDate>Thu, 30 Nov 2023 11:30:30 GMT</pubDate>
            <description><![CDATA[從一則關於 PPT 設計的網路討論出發，作者延伸至對「技術與藝術、解構與建構」的思考。文章探討 AI 藝術時代下創作的倦怠與真誠，並從魏碑、漢畫像磚等傳統藝術中尋回不完美之美，最終回歸於生活的從容與心靈的自在。]]></description>
            <content:encoded><![CDATA[<p>於 Timeline，偶覽推言一則，曰：</p>
<p>「会做 PPT 的人，就好像有魔法一般。」</p>
<p><img src="https://img.nishikori.dev/aozt9mLQ.jpg" alt="第一張 PPT，內容雜亂而無重點-來源於網路"></p>
<p><img src="https://img.nishikori.dev/Fcos0Agm.png" alt="第二張 PPT，內容清晰詳略有秩-來源於網路"></p>
<p>此言一出，心頗為之動。時見圖簿甲乙兩種，前者在吾平日繁務中屢見不鮮，而後者則在網路中頗受設計師樂道。兩者盡管所蓋同彰，然乙者能工巧匠，提要擇精，分明軒輊，以排偶分隔之巧，用大小之變，使觀者得以層層遞進，洞見文章之肺腑；而甲者則恣意堆砌，浮躁紊亂，令人目不暇接。</p>
<p>於是下，一則議論映入眼簾：</p>
<p>「無非就是幾個教程小技巧，模板一套 編編內容 對齊對齊 對稱對稱」</p>
<p>原作者回之曰：</p>
<p>「承認别人在某方面比自己強，是一种美德。PPT 制作在我看來也是有很多技术含量的，即使套用模版，你也只是模版的使用者，真正厲害的是制作模版的人。」</p>
<hr>
<p>於我觀之，此評雖淺見一斑，然不謬——借模以立架，梳理而後次之，對齊對稱，乃排版之基也。然而，眾多徒手，徒有其表，不求甚解，但以隨意配色，遂成紊亂。</p>
<p>從普普通通之 PPT 言及，若橫置斯評之理，似可推而廣之——畫者但揮筆，音樂不過譜中之音，披薩乃麵糊上之肉與乾酪。此等解構至末，不問深淺，皆歸於「無」，於「平庸」。若日常儘解構，終將塵歸塵，土歸土，斯世何異虛無之荒原？若情、若意亦被剜削，至終一無所有，惟餘虛空。</p>
<p>至解構之極，人或自問：身何在？何時可解，解而何止？建構之時又當如何？其度又在何處？</p>
<p>久思之後，吾有感而發：「茫然。」</p>
<hr>
<p>近歲觀 AI 之畫，自亦試之，曾究 MidJourney/Stable Diffusion 之理，追其背後之學，然對 AI 之作終究提不起興趣——非同逆技術之流，吾實好技之士。然心猶疲倦，萬象皆可 AI，藝亦因之漸失趣味。</p>
<p>誠然，吾之此般思維，並非與那揚言「護版權」而實則阻礙科技進展者相同。筆者自認對技術懷有至誠之愛，對於能親歷 AI 技術所迸發的奇妙變革感到無上榮幸，也肯定了 AI 所創作出業物之藝術性所在，期盼其在將來之日能更加璀璨綻放。</p>
<p>然而，我亦不免感到一絲疲乏與倦怠。時時刻刻，無數的 AI 作品湧現而出，而「藝術」也因之逐步被無盡的剖析解構，遂漸漸失去了往昔之「趣味」。於此過程當中，吾漸悟昔日畫家面對相機普及時可能之心態。</p>
<p>於完美無瑕之作的璀璨光芒下，我反而對那些樸素而真誠的事物情有獨鍾。近仔細觀察漢碑魏文，字字或許不甚整齊，結構偶現古怪，然整體卻雅亂有致，盈溢着厚重的古樸之美，無論是規模大小，皆顯得意味深長。自遇見其他書法家之作，遂棄田英章，不復涉獵所謂規矩矜正之「田楷」。</p>
<p><img src="https://img.nishikori.dev/HmfnGxsk.png" alt="魏碑-來源於網路"></p>
<p>同樣的原因，相比於各類一板一眼，規規整整的藝術作品，我更鍾情於漢畫像磚、自由爵士樂、布魯斯等所獨具的粗獷與率真，它們的「不完美」造就了它們獨特的趣味。</p>
<p><img src="https://img.nishikori.dev/PXSPrFVB.png" alt="漢畫像磚-來源於網路"></p>
<p>轉念考諸對於塵世生活之體悟，寧可不拘一格追求完美，不若放鬆心態，尋覓生活中真正的喜悅。於閑暇之餘，隨意翻閱老子莊周之言，從中尋得心靈的慰藉與啟迪。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>隨筆評論</category>
            <category>美學思辨</category>
            <category>技術與藝術</category>
            <category>解構主義</category>
            <category>人工智慧</category>
            <category>書法與古意</category>
        </item>
        <item>
            <title><![CDATA[由梗圖中看到「政策性辯論」]]></title>
            <link>https://nishikori.dev/posts/policy-debate-through-a-meme</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/policy-debate-through-a-meme</guid>
            <pubDate>Fri, 03 Nov 2023 13:35:00 GMT</pubDate>
            <description><![CDATA[通过一张梗图切入，讨论俄勒冈赛制下的政策性辩论：正反双方的胜负逻辑、评判维度与策略要点，以及如何从中观察公共政策讨论的话语结构。]]></description>
            <content:encoded><![CDATA[<p><img src="https://img.nishikori.dev/6ZYxeGIj.jpeg" alt="梗圖 - 來源於網路"></p>
<p>在筆者眼中，此次辯論乃是依循俄勒岡賽制之政策性辯鑑，其勝敗之條件與眾所周知之「辯論賽」判斷準則大相逕庭。於是規則之下，正方若執政者，召集議會以圖推行某項政策。而反方則如同處於在野之黨，本著維護既有秩序之心，對執政黨所提議題加以批判，意圖阻撓其實施。於是情況下，執政黨的每一次成功或許顯微不足道，而一旦踏錯一步則可能導致其政權易手，敗走麥城；然而對在野黨而言，其間或多有疏忽，唯一次逆襲成功即可能名垂青史。</p>
<p>在如斯賽制中，正方必須在四大層面上深挖細究以建構其立場之不可動搖：需求性、根本屬性、解決之有效性及損益比較。僅當這四大支柱均穩固無瑕，正方方可名正言順地取得勝利。反之，反方則只需在上述任一點上挑出疵瑕即可一鳴驚人，將勝利收入囊中。於本案中，反方未必需直接否定該議題，且或以「解決之有效性」為突破口，反駁正方的立場。如反方所言，「對於強姦犯，我們確應採取閹割之措施，但應該選擇（成效更佳的）物理閹割手法」，此等策略完全站得住腳，合乎邏輯之律。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>隨筆評論</category>
            <category>政策性辯論</category>
            <category>辯論賽</category>
            <category>政治分析</category>
            <category>媒體研究</category>
        </item>
        <item>
            <title><![CDATA[過去]]></title>
            <link>https://nishikori.dev/posts/the-past</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/the-past</guid>
            <pubDate>Wed, 12 Apr 2023 13:48:00 GMT</pubDate>
            <description><![CDATA[本文以『過去』為題，藉季節更迭與月色流轉，書寫對時光與夢幻的省思。作者從院中花木與夜色起興，寄情於風月之間，於悔與悟中體味『逝者如斯』的平靜與溫柔。結尾引《鎖麟囊》唱詞，寓意覺醒與自新，令人深思。]]></description>
            <content:encoded><![CDATA[<p>日子就這般的過去，往往見不著她是怎樣來的，從前卻又以為能見著她是怎樣去的，而到如今這心上才是分明，那匆匆的蹤影也惟是後來想起方會漸漸清晰了起的。那去了的孟春，與別了的仲春，從前大抵亦正如此時這季春心上一般的想來，似若如此的正去著的，以匆匆說來卻猶是覺著慢些的影兒，又是以怎樣的字句亦或懷情寫下與思量方才妥帖著了。</p>
<p>一直未曾停下如此的問來，一直未曾停下如此的懷想，卻未曾有著如何的作答贈與為之不自主便微醺，更沈醉了去的柔腸。</p>
<p>問過院角的梅花，眼看著她，為那稍遠些的桃樹下的睡花黯然神傷，問過階旁的海棠，眼看著她，為那不遠處的梨枝上的新蕊不自歡愉，再去詢那晚風，亦是未曾說來什麼，惟只是看向了我，又看向了一如碧洗的夜空中的月亮，作長長的凝睇。起初我尚是不大分明，漸漸的，這心上沒來著湧起的慶幸與柔情便正似那夾在一片荷葉中的詩般，漫在了為那疏朗的月光而欣然著清亮了起的小徑間去，本是還想去詢那明月，沒來著的一瞥，那方才還在身側的晚風已不知了去向，轉眼看去，那一池正撫著幾株枯荷的幽潭正漪起著朵朵漣波，</p>
<p>恍惚之間，覺著這一池澄澈再未如從前那般，惟只是個已不知目送了多少這院中那離與別，或許再不會漾起怎一般新波的冷碧，那一縷一縷的，分明正是暖陽才會映照開來的暉光。</p>
<p>良久之余，我也再未尋思著再去問來，再去詢來，應當怎樣寫下亦或思量那去了影兒的模樣，只覺輾輾轉轉，正是一枕黃粱。</p>
<p>我正是深知的，如此說來，再非從前那般的故作放曠，而牽強著說來怎一般的不妨，大抵那此前的，從來都是已過了去的想與夢，已過去了的夢與想，不論如何的懷思，至少此時，我還未能想到，余去以幻夢比作那尋不著半點蹤影的去影之外，還有著如何的柔情說來這般的思量。不過也只是想著，是歡愉的幻夢也好，是惘然的夢幻也罷，惟消一夜，便也盡數盡了去，這風向來更是溫柔，自便攜著這疏煙，轉去了不知怎樣遠方的遠方，待到天明的一瞬，縱是我再如何的追想，這眼前卻也只余下了此時與未來的眉目與模樣。</p>
<p>昨夜的月亮再是幽殘，也已是孟春的淒涼，而決計不會教此時這仲春的暖陽如何憂傷，昨夜的暖陽再是柔長，也已是仲春的溫芒，而決計不會教此時這仲春的明月如何恻怆，此時這心上再是想來的，便也惟是只余尋思著，那最開始說起「過去」這飽含著柔情的詞的那份懷情，方才是不知教後來人余去溫柔之外，要應當說來方才妥帖著的思量。</p>
<p>也正是結筆的此時，想到京劇《鎖麟囊》中薛湘靈的一句唱詞：「他教我收余恨、免嬌嗔、且自新、改性情、休戀逝水、苦海回生、早悟蘭因。」</p>
<p>正是的啊，在沒來著的回望時，又會失了多少後來亦會回望的希望。</p>
<p><img src="https://img.nishikori.dev/OovTeXTG.jpg" alt="圖片來源於網路"></p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>時光與回望</category>
            <category>幻夢與現實</category>
            <category>人生感懷</category>
            <category>京劇文化</category>
        </item>
        <item>
            <title><![CDATA[斑騅且系垂楊岸，無處西南盡好風]]></title>
            <link>https://nishikori.dev/posts/tether-the-horse-by-the-willow-bank</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/tether-the-horse-by-the-willow-bank</guid>
            <pubDate>Sun, 18 Dec 2022 08:32:00 GMT</pubDate>
            <description><![CDATA[一篇關於成長與釋懷的散文。作者以詩性的筆觸回望人生、愛與命數的關聯，從少年心氣到世事平衡，從風月詩意到人間煙火，文字溫柔而深遠，情感淡而不薄。]]></description>
            <content:encoded><![CDATA[<p>我確實是以為，到了已是走過了那見著已是皆盡了去，而懷著卻猶是點點片片的幾番後的此時，大抵便是許我逃得去這般的災劫的。而近來著便也就分明瞭這正是痴想，猶是在這也不知是歡愉多著些，還是惘悵更尋常著點兒的秋庭與幽湖中，沒來著的作如何不自主的想，不自主的再起如何沒來著的懷，這無關閒忙，亦無關雅俗，我從前亦覺是如何唯一，而這卻正是極平常的尋常。風月常要為人說作不過爾爾，無消為此在這懷間澹開亦或捲起漪漣或是海浪，可風月這個詞兒，卻正是人所說來，而亦正是人要為之久久思量。逃得開無消說來是怎一般的灑脫，逃不得亦不必說來是怎一般的痴執，浪子浪蕩了天涯，亦終要牽著匹瘦馬隱入夕陽之下的小院兒中去，痴人寫遍了悲詩與愁詞，亦終會嘗到熱粥，再無消如何的輾轉難寐。便是不說如何的香火與圍城，而身在塵埃亦非如何的難言，日子本就是日升月落，明寤夜寐，浪漫亦無消惟是一時的鮮花與情話，兩碗清晨的豆漿與熱粥，兩盞上午恰好的鐵觀音，與沈默的相伴，晚時的溫語，或許方才是更好的作答了罷。</p>
<p>在少年的心上，江湖哪裡又會缺席的呢，而愈來的，眉間這天風海雨，懷中那青綠萬方，卻絕非是為這薪柴與碎銀消磨盡去，便是褪色亦都未見一分的，我還是一如那般念來與做來，惟只是我少會說來便是了，說著詩意一些，不過也只是從前的漫談，化作了此時的落筆，將從前的期許，化作了此時的持守便是罷了，是淡是濃，惟是說出，便不免是要寡淡了去的。</p>
<p>或許也是有著些變的，可這般的認，卻亦是要教人不免再度慨然著起的。我素不信神，從前亦未思量起命數，而當愈是的，更愈次的發明瞭彼時鄭交甫是如何的懷情，這心上的祈與盼，便也就自然減作了期與望了去，情詩與情話便也再未覺著有天道與命數一般的溫柔與浪漫了。而我卻又覺著，這正是一番有幸的。當「此情可待成追憶」變作了「直道相思了無益」，「只是當時已惘然」和解為「未妨惆悵是輕狂」，其間這清白與勇敢大抵便也就無消如何的贅言了罷。</p>
<p>想想這命數要如何的相解，便也正是等待方才相宜著些的，是幻夢還是良緣，是「夜月一簾幽夢，春風十里柔情」，還是「閒時與你立黃昏，灶前笑問粥可溫」，是驚鴻還是歸影，是「人生若只如初見，何必悲風秋畫扇」，還是「金盆搗葵蔚綠紙，梅花畫衣雪滿身」便正是逃不去這一道一數的。我亦是嘗過夜半相待東窗凝白，亦是經過無言孤影凝睇西樓，卻已是少著些怨，見不著恨了，無關苦思著的倦了，大抵便是看開了罷。 而便是看開了去，卻是無消矯枉過正的，亦是深深著的期，亦是深深著的望，我並非神祇，更是無能先知命數，但至少勇敢著些的再是走去，清白著些的再復懷來，也總不是盡要枉然了的。</p>
<p>我正是記得極清楚，第一次喝到鐵觀音的時候，是有些難知其味的，而此時卻也是失不得去，卻又是誰教如此的了，大抵也未只是我罷。</p>
<p><img src="https://img.nishikori.dev/5xxSObIj.jpg" alt="岸邊垂柳 - 圖片來源於網路"></p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>抒情散文</category>
            <category>哲思</category>
            <category>生活感悟</category>
            <category>文學隨筆</category>
        </item>
        <item>
            <title><![CDATA[有幸命數如織]]></title>
            <link>https://nishikori.dev/posts/fortunate-as-fate-is-woven</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/fortunate-as-fate-is-woven</guid>
            <pubDate>Sat, 03 Dec 2022 14:25:00 GMT</pubDate>
            <description><![CDATA[此文以《老子》第八十一章為引，作者在平靜的筆觸中反思命數與道法的關係。文字間透出對“玄同於常”的體悟，將人生的聚散無常化為一種溫柔的接受與有幸的感懷。]]></description>
            <content:encoded><![CDATA[<p>早些時候，《老子》第八十一章的書懷第二次妄下結筆，而尋思著未是如第一次結筆時猶是蒙昧朧然的原因，南師一字一句的諄諄講教固然，不過更多的大抵是經著的，走過的更多了些罷。看著這一章一篇，亦再未若初見著時那般心懷戒懼，沒來著的一種尊重與敬仰過了頭些的思量，而是漸來一如平日賞詩亦或懷詞那般的自然，再未只是覺著是難以望其蹤影的神祇，亦是正如屈公與謫仙，打在這心上拜來一句先師的，每當開卷，便正看著一位無消說來怎一般的出塵，而見著卻又不自主的覺來別外親切的老人也未是高居講台，亦是與你我跪坐在檀案之前，正溫慈著笑著看來，只想如此的相見，又怎會一如初見時那般覺著面前正是莊立在廟堂中的影兒了。</p>
<p>大抵這便正是南師落筆的，最高深的便正是最平常，最玄妙的便正是最親切的懷情了罷。先師未是如何的說教，是如何刻板的說來，往往無消妝點，亦更不必暗語，只是一如平常閒談般的說起與喻來，自便教人悄然著分明瞭來，則正如這從前想來便覺杳渺玄晦的道一般。我素來深信命數，但未是沈迷，逢著事兒便抱著所謂無為，什麼都不做的想著，而往往惟是守著這心上的一份道懷，亦是去尋，亦是去念，不過顧自謹著莫要痴執的尺寸便是了，若在從前，自是要沒來著，更愈要經過一番痴執之後方才明白過來點兒的，可當親是走過，親是經過的漸是多著，漸是深著，更逢著先師的此時，便就再未似若往常那般暗黯嘆來「歸年疏影，芳姿流歲，處處點點盡塵零。瓊林易夢，明月煙容。兩對憐情，亦種種，亦重重。」亦或「幻夢由來輕便空。只恨懷情，未謹長東。剪燭相望往枯桐。一種滴滴，無意重重。」這般的想，更未亦是相恨聚散無常往尋常這般正是平常的事兒，如此而來便不免尋思著這正是有關命數與著道法的了，</p>
<p>尋思著若非命數早已期定，未教我經過著如何的眉眼，未教如何的一些影兒走過我，似若「無言獨上西樓」這般的痴執自然亦是在這懷間自是澹開如何的深，如何的沈，而若未相逢道法這惟消常懷自然，常守溫善的思量，此時書桌鋪著的一張宣紙上，斷腸詩亦或九轉詞更是少不得的，卻絕非是《老子》的某一章。如今尋思起從前有關聚散無常這般的難消，慨然正是不免，而愈來著更是深切了來的，便正是常長的感念與有幸了。</p>
<p>常說來日方長，而每每懷來的，往往都不免是尋思著一些盼與期，卻有意的很少去想來會有如何的霜與雪。許多的思情正是常要盼來逃去，可終歸猶是走去，如何的如織，如何的無常，想來大抵命數還是天道亦都難以主宰，余下便也不必如何的糾纏了罷。早些為此分明，早些為此難消也未嘗不是一番有幸，後來再是逢著怎一般教人不可堪更不消說的影兒，便也不必再如初見一般以是常要悵愴，常是惘枉了去。</p>
<p>如何了來，又怎好說來有關道法與命數，是怎樣的杳渺亦或玄晦著了，先師有何必便一若千古那般的遠了的。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>哲思</category>
            <category>命數</category>
            <category>老子</category>
            <category>修身</category>
        </item>
        <item>
            <title><![CDATA[惟幾山水，未許懷愁]]></title>
            <link>https://nishikori.dev/posts/landscapes-without-sorrow</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/landscapes-without-sorrow</guid>
            <pubDate>Fri, 18 Nov 2022 14:21:00 GMT</pubDate>
            <description><![CDATA[以山水為喻，探討情與思的起伏。作者筆下的景色與心境相互交融，在淡墨與深情之間，呈現一種超然的觀照與溫柔的釋懷。]]></description>
            <content:encoded><![CDATA[<p>念來著，不免的，且便如此分明的說罷，即著說來要教人不免赧然的來，尋思著卻亦無妨了。尋思著，便是這般的獨鍾，我卻亦是從未見著過那山的，惟不過只是聽著誰談起，亦或緣在那字句所描來著的影兒，而思量著更與是水，猶是未可有緣作那分明的逢了，尋常著的，平常著的，也惟只懷情往往方才有幸與共了來的。</p>
<p>可即著是這般的與共，而有時的有時，更常常的常常，那一縷縷的眉目更與著那一脈脈的影兒卻是愈漸便要澹起了來的。不只是其餘的懷了，於我亦是從未想過，即著是在這清夢了來的中，卻亦會清夢了去的，漸愈的愈漸了來，卻已是分明不得，更已是無意分明著起了，惟著與是夢的眉目，還是我的影兒，即是沈醉著亦便惟是不過聊表了。</p>
<p>而往往更偏偏的是，這平白便要教我深深著漸是深深了去的眉目與著影兒，素來都並未是怎一般的穠芳，即著是那愈漸淡了去的墨影，常常亦是淺淺著的，而教我愈便難解的想，偏偏更往往了是的，這漸漸的卻正是那深深了的懷。</p>
<p>則正是從前那般的想，往來的，不自主的，在這心上便是要將那已是遠了去的眉眼與著眉目，化作愈更是影兒了去的影兒，而漸漸的來，卻也不知怎一番緣由的便潑開了一池濃淡了去，</p>
<p>那山在墨色之中愈更青綠了去，而水在那墨色之間亦是愈漸清碧了來，而那一筆一筆的影兒與懷，一脈一脈的懷與影兒，常常更是不允教人無意思量了來，思量了起的，更著不論於濃與淡，無意的往往便要無心著，無心的偏偏便更無意著，</p>
<p>亦更著是這般的懷與情，便正是那無妨與再未有心的我描來怎一番景致的緣了。</p>
<p>而再是明瞭的想，那不忍著的情思，則是無消說的。許著即來未是有意的顧是的念，我覺來著那深深美好著的絕色的當兒，眉目間這愈淡愈濃，而濃來難去的影兒的輪廓，自是著的則便已是自是的了。</p>
<p>念來我便更是明瞭著的，這便正是痴想了的，惟著這般的說來便正妥帖的，而此時的甘願，則便正若從前那時隨筆淡來的墨色，自此便是了的。卻更是的即著，這甘願的是來是去，便也正是了無良方相道著的，</p>
<p>大抵即是如此的緣罷，漸來的我已了無意緒再懷著情來去望那山與水了，而更要無意的凝睇，便亦是無心的去了罷，漸來更愈來的是，我卻已是不忍再去見那月色，不論是那眼眸中的淡銀亦或鵝黃心上的影兒，</p>
<p>惟著生恐再是獨鍾著去，而她更是要淡淡的別，只想山水只漾起著那墨色的便也是了，那來著懷愁的月，與清夢了夢的山與水，我往來都是不忍與共著眠去了的，</p>
<p>則便更莫是說，還要怎一番的懷。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>山水</category>
            <category>墨意</category>
            <category>詩情</category>
            <category>哲思</category>
            <category>文學隨筆</category>
        </item>
        <item>
            <title><![CDATA[至少還有月亮]]></title>
            <link>https://nishikori.dev/posts/at-least-the-moon-remains</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/at-least-the-moon-remains</guid>
            <pubDate>Fri, 04 Nov 2022 19:27:00 GMT</pubDate>
            <description><![CDATA[以月亮為喻，本文在悔懷與止境之間，書寫一種溫柔而克制的人生態度。作者從情感的流轉與自省出發，將『至少還有月亮』化為一種對生活的慰藉與堅持，於平凡之中尋見光與安寧。]]></description>
            <content:encoded><![CDATA[<p>我正是有些悔意的，想想方才又怎是忍著這心了去，尋思教這月亮要更圓滿著些的，實在是不該如此的，不過靜下心來再是細細想來，亦再是細細數來，似若此時這般的明月，緩緩念來與她相望的時候或許也是數著盡的，而想如是方才的嫌來不足，輾轉著數來幾番，卻怎也是未消數盡的，這實是不免要教人生起一些思量的，卻嘆也惟好是平常的思量，惟好是平常的慨然，娓娓的便也只娓娓的停罷，縱明知這正是朦朧的，奈何那清朗的當兒實是輕便枚舉了的。</p>
<p>而愈是如此的尋思著，愈是如此著秋士的想，便更覺有關「當止」正是如何超絕的境味了。不過念來這青綠之間，尋常著的卻是往非清溪，隨是見著的便正是塵埃要多上一些的。可卻是從未尋思過要為我這般微塵作如何的強說的，似著這般的相悔，也正是不止方才，從前便更是平常的。而這般的悔，與那時新來小樓安居的雅客是未有什麼因由的。直到那時，茶壺已是逢著了三位，而蓋碗更是相伴著了六位，便正是無消再去哪兒尋來怎一般娉婷嫻雅的影兒的，偏偏漸來的，卻實是禁不得鐘意的，而儘管此時這心上深深的想，絕非是厭了方才這般的澹開，不過尋思著，若是此後再是不自主的念起要去如何的尋，不妨還是看看此時正在這身前與手邊的眉眼，再去尋思著其餘的，如似那思情與著思懷這般一若是起了，便未許輕收了的想罷。</p>
<p>平心著想來，這懷間不經意著，亦或不自主著澹來怎一般的盼羨與鐘意，便正是極尋常的事兒，無須如何的說來，更不失為是一份好事兒的，惟是常常教人難消更不堪的，卻是失了「止」這麼個勁兒的，與著悵，與著惘，更甚是後來的悔，則也正是如此的緣了。而另是的常常著深深了起，不自是著愴來這一無所有的想，愈來愈是沈沈了來，一段一段兒的欲語還休，一段一段兒的枉是難言，便教著輕便的歸了去，換來一席嗟嘆，每是尋思著來，便已不止憐情可堪說著的了，悲亦更是悲不盡了。</p>
<p>或許，此時這眼前與著手中尚還見著，未撫著如何耀人眉目的影兒，亦或許是今兒個這明月已在眉間，不經意的又復夜半了去，可至少還是有著「明個兒」，這麼個蘊著不盡溫柔，與著深深希望的影兒正款款向這兒來著，更是有著無消細數，便正是分明著尚有許多似若如此浪漫著而更燦爛著的影兒正漾著脈脈的笑，盼著你我向她作深深的冀與望，亦非溫柔的笑，奮力的走。</p>
<p> 常常著更是習慣自己勸來自己，卻也未是如何的長論，也就這麼一句，「至少還有月亮」便也就足夠說來平常若是遇著了些難消與不堪的事兒，惟消研墨掭筆，寫罷一篇字兒便盡數去了的緣了。</p>
<p>或許你未是如我一般極是鐘意月亮，但我想你也是分明這份懷情與柔情的罷。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>月亮意象</category>
            <category>悔懷與止境</category>
            <category>人生省思</category>
            <category>溫柔的堅韌</category>
        </item>
        <item>
            <title><![CDATA[心眉間的月，月懷中的心]]></title>
            <link>https://nishikori.dev/posts/the-moon-between-heart-and-brows</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/the-moon-between-heart-and-brows</guid>
            <pubDate>Sun, 30 Oct 2022 14:23:00 GMT</pubDate>
            <description><![CDATA[本文以月色為意象，透過細膩的文字描繪心境的流轉與思念的悠長，探討浪漫、懷情與時光的交錯，呈現人與自然、人與自我之間的靜謐對話。]]></description>
            <content:encoded><![CDATA[<p>一直以來，正是不自主著在傍晚時分，憑窗遠眺著去。卻是無意想看著點什麼。那夢寐思量著的，已遠了我千年，見不著了蹤影，卻又近在手邊，若是想著叨擾叨擾，隨手翻開一本兒詩集便也是了，惟只是純粹的望著去，至於盼著些什麼，卻非我不想明說，偏偏方要開口，便又覺已不自禁的醉了去，想想是緣著那些教我自從相逢，便不自覺為之魂牽夢縈了去的影兒從來都是一如淡酒般的要人澹在那微醺與幽深中去，還是此時實是不知要引來哪一位先賢的詩情說來這明月的歡顏，會是妥帖著些了。</p>
<p>忽然更是的堅定的相信，天地是如此值得。</p>
<p>她亦是如諸位先公筆下的思量那般，教我自初見時，一直到此時猶是深深沈醉了的。不過詩人亦或文人，即便相信此時眉間更著心上的，這清朗而幽裊，這翩躚而款款，這渺遠而溫暖的歡顏也好，倩影也罷，不過惟是被映開的蕩漾，卻還是從來都有心的想著，她是懷著她獨一的思情與情思與你我作來如此曼妙的相逢，確是一份痴想的，而這般不過只是幻夢的痴想又是如此溫柔，如此溫暖，更是如此真實，如此浪漫，</p>
<p>想想人這一輩子，這心上也總是要有著一份傻想的嘛，不然又教這浪漫從哪兒來著了。</p>
<p>便不去念來，盡已是遠在千載，而猶是向此時做來如何的相望的諸位先公心上是怎樣的懷情，即著我正是每每都要不自主想著起的，此時卻也終究不是唐家，亦或是宋院，那教我常久為之神往的故鄉。而那時的美好，亦未覺著已是凋盡或是枯褪了去，在我這心上，先生猶是相憑西窗凝睇，先生猶是相問落紅未語，大抵便也不必再尋著什麼了罷。</p>
<p>從來那教人與共月色了去的影兒，許著也是無心在意此時身側是小築還是高樓的罷，不過只是一份有關懷情的思量，也更有幸正是一份懷情之間的思量，此後便是我這眉目與著影兒終是歸了去，而若是有幸，麗澤湖畔下獨行的身影，仍還是在的，是活在空氣中，還是活在書紙間，又有什麼分別了。</p>
<p>我想此時這眉間，此時這懷中的明月，便亦正是如此的想。</p>
<p>從前正是不免相嘆，未是一如這連天翩然的清蹤皓影般教我愈是所愛的天地如何的分明，亦是有心，卻恨無力為那映照這天地已是千載的唐家與宋院的雋顏素容作來半分的相承與相傳，而漸來著的，心上這般羞赧與枉對的思情便愈是淡著，更幾已是盡了去，</p>
<p>卻非已是倦了，不過只是此時這心上再是深深懷著的，已再未是如何的天地，而已是往往不值一提，卻又不可或缺的微塵。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>月亮</category>
            <category>詩意</category>
            <category>思念</category>
            <category>哲思</category>
            <category>文學隨筆</category>
        </item>
        <item>
            <title><![CDATA[便只管去念罷]]></title>
            <link>https://nishikori.dev/posts/just-keep-missing-you</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/just-keep-missing-you</guid>
            <pubDate>Sat, 28 May 2022 13:27:00 GMT</pubDate>
            <description><![CDATA[一篇關於思念與浪漫的內省文字，寫人於情感中的通透與放下，以『念』為題，探尋自我深情的圓滿與自在。]]></description>
            <content:encoded><![CDATA[<p>我從前亦是極在意一些事兒，一些影兒的回響的，不論是隨即便會沁在這眉目之間的一汪晚風，還是習慣著會在這懷中，心上悄然徐徐著的，潺潺著的幽流，往往便正是感著極敏銳，而見著更是極分明的，當然隨之不自是便要漫漫著的想去，翩翩著的思量則正是不免的了。尋思著大抵也算著上是個浪漫的人罷，至少是極鐘意著浪漫的，更想這浪漫亦是極鐘意著我的，不然又怎會有著如此的想了，看著的許多影兒，分明正是極清楚的，可卻偏偏又是有意的習慣著將眼前見著的這故作的巧笑當作無意的柔情，這與如何的痴愚卻是沒什麼關係的。</p>
<p>有些時候，不論是這眉間，還是在這心上，便正不妨是要有些縹緲著點兒的幻象的，不敢妄稱是如何的大智慧，但往往的歡愉，卻也是少不得一點兒小聰明的，有關浪漫，便也正是如此，愈是明白這日子便正是這般平淡，甚說是寡淡亦是不覺有過，稍是有些繁絢著點兒的紋路，便正是相宜的。</p>
<p>即著是不忍這般說來的，那眉眼卻也實是如此的，而每每未是不妨，卻是必須要分明的，也不必有時，則正是平常的，心上許多深深的望與深深的期便正是鮮有回響的，愈是的祈，愈是的盼，一些的事兒，一些的影兒，往往的，偏偏的正是未如人意的。有關盈虧，便是去詢那明月，她亦是了無良策的。而對於這般的教人難言，更教人不免著念來枉然的不可說，懷著隨順的想自然是極是的，亦更是極妙的，不過似若這般的超然，始終還是像著星子多著一些，清朗正是極清朗的，明雋亦是極明雋的，而以此時看來，終究還是未能一若塵埃這般尋常的，便不妨退而求其次，有時有意的作來一些浪漫更美好著些的料想，便惟是換來剎那的歡愉，也未嘗不是一份有幸的。</p>
<p>而想如此的說來，卻是無關所謂妥協與沈淪的，我更覺是一份通透的。想想儘管終究是要面對的，而儘管這般的面對已是尋常的事兒了，更儘管這大多的往往正是不得不面對的，大抵便更是須著愈多著的，更愈是深著的盼與望罷。</p>
<p>已是有意著，無意的失了許多去，似是這般凝蘊藉著已是化作了所謂精神奢品的浪漫與詩情的盼與望，還是留著好些的。</p>
<p>切是莫要一如我從前那般的想，是鐘情也好，是無緒也罷，抱著從一而終的想，去為這不知從何而起卻是不禁一往而深的影兒澹起醉了陳王與太白的月色與雪色，不過良久之余卻是連一影兒晚風亦都未曾見著的，隨即便顧自拂袖而去，愈是後來便愈是難消更難說的悔。</p>
<p>有關思量，從來都不必所謂一廂情願的強求，似若這般輕便教著浪漫與詩情亦都不自覺微醺更沈醉了去的柔長，以朱先生的懷情說來，酣眠自是極好的，而小睡卻也是別有一番風味的。我所鍾情著的，所心愛著的，深著些說來，自然是親愛的你，而更多的，卻正是鐘情於你的我，這心上沒來著的獨一的想，卻正是心愛於你的，這懷中不自是的惟一的念。</p>
<p>當我無意的，便為你寫來一篇詞或是煮來一碗粥，我便已是圓滿了我的深情，我便已是完美了我的心愛，你中意與否，你歡喜與否，那惟是你的想，那惟是你的情，我念著你，這與你卻是有著什麼太多的相干了，我想著你，這正是緣著你，而更是深著些的，卻更是由我的因，方才或是倏然綻放，亦或款款漫開的。</p>
<p>而既是如此，我又何必掛懷這般深深的念念，要有著怎樣的回響了。念著義山先生彼時懷來「直道相思了無益，未妨惆悵是輕狂。」時亦這般的想罷。</p>
<p>太是計較，未免是有些落俗了的。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>隨筆</category>
            <category>情感</category>
            <category>詩意</category>
            <category>思念</category>
        </item>
        <item>
            <title><![CDATA[已逝者如斯種種，幸來者如是憧憧]]></title>
            <link>https://nishikori.dev/posts/the-past-is-gone-the-future-awaits</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/the-past-is-gone-the-future-awaits</guid>
            <pubDate>Thu, 03 Mar 2022 22:02:00 GMT</pubDate>
            <description><![CDATA[一篇關於時光流轉與生命感懷的抒情散文，以詩意筆觸書寫逝去與來者之間的溫柔回響，於辯證的感傷與釋然之間尋得人心的靜謐。]]></description>
            <content:encoded><![CDATA[<p>隨著一句「輕衫乍試初枝裊，暖靄纖翩朗碧遙。柳眼徐開余睡意，梅方款款漸盈窈。」的墨跡在這紙上慢慢乾去，這冬的影兒也終是杳然了去。卻想此時正在眼前這正引吭試啼，雀躍著尋思歌來哪一曲方是能將此時心上這歡愉說著盡些的梅花雀兒，亦是覺著此時已是安坐在小院中那娉婷盈盈的春，正是無消引來怎一般的筆墨說來，只消滿心欣然著，滿心歡愉著與她問好與對談便是足矣了罷。或許遇著了那命數早已寫下了的緣時，大抵這心上從來便正是不必做太多的思量與輾轉著的，惟消安心著走去，歡愉著笑起便是罷了，無須澹起如何的料想，亦無須生起難平的憂懷。想想，那春陽與月光，豈不正是如此的來了。</p>
<p>應是如此來著的，便正是如此清朗而更純粹的來，尋思著這素白影兒的流銀每每清雪了這長夜，哪兒又是有意要來如何的詩篇與英瓊瑤方才傾心來著了，大抵期著此時這窗內的懷情亦是深深的望與盼的思量，方才是那心上的想了罷。亦是這般的，那應是如此去了的，便正是如此悄然而更倏然的去，念來著這蕭瑟眉目的殘紅每每欲晚了這秋庭，哪裡又是寄去多少的情詞與錦繡緞便可暫留片刻了，大抵想著此時這階上的敗葉亦是有意的別與辭的情思，則是那夢中的想了罷。</p>
<p>此時方才分明瞭些有關這聚散的輪廓，赧然自是無消說的，而隨著愈是見著，愈是走著，便正是深覺從前的寄深與夢縈換來的卻往是難言與無言，未是如何的可憐，卻正是份有幸的了。</p>
<p>想想若是未曾親身步入那「淚眼問花花不語，亂紅飛過鞦韆去。」的秋庭之中，若是未曾常歷那「夜過也，東窗未白凝殘月」的幽漫之間，若是未曾無意感來那「可堪孤館閉春寒，杜鵑聲里斜陽暮」的惘然與愴恻，大抵此時正在這眉間與心上溫潤更溫柔著的初春和陽，許著不過也就是一縷尋常的影兒了罷，又哪裡更是想到如何的憐取，更莫要說這命數還有受著多少的恨與詈了。</p>
<p>而如今再是念來先公說起的「逝者如斯夫」，亦再未與共伯玉先公悵來「念天地之悠悠，獨愴然而涕下」時不自著覺來的滿心悲絕，歡愉卻是愈深深了起。那去了的，自已是若那流水長東般阻不得，攔不住的去，再是「長行長在眼，更重重、遠水孤雲。」這般的淒來，也難教那歸來的飛燕會是似曾相識的影兒，可想那飛雪即已是盡了去，此時這春陽卻已是漫澹在這書間與身側，更尚還款款走著來的，又不知是如何的憧憧，尋思著這春方來著時，想見著的大抵應是似若這已是歌來第二曲悅然流珠的梅花雀兒的欣然歡顏，而並不會是滿身幽霧淒煙的秋士，那憂愴的愁容罷。</p>
<p>若是為那已是使泡影亦覺幻夢的杳然，而教這傾心期待的黛眉顧自著深深更常常凝來亦或蹙起，大抵這愁詩與著悲詞，便亦會如這長夜般，慢慢著漫漫了起，還妄想著什麼朗照，淡去大抵亦是夢寐了的。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>抒情</category>
            <category>時光</category>
            <category>哲思</category>
            <category>春意</category>
            <category>詩意散文</category>
        </item>
        <item>
            <title><![CDATA[月每明滿天]]></title>
            <link>https://nishikori.dev/posts/the-moon-shines-brighter-each-night</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/the-moon-shines-brighter-each-night</guid>
            <pubDate>Fri, 28 Jan 2022 13:13:00 GMT</pubDate>
            <description><![CDATA[此篇以明月為意象，寄寓懷情與自省。作者在筆墨間流露對往事的追思與對詩文創作的自覺，文字古雅而深婉，末附《鶯啼序》與《無題》二詩，將幽思與情韻推至極致。]]></description>
            <content:encoded><![CDATA[<p>這世上啊，實是有著許多教人歡愉著很的影兒，一直以來，都是未曾有過幾多輾轉的思量與堅信，而愈來更未只是顧自著的懷瑾，常來著，總是要不自主著對人嘮叨著起。卻非是一如從前那般，惟只是似若此時在小樓中閒倚時見著的明月，方才如此說來與想來，惟是尋思著，小窗這一處的疏朗所清透著的，便也惟是這一處的雋然，只想天地不見邊垠，垠，垤宇難窺限際，從前我確是有著些朝菌與蟪蛄的狹思的，而如此的，可說是「重生」的懷情，便也正是這不論陰晴，亦是有心更傾心流轉著亮銀的眉目，每每對我沉默著說來的。</p>
<p>或許從前，在最開始與她相識的時候，許是一瞬，許是愈漸，惟只鍾情這一處的因緣，大抵不過只是為那輕便著則已雪了漫天長夜的明眸，與那信手便皎然了滿目青綠的倩影，方才教這心上沒來著便微醺更沉醉了去，而這心上愈漸著的無意懷來，更覺著這有心為之落筆都已是顯著生分了些的情思，尋思著便正是為彼此這兩心已是一份思情，一份持守的想了罷。</p>
<p>也不禁，有過一番傻想，大抵她在最初的時候，亦是有著這般，只沈醉在小窗這一處疏朗，如何著一般的瑜瑾，往往也惟是自賞的清冽與清亮，我正是分明這般的「自私」的，眼見著從前那一如碧洗的夜空此時愈漸著長夜了去，卻餘去惋歎與惘懷之外，再無如何的更改，秋士便正是如此的來。而此時正在月下落筆著的我，與正在眉目中朗照的她，這心上最是深深的想，許著更是沒來著便是懷起從前的一些影兒的緣罷。</p>
<p>說著盡些，這世上也總是要有著些癡人的，便說是傻，也算得妥帖，尋思著魏闕金馬，與著草堂蓬門，怎一般的想來，手中持著玉笏也是好過緊握一桿禿筆的，或許這一桿禿筆，半硯松墨往往是無緣青史，可這無意思量，甘願躬身於那一本本遺墨，一卷卷古情的心上，哪裡又盡是為著留來如何的名頭了。卻非是故作如何的淡泊，於我也好，於她也罷，流芳也總是教人歡愉的，卻又總是不免有著一份要轉念想來的當兒，此時有幸做來如何的落筆，哪裡盡是天資與稟賦，每是想來諸位先公，遙隔千秋做來傾心的諄諄相教，妄想著後來者能見著「睡花樓主長卿」的一筆俗見的想，便更是為此覺來愈漸著的歡愉。</p>
<p>便猶以兩首陋筆作來結言罷，如何的懷情，向來也無消如何的贅談，</p>
<br>
<center>轉調鶯啼序</center>
<br>
<center>春庭影眉尚舊，海棠濃如酒。清梅瘦、帘满初芳，又惹明月閒愁。流銀院，桐弦素袖，潇湘轉曲广寒秋。夜倚階欲睡，莺歌此時如舊。</center>
<center>凝睇西樓，月錯垂柳，蕙影黄昏后。憑欄遠，杜若憔容，江蓠輕悄消瘦。嘆芳菲，難别送目，盡匆匆去，驪歌倦奏。愴夢年，直教濃情，一水東流。</center>
<center>菊園殘草，蘭圃漸枯，相對兩幽幽。瘗敗蕊，落紅无信難收，桂魄荷魂，蕙骨芙肌，子今何洲？怜花愴葉，惜枝惘椏，痴追楚袖兩難酬。縱夢逢，愴嘆往眉頭。聊斟冷酒，抱影遠邀鉤月，长醉暫盡濃惆。</center>
<center>杯且罷，自郁終徒，愴恨休新寫。便盡付，平生碧血，筆下書間，遠共前芳，韶歌重奏。何妨顾影，休凄煢惻，石蘭薜荔共伴常，未負種花游。楚園宋圃唐叢，眾芳休憂，猶見新秀。</center>
<br>
<center>無題</center>
<br>
<center>三春悵故寂院重，冷落疏枝影舊蹤。</center>
<center>夜雪翩萍重記夢，煢燭自顧語塵容。</center>
<center>芳蘭玉蕙秋霜索，素薜洁蓠愈夜朧。</center>
<center>未复前朝悲惘緒，直怀漱玉守清泓。</center>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>抒情散文</category>
            <category>詩文</category>
            <category>文學思辨</category>
            <category>明月意象</category>
        </item>
        <item>
            <title><![CDATA[長夜的雪]]></title>
            <link>https://nishikori.dev/posts/a-long-night-of-snow</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/a-long-night-of-snow</guid>
            <pubDate>Fri, 24 Dec 2021 23:05:00 GMT</pubDate>
            <description><![CDATA[以雪夜為題，本文在靜謐與思索之間展開，描摹冬夜之景與人心之境。作者借雪的潔白與短暫，寄託對生命與記憶的溫柔凝視：即便渺小如一片雪花，也願在漫漫長夜中照亮他人一瞬，帶著清白與光，欣然而去。]]></description>
            <content:encoded><![CDATA[<p>尋思了許久，卻也未能想到，應是怎樣說起此時見著的這夜空了。想過引來如若「江涵雁影梅花瘦，四無塵、雪飛雲起，夜窗如晝。」亦或「銀影連天飛梨雪，玉瘦清輝流素霜。」這般的詞懷與詩情說來，偏偏眼前這漸是漫澹在心上的影兒，便已正是天地有心揮毫之下的落筆，初見著的一瞬，這心上正是不自主想著寫來亦或輕吟著起，奈何又是一如從前那般，只一個轉念，這滿心便已盡是醉了去，便再曾想著許多了。</p>
<p>漸來著的，見著這雪的影兒，這心上的思情與著懷間的情思，亦再未如從前那般惟是為這歡顏而歡愉著了，自是無關如何的見著倦了，細細想想，大抵是這滿心沒來著便翩然著起的喜歡，已是化作了愛意罷。便正如桂花一般，我正極是的鐘情，卻從未想著嘗嘗桂花糕，與桂花酒，有關愛意，哪裡又是關係著目的的了。</p>
<p>偶爾恍著神來，尋思著我與她們亦正是沒什麼分別的。</p>
<p>更未只我，從前是千載也好，百年也罷，那匆匆來著，又匆匆去了的眉目與著影兒，如何一般的流芳，如何一般的照映，又怎是盼著後來的賞花人要怎樣的贊來了。</p>
<p>最初的時候，亦是從前的時候，這心上正是覺著，還是暖春長著，更是常著些的，偶爾逢著的清秋，傾心的稍待一會兒，大抵便也自然過去了。卻是未曾想過，曾在書中看來，亦或聽人說起的九冬，來著如此迅疾，而更悄然的同時，又是如此的平常而更尋常。眼看著此時，這從前的先生們相繼躬身相奉，盡瘁相獻，而種來的那九畹清蘭，樹來的那百畝芳蕙，此時見著已是愈霜著了的霜，愈夜著了的夜的模樣便已是教人不知怎一般惘然了來，後來，與著後來的後來，已是不忍想來，更或是說起了。</p>
<p>可還好啊，儘管此時眼見著的玄如陳墨般的長夜正是尋常更平常的模樣，卻還是有幸逢著這一場雪來的，便不去漫想著後來這遠空是否會愈是的長夜，愈是的玄然了去，而此時卻至少緣這飛雪而清朗，更明亮了一時，或許比不得從前那一如春暉般粲爛，卻尚且能教人不自禁覺著期待的，大抵「沈舟側畔千帆過，病樹前頭萬木春」這般暗室逢燈的歡愉，也並不只是一份輾轉難眠時的痴想了。</p>
<p>而教我更覺有幸，更甚是得天垂憐的，便正是有緣成為這飛雪中的一片雪花兒，也許此時這已是從方才的翩翩轉作了漫漫的銀影中，加入我這一如燭火般的微明未有著如何的不同，卻是亦覺著歡愉的，我正是深深的相盼，後來還有著許多的後來者，後來的後來還有著許多的正來人，若是我這一片並不明亮，卻足夠清白更熾烈的雪花兒，有心照映了哪一份懷情的長夜，或許只是一如此時般片刻的粲然便要歸去，便亦是足夠欣然而自豪的去面見諸位先生與桂花兒的罷。</p>
<p>儘管我或許無緣看到後來與後來的後來，便已化作了塵泥，也一定是笑著起的模樣了。</p>
<p>至少我曾經照亮過，一如此時這雪著長夜的雪。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>飛雪意象</category>
            <category>溫柔與堅韌</category>
            <category>時光流轉</category>
            <category>人生感懷</category>
        </item>
        <item>
            <title><![CDATA[珍重]]></title>
            <link>https://nishikori.dev/posts/farewell-and-take-care</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/farewell-and-take-care</guid>
            <pubDate>Tue, 02 Nov 2021 04:52:00 GMT</pubDate>
            <description><![CDATA[本文以淡然卻深刻的筆調，書寫關於相逢與離別、珍惜與失落的體悟。作者由一場平常的別離出發，轉入對命數與人情的思考，最終以『不如憐取眼前人』的感悟收筆，展現出從惆悵到通達的情感轉化。]]></description>
            <content:encoded><![CDATA[<p>卻非是我偏要做來，這大抵已是贅述的落筆，更從未覺著會是倦了去，說盡了卻也並非是如何的緣，不過也只是這心上實是難忍罷了。也不必再是如何的說來，這心上是怎一般懷著這命數與天命的了，此時卻再非是要尋思著說來如何的隨順，儘管這心上猶是不自主著便要深深思量了去的。愈漸著的分明瞭這往往無心提起，卻每每逃不去的相逢與離別，歡聚與蕭散，正是這青綠江山，一場浮生中的尋常的影兒，見著的，經著的多了些，便也自然的就平常了去。</p>
<p>大抵便正是看開了罷，也不必一如從前那般，如此說來恐有怎樣的故作之嫌，似若「為賦新詞強說愁」這般的想，我實是有些悔懷的。常常尋思著每日要落來一筆，是散文也好，是詩詞也罷，奈何卻未曾身經過似寫來的，那般真切的難言，只尋思著信手寫來，見著字句工整，足堪一觀便也罷了，而當遇著了那一如曾是寫來的懷情時，再是欲要下筆，偏偏又是不知從哪兒念起，不知應是怎一般分說，尋思著若是那已尋常更平常的別與辭大抵便也未能是這般的難消，</p>
<p>只想不論是看來還是想來，縱是如何的絕才，又是將那輕別與輕棄說來的妥帖了。</p>
<p>常常不免要漫想著起，是有心著念來也好，是無意著懷來也罷，許著是尋著了些輪廓罷，悄然著的去，匆然著的別自是難消教它從此便隱匿了去，妄想儘管浪漫，卻也終是幻夢。</p>
<p>只因人總是如此的，若惟是遇著，向來是不好珍惜的，便更不必說會有如何的珍重了，偏要教著逢來那以枉然與惘然，惆絕與愁絕亦都難以表說的離盡與散盡，大抵見著眼前這人，便未是澹來恰似春般的暉光，也再非一如夢般的黯淡了罷。</p>
<p>每是勸人也好，亦或自解也罷，往要如此的說來的原由，便正是愈來的更是分明瞭，這一觸可及的「眼前人」，是怎樣真實的溫暖，是怎樣真切的長久。亦算是頓悟罷，那故人又是怎一般的水月鏡花，又是怎一般的遙不可及。</p>
<p>可往往大多的懷情便是分明瞭如此，卻猶要教這世上的愁詞與悲詩再是添來數不盡的新筆，想想說著盡了，大抵余下「不如」，這般的思情之外，大多的心上，便也再未有怎樣的原由了罷。</p>
<p>殊不知輕別正是如此的來。</p>
<p>我從未覺來，此時眼前這一雙的眉眼，與從前那一縷的影兒，有著怎樣的分別，亦或有著怎樣的不如，惟因我正是分明，遇著此時，更直到後來的此時這一雙的眉眼，便正是那命數有心的饋禮，許著此時這一雙眉眼偶有黯淡了些的當兒，則要不自主地想起從前那影兒是如何的明媚，從而輕別了此時這一雙眉眼，</p>
<p>尋思著也無消再是如何的說，怎一般的難消，大抵便也不必思量了罷。</p>
<p>許著從前，引來元獻先公這一句「滿目山河空念遠，落花風雨更傷春，不如憐取眼前人。」尚是有著些雕琢字句的想，而到此時，或許方才分明瞭先公落筆之時，心上懷來的珍重，是怎樣的長長與常常了。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>抒情</category>
            <category>人生體悟</category>
            <category>離別與珍惜</category>
            <category>命數</category>
        </item>
        <item>
            <title><![CDATA[此處明月真清朗]]></title>
            <link>https://nishikori.dev/posts/the-moon-is-bright-here</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/the-moon-is-bright-here</guid>
            <pubDate>Mon, 16 Aug 2021 14:03:00 GMT</pubDate>
            <description><![CDATA[本文以明月為意象，書寫一段關於自省與情思的靜夜沉吟。作者從“望月”的瞬間展開內心對清朗與幻夢的對話，在柔光與孤思之間，體悟出一種由外境轉向內心的溫柔明澈。]]></description>
            <content:encoded><![CDATA[<p>再見這春夜裡的月，說不出的清朗，沒來著的，又自是澹起著些幽幽的影兒，沈醉自是一如從前那般無消如何說來，每是見著，便正是初逢時那般的攫住了思情的懷。卻嘆這心上自便深深了去的想猶是如這潺潺的雋透的分明，輕悄著便沁漫在庭中的海棠，與案前的文竹那眉間與心上，尋思微醺著一會兒，懷間這一若幻夢般的想大抵便也就漸漸散了去，是飄颻著作了流雲也好，是疏幽著作了晚風也罷，卻是未曾料想，似是這微不足道的，若水般的情思，亦會一如這月光般，教這往往望不著邊兒，而愈來著已更無心去望那邊兒的長夜愈漸著皎然了去，未即著未是恰似太陽朝霞，亦或正如芙蕖淥波那般的鮮朗，而明月大抵也是打一處的微明那兒來著的罷。</p>
<p>猶是一如從前那般，這心上無意的想，懷間有心的念，未是想教這風雲與青綠會如何變幻了去的懷，說著盡些，便也正如這明月般，惟是一些尋常的微明便也是了。而近來再是想著，也是無須要分別這思量著的是偉大還是微渺，只消守著這份欲要清朗了這長夜的妄想，卻也正是一份詩情與浪漫的了。若是有意著作來如何的分別，往往這思情與情思自是著暗暗的黯黯了去卻還尚好，尋思尋思自便也就紛散了去，教人細思恐極的，便正應是這心上惟是見著別處裝飾了小窗的朗月，而愈是覺來此時窗前的清朗漸是著微泯，就此惟余慨然，實是教人難言更復無言了的。</p>
<p>這望與盼確是一份妙想的。如此說來，卻是稍覺赧然的，從前即是這般的想，而隨之想著的卻惟是裝飾眼前這一扇窗，尋思著如何妝點，亦或不妨便把這蕙枝與幽蘭編作的草窗換做了金箔與玉屑湊成的瑣窗，更是傻想做來一襲羽衣，再綴來滿身珠玉，去尋那大多的心上都覺著分明的影兒，卻全然未是想過應是怎樣教自己愈是明亮著起，愈是清朗著來，教那明月自是款款而來尋我，自這份思量在這懷間澹起更漫開，卻正是未曾覺著是如何的痴妄與輕狂。</p>
<p>不妨說著盡些，此時推開身前這扇草窗，尋思著望向那明月的影兒，余去了我，大抵也不必為別人作如何的微醺罷。而若是失了我，再是絕色的明月，再是華美的小窗，沈醉的或許也只有晚風與流雲了罷。</p>
<p>惟是望著，盼著，羨著別處那小窗前的明月，卻是未曾分明，那別處小窗中的影兒，又為此曾是付出多少難言與無言的思量了的，或許也曾想過，卻又有心忘去，而顧自做來此時這愴然與悲淒，卻是又教那明月的心上，有著如何的想。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>抒情</category>
            <category>月色</category>
            <category>思想與自省</category>
            <category>詩意人生</category>
        </item>
        <item>
            <title><![CDATA[不妨「無情」著些的]]></title>
            <link>https://nishikori.dev/posts/learning-to-be-unfeeling</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/learning-to-be-unfeeling</guid>
            <pubDate>Tue, 15 Jun 2021 04:33:00 GMT</pubDate>
            <description><![CDATA[一篇以文竹為喻的短文，寫情而不執情，於知行之間悟出『不妨無情著些的』的人生節制與自省。]]></description>
            <content:encoded><![CDATA[<p>莫不如還是教我白著些頭去的，也省得此時這心上是如此著黯然。眼看著這文竹就如此憔悴了去，實是不知怎一般滋味的，而若是自然便欲盡了去便也罷了，問來詢來卻是我不知節制，澆著的水多些，是一番過猶不及的難言，而她卻又惟好苦承，恐是明說拂了好意，眼看她霜了鬢去又惟好手足無措的這般悵來，此時便也自是無消分說的慨然了。</p>
<p>我倆的相伴自然極是好的，彼此這懷情亦更不必如何著贅言，逢著這般的劫自然是要在這懷間生起一番警醒的。尋思著若是不知這萬事要有著點兒尺寸的想便也是可諒的，偏偏是明知，常來更是對人炎炎說來，而到這心上卻未是勻著一些，卻還怪得什麼了。</p>
<p>更是尋思著，每是嘆來情深不壽，往往便正是要嘗著一份別離方才分明著些的了，似若如此著的無言，大抵不論是詩里亦或詞間，許著都已說著倦了，卻是未能說著盡了的。念著這心上的一些懷情豈非也正是如此了，見著如何的影兒，不自著澹來滿心鐘情，尋思著也正是一若清溪那般的潺潺與長長，卻是不料，終是盡了去，絢爛自是難以教筆墨說來的絢爛，可惘然豈非亦正是未許字句說來的惘然了，</p>
<p>奈何將要見著的卻往往不信谆谆說起的，每每經過了去，方才恍然想起那時聽過的，詩情便正是如此的來。</p>
<p>對此印象正是極深的，那正是攫住了思情的告誡，宋院子瞻先公《答謝民師書》中有著這麼一段兒：「大略如行雲流水，初無定質，但常行於所當行，常止於所不可不止，文理自然，姿態橫生。」深深再細細著想來，先公如此念來，哪裡又惟是盼著似若你我這般的後子在字句的琢磨了，更是惦念著為人為事的罷。而再待著後來的另一位守仁先生「則知行之為合一並進，亦自斷無可疑矣。」如是的懷來，則更是要教人深思了的。</p>
<p>可想即著此時是如此惘悵，亦是要循著兩位先生說來的須持行止，知行合一這般的懷情在這心上念著的。厚顏想來，我是如此黯然，文竹大抵也是忍不下心去的，便勸著自己，不妨明兒個再是澆水，半杯清水便正是可以了的，若是這般反是教她無言的鐘情，不如是「無情」著一些的了。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>隨筆</category>
            <category>文學</category>
            <category>情感</category>
            <category>生活感悟</category>
        </item>
        <item>
            <title><![CDATA[懷賦]]></title>
            <link>https://nishikori.dev/posts/rhapsody-of-longing</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/rhapsody-of-longing</guid>
            <pubDate>Sun, 28 Feb 2021 13:04:00 GMT</pubDate>
            <description><![CDATA[以賦體書懷，寄情於文。文章融通經典意象與情思體悟，描繪人之於情與思的流轉與澹遠，如霜雪之潔，如月影之柔，展現出典雅而深婉的文字美。]]></description>
            <content:encoded><![CDATA[<p>序：
每懷即至於事，有蹤而可知教其始終，及在與物，見形而足明察其行止，而體思之所澹，如流霜飛雪之所幽，來而未見其影，悄款而起，有感已在翩翩，極目素銀之洋洋漫漫，流皎之沇沇溶溶，然體念之所漾，若瞬雨驚風之所倏，來而朦其眉目，一水以下，及懷已並濤浪，相眺飛紅之紛紛總總，青黃之颻颻寥寥。往而自是深深其中，常則愈以沈沈而外，然每欲淡而更澹，欲斷而段段，故而久久思罷以妄是為文，以借此聊而相抒此思。</p>
<p>其詞曰：</p>
<p>往體於情，每懷與意，斯進而未堪思之所切，其退然難斷念之所常，朦其深緣所起，嘆其死生所化，領君絕之切，會抱柱之深，從一影以至歸終，定眉目而及別辭，慕蕭史弄玉其仙侶之長共，惜秦嘉徐淑其伉儷之永絕。故素恐良緣之錯，往畏鐘情之離，思已習秋懷所不自以是，莫復凝白所了無由因，故常察繾纖之欲起，便縱劍以銷紛，而每量幽翩之將漾，便驅懷與常隔。然未料有逢天所垂憐，尚疑以共緣為相厚，邂婉娩於素鐘之清秋，逅娉婷在往慕之幽夜，頓感常懷之明月亭亭以在側，陡覺深思之飛雪盈盈而及前，念是此際，銀影連天已落俗筆，體至如間，玉瘦清輝猶墮薄辭，縱陳王髣髴之輕雲蔽月，飄颻之流風回雪，尚失半點，即子淵耀若白光照梁，皎若明月舒光，亦欠三分，似彼時眉間之盼倩，若前際懷中之疏幽，與仙宮而未見，及瑤台且有若也。每念盼倩每無意徐款而翩疏與眉目，常懷綽約常不自悄款而翩澹於中情，寤寐之欣無以數，晝夜之愉未許量，以教三秋相復，而及如狂非過。</p>
<p>而思顧自相懷之因，往非其容，念無意與思之由，素未其顏，姿顏之所姣，貌容之所絕，於及流年而不堪久永，體至春秋而難為長妙，往在若夢之如煙，常若漢皋之高唐，有嘆所及汩而難及，年歲不與，深懷所及朱顏辭鏡，瓊花辭樹。每體三春之溫陽，常念蕙質之蘭心，如道轀未若風起之詠絮，校書管領春風之不如，及清照玉骨冰肌之風流，文姬十八胡笳之幽閒，察隱黯而予以暉慰，感約惻而寄以溫言，余是所到，及數篇而難書，另之所至，研纖墨而未盡，惟深體所結同心之有幸，切感有並此生之妙法而常懷。</p>
<p>追之所前，未在與思及意，觀執手無語而相看凝噎，然惟以詞筆相懷，見至死絲盡而成灰淚乾，僅便詩緒以相體。而入思門，顰笑皆關情弦，恐彩雲輕散而好夢易醒，畏當時枉惘而此情難追，盡常顧自相慰與道法，猶時祈命數此定，常與深禱以長守。明天命其存自有之數，曉大道其往自是之蹤，於及逢遇，與在離散，皆便所待至其時，而以漸達之所度，若春來之有日，而秋去之有期，每量此際，發幽思之不可堪，凝悵懷之未許遏。為到此情，嘆之難盡而娓娓以長，恨之在深而款款以重，愈而相體，愈以無言，惟有思茂先之祈皇靈而永歡，以聊寄余幽微之長思所中情。然及如許之念，未欲情言而感內，惟抒思懷之常深。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>古文</category>
            <category>詩賦</category>
            <category>思懷</category>
            <category>文學隨筆</category>
            <category>情感哲思</category>
        </item>
        <item>
            <title><![CDATA[不妨獨影在花間]]></title>
            <link>https://nishikori.dev/posts/alone-among-the-flowers</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/alone-among-the-flowers</guid>
            <pubDate>Wed, 09 Dec 2020 16:31:00 GMT</pubDate>
            <description><![CDATA[一篇關於孤獨與自處的散文，寫人於花間小樓之思，從喧囂中悟靜，於獨影中得安然。]]></description>
            <content:encoded><![CDATA[<p>有意無意著輾轉了許久之余，覺著還是獨處更適合著我，而我亦是適合著獨處一些的。卻非是天生不愛熱鬧，見著便是極厭極恐的，愈漸了來，實是鐘意著有些人氣兒的。不過更是尋思著起，隨著見著，亦更盼起念起，這春與秋的緩緩走著，這緩緩走著的春與秋，大抵是不許見著有如何的孤影了罷。倒也實是有些意思，可卻也是無可奈何的。</p>
<p>想這把臂同游的寥然愈是多著了來，這小窗獨影的有味便是自要去了的，卻是無消為著這般有幸的已是成了大多心上覺著的難言，而生起怎一般的惘然，即著我從前也正是不免如此著的，而當分明瞭再是怎一般的說起亦或念來，亦是於事無補著的，反是更教蕭然與凝睇更是深深與許久，便也就再未尋思著要為這般的影兒而作如何的落筆了。說是看開了也好，說是妥協了也罷，也再未是如何深切的追與尋了。不過即是這般說來，與著似若以往那般一提著來便惟嗟嘆的思量卻是了無關由的，不妨厚顏著些說來，正是看透了許多的。</p>
<p>獨處與著眾聚的分明正是不消說的，不過卻也是極相仿的，所為的也正是過這日子的了，更是無消說這獨處是怎一般的煢煢，而眾聚又是怎一般的喧囂，能逢著「雲月相同，溪山各異」，與著「風月有今古，懷情自淺深」的通達，實是一份足應浮白的有幸。不過如此的說來，與如何的玄言亦高論實是挨不著邊兒的，經過了的，見過了的，輾轉之余，左右之余，實是自便在這懷中澹開了來的。</p>
<p>可我卻也是免不得有些私心的，如今想來，是緣著這素來孤狹的性子也好，還是惟喜寧靜的懷情也罷，實是捨不掉這小樓中一茶一書，一戲一詞的。有幸來這青綠之間，最開始現在這眉眼之間的正是上一世那身著一襲樸素長袍走來的我，而到最後，便也惟是坐在小樓這書桌前，穩穩持筆而歸去的長卿，即著往往不論是顧自想來，還是對人說起，亦都未忍談來這與詩情，與溫柔不同的真相與本來，可常常縈繞在這眉間與心上的底色，卻正是過客與目送了的。你我正是彼此生命中不可或缺的過客，終究是要目送著另外的一縷影兒，亦免不得要為另一縷的影兒目送，</p>
<p>想想這本便是輕易則可數來的日子，卻是有心教這一去便回不得的珍絕，拘泥在那數不盡的爭中了去，大抵後來不必有意的提起，這「別是一般滋味，在心頭」的懷情，便也不自主的便輕吟而來了罷。</p>
<p>而念到了這兒，你卻也是無消生起「你未曾認識到那許多的許多是如何難以言表的難言與絢麗，所以方才這般的教人放下。」的想，我實是無心要作來如何的辯，當聽著一曲「鎖麟囊」與妄是寫來幾篇詞懷，而更是有幸逢著了一杯正好的鐵觀音，便覺不盡安然愈是漾在懷中，而未再是一如從前那般尋思著去買來安溪頂級的鐵觀音，而未再是一如以往那般念著買來安溪那特級鐵觀音的時候，便覺戲韻與茶香反是其次了，</p>
<p>我更是覺著，有幸能在尚未雪鬢時便逢著了最適合的當兒，便正是最有幸的事兒了。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>隨筆</category>
            <category>靜思</category>
            <category>獨處</category>
            <category>生活感悟</category>
        </item>
        <item>
            <title><![CDATA[漫步夏夜，愁思如織]]></title>
            <link>https://nishikori.dev/posts/walking-on-a-summer-night</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/walking-on-a-summer-night</guid>
            <pubDate>Sat, 13 Jun 2020 12:09:00 GMT</pubDate>
            <description><![CDATA[在這篇散文中，作者以夏夜為背景，描繪了月色、蟬鳴與心緒交織的場景。文字由愁思的纏綿漸轉為對生命渺小與存在意義的省思，於孤寂與浩瀚間，尋得一份屬於個體的安寧與勇氣。]]></description>
            <content:encoded><![CDATA[<p>夏夜，月華如練，繁星點點。在這悠長的夜裡，心緒隨著蟬聲起伏，如波浪般翻滾。微風從窗外拂來，帶著荷香、木樨的淡淡清香，及那杜鵑淺唱的幽遠，卻也帶不去這盈滿胸懷的愁緒。這樣的夜晚，孤寂如我，偎依在這片寧靜之中，卻讓心頭的雜念更加蔓延。</p>
<p>曾妙手偶得佳句「夜深風竹敲岩壁，月明溪柳倚閑闌。」而如今，就在這恍惚之間，我彷彿便是那凝望石壁，依靠閑闌的閒人，乘在夏夜的清涼與深沉之中，卻也倚不住那簌簌落下的思念。心中的那份愁緒，似乎與這夏夜的風一般，無處不在，卻又無從捉摸。</p>
<p>這愁來自何處？或許是來自那無盡的夜色，深邃而神秘；或許是來自那斷續的蟬鳴，嘹亮而又絕望；又或許，這愁，本就埋藏在心底，由無數個這樣的夏夜堆積而成。它無聲無息地生長，在無人注意的角落蔓延，直至某個夜晚，綻放如此凄美的花。</p>
<p>這愁，又何嘗不是對逝去時間的緬懷？當昔日的歡笑成為回憶，當那些曾共度時光的人和事，逐漸在記憶裡模糊，夏夜的每一份寂靜，都像是在提醒，時光易逝，歲月不待人。而我，卻仍舊在這條不歸路上徘徊，不願前行，也無力回頭。</p>
<p>閉上眼，心希冀著這愁能隨風而去，化作夜空中最微弱的星辰，終有一日，熠熠生輝。然而，當睜開雙眼，它依然黏附在心頭，深沉且滄桑。</p>
<p>是夜，無眠。夏夜的愁緒，纏繞心頭，卻也賦予了這份寂寥深遠的美感。如同這夜空中的每一顆星星，孤獨而遙遠，卻也閃閃發光，構成了這宇宙獨有的景致。而我，不過是這浩瀚夜空下，渺小卻真實的存在，承載著自己的愁緒，走過每一個夏夜，直至這愁，與我一同消逝在這無垠的宇宙之中。</p>
<p>在這漫長的夏夜，我猶如一粒塵埃，在廣袤的宇宙面前無比渺小。周遭的一切，月光的皎潔、星辰的璀璨，都在無聲地訴說著宇宙的浩瀚與深邃。我的存在，與這無邊的夜空相比，不過是沧海一粟，瞬息即逝的微光。</p>
<p>靜立於這夜色之中，抬頭望向那滿天的星斗，心中充滿了對自己存在意義的質問。這宏大的宇宙旅程中，我又能留下何等痕跡？在這無盡的時間长河裡，我的一生不過是匆匆一瞬。這樣的認知，讓我不禁對自己的渺小和無力感到慨嘆。</p>
<p>人生若長河，我不過是那一滴微不足道的水珠，而我的愁緒、我的喜悅，在宇宙的尺度上，又豈不是同樣微不足道？然而，正是這份渺小，使我更加珍視眼前這每一份存在的時刻，每一次心跳的感受，每一个夏夜的漫步。</p>
<p>此刻，我瞭解到，即便在這浩瀚宇宙面前渺小如塵，每一個獨立的我，亦擁有不可替代的價值和意義。我的思考、我的情感，即便不足以撼動星河，也能在這片靜謐的夏夜裡，照亮我的內心世界，成為我存在的證明。</p>
<p>我或許渺小，但我仍然懷有些許期望，在這片星空下，我的每一份感受，每一次自省，都是對宇宙無盡奧秘的一種追尋和感悟。縱使身軀微小，心靈卻仍能橫跨星辰，這便是我作為一個渺小存在的慰藉，也是我在這漫長夏夜中的獨白。</p>
<p>在這份渺小的慨嘆中，我似乎終於找尋到了屬於自己的安寧與勇氣，於是抖擻精神，繼續在這個美麗而又神秘的夏夜中踱步。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>抒情</category>
            <category>夏夜</category>
            <category>宇宙與存在</category>
            <category>哲思</category>
        </item>
        <item>
            <title><![CDATA[只餘春光與月光的來路]]></title>
            <link>https://nishikori.dev/posts/where-springlight-and-moonlight-come-from</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/where-springlight-and-moonlight-come-from</guid>
            <pubDate>Mon, 20 Apr 2020 18:16:30 GMT</pubDate>
            <description><![CDATA[一篇關於時間、季節與心靈流轉的散文，於春光與月色之間反思執念與隨順，體悟命數與情感的交融。]]></description>
            <content:encoded><![CDATA[<p>也從未想過，要教人如何的贊來與欣賞，尋思著正是命數的有心，教我生來便這般的謹慎，多予了我些思量，常常是遇見也好，是別離也罷，總是沒來由的便在這心上悄然著澹起許多的想，輾轉著念來，正是尋常的模樣。許著這便也正是痴愚的緣由罷，可偏偏的，卻有捨不下這往往要教人這心上不知怎一般滋味的常常。不過想想，若要醫來這放不下，又哪裡有著什麼良方，漸漸的，慢慢的，有關一些過往，自然也分明瞭過往，已未再不自是的作如何的幽長，卻猶是改不得這有些杞人的毛病，對一些在意，更鐘意著的眉目與著影兒，亦是愈要沒來著的漾開縷縷思量，空教這窗前漫上點點的霜，又教那月兒品讀著多少憂傷。</p>
<p>如此卻正是拂了隨順的美意，見著她那一雙蛾眉為此稍是蹙起，實是要教人心傷。看著窗外那沐著春光，正欣然歌起的梅花雀兒與金青兒，倏是覺著，大抵從來也不必如此輾轉的想，也正是要謝來命數，自是有幸來在這青綠之間為客，便為我操勞著平常與尋常，而此時亦再未如從前那般苦苦的詢來，每每的問去，前方與遠方的路上，會遇見的是怎一般的模樣，更是會教我這秋士俗陋的筆下，淡開的是柔長還是淒愴，此時這懷間再是捨不下去了的痴，亦再未是素來無心的痴念，自已化作了有意的痴迷，尋思著這心上的一水清明確是未若說來這般的輕描淡寫，而愈是走著，愈是見著，便想這有心的痴迷，則更是難得的通達與分明瞭。說起著過去還是此時，便亦是應著有意的有心如此了。</p>
<p>便不妨就這般了去，且由一縷縷著的影兒就這般的來，便由一處處的影兒就這般的去，未是不許，而惟是無消來尋著如何的究竟，從前我常常聽來命數如此的說起，此時亦常常與命數如此的對談。或許這般的念來，猶是有些無可奈何，惟堪如此的韻意，可往往的故事，哪裡又會由著讀者的期與望而寫下了的，若是有著如何的妙法與良策做來如何的變幻，這從前又何以叫來從前，這未來又何必以未來稱呼，無消是如此深深著痴想，便也正是如此的緣，應是如此有心著痴迷，便亦正是如此的由。</p>
<p>即著正是分明著此時眼前這春光與月光或許惟只是此時的明媚與清朗，旋踵便不知去了哪兒，也不知一瞬著換來的是秋霜還是冬雪，不過至少此時在這眉間與心上的影兒，尚且正是「輕衫乍試初枝裊，暖靄纖翩朗碧遙。柳眼徐開余睡意，梅方款款漸盈窈。」的溫柔，便也不必再是求著如何的尋，不必再是尋著如何的求了罷。</p>
<p>與是此後的事兒，若從來都是此時便已盡知，有關著詩情與浪漫，大抵便也再無人為之落筆了罷。</p>
<p>便不必談來如何的玄理與天機，若我無心去拉開窗簾，又哪裡會見著那春光與月光。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>隨筆</category>
            <category>詩意</category>
            <category>春光</category>
            <category>月色</category>
            <category>感悟</category>
        </item>
        <item>
            <title><![CDATA[情賦]]></title>
            <link>https://nishikori.dev/posts/rhapsody-of-affection</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/rhapsody-of-affection</guid>
            <pubDate>Mon, 20 Apr 2020 11:16:01 GMT</pubDate>
            <description><![CDATA[以古文筆觸賦情，借歷代詩文意象，探討情之所起與人心之幽微。文章以〈牡丹亭〉為引，融通經史典籍與詩詞傳承，呈現情思的深邃、哀婉與永恆。]]></description>
            <content:encoded><![CDATA[<p>序：
嘗聞義仍先公「牡丹亭」之為筆，其「情之所起，一往而深，生者可以死，死可以生。」之懷，余每復相懷即則慨在意心之中，而愈以翩漫思懷之間矣。然嗟命之有其定，數已存其期，逢辭法於天地，來去規於方圓。與若蜉蝣之身而惟有良祈，及如微塵之跡然惟善冀，或不期而遇在花間，亦前世有約相逢月下，其潔清之如瓊霜，其深長之往無兩，眉目余青綠而只此盼倩之影，懷情余天地亦惟斯溫綿之思，往非工筆以可道，精墨以堪書，即若文通先公未許暫摹之感也。前覺情之為末，曾感思之可抑，然身逢諸影，與經數懷之余，不自相懷，癒復澹澹，故妄動淺俗之筆以為粗陋之辭，而以表寸懷矣。</p>
<p>其詞曰：</p>
<p>觀「道德」「南華」而知數之有期，道之隱命，覽「論語」「大學」而見仁之所規，禮之所行。賞千秋古筆以識諸妙，體百代塵懷以知眾明。萬法皆見其據，千般盡現其影。然惟情起難數其緣，思動未曉其因，往悄款而幽渺，徐寂而杳冥。然慨其起則天風之跡，常嘆斯動而鯤鵬之行。縱謫仙獨步之思而未堪眉目，盡陳王八斗之才而難書影形，杳蹤未兆無知所起，一往即深往便難平。</p>
<p>未逢則閒立夜眠皆懷此緒，以慕漢皋之美，橫塘之期，染翰落紙即在金風玉露，及詩與詞便澹十里柔情。身經則晨昏時刻盡念此思，以體關雎之感，求凰之寄，援琴弦桐不自而難成全曲，緩撫參差無由然不堪成音。即七弦以奏「秋風」往嘆愁思之難長，便洞簫以咽「瀟湘」終郁憂緒之漸寂。懷離則寤寐自聆曉風殘月之暗黯，無意款踱危樓之上，倚憑欄桿以共深鎖清秋之思，開閉則聽三疊驪歌之悠幽，自是凝睇雲水之間，欲語還休以並望斷天涯之情。明知其自教憮然之影盡化幻電煙夢，其思亦如狂往非過語，盡明其輕起惘枉之懷皆歸埃塵落絮，其緒愈沈長猶非臆憑。感此情可待已難追憶，驚鴻照影往是前塵即如此是，念衣帶漸寬往而不悔，獨影東窗以待凝白便在斯間，而赧愧前疑生死往復，慚錯相輕與懷思量矣。</p>
<p>然愈相觀見之下，復以深細之余，此宵惟悵「關雎」「月出」之思之祈而多向高唐之雲雨，惘「蒹葭」「子衿」之念之望而往幻襄王之夢寐，於是秦嘉徐淑之忠，山伯英台之貞，更沈復陳芸之同心，蔣坦關瑛之齊眉，皆先詩所見，古筆之影。愈惜長卿「求凰」為浮詞而輕揮，憐漢闕「上邪」淪痴愚以遭謔，羅敷已則塵影，胡姬猶余書間，明月禮珠偺之為首，青玉素案躍競爭先，悵清流與染，嘆良緣已娛，往而已非輕別之恨事，往皆遊戲之褻玩，畏以污後來本初之雪心，恐以垢忠情赤子之皎意，然疾首余劍雖利，常惟孤影，痛心吾鋒盡銳，恨在纖輕。</p>
<p>故斂衽相祈，俯首相盼，長卿未逢文君而休輕求凰之如狂，清照非遇明誠然莫道眉頭以心頭，須知與心所懷之情有數，恣縱輕揮往而一去難停。然思其前塵舊影皆為碎夢，念其流歲飄年盡化飛紅，憑若明月素潔之懷，持如清雪剔朗之意，珍此心之重，守此情之明。</p>
<p>妄以私之陋詩所結，其筆所為，</p>
<br>
<center>與良人二首</center>
<br>
<center>意自深深非素願，留懷未謹莫宜多。</center>
<center>習常黯睇庭秋影，惘緒憂扁未盡說。</center>
<center>暗淡翩躚皆舊月，清疏縱款已塵歌。</center>
<center>相思盡只輕狂與，亦望幽塘滿新荷。</center>
<center>未恐求凰復輕揮，蒹葭寤寐與眉垂。</center>
<center>詞家有幸非悲與，盼倩亭亭教情蕤。</center>
<center>不愛詩書猶毓善，娉婷款款自春暉。</center>
<center>流年易散輕煙夢，天涯倦客昏灶歸。</center>
<br>
<center>無題·與情</center><br>
<center>淩波與共過橫塘，暗香歡容似冷香。</center>
<center>款款翩翩幽素影，疏疏整整澹清霜。</center>
<center>娉婷自便凝懷處，盼倩無緣與思量。</center>
<center>莫謹宜有休宜多，即懷長卿寄求凰。</center>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>古文</category>
            <category>詩賦</category>
            <category>愛情</category>
            <category>傳統文化</category>
            <category>文學隨筆</category>
        </item>
        <item>
            <title><![CDATA[天地與眾共天下，帝子不必只皇家]]></title>
            <link>https://nishikori.dev/posts/the-world-belongs-to-all</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/the-world-belongs-to-all</guid>
            <pubDate>Mon, 13 Jan 2020 03:31:15 GMT</pubDate>
            <description><![CDATA[以茶具與書齋為引，作者思索個體與天地、君王與凡人之關係，體現出平凡中自足的哲思與對生命秩序的溫柔理解。]]></description>
            <content:encoded><![CDATA[<p>想想，還是要認真感念近來這或是無緣，或是應當，而在心上澹漫開來的茫然與惻然罷。與故作豁達的惟好隨順卻是沒什麼因由的，她看我手足無措的焦急著徘徊，一邊淺淺笑著，一邊慢慢想著，直到此時見我許是已然靜下心來落筆，方才作來沈默的答言，卻非故作如何的謎語，她也只是看向了我，目光在小樓中顧盼幾番，順著看去，見著的實是無消再是熟悉。</p>
<p>垂著雖已是落了些灰，卻猶是葳蕤著的綠蘿的，放滿了曾稍是翻開幾頁的書的書櫃，倚在蓮花茶盤上的汝窯小馬，一把紫砂西施壺，與一隻再未是暗色的紫泥，而已是亮色朱泥的茶杯，與釉著唐草紋的三才蓋碗，兩位身著代表著清朗與生意的青綠長裙正小憩著的仕女，亦是稍落著些灰，而放著的汝窯茶杯與紫砂茶壺中卻猶是一塵不染的博古架，看著旁邊雕著雙龍的壽山石後一幅寫著「清流」的墨跡，過了這麼長時間，卻猶似未乾那般的明亮，再邊兒上些的蓋碗與硯台映著從前親手寫來的詞評的一筆一划亦是如斯清晰，倒是並未因這兩天吹進來的塵土顯著陳舊或是殘破，或許是因那時研來的墨實是純粹罷，正是與旁邊掛在牆上的一幅「墨梅圖」上的盈姿相映生輝的，如此說來，卻覺要教這已安臥了許久的汝窯伏虎筆擱與那亦是深眠了許久的雲松墨塊稍放下些心的，已是許久再未洗筆研墨，尚還未是就此忘卻了去的。如此的想，或許只是一份遐思與漫想，而此時再度在這心上湧開的滿足，卻未是如何有意的思量與有心的歡愉了。</p>
<p>也不必是大抵，我未只是擁有一盞蓋碗，我還有著如此的許多作長久的相伴。儘管這許多的許多，亦非金玉綴點銀妝寫，瓊英精琢秀相疊，比不得別家的宮廷汝窯，亦或別樓的絕世紫砂，可這一盞一把，一隻一雙，卻正是我有心挑選，著意付出方才來我這狹仄小樓中定居了的，更不必如何的尊供，亦或怎樣的謳贊，若是尋思著沏上些茶，也不必掛念著誰的思量，信手洗過一遍，直接投茶便好，如此想來，我這般正擁有著天地的想，或許便也不是如何的狂言了罷。</p>
<p>由此深深著想，這天地哪裡又只是天地她私有的了。天地與天下，是獨一的天地與天下的同時，每個人的天地，都是這獨一的天地，每個人的天下，亦都是這獨一的天下。更尋思著，身為這天地的「主宰」，亦是身為這天下的「帝子」，既已是可以親手握著這已是有著茶的朱泥小杯的「疆土」，大抵便不必再是竭力的去尋那飄渺的蓬萊仙山了罷。</p>
<p>想想若是為那還未得到的，許著是有的仙藥，而失了此時這正在手邊的，蓋碗與茶壺的天下，昏君的名頭大抵也是不大好聽的。不妨細心洗洗這蓋碗與茶壺，擦擦綠蘿與書櫃上的微塵更是有味著些的罷。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>隨筆</category>
            <category>茶道</category>
            <category>人生</category>
            <category>哲思</category>
        </item>
        <item>
            <title><![CDATA[春夜贈文予京城摯友]]></title>
            <link>https://nishikori.dev/posts/a-spring-night-letter-to-a-friend-in-beijing</link>
            <guid isPermaLink="false">https://nishikori.dev/posts/a-spring-night-letter-to-a-friend-in-beijing</guid>
            <pubDate>Sat, 16 Mar 2019 12:53:00 GMT</pubDate>
            <description><![CDATA[一篇以書信體抒發文友情誼的散文。春夜清明，筆墨間流露出作者對京城摯友的思念與祝願，文風典雅，情意綿長，宛若古人以詩贈友的風範。]]></description>
            <content:encoded><![CDATA[<p>春風翩翩，輕拂過千山萬水，攜帶吾人淺酌低吟之情，遣向遠方。閣下之學海無涯，勤耕不輟，使吾心懷慕憬，夜不成寐。梨花帶露，月色含煙，獨坐於斯，念及君子，心馳神往。</p>
<p>記憶中，昔日同窗，談笑風生，以詩會友，以書合悅。今别後各奔前程，閣下孜孜以求，鵬程萬里；而吾，潛心研磨，自勉不息。雖山高水遠，隔不斷吾等淵源之思，益堅吾輩友誼之鏈。</p>
<p>對於閣下於學問之途所獲殊榮，吾亦如星辰之朗朗，月光之清淨，暗自欣慰，同時萬分期盼。如春之於萬物，賦予生機，閣下之學問亦當如是，於塵世留芳，於百家增輝。</p>
<p>是夜，杳無人聲，唯留墨香與燈火相伴，思緒漫遊於筆端，不覺感慨萬千。雖曉君子於學海泛舟，必有浪涌風起之日，願君披荊斬棘，以坦蕩之心，穿雲霧，越星河。</p>
<p>未來之路，或將蜿蜒曲折，然信君之才，必能揮灑自如，於學問之路上刻下深深足跡。吾雖不能左右，然願以文字之繁，絲絲情意，如遠行者之燈火，照耀君前行之路，暖君學海孤舟。</p>
<p>昔時歡笑，今化期許，吾願於閣下之前程萬里中，微茫如星之光，卻持續不滅。待春暖花開之日，盼與君共賞桃花水綠，再續前緣，共話心志，以書會友，攜手前行於學問無涯路上。</p>
]]></content:encoded>
            <author>Nishikori Yui</author>
            <category>散文</category>
            <category>贈友</category>
            <category>抒情散文</category>
            <category>書信體</category>
            <category>文人情誼</category>
        </item>
    </channel>
</rss>