<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>IFISH.INK</title>
  
  <subtitle>几何之外亦有故事</subtitle>
  <link href="https://www.ifish.ink/atom.xml" rel="self"/>
  
  <link href="https://www.ifish.ink/"/>
  <updated>2026-05-07T04:12:43.988Z</updated>
  <id>https://www.ifish.ink/</id>
  
  <author>
    <name>鱼墨常常</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>用伽马函数表示伯恩斯坦基函数</title>
    <link href="https://www.ifish.ink/post/bernstein-gamma.html"/>
    <id>https://www.ifish.ink/post/bernstein-gamma.html</id>
    <published>2026-05-07T08:30:00.000Z</published>
    <updated>2026-05-07T04:12:43.988Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;如果你接触过 Bezier
曲线，几乎一定见过伯恩斯坦基函数。它看起来像一个“公式细节”，但其实背后有一个很实用的问题：&lt;/p&gt;
&lt;p&gt;同样的数学式子，怎么写得更不容易算崩？&lt;/p&gt;
&lt;h3</summary>
        
      
    
    
    
    <category term="学习/研究" scheme="https://www.ifish.ink/categories/%E5%AD%A6%E4%B9%A0-%E7%A0%94%E7%A9%B6/"/>
    
    
    <category term="曲线曲面" scheme="https://www.ifish.ink/tags/%E6%9B%B2%E7%BA%BF%E6%9B%B2%E9%9D%A2/"/>
    
    <category term="数值计算" scheme="https://www.ifish.ink/tags/%E6%95%B0%E5%80%BC%E8%AE%A1%E7%AE%97/"/>
    
    <category term="MATLAB" scheme="https://www.ifish.ink/tags/MATLAB/"/>
    
  </entry>
  
  <entry>
    <title>macOS工具推荐--Quick Look源码高亮插件Syntax Highlight</title>
    <link href="https://www.ifish.ink/post/3108369d.html"/>
    <id>https://www.ifish.ink/post/3108369d.html</id>
    <published>2025-10-06T10:14:31.000Z</published>
    <updated>2025-10-06T10:49:06.000Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;h2 id=&quot;macos原生quick-look的局限与动机&quot;&gt;macOS原生Quick
Look的局限与动机&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Quick</summary>
        
      
    
    
    
    <category term="工具技能" scheme="https://www.ifish.ink/categories/%E5%B7%A5%E5%85%B7%E6%8A%80%E8%83%BD/"/>
    
    
    <category term="macOS" scheme="https://www.ifish.ink/tags/macOS/"/>
    
    <category term="Quick Look" scheme="https://www.ifish.ink/tags/Quick-Look/"/>
    
    <category term="源码高亮" scheme="https://www.ifish.ink/tags/%E6%BA%90%E7%A0%81%E9%AB%98%E4%BA%AE/"/>
    
    <category term="Syntax Highlight" scheme="https://www.ifish.ink/tags/Syntax-Highlight/"/>
    
  </entry>
  
  <entry>
    <title>在macOS上用PM2实现Node.js服务开机自启动</title>
    <link href="https://www.ifish.ink/post/pm2-nodejs-macos.html"/>
    <id>https://www.ifish.ink/post/pm2-nodejs-macos.html</id>
    <published>2025-10-03T20:21:53.000Z</published>
    <updated>2025-10-06T10:49:01.000Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;在本地开发或部署轻量级应用时，我们常常需要在Mac
mini或其他macOS设备上，让一个Node.js服务（例如Express或WebSocket服务）在系统开机后自动启动并常驻后台。本文介绍如何使用&lt;strong&gt;PM2&lt;/strong&gt;来实现开机自启动。&lt;/p&gt;
&lt;h</summary>
        
      
    
    
    
    <category term="工具技能" scheme="https://www.ifish.ink/categories/%E5%B7%A5%E5%85%B7%E6%8A%80%E8%83%BD/"/>
    
    
    <category term="macOS" scheme="https://www.ifish.ink/tags/macOS/"/>
    
    <category term="PM2" scheme="https://www.ifish.ink/tags/PM2/"/>
    
    <category term="Node.js" scheme="https://www.ifish.ink/tags/Node-js/"/>
    
  </entry>
  
  <entry>
    <title>如何像GitHub Action那样本地打包</title>
    <link href="https://www.ifish.ink/post/d2f9f15b.html"/>
    <id>https://www.ifish.ink/post/d2f9f15b.html</id>
    <published>2024-10-21T17:28:58.000Z</published>
    <updated>2024-10-21T18:03:15.000Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;blockquote&gt;
