自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 我与Python的一夜情

期末突击看这篇才够味!首先就是相关工具的安装,直接搜就好,但是还是贴个网址吧:然后就是根据自己的系统选择咯:谁能闲来无事送我个mac玩玩Windows的一下,,,,哎?这么多版本下哪个好?

2024-06-14 17:57:11 910

原创 翘首以盼的抗锯齿

1、左侧一列的中间是一个周期冲激序列,它在t=nT上纵坐标为无穷大,且频域(右中)仍是一个冲激序列,若用其与原信号相乘进行采样,采样的过程就不是让左边上中两图简单相乘就行了,它需要再进行一个过程将其转化为离散时间序列。比如上图哪里重复了,并不重复对吧,我们通过右边界在重复左边界的内容,在边界会产生剧烈的变化从而产生极其高的高频,头顶位置和衣服下边缘位置的图像变化剧烈,导致高频区域为白色。水平和竖直方向有道,我们在分析信号的时候我们会认为它是周期性重复的信号,那么对于不周期性重复的信号怎么办呢?

2024-06-06 20:00:42 942

原创 心怀希望の光栅化

可以自动转化到定义正交投影的远近、左右、上下根据前置内容,所有东西都可以转化到这样一个立方体上:我们如何将这个立方体画到屏幕上呢?既然要画到屏幕上那就先明确屏幕的定义,在计算机图形学中,屏幕被定义成一个二维的数组,数组中的每一个元素被定义成一个像素,像素的多少可以组成分辨率的概念屏幕是典型的光栅成像设备,光栅即屏幕,把东西画在屏幕上就是光栅化的过程像素:picture element(居然真的是像素。。。),像素是最小的单位,在里面不会有变化。

2024-06-04 13:00:02 994

原创 问答机器人

finetune,将语言模型调成另外的语言模型,更适合不同类型数据,运用finetune方法将模型变化。数据库返回文档,LLM(语言模型)根据文档分析怎样可以更好的回答问题。根据我们提供的数据分析出问题的答案,我们并不需要训练自己的模型。利用语言模型已经具有的对于语言能力的掌握,根据输入数据进行问答。文件是Word文档形式的有图片什么的都不要紧。其余的工具将文字转成语音更智能化一些(润色)langchain是开源的一个中间工具。数据库需要自己可以进行本地部署的数据库。怎样做自己的问答机器人?

2024-06-02 18:19:54 233

原创 含情脉脉的进程

刚开始启动的进程:19137一定是父进程, 通过调用fork看到了两个执行流,查到了两个不同的进程,有两个不同的pid(19156就是传说中的紫禁城),在fork之后,父子代码共享:创建一个进程,本质是系统中多了一个进程,多了一个进程就是多了一个task_struct进程控制块,多了的进程还要有自己的代码和数据,那紫禁城的代码和数据从哪来呢?父进程的代码和数据是从磁盘加载进来的,在默认情况下,紫禁城继承父进程的代码和数据(紫禁城没有代码和数据,只能继承,只有自己的task_struct)

2024-06-02 18:18:12 1363

原创 二叉树间奏

已经学习过了二叉树的基础知识,那么间奏部分就来感受一下二叉树部分的OJ题吧。

2024-05-30 17:26:47 461 2

原创 压轴出场的变换

平移操作不属于线性变换的范畴嘞,但是我们由于懒,不想把这个当做一个特殊情况去考虑,那有没有办法让所有变换都用一种简单的形式表达出来呢?矩阵不满足交换律 ,向量默认是列向量,×矩阵,矩阵放在向量的左边,上面展示的是从右到左依次应用矩阵。定义旋转轴(平移 -> 旋转 -> 平移),旋转角度 ,N(向量叉乘的对应矩阵)描述摄像机位置的移动是变换的一个重大应用(平滑曲线移动),会跳舞的机器人。相机物体应用同样的变换,相机落到相应的位置上,物体也就落在了相应的位置上。

2024-05-29 18:03:00 728 2

原创 线代与图形学的暧昧二三事

