logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

GAMES001 Rotation学习:轴角表示(Axis-Angle)从零理解

在三维空间里描述"物体转了一下",最直观的说法就是:绕着某一根轴 uuu,转过一个角度 θ\thetaθ。比如一头玩具奶牛绕着穿过它身体的一根轴 uuu 转了 θ\thetaθ 度,这就是最符合直觉的旋转描述方式,比旋转矩阵(9个数、还带约束)或者欧拉角(万向锁问题)都更"轻量"。轴角表示用两个量来刻画一次旋转:核心思路:一个向量绕轴旋转的时候,沿着轴方向的那部分是"纹丝不动"的(因为它本来就在轴

#学习
GAMES001 Rotation学习:欧拉角(Euler Angle)详细讲解

想象你手里拿着一架玩具飞机,飞机在空间里的朝向(姿态)可以用三个互相垂直的坐标轴 X,Y,ZX, Y, ZX,Y,Z 来表示——这三根轴一起固定在飞机机身上,随着飞机一起转动,叫做"机体坐标系"。现在问题来了:怎么用几个简单的数字,把飞机从"最初朝向"转到"现在朝向"这件事描述清楚?欧拉(Euler)给出的办法是:把一次任意复杂的三维旋转,拆成三次绕坐标轴的简单旋转。每次旋转只绕一根轴转过一个角度

#学习
CPP-Summit-2020 学习:AliOS Things物联网操作系统架构设计

嵌入式操作系统(Embedded Operating System)的发展大致经历了三个重要阶段:早期嵌入式系统(20世纪70~80年代):程序基本结构:中断驱动模型:3⃣ 特点分析优点:90年代以后:实时系统强调:说明:常见算法:2010 年以后:5⃣ IoT 系统的功耗模型低功耗设计核心思想:功耗=电压×电流功耗 = 电压 \times 电流功耗=电压×电流动态功耗近似为:P≈C×V2×fP

#学习#物联网#c++ +1
CPP-Summit-2022 学习:嵌入式软件产品化架构

你这套资料本质是在表达一个核心思想:这叫做:移动机器人不是单一电机控制,而是完整控制系统。设:我们从系统工程角度理解。控制对象:控制对象:多了:这里的“十五管、十二管、九管”等指:基本电功率公式:P=U×IP = U \times IP=U×I但电机驱动里要考虑效率 η\etaηPoutput=U×I×ηP_{output} = U \times I \times \etaPoutput​=U×I

#学习#架构#c++ +1
CPP-Summit-2020 学习:物联网操作系统的架构设计

PC 的核心计算环境主要由处理器(CPU)、内存(RAM)、硬盘(HDisk)等组成:外设是为用户提供交互接口和功能扩展的设备,如:常见 PC 操作系统包括:智能手机的硬件环境更复杂,因为要处理多媒体、通信和低功耗任务。智能手机核心计算环境包含:外设主要是提供感知和通信功能,包括:汽车系统是典型的嵌入式实时系统,其复杂度比 PC 和手机更高。根据 System Plus Consulting 的分

#学习#物联网#c++ +1
C++ The Comprehensive Guide学习:C++ 系统错误处理:`system_error`

当操作系统或者某些底层库遇到错误时,通常会用一个数字把错误报告给程序,而不是给一句人话描述。举个例子,在 POSIX 系统(比如 Linux)上,“权限不足"这个错误会用错误码 (对应常量 )来表示。这就带来一个很现实的问题:如果你想写能跨平台运行的代码,同一个"权限不足"的语义,在不同操作系统上对应的数字可能完全不一样。你不能在代码里到处写"如果错误码等于1就是权限问题”,因为这在 Window

#c++
Windows Internals学习:高级本地过程调用(ALPC)详解

任何一个现代操作系统,都要解决一个基础问题:不同进程之间怎么安全、高效地互相传递数据,包括进程和进程之间,以及内核里的服务和用户态客户端之间。这类机制统称为进程间通信(Inter-Process Communication,简称 IPC)。不同操作系统会选用不同的实现方式:ALPC 并不是凭空出现的,它是用来取代一个更老的 IPC 机制的,那个老机制叫 LPC(Local Procedure Ca

#windows
Windows Internals学习:WoW64 文件系统重定向(File System Redirection)详解

32位程序发出的调用,先被桩函数拦下来(不真正陷入内核),转交给分发器切换到64位执行环境,参数经过一层"翻译"(简单的走Turbo thunks这条快车道,复杂的交给Wow64SystemServiceEx+wh-系列函数处理),转换完成后才真正发起原生64位系统调用,返回时再把结果反向翻译回32位格式,最后悄无声息地把控制权还给32位代码继续执行——整个过程对 32 位程序而言完全透明,它从始

#学习
Windows Internals学习:Windows 工作集管理(Working Set Management)详解

事件名称含义说明提交量(commit charge)接近最大提交限制时被设置,说明内存使用非常高,物理内存和分页文件里几乎没有空间了,操作系统也无法继续增大分页文件当空闲物理内存数量超过设定阈值时被设置当非分页池数量超过设定阈值时被设置当分页池数量超过设定阈值时被设置提交量相对于当前提交限制较低时被设置,说明内存使用很低,物理内存或分页文件里还有大量空间当空闲物理内存数量低于设定阈值时被设置当空闲

#学习
Windows Internals学习:Windows 内存管理器

这一部分内容围绕两个看起来不太相关、但本质上都是"运行时资源动态管理"的机制展开:普通桌面电脑要加/换 CPU,必须关机、拆机箱、插拔硬件——因为主板和操作系统压根没设计成支持"运行时改变处理器数量"。但服务器不一样。现代服务器主板支持热插拔 CPU(运行中插入或替换处理器),原因很直接:下面用一张流程图梳理"新处理器上线"这件事从硬件层到应用层是怎么一步步传递下去的。硬件/ACPI BIOS 检

#学习
    共 326 条
  • 1
  • 2
  • 3
  • 33
  • 请选择