&lt;p&gt;GitHub
Actions是GitHub提供的一项功能，用于实现持续集成和持续交付（CI/CD）工作流的自动化。通过GitHub
Actions，开发者可以在代码库发生特定事件时，自动触发构建、测试、部署等一系列任务。它支持高度自定义的工作流，适</summary>
        
      
    
    
    
    <category term="工具技能" scheme="https://www.ifish.ink/categories/%E5%B7%A5%E5%85%B7%E6%8A%80%E8%83%BD/"/>
    
    
    <category term="GitHub Action" scheme="https://www.ifish.ink/tags/GitHub-Action/"/>
    
    <category term="软件打包" scheme="https://www.ifish.ink/tags/%E8%BD%AF%E4%BB%B6%E6%89%93%E5%8C%85/"/>
    
  </entry>
  
  <entry>
    <title>Total Commander使用</title>
    <link href="https://www.ifish.ink/post/aada5c99.html"/>
    <id>https://www.ifish.ink/post/aada5c99.html</id>
    <published>2024-10-15T09:57:45.000Z</published>
    <updated>2024-10-23T18:20:39.000Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;h1</summary>
        
      
    
    
    
    <category term="工具技能" scheme="https://www.ifish.ink/categories/%E5%B7%A5%E5%85%B7%E6%8A%80%E8%83%BD/"/>
    
    
    <category term="神器" scheme="https://www.ifish.ink/tags/%E7%A5%9E%E5%99%A8/"/>
    
    <category term="Total Commander" scheme="https://www.ifish.ink/tags/Total-Commander/"/>
    
  </entry>
  
  <entry>
    <title>Windows上配置Total Commander + Listary</title>
    <link href="https://www.ifish.ink/post/bb2b886d.html"/>
    <id>https://www.ifish.ink/post/bb2b886d.html</id>
    <published>2024-10-14T09:13:24.000Z</published>
    <updated>2024-10-23T18:21:12.000Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;h1 id=&quot;windows上配置total-commander-listary&quot;&gt;Windows上配置Total
Commander +</summary>
        
      
    
    
    
    <category term="工具技能" scheme="https://www.ifish.ink/categories/%E5%B7%A5%E5%85%B7%E6%8A%80%E8%83%BD/"/>
    
    
    <category term="神器" scheme="https://www.ifish.ink/tags/%E7%A5%9E%E5%99%A8/"/>
    
    <category term="Total Commander" scheme="https://www.ifish.ink/tags/Total-Commander/"/>
    
    <category term="Listary" scheme="https://www.ifish.ink/tags/Listary/"/>
    
  </entry>
  
  <entry>
    <title>OpenGL坐标与ImGui坐标在视网膜屏幕上的转换</title>
    <link href="https://www.ifish.ink/post/e9330479.html"/>
    <id>https://www.ifish.ink/post/e9330479.html</id>
    <published>2024-10-13T17:15:59.000Z</published>
    <updated>2025-10-06T10:48:23.000Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;h1
