Jermmy's Lazy Blog


  • 首页

  • 分类

  • 归档

  • 标签

3D中的旋转变换

发表于 2017-03-28 | 分类于 计算机图形学 |

相比 2D 中的旋转变换,3D 中的旋转变换复杂了很多。关于 2D 空间的旋转,可以看这篇文章。本文主要粗略地探讨一下 3D 空间中的旋转。

旋转的要素

所谓旋转要素就是说,我们只有知道了这些条件,才知道怎么旋转一个物体。回忆 2D 空间中的旋转,我们需要确定旋转中心、旋转角以及旋转方向才能旋转一个图形。以此类推,到了 3D 空间,我们仍然需要确定三个要素:一个旋转轴、旋转角以及旋转方向。 下面,为了讲解的方便,旋转方向默认为:正对旋转轴正方向,按逆时针方向为旋转正方向,反之为旋转负方向。

阅读全文 »

转载:每个人都需要的中文排版指南

发表于 2017-03-26 | 分类于 写作 |

(本文转载自「stormzhang」在微信公众号「AndroidDeveloper」发表的关于写作排版的文章。看完后,再对比「Google黑板报」以及其他一些大V的文章排版后,发现原来好排版的套路都是一样的,在此记录一波。)

阅读全文 »

PCA算法浅析

发表于 2017-03-25 | 分类于 机器学习 |

最近频繁在论文中看到「PCA」的影子,所以今天决定好好把「PCA」的原理和算法过程弄清楚。

「PCA」是什么

PCA,又称主成分分析,英文全称「Principal Components Analysis」。维基百科上的解释是:「PCA」是一种分析、简化数据集的技术,经常用于减少数据集的维数,同时保持数据集中对方差贡献最大的特征。说得通俗一点,就是把数据集中重要的特征保存下来,把不重要的特征去除掉。

阅读全文 »

协方差矩阵

发表于 2017-03-19 | 分类于 线性代数 |

概念

协方差(Covariance)在概率论和统计学中用于衡量两个变量的总体误差。而方差是协方差的一种特殊情况,即当两个变量是相同的情况。 这个解释摘自维基百科,看起来很是抽象,不好理解。其实简单来讲,协方差就是衡量两个变量相关性的变量。当协方差为正时,两个变量呈正相关关系(同增同减);当协方差为负时,两个变量呈负相关关系(一增一减)。 而协方差矩阵,只是将所有变量的协方差关系用矩阵的形式表现出来而已。通过矩阵这一工具,可以更方便地进行数学运算。

阅读全文 »

用C++写一个文件分割器

发表于 2017-03-18 | 分类于 C++ |

在成功将 mac 由 10.10 升级到 10.12 后,我发现除了新增一个并不怎么好用的 Siri 外,原来支持 NTFS 硬盘的驱动居然也成功失效了。我那块 500 GB 的东芝硬盘,虽不至于成砖,但一块只能读不能写的硬盘,实在让人欲哭无泪。巧的是,最近需要频繁地将一些数据文件( GB 级别)拷贝到其他电脑,而手头又仅剩一些小容量 U 盘。于是,我突然萌生了写一个文件分割器的想法,将大的压缩文件分片后,再用这些小 U 盘搬到到其他电脑上去。

有人会问,这样的软件明明网上有的是,何必自己写呢?没错,我就是这么无聊的人。

阅读全文 »

坐标系统之间的转换

发表于 2017-03-14 | 分类于 计算机图形学 |

概要

这篇文章中,我们来聊聊 OpenGL 中的坐标系统以及它们之间的转换。

(⚠️阅读本文需要有线性代数基础。)

坐标变换原理

首先,我们需要运用一点线性代数的知识,了解不同坐标系统变换的原理。 由于本文针对的是三维坐标,所以讨论的空间是 \(R^3\) 空间。

阅读全文 »

TensorFlow学习笔记:搭建CNN模型

发表于 2017-02-16 | 分类于 TensorFlow |

最近跟着 Udacity 上的深度学习课程学了一丢丢 TensorFlow,这里记录一下用 TensorFlow搭建简单 CNN 网络的代码模板。

阅读全文 »

Bilateral Filter

发表于 2017-01-07 | 分类于 图像处理 |

最近在看图像风格化的论文的时候,频繁遇到 Bilateral Filter。google 一波后,发现并不是什么不得了的东西,但它的思想却很有借鉴意义。

简介

Bilateral Filter,中文又称「双边滤波器」。相比以往那些仅仅使用位置信息进行滤波的 filter,Bilateral Filter 还考虑了颜色信息,可以保证边缘部分不会被过滤。

简单来说,一般的 filter 都是基于这样的公式进行滤波的: \[ h(x)=k_{d}^{-1}{(x)}\iint_\infty^\infty{f(\zeta)c(\zeta, x)} d\zeta \]

阅读全文 »

numpy常用接口

发表于 2017-01-04 | 分类于 Python |

numpy.ndarray

numpy.ndarray(shape, dtype=None, buffer=None, offset=0, strides=None, order=None)

This is an array object represents a multidimensional array of fixed-size items(Fixed-size 意味着数组一旦创建就没法修改了)。

  1. shape: tuple of ints(除了该参数必须之外,其余为可选);
  2. dtype: data-type
  3. buffer: object exposing buffer interface, used to fill the array with data.
  4. offset: int, offset of array data in buffer.
  5. strides: tuple of ints, strides of data in memory.
  6. order: {‘C’, ‘F’}, row-major (C-style) or column-major (Fortran-style).

注:

  1. 如果 buffer 是 None,则只有 Shape、dtype、 order 是需要的。
  2. 如果 buffer 不是 None,则所有参数都会用到。
  3. buffer 的 dtype 和 ndarray 的 dtype 要保持一致。
1
2
3
4
>>> m = np.ndarray(shape=(2, 3), dtype=np.int32, buffer=np.array([1,2,3,4,5,6], dtype=np.int32))
>>> m
[[1 2 3]
[4 5 6]]
阅读全文 »

Mac下的常用命令

发表于 2016-12-15 | 分类于 Mac |

Mac常用的命令行工具:

1. which

查看某个命令行工具的位置,比如:

1
which node
1…678…10
Jermmy

Jermmy

In me the tiger sniffs the rose.

96 日志
19 分类
43 标签
GitHub
Links
  • 阮一峰
  • pluskid
© 2016 - 2020 Jermmy
由 Hexo 强力驱动
主题 - NexT.Muse