自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

莫寒技术人生

提升自我的程序员

  • 博客(104)
  • 资源 (5)
  • 收藏
  • 关注

原创 收集的图形学面试问题小结资料

本文主要参考的博客是: csdn_chai —— 图形学复习要点 我想通过这篇文章,对图形学在游戏开发工程师面试时常考(可能会考)的问题,主要想有个提纲的认识。虽然图形学在面试中的比重比较小,但是还是要复习一下的。图形学的考点主要分为三部分,一是渲染管线,二是数学尤其是线性代数和三维几何。一、 渲染管线1.1 有那几个坐标系(空间)?如何在空间之间进行转换?我们在图形学...

2018-04-16 15:34:50 21249 9

原创 计算机图形学学习记录(四) —— X扫描线算法与区域填充算法

为方便找代码的朋友直接看代码,先把代码和运行结果贴上:OpenGL算法主要实现代码point polypoint[POINTNUM]{ 250,50,550,150,550,400,250,250,100,350,100,100,120,30 };//多边形顶点 void GlAreaFilled::PolyScanner(void){ /******计算最高点的y坐...

2018-04-03 10:33:27 15984

原创 计算机图形学学习记录(三)Breseham画线算法

Breseham算法首先为了方便直接看算法代码的朋友直接看核心代码和结果,在这里直接贴出算法代码。void DDADrawLine::BreasehamDrawLine(int x0, int y0, int x1, int y1){ int iTag = 0; int dx, dy, tx, ty, inc1, inc2, d, curx, cury; glCo...

2018-03-19 23:14:23 3444

原创 计算机图像学学习记录(二) —— 中点画线算法

中点画线算法为了方便阅读算法代码的人,现在这贴上算法核心代码: 算法过程: 注意:本过程只针对,斜率绝对值小于1的情况。void DDADrawLine::MPDrawLine(int x0, int y0, int x1, int y1){ int a, b, dt1, dt2, d, x, y; a = y0 - y1; b = x1 - x0; ...

2018-03-16 23:34:59 14533 7

原创 计算机图形学学习记录(一) —— DDA画线算法

数值微分DDA(Digital Differential Analyzer)画线算法首先在这里给不想读大篇幅的朋友,直接写上DDA算法的核心实现代码: 上面这个只针对斜率绝对值小于1的。// 实现DDA算法。// author: 赵天宇// date : 2018/03/09void DDADrawLine::LineDDA(int x0, int y0, int ...

2018-03-12 16:23:23 16739 3

原创 算法-分治法实例:循环赛日程安排问题

利用C语言实现分治法的一个实例——循环赛程问题

2015-10-12 21:09:21 7157

原创 [算法沉淀记录] 分治法应用 —— 二分搜索(Binary Search)

二分搜索(Binary Search)是一种在有序数组中查找特定元素的高效算法。它每次将搜索区间减半,从而快速地缩小搜索范围。二分搜索的基本思想是:首先将待查关键字与数组中间位置的关键字比较,由于数组是有序的,所以一次比较就可以确定待查关键字是在中间位置的左边还是右边,然后只在相应的区域内继续搜索,直到找到为止,或者确定找不到为止。

2024-02-27 17:55:25 960

原创 [算法沉淀记录] 排序算法 —— 堆排序

堆排序(Heap Sort)是一种基于比较的排序算法,它利用堆这种数据结构来实现排序。堆是一种特殊的完全二叉树,其中每个节点的值都必须大于或等于(最大堆)或小于或等于(最小堆)其子节点的值。堆是一个近似完全二叉树的数据结构,满足任一非叶子节点的值不小于(或不大于)其左右孩子节点的值。堆通常分为最大堆和最小堆:堆排序算法通过构建一个最大堆或最小堆,然后将堆顶元素(最大或最小值)与堆的最后一个元素交换,再将剩余的元素重新调整为最大堆或最小堆,如此反复,直到整个数组有序。堆排序是一种高效的排序算法、

2024-02-26 17:58:51 1168

原创 [算法沉淀记录] 排序算法 —— 选择排序

在本文档中,我们学习了如何使用选择排序算法对数组进行排序。我们首先定义了一个选择排序函数,然后使用该函数对不同类型的数组进行排序。最后,我们展示了排序后的数组。希望这个文档对你有所帮助!

2024-02-26 10:48:47 1028

原创 [算法沉淀记录]排序算法 —— 快速排序

在本文中,我们梳理了快速排序算法,它的时间复杂度,以及如何用c++实现它。我们还学习了如何在基本数据类型和用户定义数据类型上使用快速排序算法。

2024-02-26 10:40:54 967

原创 [算法沉淀记录] 排序算法 —— 冒泡排序

冒泡排序是一种简单的排序算法。它重复地遍历要排序的列表,一次比较两个元素,并交换它们的位置,如果它们不是按照升序排列的。这步遍历是重复进行的,直到没有再需要交换,也就是说该列表已经排序完成。该算法为交换排序之一。

2024-02-24 15:03:25 948 1

原创 [算法沉淀记录] 排序算法 —— 归并排序

归并排序是一种分治算法,由约翰·冯·诺伊曼在1945年发明。它的工作原理是将未排序的列表划分为n个子列表,每个子列表包含一个元素(包含一个元素的列表被认为是有序的),然后重复合并子列表以生成新的有序子列表,直到只剩下一个子列表。归并排序是一种高效的排序算法,其优缺点如下:总体而言,归并排序是一种高效的通用排序算法,特别适合需要稳定排序和大量数据的情况。然而,如果内存使用是一个关键因素,或者数据集非常小,可能需要考虑其他排序算法。归并排序是一种高效的通用排序算法,由于其稳定性和(O(n log n))的时间

2024-02-23 19:32:34 1272

原创 [算法沉淀记录] 排序算法 —— 希尔排序

希尔排序(Shell Sort)是一种基于插入排序的算法,由Donald Shell于1959年提出。希尔排序的基本思想是将待排序的序列划分成若干个子序列,分别进行插入排序,待整个序列中的记录基本有序时,再对全体记录进行一次直接插入排序。

2024-02-23 09:33:40 1117

原创 C++ 设计模式 —— 组合模式

组合模式的定义组合模式的作用组合模式是一种行为型设计模式,它将对象组合成树形结构以表示部分 - 整体的层次结构。这种模式使得用户对单个对象和组合对象的使用具有一致性。组合模式主要应用于需要表示复杂对象结构或者需要将对象组合成树形结构的场景。组合模式的定义和作用:定义:组合模式通过一种巧妙的设计方案,可以一致性地处理整个树形结构或者树形结构的一部分,也可以一致性地处理树形结构中的叶子节点(不包含子节点的节点)和容器节点。

2023-10-13 11:45:58 914

原创 C++ 设计模式 —— 桥接模式

桥接模式的定义桥接模式的作用桥接模式,顾名思义,就像是一座连接两岸的桥梁。在软件开发中,我们可以将桥接模式看作是一座连接抽象部分和实现部分的“桥”,通过这座“桥”,我们可以方便地在抽象部分和实现部分之间进行切换,而不需要关心它们之间的实现细节。桥接模式的核心作用就是降低系统的耦合度,提高扩展性和可维护性。想象一下你正在修建一座连接两个城市的大桥,如果没有这座桥,你需要绕行很远的距离才能到达对岸。

2023-10-09 20:12:38 356

原创 读书笔记-《The Modern C++ Challenge》- Sum of naturals

《The Modern C++ Challenge》读书笔记第一个程序。

2022-02-08 17:06:40 974

原创 (C++基础_STL) —— vector 类的基本应用

文章目录(C++基础_STL) —— string类的基本应用0 个人介绍vector容器1. vector的基本概念2. vector的构造函数(C++基础_STL) —— string类的基本应用     在日常的C++开发过程中,我们会经常使用到STL最为赋能加速开发的一个基本库,那么在有一定的C++的语言的基础上,学习如何使用STL是一件非常有益与后续有益于自己面对更加复杂的需求和日常开发赋能的,因此,本人虽然工作了有一段时日了,准备开始写一系列专栏记录自己重温STL的一些用法,并加深自己对

2021-08-31 20:28:33 296

原创 (C++基础_STL) —— string类的基本应用

文章目录(C++基础_STL) —— string类的基本应用0 个人介绍string容器1. string的基本概念2. string的构造函数案例3. string赋值操作4. string的字符串拼接操作5. string的查找和替换6.(C++基础_STL) —— string类的基本应用     在日常的C++开发过程中,我们会经常使用到STL最为赋能加速开发的一个基本库,那么在有一定的C++的语言的基础上,学习如何使用STL是一件非常有益与后续有益于自己面对更加复杂的需求和日常开发赋能的

2021-08-26 11:26:44 180

原创 (C++ STL _ CMake ) —— 利用CMake来构建STL的学习项目的步骤

这是一篇利用CMake来建立一个STL学习项目的介绍文章。

2021-08-25 17:44:33 691 4

原创 (CMake杂记) —— 利用 CMake 创建项目的分组

文章目录利用 CMake 创建项目的分组个人格言利用 CMake 创建项目的分组     在日常工作中,我有时候会利用到CMake来做项目的分组,让整个项目结构更加清晰明了,那么如何完成这样一个工作呢?用CMake构建Visual Studio工程时,有时需要讲多个工程放在一个目录下,如,我们想要实现下面类似的项目结构分类:UsingSTLProjcet|_UsingString| |_project1| |_project2|_Other     则可以使用如下CMake脚本:se

2021-08-19 13:58:49 662

原创 (C++基础_STL) —— 初识STL

在日常的C++开发过程中,我们会经常使用到STL最为赋能加速开发的一个基本库,那么在有一定的C++的语言的基础上,学习如何使用STL是一件非常有益与后续有益于自己面对更加复杂的需求和日常开发赋能的,因此,本人虽然工作了有一段时日了,准备开始写一系列专栏记录自己重温STL的一些用法,并加深自己对于STL的理解和运用的过程,本系列文章主要用于自己复习和参考使用,如果您看到感兴趣了也可以跟我一并一起进一步学习和探讨。

2021-08-18 15:50:57 257 2

翻译 (图形学笔记 - Vulkan) 1.1.3 - Validation layers(建立vulkan的验证层)

文章目录1.1.3 - Validation layers(建立vulkan的验证层)参考链接概述学习和翻译内容Validation layers(验证层)What are validation layers? (什么是验证层?)Using validation layers (使用验证层)Message callback(消息回调)Debugging instance creation and destruction(调试实例创建和销毁)TestingConfiguration(配置)整体代码小结个人格言

2021-07-14 15:39:20 1256 2

原创 (基础杂记) —— 2021-07-13 —— 牛客刷题错题记录

(基础杂记)2021-07-13 —— 牛客刷题错题记录错题记录第一题注意,带头结点的单向链表的判空条件为head.next == null, 带头结点的单向循环链表的判空条件是head.next==head; 然后要特别注意这个题考察的是单向循环链表的头指针。第二题第三题100表示传输速率为100MbpsBase表示通过基带传输T表示传输介质,twisted pair,双绞线。F表示光纤,fiber。C表示coaxial cable,同轴电缆。100B

2021-07-13 10:15:14 292

原创 (Visual Studio 杂记) )—— Visual Studio 如何 设置 C++ 标准版本

文章目录Visual Studio 如何 设置 C++ 标准版本概述操作个人格言Visual Studio 如何 设置 C++ 标准版本概述     在日常工作中,有时候想要使用一些C++的高级特性,或者是限制只允许使用旧的C++标准的时候,就需要来调整,因此就需要在Visual Studio 中调整C++所使用的标准。操作工程属性 —— c/c++ 所有选项 —— c++语言标准 : iso c++17标准(/std:c++17)个人格言    用心去感受你自己需要坚持的生活,未来慢慢

2021-07-07 09:57:19 1516

原创 (工作效率提升杂记) —— Visual Studio 效率提升类的的工具和设置(个人)

文章目录(工作效率提升杂记) —— Visual Studio 效率提升类的的工具和设置(个人)概论相关设置**Visual Studio IDE****Visual Studio Code**办公提升工具GIT 使用类个人格言(工作效率提升杂记) —— Visual Studio 效率提升类的的工具和设置(个人)概论     在日常工作中,我们作为C++的程序员,开发Windows的程序的时候,最经常需要用到的开发工具就是我们的IDE —— Visual Studio (我愿称之为宇宙洪荒最强IDE

2021-06-25 15:12:03 306 4

原创 (工具技巧) —— Visual Studio Code页面放大缩小和字体的调整方式

文章目录Visual Studio Code页面放大缩小和字体的调整方式使用方式个人格言Visual Studio Code页面放大缩小和字体的调整方式使用方式     在日程的使用过程中,有需要对Visual Studio Code的大小进行调整,因此可以用以下的操作来实现:Ctrl + + 进行放大;Ctril + - 进行缩小;     具体效果可以参看下面的图:     同时,可以去操作设置文本的大小到自己舒适的地步:个人格言用心去感受你自己需要坚持的生活,未来慢

2021-06-18 13:43:03 7063 3

原创 (C++设计模式) —— 常见设计模式学习笔记 - Factory模式(工厂)

文章目录常见设计模式学习笔记 - Factory模式概述基本概念UML图解释编写代码环境概要具体代码编写测试小结个人格言常见设计模式学习笔记 - Factory模式概述基本概念     日常我们开发的过程中,有时候需要用到一些只需要定义接口,然后让子类去决定实例化哪个类的情况,就可以用到我们所说的工厂方法(Factory Method)来解决这个问题,那么Factory模式的作用,可以给出如下的定义:     Factory模式可以用来定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方

2021-06-01 14:28:17 890 24

原创 (软考笔记) —— 系统架构设计师 - UML建模与架构文档化

文章目录UML建模与架构文档化UML 现状与发展UML起源UML 体系结构演变UML 的应用与未来UML基础概述用例和用例图交互图类图和对象图状态和活动图状态图活动图构件图部署图基于UML的软件开发过程软件开发过程概述基于UML的需求分析对象的设计方法系统架构文档化模型概述逻辑结构进程架构开发架构物理架构场景迭代过程个人格言UML建模与架构文档化     UML(统一建模语言)一出现,以融合了多种面向对象建模方法,简洁的图形与符号,直观的表示和强大的表示能力,得到工业界与学术界认可。它通过统一的表示法,

2021-05-29 15:51:30 1492 7

原创 (经验杂记) —— Visual Studio 运行程序时关闭Assert的弹出

文章目录关闭程序运行时的一系列Assert的显示背景概述使用场景修改方法个人格言关闭程序运行时的一系列Assert的显示背景概述     在日常的一些编码过程中,我们有时候需要在Debug版本下写一些关于Assert的方法来提示自己哪里出的问题,并且有时候没实现的方法被调到了也会去使用Assert去显示问题,那么又时候就会有些问题,其实有些Assert并不影响程序的继续运行,其实就是告知你这个地方还没写记得写,那么就会出现很尴尬的情况,就是程序运行起来之后,总会有些地方疯狂的Assert弹出来很打扰我

2021-05-28 11:50:42 1155 6

原创 (软考笔记) ——系统架构设计师 - 软件架构设计笔记

文章目录软件架构设计软件架构设计

2021-05-28 10:05:50 1566 4

原创 (软考笔记)—— 系统架构设计师 - 系统开发基础知识笔记

文章目录系统开发基础知识笔记软件开发方法软件开发生命周期软件开发模型瀑布模型系统开发基础知识笔记软件开发方法软件开发生命周期     传统的软件生命期(software life cycle)是指软件产品从形成概念(构思)开始,经过定义、开发、使用和维护,直到最后被废弃(不能再使用)为止的全过程。按照传统的软件生命周期方法学,可以把软件生命期划分为软件定义、软件开发、软件运行与维护三个阶段。软件定义时期问题定义: 按照软件系统工程需求来确定问题空间的性质。可行性研究: 确定问题是否有解,解决

2021-05-26 14:57:12 1167 2

原创 (软考笔记)系统架构设计师笔记 ——第三章 - 信息系统基础知识笔记

文章目录信息系统基础知识笔记信息化概述定义信息化的内容信息化的经济社会意义信息化对组织的意义信息化的需求信息化战略信息系统工程总体规划目标范围信息系统工程总体规划的方法论信息系统工程总体规划的软件架构组成总体规划的实现过程信息化典型应用政府信息化与电子政务企业信息化与电子商务企业资源规划的结构和功能客户关系管理在企业的应用企业门户信息系统基础知识笔记信息化概述定义     目前,关于信息比较统一的和科学的定义是系统论对信息的概括,即信息是对客观事物变化和特征的反映,是客观事物之间相互作用和联系的表征

2021-05-24 16:26:39 549

原创 (软考学习记录) —— 系统架构设计师教程 - 第二章:计算机网络基础知识笔记

文章目录数据库系统基础知识笔记关系型数据库基础实体-联系(E-R)模型数据规范化事物管理关系数据库设计分布式数据库系统分布式数据库的体系结构商业智能数据仓库数据仓库的结构多维分析海量数据分析器 —— OLAP数据挖掘计算机网络概述OSI开放系统互联参考模型OSI 协议集广域网局域网Internet及其应用TCP/IP模型网络管理和网络安全计算机网络安全网络工程存储以及负载均衡技术RAID技术网络存储技术负载均衡技术多媒体技术及其应用媒体多媒体多媒体技术的应用领域系统性能性能指标计算机性能指标路由器性能指标交

2021-05-20 19:04:33 1057 22

原创 (软考学习记录) —— 系统架构设计师教程 - 第一章:操作系统基础知识笔记

操作系统知识笔记    计算制系统由硬件和较件两部分组成。计算柳系统中的软件通常分为系统软件和应用软件两大类。    系统软件支持应用软件的运行,为用户开发应用软件提供平台,用户可以使用它,但不能随意修改它。常用的系统软件有操作系统、语言处理程序、连接程序、诊断程序和数据库管理系统等。     应用软件是指计算机用户利用计算机的软、硬件资源为某一专门的应用目的而开发的软件。例如∶科学计算、工程设计、数据处理、事务处理、过程控制等方面的程序,以及文字处理、表格处理、辅助设计(CAD)和实时处理等软件。

2021-05-20 17:43:09 968 1

原创 (C++ 杂记) —— 自己编写一个math类

文章目录自己编写一个math类概述math代码个人格言自己编写一个math类概述     在我们日常编程的过程中,经常有需要去用到处理一些数学的函数,利用他们来计算一些结果,然后很多时候,我们不止需要用到math.h提供的基础能力,因为其大部分提供的是C的基础能力,并不是面向对象的,因此就产生了一种需求,我们需要实现一个面向对象的一个有一个基础的数学能力的库,当然,自己实现的只是一个很小的需求,如果想要使用强大的数学库,自然有一些开源的,例如boost::math, opencv 里面的矩阵运算的库,

2021-04-30 17:12:48 471 2

原创 (C++ 杂记) —— C++ 类class 和 结构体 struct 的区别

文章目录C++ 类class 和 结构体 struct 的区别概述差异和举例个人格言C++ 类class 和 结构体 struct 的区别概述     今天在逛知乎的时候,看到了有人在问,类和结构体的区别,然后想想自己好久没有去思考这类基础的问题了,正好借着这个机会写一篇小的文章来记录这次突然的发现。其实我们日常开发过程中,经常会用到class和struct,但是C++倾向明显的同事就会喜欢用class,C倾向明显的同事就喜欢用struct,那么,他俩在目前的C++体系里面,有什么异同呢?这篇文章希望

2021-04-28 13:54:27 311

原创 (C++ 成长记录) —— C++强制类型转换运算符(static_cast、reinterpret_cast、const_cast和dynamic_cast)

文章目录C++强制类型转换运算符附录专业词汇百科参考文献概述类型转换概念介绍异同对比static_castreinterpret_castconst_castdynamic_cast小结个人格言C++强制类型转换运算符附录专业词汇百科C语言C++指针强制类型转换参考文献     声明: 本文有部分内容直接来自参考文献,侵删。C++强制类型转换运算符(static_cast、reinterpret_cast、const_cast和dynamic_cast)概述     我在日

2021-04-27 15:46:44 285 2

原创 (C++ 成长记录) —— 实现类似std::vector的Array类

文章目录(C++ 成长记录) —— 实现类似std::vector的Array类概述标准库自行实现的Array类编写简单的测试程序个人格言(C++ 成长记录) —— 实现类似std::vector的Array类概述    Array是平常我们在程序开发过程中经常会用到的一种数组,是一种使用非常方便的线性结构。一般只要是准备自行去写一些稍微大型一些的软件,很多时候会想着自己来封装一个类似的数组的能力,拥有一定容器能力的数组类,那么,应该思考,一个数组,应该具备怎样的能力呢?我们首先看看std对于Vect

2021-04-26 19:47:20 332

原创 (C++ Std 学习) —— 重载函数的地址

文章目录(C++ Std 学习) —— 重载函数的地址概述和背景参考文本和自行翻译案例代码分析自己编写的代码中使用分析个人格言(C++ Std 学习) —— 重载函数的地址概述和背景     在日常学习工作中,很多时候都会用到函数,还要理解函数的地址是如何生成和使用的,不过绝大部分而言都是直接使用类对象指针来调用对应的函数即可,这个过程在内存中其实就是找到对应的对象的其实地址,然后加上该函数在该类对象中的函数地址片偏移量即可找到对应的函数的一个过程。那么,C++Std中又是如何定义关于函数地址的重

2021-04-19 11:59:28 289 2

原创 (C++ Std 学习) 访问说明符的理解和运用(public, protected, private)

文章目录(C++ Std 学习) 访问说明符的理解和运用(public, protected, private)概述和背景参考文本和自行翻译定义案例代码分析细节自己编写的代码中使用分析个人格言(C++ Std 学习) 访问说明符的理解和运用(public, protected, private)概述和背景     自己平时写代码的过程中,其实是经常是会用面向对象的基本的操作的,就是访问控制说明嘛,有些变量不想暴露,只提供公共的接口之类的,有些接口和变量想要有子类继承或者重写,就能够提供一个基本的访问控

2021-04-14 10:51:39 440

CppDesignPattern.zip

个人学习桥接模式所记录的代码项目。需要的可自行下载学习使用。 不设置任何限制,当然如果有什么相关的问题可以通过CSDN评论进行联系,看到会回,佛系程序员,慢慢过日子学习点小东西,继续加油,共勉。

2020-04-20

高一名单-作业完成.xlsx

个人博客中练习所完成的文档。可以用作参考文档来进行练习。

2019-06-02

高一名单-原始文件.xlsx

Excel个人练习文件分享,是我准备提供的博客的里面的一个原始数据文件。

2019-06-01

Objective-C 基础语法学习项目

Objective-C 基础语法学习项目

2015-04-16

空空如也

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

TA关注的人

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