id=&quot;opengl坐标与imgui坐标在视网膜屏幕上的转换&quot;&gt;OpenGL坐标与ImGui坐标在视网膜屏幕上的转换&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;在高分辨率显示器，尤其是&lt;strong&gt;视网膜屏幕（Retina
display）&lt;/strong&gt;上开发图形应</summary>
        
      
    
    
    
    <category term="工具技能" scheme="https://www.ifish.ink/categories/%E5%B7%A5%E5%85%B7%E6%8A%80%E8%83%BD/"/>
    
    
    <category term="OpenGL" scheme="https://www.ifish.ink/tags/OpenGL/"/>
    
    <category term="ImGui" scheme="https://www.ifish.ink/tags/ImGui/"/>
    
    <category term="视网膜屏幕" scheme="https://www.ifish.ink/tags/%E8%A7%86%E7%BD%91%E8%86%9C%E5%B1%8F%E5%B9%95/"/>
    
    <category term="坐标转换" scheme="https://www.ifish.ink/tags/%E5%9D%90%E6%A0%87%E8%BD%AC%E6%8D%A2/"/>
    
  </entry>
  
  <entry>
    <title>男孩，鼹鼠，狐狸和马</title>
    <link href="https://www.ifish.ink/post/ca64211f.html"/>
    <id>https://www.ifish.ink/post/ca64211f.html</id>
    <published>2024-10-12T08:42:07.000Z</published>
    <updated>2024-10-14T09:17:03.000Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;&lt;img src=&quot;/images/imgs/ca64211f-4.jpeg&quot;</summary>
        
      
    
    
    
    <category term="生活娱乐" scheme="https://www.ifish.ink/categories/%E7%94%9F%E6%B4%BB%E5%A8%B1%E4%B9%90/"/>
    
    
    <category term="随笔" scheme="https://www.ifish.ink/tags/%E9%9A%8F%E7%AC%94/"/>
    
    <category term="动画" scheme="https://www.ifish.ink/tags/%E5%8A%A8%E7%94%BB/"/>
    
    <category term="短片" scheme="https://www.ifish.ink/tags/%E7%9F%AD%E7%89%87/"/>
    
  </entry>
  
  <entry>
    <title>基于极大似然坐标的图像变形的MATLAB实现</title>
    <link href="https://www.ifish.ink/post/mlc2d.html"/>
    <id>https://www.ifish.ink/post/mlc2d.html</id>
    <published>2023-12-22T20:39:00.000Z</published>
    <updated>2025-10-06T18:24:05.000Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;&lt;img
src=&quot;https://github.com/changqj/Maximum-Likelihood-Coordinates-2D/raw/main/doc/teaser.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This is an implementation of</summary>
        
      
    
    
    
    <category term="学习/研究" scheme="https://www.ifish.ink/categories/%E5%AD%A6%E4%B9%A0-%E7%A0%94%E7%A9%B6/"/>
    
    
    <category term="MATLAB代码" scheme="https://www.ifish.ink/tags/MATLAB%E4%BB%A3%E7%A0%81/"/>
    
    <category term="算法实现" scheme="https://www.ifish.ink/tags/%E7%AE%97%E6%B3%95%E5%AE%9E%E7%8E%B0/"/>
    
    <category term="几何处理" scheme="https://www.ifish.ink/tags/%E5%87%A0%E4%BD%95%E5%A4%84%E7%90%86/"/>
    
    <category term="极大似然坐标" scheme="https://www.ifish.ink/tags/%E6%9E%81%E5%A4%A7%E4%BC%BC%E7%84%B6%E5%9D%90%E6%A0%87/"/>
    
  </entry>
  
  <entry>
    <title>从复平面上域的多项式函数生成调和函数</title>
    <link href="https://www.ifish.ink/post/harmonic.html"/>
    <id>https://www.ifish.ink/post/harmonic.html</id>
    <published>2023-12-20T21:03:35.000Z</published>
    <updated>2025-10-06T10:51:12.000Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;调和函数是在某区域中满足拉普拉斯方程的函数。由于任意全纯函数的实部和虚部都满足二元调和函数。所有关于复数&lt;span
class=&quot;math inline&quot;&gt;&#92;(z=x+yi&#92;)&lt;/span&gt;的多项式函数&lt;span
class=&quot;math</summary>
        
      
    
    
    
    <category term="学习/研究" scheme="https://www.ifish.ink/categories/%E5%AD%A6%E4%B9%A0-%E7%A0%94%E7%A9%B6/"/>
    
    
    <category term="MATLAB代码" scheme="https://www.ifish.ink/tags/MATLAB%E4%BB%A3%E7%A0%81/"/>
    
    <category term="曲线曲面" scheme="https://www.ifish.ink/tags/%E6%9B%B2%E7%BA%BF%E6%9B%B2%E9%9D%A2/"/>
    
    <category term="调和函数" scheme="https://www.ifish.ink/tags/%E8%B0%83%E5%92%8C%E5%87%BD%E6%95%B0/"/>
    
    <category term="极小曲面" scheme="https://www.ifish.ink/tags/%E6%9E%81%E5%B0%8F%E6%9B%B2%E9%9D%A2/"/>
    
  </entry>
  
  <entry>
    <title>使用Hexo搭建Github静态页面与域名绑定</title>
    <link href="https://www.ifish.ink/post/5755d91.html"/>
    <id>https://www.ifish.ink/post/5755d91.html</id>
    <published>2022-03-15T20:50:11.000Z</published>
    <updated>2024-10-13T18:46:30.000Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;h2 id=&quot;简介&quot;&gt;1.</summary>
        
      
    
    
    
    <category term="工具技能" scheme="https://www.ifish.ink/categories/%E5%B7%A5%E5%85%B7%E6%8A%80%E8%83%BD/"/>
    
    
    <category term="Hexo" scheme="https://www.ifish.ink/tags/Hexo/"/>
    
    <category term="Github Pages" scheme="https://www.ifish.ink/tags/Github-Pages/"/>
    
    <category term="网站搭建" scheme="https://www.ifish.ink/tags/%E7%BD%91%E7%AB%99%E6%90%AD%E5%BB%BA/"/>
    
    <category term="域名绑定" scheme="https://www.ifish.ink/tags/%E5%9F%9F%E5%90%8D%E7%BB%91%E5%AE%9A/"/>
    
  </entry>
  
  <entry>
    <title>简单细分曲线</title>
    <link href="https://www.ifish.ink/post/subdivcurve.html"/>
    <id>https://www.ifish.ink/post/subdivcurve.html</id>
    <published>2020-12-23T22:02:34.000Z</published>
    <updated>2025-10-06T18:24:01.000Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;h3 id=&quot;细分曲线&quot;&gt;细分曲线&lt;/h3&gt;
