- 博客(43)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
转载 三维空间的位姿描述
位置描述对欧氏三维空间中世界坐标系 {O}\{O\}{O} 下一点 PPP,可用 OP=(pxpypz)^OP=\begin{pmatrix}p_x\\p_y\\p_z\end{pmatrix}OP=pxpypz,描述其位置姿态描述旋转矩阵 Rotation Matrices对于物体坐标系 {O}\{O\}{O} 下三个主轴的单位矢量 X^O\hat X_OX^O、Y^O\hat Y_OY^O 和 Z^O\hat Z_OZ^O 在世界坐标系 {W}\{W\}{W} 上的投影 WX^
2024-10-04 12:51:35
375
原创 Image-Based 3D Modeling Environment Install
【代码】Image-Based 3D Modeling Chapter1 Homework。
2023-12-02 21:39:41
524
原创 【已解决】UserWarning: You are using GPU version Paddle, but your CUDA device is not set properly.
操作系统Ubuntu22.04.1LTS。paddlepaddle版本2.4.1。Anaconda3版本4.5.11。显卡Geforce MX150。驱动525.60.11。CUDA版本11.7。CUDNN版本8.7。
2023-01-17 20:32:48
4899
翻译 【C语言搭建数据库】Part05 - 持久化存储数据库
这部分将实现数据库的持久存储,文章原地址:https://cstack.github.io/db_tutorial/parts/part5.html我们的数据库能插入记录并读回记录,但前提是保持程序运行。如果你终止了程序并重新启动它,那所有存储的记录都将小时。就像sqlite一样,我们通过把整个数据库保存到文件中来持久化数据。我们已经通过把行序列化为页大小的内存块来做到这一点。为了进一步提高数据的持久性,我们可以简单地把这些内存块写入文件中, 并在下次启动程序是把它们读回内存中。
2023-01-02 22:49:01
439
翻译 【C语言搭建数据库】Part04 - 测试和调试之前的代码
本节我们将使用R语言编写一个简单的测试程序并调试之前写的代码,原文章地址:https://cstack.github.io/db_tutorial/parts/part4.html。如果你看一下我们对Row的定义,我们为用户名分配正好32个字节,为电子邮件地址分配255个字节。向分割符的位置处(在我们的示例中为空格)插入空字符,来把输入的字符串拆分为多个子字符串。我们的数据库现在可以容纳1400行,因为我们设置了最大页数为100, 而每一页可以装下14行。让我们花些时间来测试一下目前我们拥有的功能。
2023-01-02 18:15:20
165
翻译 【C语言搭建数据库】Part03 - 搭建一个最简单的数据库
我将页面大小设为4kb,因为大多数计算机体系结构的虚拟内存系统使用的页面大小也是4kb.这意味着我们数据库的一页刚好对应操作系统使用的一页。像B树一样,它会把行组合为页,但不把这些页排列为树,而是把它们排列为数组。这部分内容教你写一个基于内存的、只能添加的、只有一个表的数据库,原文章地址:https://cstack.github.io/db_tutorial/parts/part3.html。当我们选择树结构时,数据库的最大大小只受到文件最大大小的限制(尽管我们仍然会限制同时在内存保留的页数)
2023-01-02 12:39:33
1118
翻译 【C语言搭建数据库】Part02 - 世界上最简单的SQL编译器和虚拟机
看起来像一个特殊情况(C语言甚至不支持它),所以我们在可行的情况下用枚举类型来表示代码执行的结果。如果我们的switch语句没有处理枚举类型的成员,C编译器将会提示,所以我们可以更有信心地处理函数的每种结果。我们正在制作一个翻版的sqlite. 其中它的前端部分是一个SQL编译器,用来解析输入的字符串命令,并输出内部表示的字节码。接下来,我们把输入行转换为内部表示的语句。是我们的SQL编译器,事实上它并不能完全理解SQL,它现在只懂两个关键字:。通过重写代码,我们现在能够识别两个新的关键字。
2023-01-02 11:37:34
418
翻译 【C语言搭建数据库】Part01 - 什么是SQLite & 制作一个简单的REPL
在sqlite的网站上有很多,此外这里还有一本.一条查询语句通过一系列组件来实现数据的检索或修改。前端的输入是SQL查询语句,输出是sqlite虚拟机字节码(本质上是一段可在数据库操作的编译程序)。使用前端生成的字节码作为指令。并且可以对一个表或多个表或索引进行操作,每个表或索引都被存储在一种叫B树的数据结构中。虚拟机的本质上是一种关于字节码指令类型的大开关语句。每一棵包括了许多节点。每一个节点的长度为一页。B树可以从磁盘中检索数据页,或向寻址器发送命令将其保存至硬盘。接收用于读写数据页的命令。
2023-01-02 10:17:41
300
翻译 【C语言搭建数据库】Part00 - 概述
为了弄清楚这些问题,我基于scratch写了一个数据库。这个数据库模仿了sqlite,它有轻量化的优点,和MySQL或PostgreSQL相比使用更少的特征,所以我有更大的希望来彻底理解他。数据库的全部代码被存储在一个单独的文件中!作为一位网页开发者,我每天都在工作中使用关系型数据库,但这对我来说却是个黑盒。本项目使用C语言教你制作自己的sqlite数据库,并被github爆火项目合集。由于本人水平有限,翻译不当之处在所难免,敬请指正。收录,经译者翻译为中文,供大家学习参考。换句话说,一个数据库是。
2023-01-02 10:11:47
372
原创 Linux环境下使用vscode运行C++程序报错undefined reference to class class::constructor的原因
vscode快捷运行只会编译当前页面的cpp文件,如果cpp文件中引用了其他头文件,并且类外定义写在了同名称的cpp文件中,不会自动编译该cpp文件。
2022-12-11 00:31:11
715
原创 真正搞懂指针作为函数参数的情况C++
代码段中把指针head作为实参传入temp函数,temp函数的形参head接到实参,,故函数体内对head进行new操作时,main函数中的指针head指向的地址保持不变。祝你对指针的理解更深一步。
2022-12-11 00:17:36
208
原创 如何使用roboRio下载采集到的数据
从wpilib数据日志中读取、转换和可视化数据的cli。使用shuffleboard录制数据为csv格式。使用WPIlib库datalog类。
2022-09-23 20:21:03
328
原创 SDKMANAGER尚不兼容UBUNTU22.04
心态都要崩了,在UBUNTU22.04装了半天NVIDIA SDKMANAGER都不行,把版本降下来就成功了
2022-06-06 18:18:37
659
原创 FRC自购IIC陀螺仪GY-91使用
硬件准备这是我们在某宝上购买的一款SPI&IIC陀螺仪https://item.taobao.com/item.htm?spm=a230r.1.14.1.113c4b20IbC4N3&id=523806329384&ns=1&abbucket=12#detail它即将被我们连接到主板NI roboRIO上https://www.andymark.com/products/ni-roborio-2?via=Z2lkOi8vYW5keW1hcmsvV29ya2FyZWE6
2021-12-26 12:30:28
785
原创 全向轮算法/万向轮算法/福来轮算法/全向轮漂移算法/万向轮漂移算法/福来轮漂移算法
其实本来想做一种矢量轮的,大概长这样不过他马达需要8个,并且齿轮对加工精度的要求比较高,只好放弃在搜索的过程中,一种叫全向轮/福来轮/万向轮的轮子非常吸引我于是我想把他按照这样子拼起来我认为他和最上面展示的矢量轮能够同样实现漂移的功能,并且在实现难度上有所降低,于是我开始着手设计他的算法这种轮子的最大好处我认为是在于他能够沿x方向前进的同时,允许y方向通过situation3: turn自转这是一些初步的想法啦,如果大家有更好的想法欢迎一起分享...
2021-10-07 17:32:07
1778
原创 真空系统安装心得
我们夏令营老师给我们布置的是一个机械臂抓球的任务,在大家设计爪子夹球时,一个另类的idea在我脑中浮现,把球吸起来吧!真空发生器、吸盘,在某宝完成购置,真的非常期待到货的那一天。将气路组装完毕做测试,非常顺利地能将球吸起来,你以为这就结束了么,这也太有水文章的嫌疑了~但负压状态对加压气的需求过大,气瓶里的气一会就挥霍一空了,气压降下来与之对应的是吸力不足以支撑球的重量我们以为会是真空发生器的原因,于是说我们在发生器的真空口外加装一个电磁阀,希望能够锁住局部的负压状态,不过很遗憾还是失败了我去请教我
2021-09-12 10:04:26
197
原创 来看看全世界最顶级的青少年工业级机器人竞赛吧
你听说过全世界最顶级、对抗最激烈、最具观赏性的青少年工业级机器人竞赛吗?今天一起来看看FRC竞赛究竟为何如此吸引人!
2021-09-11 22:07:06
179
原创 四轴机械臂算法详解
我终终终终于来了,真的好久没更新了首先给大家看看我们最近做的一个四轴机械臂项目吧这是它已经拼装在基础底盘上的实物图了可以看到一共有四个马达来驱动这个机械臂其中最上端与最底部的马达可以独立控制因此算法的核心在于中间的两节机械臂如图为最核心的算法模型其中a,b分别代表两个机械臂ε与δ由马达控制器自动设置因此我们的目标就是求出ε和δ的值X和Y由遥控手柄实时传入(可以为增量或者绝对位置)c=sqrt(X2+Y2)γ=atan(Y/X)在三角形ABC中有两个直角三角形a2-AD2=k2
2021-08-22 17:37:12
5670
原创 斐波那契数列的不同实现
在编程中往往有几种算法都能得到同样的答案,以较基础的斐波那契数列为例,他能引出递归和递推两种基本算法,如代码所示://递推int fbs1(int n){ if(if (n == 1 || n == 2) { return 1; } int a = 1; int b = 1; int temp; for (int i = 1;i < n;i++) { temp = a; a = b; b = temp + a; } return a;//递归int fbs2(int
2021-01-27 22:13:33
172
1
原创 函数指针typedef
函数指针typedef基本结构typedef 数据类型 (*类型名)(参数类型);//定义了一个函数指针类型类型名 指针名 = 函数名;//定义了一个类型名下的指针指向函数;如:int sum(int a,int b){ return a + b;}typedef int (*operation)(int,int);//定义了一个operation型的函数指针类型operation a = sum;//定义了一个operation类型的指针a,指向sum函数int main(){ c
2021-01-18 21:37:17
165
1
原创 判断链表有环&求循环列表环长&求循环列表入环点
判断链表有环&求循环列表环长&求循环列表入环点关于更多的链表实现可以从下方直通车达到:单向链表双向链表循环链表本篇希望着重介绍的是结合数学中的追及问题与循环列表来达到判断列表有环和求环长首先我们第一个问题来关注如何判断列表有环这是一个基本的链表,最简便的方法就是用一个下标P来遍历链表,并且把遍历过的节点的地址存储起来,当下标P所在的地址如果在存储区中也存在,则说明链表有环,此方法的时间复杂度是O(n^2),空间复杂的是O(n),具体的程序实现在本篇中不赘述,接下来我们要讲的是
2020-12-29 21:19:01
332
原创 循环链表的基本实现
在之前我们已经讲了单向链表的基本实现与相关函数https://blog.youkuaiyun.com/frc8011_zzr/article/details/111657732上方是 “直通车”那本篇将主要展示的是循环列表与单向链表在C++中实现里的主要区别其他未提及处结合上方文章即可触类旁通//创建第d个节点存入数据d1void List::insert(const int& d, const int& d1) { Node* p; Node* q=head; for (int i
2020-12-28 18:29:39
196
原创 双向链表的创建与相关基本函数
双向链表的创建与相关基本函数昨天我们已经讲了单向链表https://blog.youkuaiyun.com/frc8011_zzr/article/details/111657732在单向链表的基础上我们给每一个结构体加上一个prev指针指向上一个结构体就能实现双向链表了
2020-12-27 19:42:16
187
原创 C++ 求最大公约数四种方法getGreatestCommonDivisor
获取最大公约数的四种方法getGreatestCommonDivisor
2020-12-25 23:36:05
298
各位佬,想问下柔性分布式压力传感器要怎么测电阻阻值
2024-06-20
物理机安装ubuntu的bug
2022-12-25
C++为嘛类外定义失败
2022-12-07
我能够自由地选择网线或vga线使用的协议吗
2022-10-26
C++的for崩了啊啊啊啊啊啊!大佬康康这
2021-06-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