- 博客(24)
- 资源 (2)
- 收藏
- 关注
原创 C++位运算
位运算是一种在计算机编程中直接操作二进制位的操作方式。它可以高效地处理数据,并且在某些场景下比普通的算术运算更快。位运算通常用于低级编程、硬件编程、性能优化和加密算法等领域。
2024-08-01 17:26:50
988
原创 小工具使用记录
2、点击PDFBookmark.bat,使用load加载已有书签的原加密文件。1、使用smallpdf转换器中的PDF解除密码进行解密。3、点击save,打开已解密的文件,将书签迁移。PS:此处为日常小工具使用记录,防止自己不记得。
2023-05-19 00:25:39
106
原创 Opengl投影变换理解
坐标到达观察空间之后,我们需要将其投影到裁剪坐标。裁剪坐标会被处理至-1.0到1.0的范围内,并判断哪些顶点将会出现在屏幕上。而[-1.0,1.0]构成的正方体又叫规则观察体(Canonical View Volume, CVV)一、流程计算机显示器是一个 2D 表面。OpenGL 渲染的 3D 场景必须作为 2D 图像投影到计算机屏幕上。1、定义投影矩阵,指定了一个范围的坐标,以此来模拟相机的可视范围2、投影矩阵接着会将在这个指定的范围内的坐标变换为标准化设备坐标的范围(-1.0, 1.0)。所
2022-03-24 20:52:58
6283
4
原创 Const限定符
由于C++ Primer关于const的描述逻辑有些混乱,故总结一下一、判断原则首先将const分为顶层const和底层const。顶层const限定的是当前变量(基本类型、指针)是个常量;底层const(引用、指针)限定其所引用(指向)的对象是个常量①注意括号内容,指针既可为顶层也可为底层,引用只能是底层,基本类型(算术、字符)只能是顶层②注意常量的地址属于底层const③const限定指针时,const在基本类型右边为顶层const,在左边为底层const顶层const在初始化或拷贝时,若
2022-03-21 12:35:20
1587
原创 Python中的数学运算
一、加减乘除运算张量(数组)之间的+、-、*、/,在python支持自动Broadcast机制。不过不是所有的张量之间都支持,需要进行普适性判断Broadcasting普适性判断:首先将两个shape靠右对齐,对于长度为1的维度,默认这个数据普遍适合于当前维度的其他位置;对于不存在的维度,则在增加新维度后默认当前数据也是普适于新维度的,从而可以扩展为更多维度数、任意长度的张量形状。若对齐之后shape对应维度的值都大于1且不相等,则不满足。例如:a.shape:(2,32,32,4),b.
2022-03-17 10:51:49
3340
原创 深度学习服务器配置过程
1、安装系统1.1 系统配置:显卡:Tesla P100;系统:Ubuntu16.04-desktop(英文版)软件:cuda+cudnn+docker+nvidia-docker1.2 换源ubuntu16.04换国内最快源(其它版本也适用)1.3 安装中文输入法System Settings->Language Support(弹出界面,选择install)->Install/Remove Languages->Chinese(Simplified)->再
2022-02-26 20:05:46
3902
2
原创 tf padding方式和输出特征图大小关系
一、基本公式(普通卷积)输出大小 = (输入大小-卷积核大小+2*填充大小)/步长+1(向下取整)二、普通卷积padding=‘SAME’:输出大小=输入大小/步长(向上取整)(SAME方式时padding大小是由tf自动决定,一般都是将输入大小填充到步长的整数倍)padding=‘VALID’:输出大小=(输入大小-卷积核大小+1)/步长(即无填充时的最基本公式)示例如下:# SAME方式x = tf.random.normal([2,5,5,3])w = tf.random.normal
2021-12-30 11:35:26
1195
原创 Qt 批量导入库
有两种方式:1.LIBS +=2.#pragma comment(lib,“XXX.lib”)针对第一种方式:MINGW和MSVC均可使用,示例如下CASROOT = D:/OpenCASCADE7.2.0/opencascade-7.2.0//自己在系统环境变量path中添加的一个路径 win32 { DEFINES += \ WNT INCLUDEPATH += \ $$(CASROOT)/inc//环境变量需要加(),若仅为路径,
2021-05-05 20:21:16
3052
原创 LINK2019
我遇到的这种报错的原因有二:1.缺少相应的.lib文件;2.函数定义,与声明不一致;针对第一种:1.已知所需导入的全部库,则只需要检查少了哪个;2.未知缺少的是哪个库,则根据报错的函数在相应的项目解决方案里查找,找到头文件所在库例如上述IFSelect_ReturnStatus是在IFSelect_ReturnStatus.hxx(Open Cascade库,OCC)头文件里定义的,打开OCC解决方案,搜索头文件名称,如图所示,所缺库为TKXBase知道缺少的库,只需要将其添加到库目录即可.
2021-05-05 19:55:41
1648
原创 Qt程序异常崩溃
找到build文件夹,双击exe文件,会提示缺少dll、lib文件之类,然后只需要找到对应文件所在目录,复制到build文件夹下即可
2021-04-30 10:14:00
506
原创 视差贴图和法线贴图的区别与联系
一、基本概念法线贴图:又叫凹凸贴图,一种每个fragment使用各自的法线,替代一个面上所有fragment使用同一个法线的技术,如下图右边所示。分为局部空间和切线空间两种,网上常见的淡蓝色纹理为切线空间法线贴图。视差贴图:属于位移贴图(Displacement Mapping)技术的一种,它对根据储存在纹理中的几何信息对顶点进行位移或偏移。发展:普通视差->陡峭视差映射->视差遮蔽映射。二、区别目的法线贴图是为了模拟凹凸表面的光照效果,视差贴图是为了模拟凹凸表面本身。作用
2021-04-07 16:48:26
1179
原创 Qt Creator 示例缺少
问题:之前安装Qt时,为了快速测试,少安装了几个模块,导致在欢迎界面少了许多示例。解决方法:在安装目录下找到MaintenanceTool.exe,双击运行,更新组件,下载需要的部分。下载完毕后,重启Qt即可...
2021-04-06 12:07:03
1549
原创 FFmpeg常用命令
方便自己以后查找1.将单声道视频转为双声道ffmpeg -i *.mp4 -ac 1 *.mp42.合并多个音视频文件为一个文件ffmpeg –i video_file –i audio_file –vcodec copy –acodec copy output_file
2021-03-25 15:18:23
899
原创 OSG3.4.0+msvc+VS2019+Win10编译指南
一、参考教程:[1]WIN10系统下OSG+VS2017或者vs2019环境搭建[2]Win10+Qt5.6+MSVC2015+OSG3.4.0环境配置[3]OSG3.6.0+Qt5.8_msvc+VS2015+Win10编译指南[4]Osg使用osgQt与Qt结合使用(附项目)(1)[5]OSG开发笔记(一):OSG介绍、编译二、说明1.单纯只使用OSG本身且在vs下编辑,第一个教程就行(适用于OSG大部分版本)2.单纯使用OSG但追求跨平台,参考第二个和第三个教程即可3.OSG+Qt可
2021-03-14 20:43:00
1242
原创 Win10系统盘下装Ubuntu18.04
Win10系统盘下装Ubuntu18.04前期准备步骤关键点前期准备DiskGenius、Ubuntu 18.04镜像文件步骤1.使用DiskGenius将系统盘分出合适大小的空闲分区(我是直接分出160多G的固态)2.使用合适的工具制作系统,如UltraISO(我是直接将镜像解压缩后,整个复制到U盘)3.重启电脑,按对应主板的快捷键进入BIOS界面(我的是MSI迫击炮,按del键)4.设置优先启动项,将U盘启动放在首位5.F10退出保存后进入Ubuntu系统界面6.点击安装Ubuntu
2021-01-08 11:46:54
168
原创 使用stb_image库的注意事项
1.导入stb_image库除了#include <stb_image.h>外,在这之前还需要加上#define STB_IMAGE_IMPLEMENTATION进行声明。否则会报下列错误:2.导入位置注意如果还导入了model.h头文件,则需将#define STB_IMAGE_IMPLEMENTATION #include <stb_image.h>写在#include <model.h>之后,否则会重复定义(因为model.h已经导入了stb_image
2020-10-29 20:04:16
1713
原创 #include 搜索路径
include有两种形式:1,#include " *.h":表示先在当前工程目录下查找头文件,如果没有再按标准方式查找;这种方式常用于用户自定义头文件的查找。2,#include <*.h>:表示按标准方式查找头文件,即直接到系统指定的某些目录中去找某些头文件。 默认的路径有/usr/include, /usr/local/include关于第二种方式,我们可以通过自己建立一个专门放头文件的文件夹并添加到默认搜索路径中,以实现多个工程共用,方便查看与管理。我在D盘新建一个Op
2020-09-25 08:09:22
1399
原创 PBRT并行化研究
一、并行模型的设计 PBRT是由Matt Pharr 和Greg Humphreys完成的一个经典的光线追踪程序,它十分注重于光线追踪算法的效率。而光线追踪算法的一个最大的难点就是其性能问题,算法中需要对每个像素点进行光线的反向追踪,并且反向追踪时每碰到一个物体,就要考虑其表面的反射、折射等现象。其中存在大量的并行机会,因此并行化一直是光线追踪算法的一个研究热点问题。 光线追踪算法的并行化,有两种基本思路:一是依次对每个像素点的光线追踪进行并行,同时执行多个相邻像素点的光线追踪,这种方法并行粒度较细
2020-09-24 08:56:35
550
原创 OpenGL中VAO、VBO和EBO的区别
VBO(Vertex Buffer Object)顶点缓冲区对象VAO(Vertex Array Object)顶点数组对象EBO(Element Buffer Object)索引缓冲对象三者联系与区别
2020-09-23 21:10:43
1567
原创 动态规划与分治、贪心的区别
**一个问题必须拥有重叠子问题和最优子结构,才能使用动态规划。**一、动态规划与分治两者都是将问题分解为子问题,然后合并子问题的解,从而得到原问题的解。 分治:分解的子问题是不重叠的。例如快速排序和归并排序,每个子问题即需要排序的序列都是不同的。且分治法解决的问题不一定是最优化问题。 动态规划:重叠子问题,例如经典数塔问题,要求从第i行第j个数字出发的到达最底层的所有路径中能得到的最...
2020-04-05 11:35:09
590
原创 带权并查集简易解法
P1113 食物链描述动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是"1 X Y",表示X和Y是同类。第二种说法是"2 X Y",表示X吃Y。此人对N个动物,用上述两种说法,一句接...
2020-04-03 15:59:07
126
原创 并查集+动态规划
P1123 搭配购买描述Joe觉得云朵很美,决定去山上的商店买一些云朵。商店里有n朵云,云朵被编号为1,2,……,n,并且每朵云都有一个价值。但是商店老板跟他说,一些云朵要搭配来买才好,所以买一朵云则与这朵云有搭配的云都要买。但是Joe的钱有限,所以他希望买的价值越多越好。格式输入格式第1行n,m,w,表示n朵云,m个搭配,Joe有w的钱。n,m≤1000第2~n+1行,每行ci,d...
2020-04-03 12:06:47
328
原创 C++ set、vector访问特定元素
一般情况下,set通过迭代器访问元素,而vector既可通过下标,又可通过迭代器。但通过指针,可以实现访问特定元素,而set和vector略有不同。 set:访问首元素,*st.begin();访问尾元素,*(--st.end()); vector:访问首元素,*vt.begin();访问尾元素,*(--vt.end())或*(vt.end()-1); 附...
2020-03-20 12:49:43
4490
计算机统考408思维导图.zip
2020-04-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人