&lt;p&gt;对于给定&lt;span
class=&quot;math inline&quot;&gt;&#92;(&#92;mathbb{R}^2&#92;)&lt;/span&gt;内一组有序点&lt;span
class=&quot;math</summary>
        
      
    
    
    
    <category term="学习/研究" scheme="https://www.ifish.ink/categories/%E5%AD%A6%E4%B9%A0-%E7%A0%94%E7%A9%B6/"/>
    
    
    <category term="曲线曲面" scheme="https://www.ifish.ink/tags/%E6%9B%B2%E7%BA%BF%E6%9B%B2%E9%9D%A2/"/>
    
    <category term="C/C++" scheme="https://www.ifish.ink/tags/C-C/"/>
    
    <category term="细分曲线" scheme="https://www.ifish.ink/tags/%E7%BB%86%E5%88%86%E6%9B%B2%E7%BA%BF/"/>
    
  </entry>
  
  <entry>
    <title>三次样条插值</title>
    <link href="https://www.ifish.ink/post/cubicspline.html"/>
    <id>https://www.ifish.ink/post/cubicspline.html</id>
    <published>2020-11-10T20:30:10.000Z</published>
    <updated>2025-10-06T18:20:53.000Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;h3 id=&quot;三次样条函数&quot;&gt;三次样条函数&lt;/h3&gt;
&lt;p&gt;对于给定&lt;span
class=&quot;math inline&quot;&gt;&#92;(&#92;mathbb{R}^2&#92;)&lt;/span&gt;域内一组有序点&lt;span
class=&quot;math</summary>
        
      
    
    
    
    <category term="学习/研究" scheme="https://www.ifish.ink/categories/%E5%AD%A6%E4%B9%A0-%E7%A0%94%E7%A9%B6/"/>
    
    
    <category term="拟合" scheme="https://www.ifish.ink/tags/%E6%8B%9F%E5%90%88/"/>
    
    <category term="曲线曲面" scheme="https://www.ifish.ink/tags/%E6%9B%B2%E7%BA%BF%E6%9B%B2%E9%9D%A2/"/>
    
    <category term="C/C++" scheme="https://www.ifish.ink/tags/C-C/"/>
    
  </entry>
  
  <entry>
    <title>多维放缩MDS算法</title>
    <link href="https://www.ifish.ink/post/94abe0b4.html"/>
    <id>https://www.ifish.ink/post/94abe0b4.html</id>
    <published>2020-11-09T18:43:19.000Z</published>
    <updated>2025-10-06T10:52:07.000Z</updated>
    
    
    <summary type="html">&lt;blockquote&gt;
