- 博客(1388)
- 资源 (1)
- 收藏
- 关注
原创 ubuntu20.04打不开终端的解决方法
如果需要英文,则切换到地区Unit states,语言美国英语,在setting里,改变地区中国,语言chinese,即可。重启后不选择保留旧文件。搜索了下,各种都有。
2024-03-28 08:51:12 37
原创 9,图像转置
即宽高的大小互换,像素的x坐标和y坐标也互换。//指向原DIB第j行i列的像素的指针。//指向转置DIB第i行j列像素的指针。//指向转置图像对应像素的指针。//针对图像该行的每列进行操作。//针对图像每行进行操作。//新图像每行字节数。//指向原像素的指针。
2024-03-27 09:09:27 114
原创 二,几何相交-5,BO算法实现--(1)退化情况
(4)有四条线段分别两两相交,其中这两个交点同时过扫描线。(1)扫描线与线段垂直,即该线段的左右端点同时达到扫描线。右边是从上到下四种退化情况,(其中四,五个图是一种情况)(2)一条线段的左端点和另一条线段的右端点相交。(2)两条线段搭接,即,有无数个交点。其中,左下三种从左到右分别是。(1)两条线段的右端点相交。(3)两条线段的左端点相交。上图是退化情况,不考虑。(3)多条线段交于一点。
2024-03-27 08:19:14 121
原创 2023年3月25日--3月31日(全面进行)
ue的rpg和底层渲染。因为ue的工作太难找了,找到也让你降薪,索性不考虑跳槽了。如果只搞ue独立游戏,均衡不了工作和底层的学习,浮于表面,丧失竞争力。本周计划:ue rpg(p205-209),ue底层渲染(p4b4-p4b8)周一:ue rpg(p205),ue底层渲染(p4b4)周二:ue rpg(p206),ue底层渲染(p4b5)周三:ue rpg(p207),ue底层渲染(p4b6)周四:ue rpg(p208),ue底层渲染(p4b7)周五:ue rpg(p209),ue底层渲染(p4b8)
2024-03-25 18:50:24 207
原创 2024年3月18日---3月24日(全面进行,本周10小时,合计2613小时,剩余7387小时)
当然,也要把ue继续进行着。如果只搞ue独立游戏,均衡不了工作和底层的学习,浮于表面,丧失竞争力。计算几何(2e2-2f2),数字图像处理(5.6-7.1)+vc图像处理每天一例,测量学基础(6.3-6.6),ue rpg(p202-p206),ue底层渲染(4b2-4b6),osg视频一个小执行,其余时间均进行公司源码。计算几何(2e2),数字图像处理(5.6)+vc图像处理每天一例,测量学基础(6.3),ue rpg(p202), ue底层渲染(4b2),osg视频一个小执行,其余时间均进行公司源码。
2024-03-18 06:58:31 225
原创 8-图像缩放
height的内存,再分别赋值即可。//循环变量(像素在新图中的坐标)//指向缩放图像对应像素的指针。//计算放缩后的图像宽度和高度。//暂时分配内存,以保存新图像。其实,就是开辟一个zoom。//像素在原DIB的坐标。//指向原像素的指针。
2024-03-14 19:14:35 655
原创 二,几何相交---4,BO算法---(4)可能的三种情况
第三种情况,经过e和f的交点,状态pred->e->f->suc,变成pred->f->e->suc,这时候pred和f可能相交,e和suc也可能相交,需要分别做相交测试。第二种情况,经过线段e的右端点,状态pred->e->suc,变成pred->suc,这时候prd和suc可能相交,进行相交测试。第一种情况,加入线段e的左端点,那么原来的状态pred->suc变成pred->e->suc。相交测试也简单,对两线段的4个端点,做四次toleft测试即可。
2024-03-14 18:41:38 197
原创 二,几何相交---4,BO算法---(3)数据结构
数据结构分两块,一个是某一时间状态的局部相交线段。一个是事件队列,是某一时刻局部相交线段的集合。
2024-03-13 07:49:41 243
原创 二,几何相交---4,BO算法---(2)比较和排序
在某一时刻x=t,扫描线从左到右时,一部分线段会与扫描线相交,此时此刻,线段可以分成高低顺序,那么对于给定两条线段,是如何变化的呢?有两个端点,左端点和右端点,2,在右端点右边,仍然也只有一条线段与扫描线相交,1,在左端点左边,只有一条线段与扫描线相交,3,在左端点之间,扫描线与两条线段都相交。
2024-03-11 19:09:05 186
原创 2024年3月11日-3月17日(全面进行,10小时,合计2603小时,剩余7397小时)
ue的rpg和底层渲染。如果只搞ue独立游戏,均衡不了工作和底层的学习,浮于表面,丧失竞争力。计算几何(2d2-2e2),数字图像处理(5.2-5.6)+vc图像处理每天一例,测量学基础(6.2-6.5),ue rpg(p198-p202),ue底层渲染(4b1-4b5),osg视频一个小执行,其余时间均进行公司源码。计算几何(2e2),数字图像处理(5.6)+vc图像处理每天一例,测量学基础(6.4.2),ue rpg(p202), ue底层渲染(4b5),osg视频一个小执行,其余时间均进行公司源码。
2024-03-11 09:24:14 343
原创 二,几何相交---4,BO算法---(1)接近性和可分离性
3,从左向右扫描线只需要观察每个线段的两个端点和一些可能的相交点。1,如果一条直线(比如竖直)可以分开两个线段,则这两个线段不相交。2,只需要观察与隔离线相交的几个线段。
2024-03-08 08:25:21 169
原创 7,图像镜像变换
水平镜像就是x=图像宽度-原来的x,垂直镜像就是y=图像高度-原来的y。//计算该像素在原DIB中的坐标。//计算该像素在原DIB中的坐标。//暂时分配内存,以保存新图像。//暂时分配内存,以保存新图像。在构造函数中,读取文件后,调用。//指向复制区域的指针。//指向复制区域的指针。
2024-03-06 19:24:19 323
原创 二,几何相交----3.线段相交测试
则可以使用burteforce两两测试,使用四次toleft即可。比如,线段(a,b)和线段(c,d)相交,必然线段的两个端点在另一个线段的两侧。这样时间复杂度就是成为了o(n2)其实,时间复杂度可以降低到o(nlogn+i),i是交点个数。将与X轴平行的线段扩展到一般平面上的线段。
2024-03-06 09:14:57 100
原创 6,图像平移
如果dstX = srcX + deltaX,dstY = srcY + deltaY,那么,将(dstX,dstY)的位置赋值(srcX,srcY)的像素。其余的可以暂时为白色。//判断是否在新图像范围内,如果不在,则直接赋值255。//初始化新分配的内存,设定初始值为255。//计算该像素在原DIB中的坐标。//暂时分配内存,以保存新图像。在初始化时,加载后,调用即可。//指向原图像的指针。//图像每行的字节数。//复制平移后的图像。onDraw()不变。
2024-03-05 08:47:58 281
原创 二,几何相交----2,区间相交检测IID
3,线性扫描,从小到大,根据模式判断是否相交,假设不相交,则应该是LRLR的模式,即首尾相连;如果有LL或者RR,则相交。对于空间的线段是否相交,假设都是与x平行,则需要三步。时间复杂度是nlog(n),在第二段排序上。1,对各线段左右端点设置为L,R标志。2,从小到大进行排序。
2024-03-04 18:36:21 142
原创 2024年3月4日-3月10日(全面进行,17小时,合计2593小时,剩余7407小时)
ue的rpg和底层渲染。如果只搞ue独立游戏,均衡不了工作和底层的学习,浮于表面,丧失竞争力。计算几何(2c1-2d3),数字图像处理(4.1-5.1)+vc图像处理每天一例,测量学基础(4.3-6.1),ue rpg(p193-p197), ue底层渲染(5A3-5A7),osg视频一个小执行,其余时间均进行公司源码。计算几何(2c1),数字图像处理(4.1)+vc图像处理每天一例,测量学基础(4.3),ue rpg(p193), ue底层渲染(5A3),osg视频一个小执行,其余时间均进行公司源码。
2024-03-04 08:10:59 208
原创 2024年3月计划
如果只搞ue独立游戏,均衡不了工作和底层的学习,浮于表面,丧失竞争力。2024年3月4日–3月10日,计算几何(2c1-2d3),数字图像处理(4.1-5.1)+vc图像处理每天一例,测量学基础(4.3-6.1),ue rpg(p193-p197), ue底层渲染(5A3-5A7),2024年3月11日–3月17日,计算几何(2d4-2e),数字图像处理(5.2-5.6)+vc图像处理每天一例,测量学基础(6.2-6.5),ue rpg(p198-p202),ue底层渲染(5A8-5A12),
2024-03-04 08:00:24 191
原创 5,水平百叶窗和垂直百叶窗
将宽度设置为若干份,开始显示时若干个起始线,每个起始线间隔相同的距离。显示过程中,每次各个起始线同时向下(或向右)显示一行(或一列)图像,直到图像显示完毕。
2024-02-28 19:59:47 125
原创 二,几何相交-----1,预备---(3)MaxGap最大缝隙
2,如果距离比较悬殊,则很明显有空桶,则剔除空桶后,前一个桶的最后一个元素和后一个桶的第一个元素之间就有若干个桶的距离。而同一个桶内的相邻元素之间的缝隙是小于一个桶的,所以成立。2,借助散列表,将[lo,hi)均匀分配到0到n-2,共n-1个桶中,而最大值hi放到第n-1个桶内。4,将每个桶的最后一个元素和下一个桶的第一个元素取出,对这些元素找最大的缝隙,即为maxGap。1,假如是相对均匀,每个桶一个元素,正好,从小到大把各个数都取出,计算这n个值两两之间的差距。如上图所示,最大缝隙用到了散列表,
2024-02-28 19:36:37 159
原创 二,几何相交---1,预备---(2)MinGap最小缝隙
最小缝隙顾名思义,找到相邻的两个元素的最小缝隙。类似于EU,先进行排序,然后两两比较相邻的差值,得出最小的那个。不妨想下,如果差值为0,则元素不唯一;如果差值不为0,则元素唯一。所以,可以把EU问题归结到到mingap,时间复杂度o(nlogn)
2024-02-27 18:48:49 127
原创 二,几何相交---1,预备--(1)元素唯一性EU
先通过o(nlogn)的时间复杂度排序(上下界都是o(nlogn),再比较相邻的两个元素即可。如何获取数组中元素的唯一性?
2024-02-26 19:15:25 116
原创 一凸包----------12,分而治之(2)
进行zigzag,如果一侧的顶点前驱和后继不是同时toleft,或者toleft,则继续找它的后继(或者前驱)。如果前驱和后继的toleft同号了,则反向计算。根据以前的方法,很可能认为是两个子凸包上顶点与上顶点相连,下顶点与下顶点相连,形成两条支撑线,缝合成一个新的凸包。在上节中,两部分子凸包有重合的部分,不简洁。这一节是沿着某个方向,子凸包不重叠,如下图。左边的子凸包的最右侧的点和左侧子凸包的最左点开始连线。这样就得到了上边的支撑线,同理,可以得到下边的支撑线,缝合成一个新的凸包。
2024-02-21 18:48:57 130
原创 一,凸包----11,分而治之(1)
对于第二种情况,如下图所示,仍然按照toleft,将凸包P2极点中的st部分保留(逆时针),将ts部分抛弃,并将st部分的极点和p1中的极点,仍然按照以公共核为中心,逆时针按照极角的大小,形成新的顶点集合。对该顶点集合再次使用Graham scan算法,形成新的凸包。1,确定公共核,该点在其中一个顶点内,设置为重心,可以任意三点的中心线交点获得重心(不用管总共多少顶点),这样,就可以以该重心点为准,按照逆时针的极角排序,获取该预处理后的顶点,根据Gramham scan算法,获取该部分凸包的顶点。
2024-02-20 08:50:01 201
原创 一,凸包-----10,GrahamScan分析
如果一共有N个顶点,初始时S栈有两个点,T栈是N-2,那么A = 2 + 2*(N-2)= 2N-2,也是O(n)2,假设初始点是Y轴负值无穷远处,则Presort,可以得知是从右到左,依次入栈,然后通过ToLeft可以获取上凸包8->7->2->1。3,同样,假设初始点是Y轴正值无穷远处,则Presort,可以得知是从左到右,依次入栈,然后通过ToLeft可以获取上凸包1->4->8。内部各边不相交,(虚线是预处理角度部分,紫色是回溯部分,黄色是判断但是没有入栈部分)所以,不会超过3n,即O(n)
2024-02-19 09:28:23 289 2
原创 2024年2月19日-2月25日(全面进行+收集免费虚幻商城资源,20小时,合计2561小时,剩余7439小时)
试试ue4 rpg+a,rpg+b的方式。
2024-02-19 08:26:07 369
原创 一,凸包------9,Graham Scan:正确性
如果当K>3时,比如由点1-9组成兔凸包后,判断10号点是否凸包,则由点8和点9组成的直线,根据toleft,判断点10是在左侧(绿色区域)还是右侧(蓝色区域),如果在左侧,则说明10号点是新的极点。从1号点是通过先下后左找到的极点,2号点是从1号点为顶点,对角度排序的最小的点,可知,1号点和2号点必然是极点,最差也会和新的点组成个三角形。如果10号点在右侧(蓝色区域),说明9号点在1,8,10三个点组成的三角形内,必须剔除掉,依次类推,必然过10号点有一条原凸包的切线,如下图所示。
2024-02-06 07:35:39 142
原创 2,cdc放缩位图
类似地,用pDC->StretchBlt来缩放,只是加上了两个参数,原始位图的宽高。//将内存设备环境复制到真正的设备环境中。//将位图选入内存设备环境。//CBitmap对象。//创建内存设备环境。
2024-02-05 19:10:17 372
原创 1,CDC显示位图
BitBlt(指定绘制区域的x坐标,指定绘制区域的y坐标,指定绘制区域的宽度,指定绘制区域的高度,指向要复制位图所在的CDC对象指针,指定原位图要绘制区域的左上角X坐标,指定原位图要绘制区域的左上角Y坐标,指定绘制方式)这个倒是简单,建立一个MFC工程,加一个图片当做资源文件。//将内存设备环境复制到真正的设备环境中。//将位图选入内存设备环境。//CBitmap对象。在OnDraw()调用。//创建内存设备环境。
2024-02-05 19:02:34 302
原创 一,凸包-----8,Graham Scan:实例
继续,从S栈的栈顶元素4和次栈顶元素3取出,画一条线(3,4),弹出T栈顶元素5,根据toleft,发现5在线段(3,4)的右侧,不符合条件,将4从S栈顶弹出。继续,从S栈的栈顶元素5和次栈顶元素3取出,画一条线(3,5),弹出T栈顶元素6,根据toleft,发现6在线段(3,5)的右侧,不符合条件,将5从S栈顶弹出。依次类推,从S栈的栈顶元素3和次栈顶元素2取出,画一条线(2,3),弹出T栈顶元素4,根据toleft,发现4在线段(2,3)的左侧,符合条件,将4压入S栈顶。
2024-02-05 08:20:39 293
原创 一,凸包.----7,Graham Scan:算法描述
如图从右到左,红色是S栈的栈顶元素和此栈顶元素,以及T栈比较的栈顶元素,这三个点进行ToLeft测试,绿色是S栈不进行比较的元素,蓝色是T栈不进行比较的元素,最终,T栈为空,S栈全为绿色。根据先下后左的方式,找到凸包的第一个元素,放入S栈,再将该点的极角,从小到大排序,放入T栈,其中,T栈的第一个元素放入S栈,形成第一个极边。S栈的栈顶元素和次栈顶元素连成直线,将T栈的栈顶元素弹出,如果T栈顶元素满足ToLeft测试,则把T栈顶元素压入S栈栈顶,依次类推,直到T栈顶为空,则S栈从下到上为逆时针的凸包。
2024-02-04 19:26:57 175
原创 一,凸包------6,构造凸包的时间复杂度下限
根据排序算法,可以在时间复杂度为o(n)的基础上,将蓝色的1,2,3,4在x轴排序,如果画一个抛物线或其他曲线,将这些点映射到抛物线上,可以看到,最左侧的点是凸包的起点,这些凸包上的点也是在x轴有序排列。类似,左边的问题就是称石块,已知问题;右边的问题就是称象,未知问题。比如曹冲称象,可以将象的重量转换为石块的重量,从而解决问题。如果能在线性时间转换输入,则两个算法时间复杂度相同。二,如何断定凸包问题时间复杂度下限是o(n)?
2024-02-03 09:52:13 153
原创 一,凸包-----5,Jarvis March
如果水平轴是X轴,竖直轴是Y轴,那么找最下面的,即Y最小的那个点,如果有若干个点都是最小的Y值,那么找最左边的,即,先找最下,再找最左,必定是凸包上的顶点。这样可以通过连接凸包上的最后一个点和未组成凸包的点的连线,查看是否有在右侧的,如果有,则说明在右侧的点比当前点更适合做凸包的边。同样从上图可以看到,组成凸包的过程0/5->1/5->2/5->3/5->4/5->5/5,找到新的合适的点后依次首尾相连。Jarvis March算法借鉴了选择排序,从未排序的数组中,选出最大值,放入已排序数组的首部。
2024-02-02 19:47:17 121
原创 一,凸包--------4,Incremental construct
如上图所示将点X加入到原凸包,(即S黄Vt蓝V所在的凸包)那么可以观察到,将会组成新的凸包XS黄Vt,也就是说,逆时针来看,保留st这段,舍弃ts这段。3,对点黄V,x->黄V这条线,黄V的直接后继(即在S黄V这段)在线的右侧,黄V的直接前驱(即在黄V到t这段)在线的左侧,即R+L。4,对点蓝V,x->蓝V这条先,蓝V的直接后继(即在t蓝V这段)在线的左侧,蓝V的直接前驱(即在蓝V到s这段)在线的右侧,即L+R。2,xs也是凸包的切线,不管t是直接后继也好,直接前驱也好,都在xs这条线的左侧,即L+L。
2024-02-01 09:10:27 204
原创 2024年2月计划(全面进行+收集虚幻商城免费资源)
当然,也要把ue继续进行着。ue的rpg和底层渲染。收集下虚幻商城的免费资源,万一以后做独立游戏用得到。所以对于计算几何,图像处理,gps原理,计算机视觉,点云,slam,导航原理,模式识别,等进行全面学习。周六日进行完一轮即可(包括相关内容的编程)。或者阅读相应书籍,不必考虑毕其功于一役。还有一个原因,就是ue的工作太难找了,找到也让你降薪,索性不考虑跳槽了。周一到周五,每个视频教程都进行一部分。根据规划,为了要考虑把产品代码吃透。
2024-01-29 19:56:34 106
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人