计算机图形学依赖于线性代数、微积分、统计...物理方面涉及到光学(波动光学:不再假设光是直线传播,作为一种光波与物体表面材质进行作用接触,如何生成不同的外观)和力学,还涉及到信号处理(分析走样、反走样技术,解决信号处理的事情),数值分析也很重要(解决一些复杂的数学计算:积分、渲染,解决递归定义的积分、模拟仿真、拓展方程...),还需要一点点美学。

2024-05-28 15:58:11 1039 3

原创 图形学概述

粒子在空中盘旋打转:图形学中的模拟和动画(模拟空气中微小粒子的运动),人物的衣服在风吹动下如何变化,发丝间的碰撞...将这些真实的模拟出来。如何要表示一条光滑的曲线,如何表示光滑曲面,如何通过细分的方式由简单曲面得到更复杂的曲面,在形状发生变化时如何保证物体的特殊结构。图形学会操纵可视化的一些信息,可视化是一种操控实际信息的方法,通过扫描将一些信息转变为视觉信息,这个过程我们称之为可视化。在宜家的界面中,70%是渲染出来的,包括但不限于宜家这样的家居设计。

2024-05-28 00:52:25 927

原创 智慧树下做游戏

游戏开发工程师致力于,负责,并配合主程序完成就业方向: 一般有和客户端开发: 主要负责游戏前端的逻辑开发和脚本开发工作 ,还涉及游戏的版本更新、 BUG维护等 ,可以细分为客户端主程(底层架构及分配任务)和客户端程序员。客户端开发需要掌握的技能有很多 :1.精通编程语言(PC端需要掌握C/C++ ,Android端需掌握 Java ,iOS端需掌握Objective-C)2.掌握图形学 ,有较强的数学功底和逻辑能力 ,有Shader编写经验。

2024-05-27 18:03:39 1139 1

原创 韬光养晦的超绝项目

可以加入对战系统积累积分,竞技类的接受程度更高,小孩(我和我身边大多数人小时候)都喜欢玩王者吃鸡这种经济类游戏,开放世界探索(本项目、一梦江湖、逆水寒)的受众群体年轻人(大学生、高中生、已经工作的90后)较多,在中小学阶段不火爆,可以确定是想要“寓教于乐”还是做科普类,如果想要认真把知识作为主体内容,可能面临的两个问题:题库的优化,讲解答疑。剧情探索式,构建校园场景,可参考游戏《三伏》《烟火》《Sally Face》《Fragile》符合目前游戏整体架构的3d建模则更应参考《一梦江湖》的少女建模。

2024-05-27 14:09:43 319 1

原创 炫酷gdb

在VS里面调试很方便对吧?(F5直接调试,F10逐过程调试--不进函数,F11逐语句调试--进函数,F9创建断点),那在Linux中怎么调试呢?我们知道VS中程序的版本大致有两种模式:debug(开发模式,可被调试)和release(发布模式,不可被调试),为什么会形成这样的差异呢?

2024-05-19 14:21:07 721 11

原创 超绝git

我们应该学会使用超绝git了,首先,什么是git?git是超绝版本控制器(去中心化的分布式系统),什么又是版本控制,git和Gitee又有什么牵扯?

2024-05-12 20:25:14 1060 29

原创 所向披靡のmakefile

在VS里敲代码,只需要Fn+F5就可以直接运行勒,在Linux下敲代码却要即敲命令还要用编辑器还要用编译器,那在Linux下有没有能帮我们进行自动化组建的工具呢?当然有,超级巨星:makefile!!!!

2024-05-08 00:41:21 564 3

原创 gcc和g++的爱恨纠葛

gcc想必大家都听过吧,gcc是一个编译器,进行C语言编译的编译器但是有的时候代码会发现编不过,有可能是因为标准太低,不支持某些写法这个时候就可以C++中文件的后缀一般有三种:.c,.cpp(c++特有),.cc(c++特有)gcc不能用来编译C++代码(gcc不认识C嘎嘎的某些流),c嘎嘎在编译的时候就用g++啦还有一种后缀是cxx。

2024-04-25 14:27:55 947 3

原创 燃冬之yum、vim和你