&lt;p&gt;在线性代数中我们接触到embedding(嵌入)这一术语，表示从高维到低维空间。考虑一个高维空间中的样本集在低维空间中的形态。
“embedding”也应用在计算机图形学的参数化领域中。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;问题&quot;&gt;问题&lt;/h3&gt;
&lt;p&gt;给定高维空间&lt;span
class=&quot;math inline&quot;&gt;&#92;(&#92;mathbb{R}^n&#92;)&lt;/span&gt;中的&lt;span
class=&quot;math inline&quot;&gt;&#92;(m&#92;)&lt;/span&gt;个样本点为&lt;span
class=&quot;math inline&quot;&gt;&#92;(&#92;{X_i&#92;}_{i=1}^m&#92;)&lt;/span&gt;，考虑是否可以将&lt;span
class=&quot;math inline&quot;&gt;&#92;(m&#92;)&lt;/span&gt;个样本嵌入到低维空间&lt;span
class=&quot;math inline&quot;&gt;&#92;(&#92;mathbb{R}^{d}&#92;)&lt;/span&gt;，&lt;span
class=&quot;math inline&quot;&gt;&#92;(d&amp;lt;
n&#92;)&lt;/span&gt;，使得高维空间中两样本点的度量距离在低维空间中保持不变。&lt;/p&gt;
&lt;figure&gt;
&lt;img
src=&quot;https://files.ifish.ink/mics/1110_1.png?imageMogr2/auto-orient/thumbnail/1000x1000&quot;
alt=&quot;embedding&quot; /&gt;
&lt;figcaption aria-hidden=&quot;true&quot;&gt;embedding&lt;/figcaption&gt;
&lt;/figure&gt;</summary>
    
    
    
    <category term="学习/研究" scheme="https://www.ifish.ink/categories/%E5%AD%A6%E4%B9%A0-%E7%A0%94%E7%A9%B6/"/>
    
    
    <category term="几何处理" scheme="https://www.ifish.ink/tags/%E5%87%A0%E4%BD%95%E5%A4%84%E7%90%86/"/>
    
    <category term="曲面参数化" scheme="https://www.ifish.ink/tags/%E6%9B%B2%E9%9D%A2%E5%8F%82%E6%95%B0%E5%8C%96/"/>
    
    <category term="算法" scheme="https://www.ifish.ink/tags/%E7%AE%97%E6%B3%95/"/>
    
  </entry>
  
  <entry>
    <title>(增强篇)  Bezier曲线拟合数据点的几何作图法</title>
    <link href="https://www.ifish.ink/post/56c1b7a3.html"/>
    <id>https://www.ifish.ink/post/56c1b7a3.html</id>
    <published>2020-11-03T15:14:00.000Z</published>
    <updated>2025-10-06T10:49:49.000Z</updated>
    
    
    <summary type="html">&lt;blockquote&gt;
&lt;p&gt;在之前的一篇 &lt;a
href=&quot;https://www.ifish.ink/post/7741e06a.html&quot;&gt;“Bezier曲线拟合数据点的几何作图法”&lt;/a&gt;
博客基础上添加鼠标移动控制顶点交互的功能。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3
id=&quot;交互选择控制顶点并画出初始曲线&quot;&gt;交互选择控制顶点，并画出初始曲线&lt;/h3&gt;
&lt;pre class=&quot;language-matlab&quot; data-language=&quot;matlab&quot;&gt;&lt;code class=&quot;language-matlab&quot;&gt;clear
close all
grid on&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;hold on
&lt;span class=&quot;token comment&quot;&gt;% axis equal&lt;/span&gt;
global ctrl_points h1 h_bezier&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;ctrl_points&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;h&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;cqj_selectPoints&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0.01&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
    &lt;span class=&quot;token function&quot;&gt;newData&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;int32&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;cqj_GetBezier3Point&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ctrl_points&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;end&lt;/span&gt;
h_bezier &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;newData&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;newData&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;-r&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

h1 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;ctrl_points&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;ctrl_points&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;r*&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;set&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;h1&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;visible&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;off&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
text__ &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;cell&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ctrl_points&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ctrl_points&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    text__&lt;span class=&quot;token punctuation&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;num2str&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;end&lt;/span&gt;

