avatar
文章
133
标签
553
分类
37

首页
时间轴
标签
目录
友情链接
推荐工具
站长工具
Zhangzqs
搜索
首页
时间轴
标签
目录
友情链接
推荐工具
站长工具
斯涅耳定律推导
发表于2024-02-25|物理学
本推导将基于费马原理进行推导,费马原理表明:光总是沿着光程为极值(极大、极小或常量)的路径传播的。因此,费马原理也叫光程极端定律。 假设存在两种介质,光在两种介质1和介质2中折射率分别是n1,n2n_1,n_2n1​,n2​,光线的传播路径经过介质1中的Q点,介质交接的点O,介质2中的P点,其中θ1,θ2\theta_1,\theta_2θ1​,θ2​分别为入射角和折射角。 光线在两种介质中的传播速度分别为: {v1=cn1v2=cn2\left\{ \begin{matrix} v_1=\frac{c}{n_1} \\ v_2=\frac{c}{n_2} \end{matrix} \right. {v1​=n1​c​v2​=n2​c​​ 其中ccc为真空中的光速。由于光在真空中传播的速度最快,故n1,n2≥1n_1,n_2 \ge 1n1​,n2​≥1 Q点是一个可动点,我们约束它在沿介质交接的竖直方向上可自由运动,并定义变量x。光程QOP经过的时间T为 T=x2+a2v1+b2+(l−x)2v2T=\frac{\sqrt{x^2+a^2}}{v_1}+\frac{\sqrt{ ...
GAMES101笔记-三大变换
发表于2024-02-02|GAMES101课程笔记
Model 模型变换 缩放变换 S(sx,sy)=[sx000sy0001]S(s_x, s_y)=\begin{bmatrix} s_x & 0 & 0 \\ 0 & s_y & 0 \\ 0 & 0 & 1 \end{bmatrix} S(sx​,sy​)=⎣⎡​sx​00​0sy​0​001​⎦⎤​ S(sx,sy,sz)=[sx0000sy0000sz00001]S(s_x, s_y, s_z)=\begin{bmatrix} s_x & 0 & 0 & 0\\ 0 & s_y & 0 & 0\\ 0 & 0 & s_z & 0\\ 0 & 0 & 0 & 1 \end{bmatrix} S(sx​,sy​,sz​)=⎣⎢⎢⎡​sx​000​0sy​00​00sz​0​0001​⎦⎥⎥⎤​ 反射变换 Rx=[1000−10001]R_x=\begin{bmatrix} 1 & 0 & 0 \\ ...
使用Rust描述音乐系统并模拟乐器演奏
发表于2023-11-25|Rust
定义基本音乐元素 音符 音符由绝对音高与时值构成 12345#[derive(Debug, Clone, Copy)]pub struct Note { pub pitch: AbsulateNotePitch, pub duration: NoteDuration,} 音高 音高分为绝对音高与相对音高。 音程 音程可由半音数描述,12个半音音程为一个八度 八度 八度代码定义如下: 12345678910111213141516171819202122232425262728#[derive(Debug, Clone, Copy)]pub enum Octave { O1, O2, O3, O4, O5, O6, O7, O8,}impl From<u8> for Octave { fn from(x: u8) -> Self { match x { 0 => Octave::O1, ...
Docker快速部署prometheus+grafana监控体系
发表于2023-06-09|未分类
准备 首先确保已经安装了 docker 和 docker-compose 介绍 首先拿出官方的生态架构图简单介绍一下整个体系架构 Prometheus 是整个监控体系的核心,它中包含了时序数据库和 PromQL 查询语言 Exporter 是监控数据收集节点,由 Prometheus 根据配置主动拉取监控数据,Prometheus 官方提供了一些 exporter 如 node-exporter Grafana 是一个支持多种数据源配置的数据可视化系统,我们需要安装 Grafana 后将 Prometheus 作为数据源进行连接 除此之外 Short-lived jobs 和 Alertmanager 本文暂不涉及 开始搭建 首先可以创建一个文件夹,用于存放搭建过程中涉及到的所有文件,我这里创建一个 moniter 文件夹,后续均在该文件夹中进行操作 Prometheus 创建prometheus.yml 123456789101112# 全局配置global: # 抓取时间周期,默认为1分钟,这里设置为15s scrape_interval: 15s # eval的时 ...
Chapter 8 File system
发表于2023-01-13|论文翻译xv6文档翻译
文件系统的目的是为了组织和存放数据。文件系统通常是为了用户之间和应用程序之间共享数据使用,同时还能够实现持久话存储,以便于数据在重启之后依旧可用。 xv6文件系统提供了类Unix的文件,目录和路径名称,并且存储它的数据在virtio磁盘以持久话数据。文件系统需要解决几个挑战: 文件系统需要在磁盘之上的数据结构来表达树形的目录和文件,能够记录块标识来控制每个文件的内容,记录磁盘上的哪些区域是空闲的。 文件系统必须支持崩溃恢复。这是因为,如果崩溃发生了(如断电),文件系统必须在重启之后仍然能够正常地工作。风险在于崩溃可能会中断一个一连串的的更新,并且在磁盘数据结构上留下不一致性。(例如:一个块既被一个文件所使用又被标记为空闲块) 不同的进程可能在同一时间操作文件系统,所以文件系统的代码必须是 coordinate 来维持 invariants. 访问一个磁盘比访问内存慢几个数量级,所以文件系统对于频繁使用的块必须维护一个内存缓存。 这一章阐述了xv6的文件系统将如何应对这些挑战。 8.1 Overview xv6文件系统实现被组织成为了7层,如图8.1。 disk层在virtio硬件 ...
[论文翻译] Review of FAT data structure of FAT32 file system
发表于2023-01-11|论文翻译
原始 Paper http://www.computerscijournal.org/dnload/Wasim-Ahmad-Bhat-and-S-M-K-Quadri/OJCSV03I01P161-164.pdf 标题 回顾FAT数据结构,FAT32文件系统 概述 FAT 文件系统是一种最原始,可兼容并且简单的文件系统,它如今仍然在支撑着各种数码设备的运行,比如mini MP3播放器,智能手机和数字相机。由于它的简单性和经典性,这种文件系统几乎被所有的操作系统都支持。这篇论文回顾了FAT数据结构中最基本,最重要的一些设计技巧,约束,规则去构建FAT32文件系统中的块数据结构。 介绍 FAT (文件分配表) 文件系统于20世纪70年代开始发展并且早在20世纪80年代就被微软的MS-DOS操作系统所支持。 它也是包括DR-DOS, FreeDOS, MS-DOS, OS/2(v1.1)和Microsoft Windows (一直到Windows Me)在内的各种操作系统的原生文件系统。 FAT 最初是为了500KB以内的软盘设备而开发的。 随着存储容量的提升,FAT也被增强来支持大 ...
oh-my-zsh 安装
发表于2022-12-31|未分类
123456789101112131415161718192021# 安装zshsudo apt install zsh# 下载oh my zshgit clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh# 复制oh my zsh配置cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc# 设置默认终端为zshchsh -s /bin/zsh# 下载补全插件git clone git@github.com:zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions# 编辑配置文件,修改 plugins=(git zsh-autosuggestions)vim ~/.zshrc# 重启zshsource .zshrc
SIT-board-远程交互式白板的实现
发表于2022-11-29|项目开发
本作品为七牛云2022年1024创作节校园黑客马拉松参赛作品 需求分析 基本绘图功能 作为一个在线协作白板,离线的本地化的白板是一切功能的前提。本地白板中需要包含所有白板绘图相关的基本功能。 分页展示 白板需要支持分页显示,每一页都有其独立标题,用户能够切换当前页面,增加新页面,删除非当前页面,需要保证项目至少存在一页。 123456789101112@startumlleft to right directionusecase 使用分页 as usePageUser --> usePage usecase 切换当前页面 as switchPage usecase 增加新页面 as addPage usecase 删除非当前页 as deletePage usePage <-- switchPage: <<extends>> usePage <-- addPage: <<extends>> usePage <-- deletePage: <<extend ...
大整数求幂模
发表于2022-10-30|信息安全
大整数幂模分解公式 ma+b mod q=(ma×mb) q=((ma mod q)×(mb mod q)) mod q\begin{aligned} m^{a+b} \space mod \space q &=(m^a \times m^b) \space q\\ &=((m^a \space mod \space q)\times (m^b \space mod \space q)) \space mod \space q\\ \end{aligned} ma+b mod q​=(ma×mb) q=((ma mod q)×(mb mod q)) mod q​ 证明: 设 ma+b mod q=tm^{a+b} \space mod \space q = tma+b mod q=t ma mod q=t1m^{a} \space mod \space q = t_1ma mod q=t1​ mb mod q=t2m^{b} \space mod \space q = t_2mb mod q=t2​ 等价于 ma+b ÷ q=x⋯tm^{a+b} \space \ ...
Diffie-Hellman密钥交换算法
发表于2022-10-29|信息安全
简介 Diffie和Hellman在1976年发表的论文中提出了公钥密码思想,但没有给出具体的方案,原因在于没有找到单向函数,但在该文中给出了通信双方通过信息交换协商密钥的算法,即Diffie-Hellman密钥交换算法,这是第一个密钥协商算法,用于密钥分配,不能用于加密或解密信息。 算法描述 算法描述:Diffie-Hellman算法的安全性基于离散对数问题,设p是一个满足要求的大素数,并且g(0< g < p)是循环群Zp的生成元,g和p公开。 用户A选取一个大的随机数 α(2≤α≤p−2)α(2≤α≤p-2)α(2≤α≤p−2), 计算SA=gαmod p)S_A=g^α mod \space p)SA​=gαmod p), 并且把SAS_ASA​发送给用户B 用户B选取一个大随机数β(2≤β≤p−2)β(2≤β ≤p-2)β(2≤β≤p−2),计算SB=gβmod p),并且把S_B=g^β mod \space p),并且把SB​=gβmod p),并且把S_B$发送给用户A 用户A收到SBS_BSB​后,计算K=SBαmod pK={S_B}^α mo ...
1…456…14
avatar
Zhangzqs
一个分享与记录的个人空间
文章
133
标签
553
分类
37
Follow Me
最新文章
无题2026-06-23
无题2026-06-23
基于 rust-vmm 玩转虚拟化2026-06-19
8. VIVO-Y927 Linux 内核设备树完善(电池和充电)2026-06-15
8. VIVO-Y927 Linux 内核设备树完善(WiFi-蓝牙)2026-06-14
分类
  • AI2
  • Android7
  • GAMES101课程笔记11
  • Git1
  • Golang6
  • Java框架2
  • Python1
  • ROS机器人1
标签
运动学动画 加密解密代码实现 乐理知识 Leetcode 关键帧动画 多语言沙箱 皮亚诺余项 Firehose 三角形面积计算 线段组求交算法 网络编程 高质量编程 ConstraintLayout pulp库 渲染方程 Sprint计划 双曲换元 凯撒密码破译 HBase踩坑 二叉树遍历 FD命令 蒙特卡洛积分 旅行行程优化 Qemu 隐式表示 虚拟硬盘 KVM git reset VMware ESXi 系统测试 命名规范 数据检索 凯撒密码变种 等价类划分法 负载均衡器 拉格朗日中值定理 Manjaro 插件化设计 模型变换 Qualcomm
归档
  • 六月 202612
  • 二月 20262
  • 一月 20261
  • 十二月 20251
  • 十一月 20252
  • 十月 20255
  • 八月 20254
  • 六月 20251
网站资讯
文章数目 :
133
已运行时间 :
本站总字数 :
243k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2026 By Zhangzqs
框架 Hexo|主题 Butterfly
搜索
数据库加载中