了解了很多指令和权限,搞点真枪实弹来瞅瞅学Linux不是天天就在那掰扯指令玩,也不是就研究那个权限准备好迎接Linux相关工具的使用了么码农桑~

2024-04-22 23:45:28 1559 3

原创 Linux权限

就比如,我想拿uu加速某个游戏,我就得买会员(vip),这是权限再比如,我想进小邮的校门,有门禁,需要刷脸(它什么时候认识我一下),这也是权限权限是通过一定的条件,拦住一部分人,给另一部分人权利来访问某种资源。

2024-04-17 19:55:46 776 2

原创 Shell命令及运行原理

时代在召唤!!!真的不来看看灿灿一步一总结指导出来的广播操么???大部分命令就是磁盘中系统下特定目录中的可执行文件(大部分指令就是文件,狭义)那每次输指令前这个是什么?这个叫命令行提示符,是一个字符串(用户名主机名路径构成的字符串)每次从键盘输入东西就相当于文件把从键盘中输入的数据读进来了,这个程序负责打印提示符:用户执行某种功能的时候,并不是直接让操作系统执行对应指令的(用户不能直接访问操作系统),而是先交给外壳程序(命令行、图形化界面),桌面啦、命令行啦都是

2024-03-29 12:18:33 1087 12

原创 sizeof和strlen的使用及差异

sizeof。真是好提取,这个简介好简介

2024-03-26 22:12:36 706 2

原创 类和对象三部曲(one)

class是定义类的关键字ClassName是类的名字{ }中是类的主体(类定义结束时后面分号不能省略)。类体中内容被称为类的成员:类中的变量被称为类的属性/成员变量类中的函数被称为类的方法/成员函数// 类体:由成员函数和成员变量组成在成员变量定义的时候,通常都喜欢在前面带个_class Date//成员变量和形参区分不开,易混淆int year;int month;int day;int _year;int _month;

2024-03-25 20:05:07 1178 5

原创 区区文件操作

文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据或输出内容的文件。每当打开一个文件的时候,系统会根据文件的情况自动创建一个FILE结构的变量,并去填充其中的信息,使用者不必关心细节,一般都是通过一个FILE的指针来维护这个FILE结构的变量。每个被使用的文件都在内存中开辟了一个相应的文件信息区,用于存放文件的相关信息(如文件的名字、文件状态及文件当前的位置等)这些信息是保存在一个结构体变量中的,该结构体类型是由系统声明的,取名FILE。硬盘(磁盘)上的文件是文件。

2024-03-25 19:01:38 670 7

原创 浅浅迈入C++门槛

这也就。

2024-03-22 00:53:19 1001 4

原创 四级不死机

大家晚上好!!!四级是一个多么美妙的词汇,让无数大学生痴狂,让学长为它三顾茅庐辗转反侧(bushi)学长加油男铜!!!最近在提升自己的英语水平啦(据说希普拉斯普拉斯是这样的),但是好像只是停留在背单词阶段吧。。。

2024-03-19 00:43:10 723 4

原创 盛水最多的容器、接雨水

假设我们已经计算出了一部分前缀的最大值和一部分后缀的最大值,如果前缀最大值比后缀最大值小,那么左边这个木桶的容量就是前缀最大值,算完之后将其向右扩展;假设每个位置都有宽度为1的桶,计算接水多少需要知道左边木板的高度和右边木板的高度,这两个取最小值,左边木板的高度取决于左边的最大高度(高流低不流),右边木板的高度取决于右边的最大高度,那么具体应该怎么实现呢?最后我们分别遍历前缀最大值和后缀最大值和当前高度,使用后缀最大值和前缀最大值的差减去当前高度即为可接水的高度,把每个水桶能接的水算出来,相加即为答案。

2024-03-14 00:15:19 524 4

原创 早早早!晚上好

晚上好!!关于这一段寒假时光的学习以及大一上的学习,我决定用我们很熟知的一个词来解释:递归。

2024-03-02 14:34:44 734 2

原创 C/C++程序内存划分及程序执行

栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限,栈区主要存放运行函数而分配的局部变量,:一般是由程序员分配释放(动态内存开辟函数malloc,calloc等),若程序员不释放,程序结束时可能由OS(操作系统)回收,分配方式类似链表。调用函数是为了实现一系列功能,而实现这一系列功能本质是指令,函数的地址是这一堆指令中第一个指令的地址(类似于数组地址为首元素地址)声明(承诺)获取不到函数的地址(一具空壳),在定义(兑现)中才能获取到函数的地址。:在执行函数的时候,函数内部的。

2024-02-29 23:14:13 360 2

原创 初遇C++

C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的 程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机, 20世纪80年代, 计算机 界提出了OOP(object oriented programming:面向对象)思想,支持面向对象的程序设计语言应运而生。1982年,Bjarne Stroustrup博士(贝尔实验室--计算机许多文明的诞生地)在C语言的基础上引入并扩充了面向对象的概念,发明了一 种新的程序语言。为了表达该语言与C语言的渊源关系,命名为C++。

2024-02-28 22:15:57 695 2

原创 二叉树序曲

已经学过很多数据结构了,我们需要明晰两个概念:逻辑结构:我们想象出来的结构物理结构:内存中实在存储的结构线性表是逻辑结构的描述。树是一种非线性的数据结构,它是由n (n>=0) 个有限结点组成的一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树(根朝上,叶朝下)有一个特殊的结点,称为根结点,根结点没有前驱结点除根结点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、......Tm,其中每一个集合Ti(1

2024-02-27 23:58:16 701 2

原创 函数栈帧的创建与销毁

什么是函数栈帧呢?在写代码的时候经常会把一个独立的功能抽象成函数,C程序是以函数为基本单位的。局部变量是如何创建的呢?为什么局部变量不初始化内容是随机的呢?函数如何调用呢?函数返回值如何返回呢?传参的底层逻辑又是什么呢?学会了函数栈帧,这些问题都将迎刃而解。函数栈帧是函数调用过程中在程序的调用栈(call stack)所开辟的空间。这些空间是用来存放:1.函数参数和函数返回值2.临时变量(包括函数的非静态的局部变量以及编译器自动生产的其他临时变量)

2024-02-25 23:43:41 1395 2

原创 七战数据结构--堆

堆总是一棵完全二叉树,一般将数组数据看做一棵完全二叉树。例:1.下列关键字序列为堆的是:( )答案:A一般我们说的堆指两个东西,其一是数据结构中的堆(完全二叉树),其二是操作系统中的堆(内存区域的划分,动态内存申请的区域),它们是不同学科里的同名名称。堆的存在有什么意义呢?1.堆排序(时间复杂度为O(N*logN))2.top K问题(找出一组数据中最大/最小的K个值)tips:堆的功能是选数。

2024-02-11 10:34:36 990 2

原创 栈和队列の纠缠之缘

其实不是很难哈哈,用栈实现队列相对简单,和队列不同,两个队列不会发生顺序的变化,但是两个栈会,只需要反转一次数据即可达成目标。基于队列实现就可以使用两个队列,一个队列用来存放数据,另一个队列用来捯饬数据(也许是捯饬,反正就是折腾数据)。出队:1.当栈Pop为空时一键将Push中的数据转移到栈Pop中,Pop出栈。2.当Pop不为空时则直接出栈Pop。入队:直接将数据存放到栈Push中。

2024-01-30 16:20:06 257 4

原创 五战数据结构--队列

什么是队列呢?下定义:队列是只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出 (First In First Out)的特点。入队列:进行插入操作的一端称为队尾。出队列:进行删除操作的一端称为队头。队列也可以用数组和链表的结构实现,使用链表的结构实现更优。如果使用数组的结构,出队列在数组头,效率比较低。

2024-01-29 23:58:16 262 2

原创 四战数据结构--栈

你所看见的栈一定是你以为的栈吗(我在云什么(◎_◎;)),上面提到的栈是数据结构中的栈,还有一个“栈”是语言/操作系统中的栈,指一块内存区域。那么栈溢出是哪个概念呢?是操作系统中的栈,栈溢出指空间不够,在递归程序返回条件有问题的时候会出现栈溢出。

2024-01-28 17:17:41 389 3

原创 goto语句

goto语句可实现在同一函数内跳转到设置好的标号处使用得当可以在多层循环的代码中快速跳出(当多层嵌套循环存在时,break只能跳出一层循环,goto可跳出多层循环)使用不当会导致瞎跳的情况。

2024-01-27 00:56:30 112 4

原创 疯狂の野指针

有鱼焉,其名为鲲,有狗焉,其名为野指针;野指针就像一条没有被约束的疯狗,容易在程序中乱搞发生问题野指针有三条成因:1、指针指向的范围超出数组的范围(越界访问)2、指针未初始化3、指针指向的空间释放针对问题规避野指针。

2024-01-27 00:56:12 221 3

原创 冷酷の结构体

假设一个处理器总是从内存中取8个字节,地址必须是8的倍数,如果我们能让所有double类型的数据的地址都对齐8的倍数,那么就可以用一个内存操作来读写值了。传值调用更好:传地址大小最多八个字节,形参是实参的一份临时拷贝,函数传参时,参数是需要压栈,会有时间和空间上的系统开销,如果传递一个结构体对象,结构体过大,参数压栈系统的开销比较大,会导致程序性能的下降。4.如果出现嵌套结构体的情况,嵌套的结构体成员对齐到自己的成员中最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数(含嵌套的结构体成员)的整数倍。

2024-01-27 00:55:43 767 7

原创 热情の位段

注意事项:位段的几个成员共有同一个字节,这样有些成员的起始位置并不是某个字节的起始位置,那么这些位置是没有地址的(内存中每个字节分配一个地址,一个字节内部的bit位是没有地址的),所以不能对位段成员使用&操作符,这样就不能使用scnaf直接给位段的成员输入值,只能先输入放在一个变量中,然后赋值给位段的成员。4.当一个结构包含两个位段,第二个位段成员比较大,无法容纳第一个位段,剩余的位时,是舍弃剩余的位还是继续使用是不确定的。2.位段的空间是按需以四个字节(int)或者一个字节(char)的方式来开辟的。

2024-01-27 00:55:29 361 7

原创 活泼の枚举

5.枚举常量是遵循作用域规则的,枚举类型声明在函数内,只能在函数内使用。一般枚举常量都大写,这些可能取值都是有值的,默认从0开始,依次递增1。2.和#define定义的标识符比较,枚举类型有类型检查,更加严谨。我们明明可以使用#define定义常量,为什么还要使用枚举呢?enum:枚举类型,{}中是枚举类型的可能取值-->枚举常量。3.便于调试,预处理阶段会删除#define定义的符号。C++中不可以(cpp类型检查比较严格)4.使用方便,一次性可以定义多个常量。可以用整数给枚举变量赋值吗?

2024-01-27 00:54:46 182 3

原创 抓住一只联合体

与结构体一样,联合体也由一个或多个成员构成,这些成员可以是不同类型,但编译器只为最大的成员分配足够的内存空间,联合体的特点是所有成员共用一块内存空间,所以联合体也叫共用体。成员 成员对齐数 默认对齐数 对齐数。2.当最大成员不是最大对齐数的整数倍时,就要对齐到最大对齐数的整数倍。联合体的成员共用一块空间,给一个成员赋值,其他成员的值也跟着变化。1.联合的大小至少是最大成员的大小。至少为14,为4的倍数:16。至少为5,是4的倍数:8。

2024-01-27 00:54:28 312 2

原创 指针、数组、函数的相爱相杀

所以当str1,str2数组比较时,比较的时数组首元素的地址,由于是两块空间,所以数组首地址不同,而str3,str4为指针变量,指向常量字符串“abcdef”,由于是常量字符串(可看做数组),内容不可被更改,所以不用保存两次,只需向内存申请一块空间,str3,str4指向的地址相等。数组名为数组首元素的地址(当数组名单独放在sizeof内部和&数组名时数组名为整个数组)名表其意,函数指针也是一种指针,指向函数,存放的是函数的地址。名表其意,数组指针是指向数组的指针,存放的是数组的地址。

2024-01-27 00:54:02 237 2

content_warning_75d18e85.webm

content_warning_75d18e85.webm

2024-04-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除