myText &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;ctrl_points&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;ctrl_points&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;text__&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;set&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;gcf&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;WindowButtonDownFcn&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;@&lt;/span&gt;ButtonDownFcn&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;h&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;myText&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;h_bezier&lt;span class=&quot;token punctuation&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;set&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;gcf&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;WindowButtonUpFcn&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;@&lt;/span&gt;ButtonUpFcn&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</summary>
    
    
    
    <category term="学习/研究" scheme="https://www.ifish.ink/categories/%E5%AD%A6%E4%B9%A0-%E7%A0%94%E7%A9%B6/"/>
    
    
    <category term="MATLAB代码" scheme="https://www.ifish.ink/tags/MATLAB%E4%BB%A3%E7%A0%81/"/>
    
    <category term="算法实现" scheme="https://www.ifish.ink/tags/%E7%AE%97%E6%B3%95%E5%AE%9E%E7%8E%B0/"/>
    
    <category term="拟合" scheme="https://www.ifish.ink/tags/%E6%8B%9F%E5%90%88/"/>
    
    <category term="曲线曲面" scheme="https://www.ifish.ink/tags/%E6%9B%B2%E7%BA%BF%E6%9B%B2%E9%9D%A2/"/>
    
  </entry>
  
  <entry>
    <title>Github上 fork了别人的代码 本地更新主分支代码</title>
    <link href="https://www.ifish.ink/post/8f4cbc0c.html"/>
    <id>https://www.ifish.ink/post/8f4cbc0c.html</id>
    <published>2020-11-02T18:09:11.000Z</published>
    <updated>2025-10-06T10:48:38.000Z</updated>
    
    
    <summary type="html">&lt;h3 id=&quot;github上-fork了别人的代码-本地更新主分支代码&quot;&gt;Github上
fork了别人的代码 本地更新主分支代码&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;查看本地仓库项目目录：&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot; data-language=&quot;bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; remote &lt;span class=&quot;token parameter variable&quot;&gt;-v&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;添加上游项目地址：&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot; data-language=&quot;bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; remote &lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;remote-name&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;your upstream URL&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</summary>
    
    
    
    <category term="工具技能" scheme="https://www.ifish.ink/categories/%E5%B7%A5%E5%85%B7%E6%8A%80%E8%83%BD/"/>
    
    
    <category term="git" scheme="https://www.ifish.ink/tags/git/"/>
    
    <category term="github" scheme="https://www.ifish.ink/tags/github/"/>
    
  </entry>
  
  <entry>
    <title>三角网格曲面参数化</title>
    <link href="https://www.ifish.ink/post/bcf65292.html"/>
    <id>https://www.ifish.ink/post/bcf65292.html</id>
    <published>2020-10-31T14:26:08.000Z</published>
    <updated>2025-10-06T10:51:05.000Z</updated>
    
    
    <summary type="html">&lt;blockquote&gt;
&lt;p&gt;本文介绍文章 &lt;em&gt;Parametrization and smooth approximation of surface
triangulations&lt;/em&gt; 中的保形参数化算法，并给出MATLAB程序
曲面参数化问题：对于给定的三角网格曲面&lt;span
class=&quot;math inline&quot;&gt;&#92;(&#92;mathbf{S}&#92;)&lt;/span&gt;，找到一个映射&lt;span
class=&quot;math inline&quot;&gt;&#92;(&#92;phi(u,v):
&#92;mathbb{R}^2&#92;longmapsto&#92;mathbb{R}^3&#92;)&lt;/span&gt;，使得平面参数域中的点与曲面网格的点一一对应，求解参数&lt;span
class=&quot;math inline&quot;&gt;&#92;((u,v)&#92;)&lt;/span&gt;，即&lt;span
class=&quot;math inline&quot;&gt;&#92;(&#92;phi^{-1}&#92;)&lt;/span&gt;的过程称为参数化。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;算法描述&quot;&gt;算法描述&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://files.ifish.ink/mics/20201031-1.png&quot; /&gt;&lt;/p&gt;</summary>
    
    
    
    <category term="学习/研究" scheme="https://www.ifish.ink/categories/%E5%AD%A6%E4%B9%A0-%E7%A0%94%E7%A9%B6/"/>
    
    
    <category term="MATLAB代码" scheme="https://www.ifish.ink/tags/MATLAB%E4%BB%A3%E7%A0%81/"/>
    
    <category term="算法实现" scheme="https://www.ifish.ink/tags/%E7%AE%97%E6%B3%95%E5%AE%9E%E7%8E%B0/"/>
    
    <category term="参数化" scheme="https://www.ifish.ink/tags/%E5%8F%82%E6%95%B0%E5%8C%96/"/>
    
    <category term="均值重心坐标" scheme="https://www.ifish.ink/tags/%E5%9D%87%E5%80%BC%E9%87%8D%E5%BF%83%E5%9D%90%E6%A0%87/"/>
    
    <category term="几何处理" scheme="https://www.ifish.ink/tags/%E5%87%A0%E4%BD%95%E5%A4%84%E7%90%86/"/>
    
  </entry>
  
  <entry>
    <title>参数曲线拟合</title>
    <link href="https://www.ifish.ink/post/curvefitting.html"/>
    <id>https://www.ifish.ink/post/curvefitting.html</id>
    <published>2020-10-23T21:32:31.000Z</published>
    <updated>2025-10-06T10:51:25.000Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;h3 id=&quot;曲线参数化&quot;&gt;曲线参数化&lt;/h3&gt;
