JO
2024-06-28 28da6ed0509a696c79bdfecb7af0a73690205ad4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<meta name="theme-color" content="#222"><meta name="generator" content="Hexo 6.3.0">
 
  <link rel="apple-touch-icon" sizes="180x180" href="/assets/Q/ios-icon.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/assets/Q/32.ico">
  <link rel="icon" type="image/png" sizes="16x16" href="/assets/Q/16.ico">
 
<link rel="stylesheet" href="/css/main.css">
 
 
 
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" integrity="sha256-HtsXJanqjKTc8vVQjO4YMhiqFoXkfBsjBWcX91T1jr8=" crossorigin="anonymous">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.1.1/animate.min.css" integrity="sha256-PR7ttpcvz8qrF57fur/yAx1qXMFJeJFiA6pSzWi0OIE=" crossorigin="anonymous">
 
<script class="next-config" data-name="main" type="application/json">{"hostname":"zxq.im","root":"/","images":"/images","scheme":"Pisces","darkmode":false,"version":"8.18.1","exturl":false,"sidebar":{"position":"left","display":"post","padding":18,"offset":12},"copycode":{"enable":false,"style":null},"fold":{"enable":false,"height":500},"bookmark":{"enable":false,"color":"#222","save":"auto"},"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"stickytabs":false,"motion":{"enable":true,"async":false,"transition":{"menu_item":"fadeInDown","post_block":"fadeIn","post_header":"fadeInDown","post_body":"fadeInDown","coll_header":"fadeInLeft","sidebar":"fadeInUp"}},"prism":false,"i18n":{"placeholder":"Searching...","empty":"We didn't find any results for the search: ${query}","hits_time":"${hits} results found in ${time} ms","hits":"${hits} results found"},"path":"/search.xml","localsearch":{"enable":true,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false}}</script><script src="/js/config.js"></script>
 
    <meta name="description" content="matrix()?矩阵?喵喵喵?国家教育我到底有什么目的?那么,在把中学数学忘得一干二净的情况下,要怎么理解matrix()的用法?本文略长,需要结果的请点击文章左侧的导航直达“总结”处。 大胆实验我们可以看到matrix()一共有六个参数,我会直接修改参数,然后看运行结果,用这种做实验的方式来强行理解每个参数的作用。本文用带圈的数字作为代数:matrix(①,②,③,④,⑤,⑥),根据侧边栏上的">
<meta property="og:type" content="article">
<meta property="og:title" content="用猴子思维理解matrix()">
<meta property="og:url" content="http://zxq.im/43254.html">
<meta property="og:site_name" content="ZXQ">
<meta property="og:description" content="matrix()?矩阵?喵喵喵?国家教育我到底有什么目的?那么,在把中学数学忘得一干二净的情况下,要怎么理解matrix()的用法?本文略长,需要结果的请点击文章左侧的导航直达“总结”处。 大胆实验我们可以看到matrix()一共有六个参数,我会直接修改参数,然后看运行结果,用这种做实验的方式来强行理解每个参数的作用。本文用带圈的数字作为代数:matrix(①,②,③,④,⑤,⑥),根据侧边栏上的">
<meta property="og:locale" content="en_US">
<meta property="og:image" content="http://zxq.im/assets/img/00088.png">
<meta property="og:image" content="http://zxq.im/assets/img/00089.png">
<meta property="og:image" content="http://zxq.im/assets/img/00090.png">
<meta property="og:image" content="http://zxq.im/assets/img/00091.png">
<meta property="og:image" content="http://zxq.im/assets/img/00092.png">
<meta property="og:image" content="http://zxq.im/assets/img/00093.jpg">
<meta property="og:image" content="http://zxq.im/assets/img/00094.png">
<meta property="og:image" content="http://zxq.im/assets/img/00095.png">
<meta property="og:image" content="http://zxq.im/assets/img/00096.png">
<meta property="og:image" content="http://zxq.im/assets/img/00097.png">
<meta property="og:image" content="http://zxq.im/assets/img/00098.jpg">
<meta property="article:published_time" content="2019-05-09T16:00:00.000Z">
<meta property="article:modified_time" content="2021-04-23T01:25:16.326Z">
<meta property="article:author" content="ZXQ">
<meta property="article:tag" content="typing">
<meta property="article:tag" content="CSS">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="http://zxq.im/assets/img/00088.png">
 
 
<link rel="canonical" href="http://zxq.im/43254.html">
 
 
 
<script class="next-config" data-name="page" type="application/json">{"sidebar":"","isHome":false,"isPost":true,"lang":"en","comments":true,"permalink":"http://zxq.im/43254.html","path":"43254.html","title":"用猴子思维理解matrix()"}</script>
 
<script class="next-config" data-name="calendar" type="application/json">""</script>
<title>用猴子思维理解matrix() | ZXQ</title>
  
 
 
 
 
 
 
 
 
  <noscript>
    <link rel="stylesheet" href="/css/noscript.css">
  </noscript>
</head>
 
<body itemscope itemtype="http://schema.org/WebPage" class="use-motion">
  <div class="headband"></div>
 
  <main class="main">
    <div class="column">
      <header class="header" itemscope itemtype="http://schema.org/WPHeader"><div class="site-brand-container">
  <div class="site-nav-toggle">
    <div class="toggle" aria-label="Toggle navigation bar" role="button">
        <span class="toggle-line"></span>
        <span class="toggle-line"></span>
        <span class="toggle-line"></span>
    </div>
  </div>
 
  <div class="site-meta">
 
    <a href="/" class="brand" rel="start">
      <i class="logo-line"></i>
      <p class="site-title">ZXQ</p>
      <i class="logo-line"></i>
    </a>
      <p class="site-subtitle" itemprop="description">just a typist</p>
  </div>
 
  <div class="site-nav-right">
    <div class="toggle popup-trigger" aria-label="Search" role="button">
        <i class="fa fa-search fa-fw fa-lg"></i>
    </div>
  </div>
</div>
 
 
 
<nav class="site-nav">
  <ul class="main-menu menu"><li class="menu-item menu-item-home"><a href="/" rel="section"><i class="fa fa-heart fa-fw"></i>Home</a></li><li class="menu-item menu-item-archives"><a href="/archives/" rel="section"><i class="fa fa-archive fa-fw"></i>Archives</a></li>
      <li class="menu-item menu-item-search">
        <a role="button" class="popup-trigger"><i class="fa fa-search fa-fw"></i>Search
        </a>
      </li>
  </ul>
</nav>
 
 
 
  <div class="search-pop-overlay">
    <div class="popup search-popup"><div class="search-header">
  <span class="search-icon">
    <i class="fa fa-search"></i>
  </span>
  <div class="search-input-container">
    <input autocomplete="off" autocapitalize="off" maxlength="80"
           placeholder="Searching..." spellcheck="false"
           type="search" class="search-input">
  </div>
  <span class="popup-btn-close" role="button">
    <i class="fa fa-times-circle"></i>
  </span>
</div>
<div class="search-result-container no-result">
  <div class="search-result-icon">
    <i class="fa fa-spinner fa-pulse fa-5x"></i>
  </div>
</div>
 
    </div>
  </div>
 
</header>
        
  
  <aside class="sidebar">
 
    <div class="sidebar-inner sidebar-nav-active sidebar-toc-active">
      <ul class="sidebar-nav">
        <li class="sidebar-nav-toc">
          Table of Contents
        </li>
        <li class="sidebar-nav-overview">
          Overview
        </li>
      </ul>
 
      <div class="sidebar-panel-container">
        <!--noindex-->
        <div class="post-toc-wrap sidebar-panel">
            <div class="post-toc animated"><ol class="nav"><li class="nav-item nav-level-3"><a class="nav-link" href="#%E5%A4%A7%E8%83%86%E5%AE%9E%E9%AA%8C"><span class="nav-number">1.</span> <span class="nav-text">大胆实验</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#%E5%AE%9E%E9%AA%8C1%EF%BC%9A%E4%BD%8D%E7%A7%BB%E5%8F%82%E6%95%B0%EF%BC%88%E6%9C%80%E5%90%8E%E4%B8%A4%E5%8F%82%E6%95%B0%EF%BC%89"><span class="nav-number">1.1.</span> <span class="nav-text">实验1:位移参数(最后两参数)</span></a><ol class="nav-child"><li class="nav-item nav-level-5"><a class="nav-link" href="#%E2%91%A4-%E2%91%A5%E5%8F%82%E6%95%B0"><span class="nav-number">1.1.1.</span> <span class="nav-text">⑤&amp;⑥参数</span></a></li><li class="nav-item nav-level-5"><a class="nav-link" href="#%E5%AE%9E%E9%AA%8C1%E5%B0%8F%E7%BB%93"><span class="nav-number">1.1.2.</span> <span class="nav-text">实验1小结</span></a></li></ol></li><li class="nav-item nav-level-4"><a class="nav-link" href="#%E5%AE%9E%E9%AA%8C2%EF%BC%9A%E7%BC%A9%E6%94%BE%E5%8F%82%E6%95%B0%EF%BC%88%E7%AC%AC%E4%B8%80%E5%9B%9B%E5%8F%82%E6%95%B0%EF%BC%89"><span class="nav-number">1.2.</span> <span class="nav-text">实验2:缩放参数(第一四参数)</span></a><ol class="nav-child"><li class="nav-item nav-level-5"><a class="nav-link" href="#%E2%91%A0%E5%8F%82%E6%95%B0"><span class="nav-number">1.2.1.</span> <span class="nav-text">①参数</span></a></li><li class="nav-item nav-level-5"><a class="nav-link" href="#%E2%91%A3%E5%8F%82%E6%95%B0"><span class="nav-number">1.2.2.</span> <span class="nav-text">④参数</span></a></li><li class="nav-item nav-level-5"><a class="nav-link" href="#%E2%91%A0-%E2%91%A3%E5%8F%82%E6%95%B0"><span class="nav-number">1.2.3.</span> <span class="nav-text">①&amp;④参数</span></a></li><li class="nav-item nav-level-5"><a class="nav-link" href="#%E5%AE%9E%E9%AA%8C2%E5%B0%8F%E7%BB%93"><span class="nav-number">1.2.4.</span> <span class="nav-text">实验2小结</span></a></li></ol></li><li class="nav-item nav-level-4"><a class="nav-link" href="#%E5%AE%9E%E9%AA%8C3%EF%BC%9A%E5%80%BE%E6%96%9C%E5%8F%82%E6%95%B0%EF%BC%88%E7%AC%AC%E4%BA%8C%E4%B8%89%E5%8F%82%E6%95%B0%EF%BC%89"><span class="nav-number">1.3.</span> <span class="nav-text">实验3:倾斜参数(第二三参数)</span></a><ol class="nav-child"><li class="nav-item nav-level-5"><a class="nav-link" href="#%E2%91%A1%E5%8F%82%E6%95%B0"><span class="nav-number">1.3.1.</span> <span class="nav-text">②参数</span></a></li></ol></li><li class="nav-item nav-level-4"><a class="nav-link" href="#%E6%BF%80%E6%83%85%E5%AE%9E%E8%B7%B5"><span class="nav-number">1.4.</span> <span class="nav-text">激情实践</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#%E5%AE%9E%E9%AA%8C%E6%80%BB%E7%BB%93"><span class="nav-number">1.5.</span> <span class="nav-text">实验总结</span></a></li></ol></li><li class="nav-item nav-level-3"><a class="nav-link" href="#%E5%8F%91%E6%95%A3%E6%80%9D%E7%BB%B4"><span class="nav-number">2.</span> <span class="nav-text">发散思维</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#matrix-%E5%AD%98%E5%9C%A8%E7%9A%84%E6%84%8F%E4%B9%89%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F"><span class="nav-number">2.1.</span> <span class="nav-text">matrix()存在的意义是什么?</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#%E5%8F%98%E5%BD%A2%E5%87%BD%E6%95%B0%E6%B7%B7%E5%86%99%E7%AD%89%E4%BA%8Ematrix-%E4%B9%88%EF%BC%9F"><span class="nav-number">2.2.</span> <span class="nav-text">变形函数混写等于matrix()么?</span></a><ol class="nav-child"><li class="nav-item nav-level-5"><a class="nav-link" href="#%E6%88%BF%E8%B4%B7%E6%88%BF"><span class="nav-number">2.2.1.</span> <span class="nav-text">房贷房</span></a></li></ol></li><li class="nav-item nav-level-4"><a class="nav-link" href="#%E6%80%8E%E4%B9%88%E7%90%86%E8%A7%A3%E4%B8%89%E7%BB%B4%E7%9F%A9%E9%98%B5%E5%87%BD%E6%95%B0matrix3d-%EF%BC%9F"><span class="nav-number">2.3.</span> <span class="nav-text">怎么理解三维矩阵函数matrix3d()?</span></a></li></ol></li><li class="nav-item nav-level-3"><a class="nav-link" href="#%E6%88%91%E7%9A%84%E6%83%B3%E6%B3%95"><span class="nav-number">3.</span> <span class="nav-text">我的想法</span></a></li></ol></div>
        </div>
        <!--/noindex-->
 
        <div class="site-overview-wrap sidebar-panel">
          <div class="site-author animated" itemprop="author" itemscope itemtype="http://schema.org/Person">
    <img class="site-author-image" itemprop="image" alt="ZXQ"
      src="/assets%5CQ%5Cavatar.png">
  <p class="site-author-name" itemprop="name">ZXQ</p>
  <div class="site-description" itemprop="description"></div>
</div>
<div class="site-state-wrap animated">
  <nav class="site-state">
      <div class="site-state-item site-state-posts">
        <a href="/archives/">
          <span class="site-state-item-count">69</span>
          <span class="site-state-item-name">posts</span>
        </a>
      </div>
      <div class="site-state-item site-state-categories">
          <a href="/categories/">
        <span class="site-state-item-count">3</span>
        <span class="site-state-item-name">categories</span></a>
      </div>
      <div class="site-state-item site-state-tags">
          <a href="/tags/">
        <span class="site-state-item-count">14</span>
        <span class="site-state-item-name">tags</span></a>
      </div>
  </nav>
</div>
 
        </div>
      </div>
    </div>
 
    
  </aside>
 
 
    </div>
 
    <div class="main-inner post posts-expand">
 
 
  
 
 
<div class="post-block">
  
  
 
  <article itemscope itemtype="http://schema.org/Article" class="post-content" lang="en">
    <link itemprop="mainEntityOfPage" href="http://zxq.im/43254.html">
 
    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/assets%5CQ%5Cavatar.png">
      <meta itemprop="name" content="ZXQ">
    </span>
 
    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="ZXQ">
      <meta itemprop="description" content="">
    </span>
 
    <span hidden itemprop="post" itemscope itemtype="http://schema.org/CreativeWork">
      <meta itemprop="name" content="用猴子思维理解matrix() | ZXQ">
      <meta itemprop="description" content="">
    </span>
      <header class="post-header">
        <h1 class="post-title" itemprop="name headline">
          用猴子思维理解matrix()
        </h1>
 
        <div class="post-meta-container">
          
          
            <div class="post-meta">
    <span class="post-meta-item">
      <span class="post-meta-item-icon">
        <i class="far fa-calendar"></i>
      </span>
      <span class="post-meta-item-text">Posted on</span>
 
      <time title="Created: 2019-05-10 00:00:00" itemprop="dateCreated datePublished" datetime="2019-05-10T00:00:00+08:00">2019-05-10</time>
    </span>
    <span class="post-meta-item">
      <span class="post-meta-item-icon">
        <i class="far fa-folder"></i>
      </span>
      <span class="post-meta-item-text">In</span>
        <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
          <a href="/categories/%E5%89%8D%E7%AB%AF%E6%8A%80%E6%9C%AF/" itemprop="url" rel="index"><span itemprop="name">前端技术</span></a>
        </span>
    </span>
 
  
</div>
 
          
        </div>
      </header>
 
    
    
    
 
 
    <div class="post-body" itemprop="articleBody"><p>matrix()?矩阵?喵喵喵?国家教育我到底有什么目的?<br>那么,在把中学数学忘得一干二净的情况下,要怎么理解matrix()的用法?<br>本文略长,需要结果的请点击文章左侧的导航直达“总结”处。</p>
<h3 id="大胆实验"><a href="#大胆实验" class="headerlink" title="大胆实验"></a>大胆实验</h3><p>我们可以看到matrix()一共有六个参数,我会直接修改参数,然后看运行结果,用这种做实验的方式来强行理解每个参数的作用。本文用带圈的数字作为代数:matrix(①,②,③,④,⑤,⑥),根据侧边栏上的索引也可以找到具体参数的实验。</p>
<h4 id="实验1:位移参数(最后两参数)"><a href="#实验1:位移参数(最后两参数)" class="headerlink" title="实验1:位移参数(最后两参数)"></a>实验1:位移参数(最后两参数)</h4><h5 id="⑤-⑥参数"><a href="#⑤-⑥参数" class="headerlink" title="⑤&amp;⑥参数"></a>⑤&amp;⑥参数</h5><p>矩阵的默认值是transform:matrix(1,0,0,1,0,0),红盒六个参数都用默认值。<br><strong>操作:</strong>尝试修改后面两个参数。<br>** 观察:**后面两个参数是位移参数,单位是像素,以元素起始点为原点进行位移(元素起始点就是元素左上角)。<br><img src="/assets/img/00088.png"></p>
<h5 id="实验1小结"><a href="#实验1小结" class="headerlink" title="实验1小结"></a>实验1小结</h5><p>⑤参数&#x3D;水平位移像素值,数值由左至右递增,以元素起始点为原点。<br>⑥参数&#x3D;垂直位移像素值,数值由上至下递增,以元素起始点为原点。<br>实现位移,效果同**translate()**函数。</p>
<h4 id="实验2:缩放参数(第一四参数)"><a href="#实验2:缩放参数(第一四参数)" class="headerlink" title="实验2:缩放参数(第一四参数)"></a>实验2:缩放参数(第一四参数)</h4><p>为了方便观察,我先把四个块挪到不同象限以便观察,接下来的几个实验都是这样摆放四个盒子,所以后两位参数不用研究它,不是我要表达的重点。除了后两位的位移参数,红盒前四个参数保持默认值。</p>
<h5 id="①参数"><a href="#①参数" class="headerlink" title="①参数"></a>①参数</h5><p><strong>操作:</strong>这次尝试修改第一个参数。<br><strong>观察结果:</strong>肉眼可见除红盒之外的三个盒子的宽度发生了变化,变化之后的宽度是原来的宽度乘以这个参数得来的;而当参数为负数时,整个元素进行了水平翻转,文字也变成了镜像;变化以元素中心点为原点。<br><img src="/assets/img/00089.png"></p>
<h5 id="④参数"><a href="#④参数" class="headerlink" title="④参数"></a>④参数</h5><p><strong>操作:</strong>这次尝试修改第四个参数<br><strong>观察结果:</strong>这次宽度保持不变,高度则有了变化 ,变化规则和宽度一样。<br><img src="/assets/img/00090.png"></p>
<h5 id="①-④参数"><a href="#①-④参数" class="headerlink" title="①&amp;④参数"></a>①&amp;④参数</h5><p><strong>操作:</strong>同时修改第一个和第四个参数,用一样的绝对值。<br><strong>观察结果:</strong>等比缩放。<br><img src="/assets/img/00091.png"></p>
<h5 id="实验2小结"><a href="#实验2小结" class="headerlink" title="实验2小结"></a>实验2小结</h5><p>①参数&#x3D;宽度缩放倍数值,为负数时水平翻转,以元素垂直中心线为轴。<br>④参数&#x3D;高度缩放倍数值,为负数时垂直翻转,以元素水平中心线为轴。<br>两个参数能实现缩放,相等时,实现等比缩放,效果同**scale()**函数。</p>
<h4 id="实验3:倾斜参数(第二三参数)"><a href="#实验3:倾斜参数(第二三参数)" class="headerlink" title="实验3:倾斜参数(第二三参数)"></a>实验3:倾斜参数(第二三参数)</h4><h5 id="②参数"><a href="#②参数" class="headerlink" title="②参数"></a>②参数</h5><p><strong>操作:</strong>这次尝试修改第二个参数<br><img src="/assets/img/00092.png"><br>改变第二个参数后,元素变成了平行四边形,平行边之间的距离保持不变,但是横边垂直方向发生了倾斜,并且可以无限边长(不知道是否能传达我的意思,总之,大家自行体会)。和前面三个实验不同的是,这次没办法用肉眼观察出倾斜幅度是按什么单位来的。此时,我掏出了量角器,在屏幕上比划了下。<br><img src="/assets/img/00093.jpg"><br>以水平线为零刻度线进行测量,得到结果:红盒≈0°;绿盒≈26.5°;黄盒≈45°;蓝盒≈-35°。这时,我把测量结果和第二个参数放在一起对比一下,使用肉眼尝试寻找一下逻辑关系。</p>
<table><tr><th>四个盒子</th><td>红盒</td><td>绿盒</td><td>黄盒</td><td>蓝盒</td></tr><tr><th>倾斜角度</th><td>0°</td><td>26.5°</td><td>45°</td><td>-35°</td></tr><tr><th>第二参数</th><td>0</td><td>0.5</td><td>1</td><td>-0.7</td></tr><tr><th>我的猜想</th><td>tan0°=0</td><td>喵喵喵?</td><td>tan45°=1</td><td>喵喵喵?</td></tr></table>
此时,我大胆假设第二参数是倾斜角度的正切值,然后,我多用几个角度的正切值小心求证一下:tan30°=√3/3≈0.577, tan60°=√3≈1.732, tan22.5°=√2-1≈0.414。
<img src="/assets/img/00094.png">
我再举个特殊的例子,假设我们把元素的横边的倾斜角度拉到90°,这可能吗?这不就是和tan90°一样,是不存在的呀。
所以,私以为,此番猜想没毛病。
**观察结果:**元素垂直方向顺时针发生倾斜,此参数控制倾斜幅度。
##### ③参数
**操作:**这次尝试修改第三个参数
**观察结果:**理解第二个参数之后,第三个参数就不用解释了。
<img src="/assets/img/00095.png">
##### ②&③参数
之前修改这两个参数,都是在另一个参数完全不动的情况下进行,但是如果两个参数同时改变呢?
**操作:**这次尝试同时修改第二和第三个参数
**观察结果:**当这两个参数互为相反数,即相加为零,可以实现整个元素的旋转。
<img src="/assets/img/00096.png">
但是这样的旋转不是我们要的结果,因为矩形改变了尺寸,那要怎么保持原始尺寸呢?俺不知道,先瞎JB旋转45°做个实例,肉眼观察一下。
<img src="/assets/img/00097.png">
再次十分愚蠢地掏出我的度量衡工具!
<img src="/assets/img/00098.jpg">
<table><tr><th>显示设备</th><td colspan="2">ipad mini显示器</td><td colspan="2">笔记本显示器</td><td colspan="2">24寸显示器</tr><tr><th>测量对象</th><td>长</td><td>宽</td><td>长</td><td>宽</td><td>长</td><td>宽</td></tr><tr><th>红色矩形</th><td>4.3cm</td><td>3.5cm</td><td>4cm</td><td>3cm</td><td>4.9cm</td><td>3.7cm</td></tr><tr><th>绿色矩形</th><td>6.1cm</td><td>4.95cm</td><td>5.7cm</td><td>4.2cm</td><td>6.9cm</td><td>5.2cm</td></tr><tr><th rowspan="2">我的联想</th><td>4.3/6.1≈0.705</td><td>3.5/4.95≈0.707</td><td>4/5.7≈0.701</td><td>3/4.2≈0.714</td><td>4.9/6.9≈0.710</td><td>3.7/5.2≈0.711</td></tr><tr><td colspan="6">(0.705+0.707+0.701+0.714+0.710+0.711)/6=0.708≈0.707=<b>cos45°</b></td></tr></table>
我这一通分析是不是稳如老狗
##### 实验3小结
②参数=水平边界顺时针倾斜角度正切值。
③参数=垂直边界逆时针倾斜角度正切值。
实现倾斜,效果同**skew()**函数。
假设水平和垂直边线同时倾斜X°(也就是两数互为相反数),同时缩放参数①和④都等于cosX°,效果同**rotate()**函数。
 
<h4 id="激情实践"><a href="#激情实践" class="headerlink" title="激情实践"></a>激情实践</h4><p>分析完六个参数,你是不是觉得我在扯淡,那么,来,试一下。<br>效果要求:坤坤从画面左下角位移到画面右上角,并缩小成一颗小星星,过程中进行多圈旋转,制造出动漫中被一拳K到外太空的效果。<br>实践步骤:<br>1、收集素材图片:坤坤、蓝天、小星星。<br>2、整理思路:首先,设置位移参数,算好右上角的像素位置;其次,缩放到0.01;再次,来个18圈吧。<br>3、渐变设置:设置transition属性好方便观察变化过程。</p>
<h4 id="实验总结"><a href="#实验总结" class="headerlink" title="实验总结"></a>实验总结</h4><p>实验做完,我们来总结一下:<br>matrix(1,0,0,1,0,0),matrix(①,②,③,④,⑤,⑥)</p>
<table><tr><td>参数</td><td>初始值</td><td>变形起点</td><td>数据类型</td><td>参数</td></tr><tr><td>①</td><td>1</td><td>中心点</td><td>倍数</td><td>元素水平方向缩放的倍数</td></tr><tr><td>②</td><td>0</td><td>中心点</td><td>正切值</td><td>元素水平边界顺时针倾斜角度的正切值</td></tr><tr><td>③</td><td>0</td><td>中心点</td><td>正切值</td><td>元素垂直边界逆时针倾斜角度的正切值</td></tr><tr><td>④</td><td>1</td><td>中心点</td><td>倍数</td><td>元素垂直方向缩放的倍数</td></tr><tr><td>⑤</td><td>0</td><td>左上角</td><td>像素值</td><td>元素水平方向位移的像素值</td></tr><tr><td>⑥</td><td>0</td><td>左上角</td><td>像素值</td><td>元素垂直方向位移的像素值</td></tr></table>
 
<p>若要实现位移效果,matrix(1,0,0,1,x,y);<br>若要实现缩放效果,matrix(x,0,0,y,0,0);<br>若要实现倾斜效果,matrix(1,tanA,tanB,1,0,0);<br>若要实现旋转效果,matrix(cosA,sinA,-sinA,cosA,0,0);</p>
<h3 id="发散思维"><a href="#发散思维" class="headerlink" title="发散思维"></a>发散思维</h3><h4 id="matrix-存在的意义是什么?"><a href="#matrix-存在的意义是什么?" class="headerlink" title="matrix()存在的意义是什么?"></a>matrix()存在的意义是什么?</h4><p>我们已经有了translate()、scale()、skew()和rotate()这样的变形函数可以实现我们要的效果,为什么还要学习matrix()这么晦涩难懂的函数?<br>首先,for 记性差的朋友,记一个matrix单词,还是比记四个英语单词要简单的多;<br>其次,for 想显摆的朋友,会矩阵函数好像是显得牛掰一点点;<br>最后,for 喜欢抄近道的朋友,希望解决问题的时候,使用最短路径,越短越好,当然,前提是你需要经常用到这些功能。</p>
<h4 id="变形函数混写等于matrix-么?"><a href="#变形函数混写等于matrix-么?" class="headerlink" title="变形函数混写等于matrix()么?"></a>变形函数混写等于matrix()么?</h4><p>已知transform的函数们是可以写在一起的,那么混写的transform等同于matrix()么?好吧,我以为是一样的,实操了一下,呵呵。此处应该有一篇文章,<a href="/geek/matrix/">《变形函数混写不等于matrix()》</a>。</p>
<h5 id="房贷房"><a href="#房贷房" class="headerlink" title="房贷房"></a>房贷房</h5><h4 id="怎么理解三维矩阵函数matrix3d-?"><a href="#怎么理解三维矩阵函数matrix3d-?" class="headerlink" title="怎么理解三维矩阵函数matrix3d()?"></a>怎么理解三维矩阵函数matrix3d()?</h4><p>进阶版<a href="/geek/matrix3d/">《用猴子思维理解matrix3d()》</a>,了解一下。</p>
<h3 id="我的想法"><a href="#我的想法" class="headerlink" title="我的想法"></a>我的想法</h3><p>为了理解matrix(),我在网上找了两三篇文章进行参考,都是以矩阵乘法来解释matrix(),我是看不懂的,在这些算式面前,我就像一只刚从山里出来的猴子,瞅着好新鲜好高级哟。当我把他们的结论放进代码中运行,却无一正确,是的,一个都不对!这到底是哪里出了问题?有时间把那么复杂的算式算清楚,没时间建个html实操一下?程序员们对自己的智商是不是过于自信了点?“猴子思维”是我自嘲且自谦的说法,我喜欢简单粗暴地从结果反推过程的思维方式,我认为明确了解目的地,才能推理出最短路径。我们思考,是为了解决问题,是为了能够把复杂的东西进行简单的输出,而不只是为了显得比别人聪明点,不是么?</p>
 
    </div>
   
 
    
    
    
 
    
    <footer class="post-footer">
          <div class="post-tags">
              <a href="/tags/typing/" rel="tag"># typing</a>
              <a href="/tags/CSS/" rel="tag"># CSS</a>
          </div>
 
        
 
          <div class="post-nav">
            <div class="post-nav-item">
                <a href="/64088.html" rel="prev" title="《棉花糖实验》笔记">
                  <i class="fa fa-angle-left"></i> 《棉花糖实验》笔记
                </a>
            </div>
            <div class="post-nav-item">
                <a href="/16378.html" rel="next" title="英语长征从老友记开始">
                  英语长征从老友记开始 <i class="fa fa-angle-right"></i>
                </a>
            </div>
          </div>
    </footer>
  
 
  </article>
</div>
 
 
 
 
 
 
</div>
  </main>
 
  <footer class="footer">
    <div class="footer-inner">
 
  <div class="copyright">
    &copy; 
    <span itemprop="copyrightYear">2024</span>
    <span class="with-love">
      <i class="fa fa-heart"></i>
    </span>
    <span class="author" itemprop="copyrightHolder">ZXQ</span>
  </div>
  <div class="powered-by">Powered by <a href="https://hexo.io/" rel="noopener" target="_blank">Hexo</a> & <a href="https://theme-next.js.org/pisces/" rel="noopener" target="_blank">NexT.Pisces</a>
  </div>
 
    </div>
  </footer>
 
  
  <div class="back-to-top" role="button" aria-label="Back to top">
    <i class="fa fa-arrow-up fa-lg"></i>
    <span>0%</span>
  </div>
 
<noscript>
  <div class="noscript-warning">Theme NexT works best with JavaScript enabled</div>
</noscript>
 
 
  
  <script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.1/anime.min.js" integrity="sha256-XL2inqUJaslATFnHdJOi9GfQ60on8Wx1C2H8DYiN1xY=" crossorigin="anonymous"></script>
<script src="/js/comments.js"></script><script src="/js/utils.js"></script><script src="/js/motion.js"></script><script src="/js/next-boot.js"></script>
 
  <script src="https://cdnjs.cloudflare.com/ajax/libs/hexo-generator-searchdb/1.4.1/search.js" integrity="sha256-1kfA5uHPf65M5cphT2dvymhkuyHPQp5A53EGZOnOLmc=" crossorigin="anonymous"></script>
<script src="/js/third-party/search/local-search.js"></script>
 
 
 
 
 
 
 
  
 
 
 
 
 
</body>
</html>