&lt;p&gt;对于给定&lt;span
class=&quot;math inline&quot;&gt;&#92;(&#92;mathbb{R}^2&#92;)&lt;/span&gt;内一组有序点&lt;span
class=&quot;math</summary>
        
      
    
    
    
    <category term="学习/研究" scheme="https://www.ifish.ink/categories/%E5%AD%A6%E4%B9%A0-%E7%A0%94%E7%A9%B6/"/>
    
    
    <category term="拟合" scheme="https://www.ifish.ink/tags/%E6%8B%9F%E5%90%88/"/>
    
    <category term="曲线曲面" scheme="https://www.ifish.ink/tags/%E6%9B%B2%E7%BA%BF%E6%9B%B2%E9%9D%A2/"/>
    
    <category term="C/C++" scheme="https://www.ifish.ink/tags/C-C/"/>
    
    <category term="曲线参数化" scheme="https://www.ifish.ink/tags/%E6%9B%B2%E7%BA%BF%E5%8F%82%E6%95%B0%E5%8C%96/"/>
    
  </entry>
  
  <entry>
    <title>ubuntu 外接显示与内置显示切换</title>
    <link href="https://www.ifish.ink/post/83277084.html"/>
    <id>https://www.ifish.ink/post/83277084.html</id>
    <published>2020-06-02T14:23:53.000Z</published>
    <updated>2025-04-17T22:08:46.000Z</updated>
    
    
    <summary type="html">&lt;ul&gt;
&lt;li&gt;查看显示器设备名称
在Linux终端键入命令：&lt;code&gt;$ xrandx&lt;/code&gt;，如下图所示查看对应的设备名称，本例为
LVDS-1 和 HDMI-1
(如果你的外接显示器使用VGA转接一般就是VGA-1，如果使用HDMI转接一般是HDMI-1)&lt;/li&gt;
&lt;/ul&gt;</summary>
    
    
    
    <category term="工具技能" scheme="https://www.ifish.ink/categories/%E5%B7%A5%E5%85%B7%E6%8A%80%E8%83%BD/"/>
    
    
    <category term="环境配置" scheme="https://www.ifish.ink/tags/%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE/"/>
    
    <category term="ubuntu" scheme="https://www.ifish.ink/tags/ubuntu/"/>
    
    <category term="方法" scheme="https://www.ifish.ink/tags/%E6%96%B9%E6%B3%95/"/>
    
  </entry>
  
  <entry>
    <title>git clone 速度慢？</title>
    <link href="https://www.ifish.ink/post/ec4bf4f5.html"/>
    <id>https://www.ifish.ink/post/ec4bf4f5.html</id>
    <published>2020-05-26T14:06:55.000Z</published>
    <updated>2025-10-06T10:48:34.000Z</updated>
    
    
    <summary type="html">&lt;p&gt;&lt;code&gt;$ git clone https://xxxx&lt;/code&gt; 克隆速度慢的解决方法：&lt;/p&gt;
&lt;h2 id=&quot;方法1&quot;&gt;方法1：&lt;/h2&gt;
&lt;h3 id=&quot;查询ip地址&quot;&gt;查询IP地址&lt;/h3&gt;
&lt;p&gt;进入域名IP地址查看工具： &lt;a href=&quot;https://www.ipaddress.com&quot;
title=&quot;https://www.ipaddress.com&quot;&gt;https://www.ipaddress.com&lt;/a&gt;
分别输入如下网址查看对应的IP地址&lt;/p&gt;</summary>
    
    
    
    <category term="工具技能" scheme="https://www.ifish.ink/categories/%E5%B7%A5%E5%85%B7%E6%8A%80%E8%83%BD/"/>
    
    
    <category term="git" scheme="https://www.ifish.ink/tags/git/"/>
    
    <category term="github" scheme="https://www.ifish.ink/tags/github/"/>
    
    <category term="环境配置" scheme="https://www.ifish.ink/tags/%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE/"/>
    
  </entry>
  
</feed>
