前面几日我重新实现了迷宫的自动生成方法,并且添加了迷宫自动寻路方法。
有了一个独立于GUI的迷宫库,我开始迫不及待地实现三维迷宫了!下面是我在开发迷宫程序中遇到的问题。
1、怎样将迷宫类的行和列映射到真实的三维坐标中?迷宫应该用哪个参考系来描述?其实我在制作的时候为了简化,将二维迷宫的左上角与三维的原点重合,二维迷宫的右对应三维的X轴正方向,迷宫的下对应Z轴的正方向。
2、迷宫的“上、下、左、右”在三维中应该叫做什么?在确定好迷宫的位置后,我们将迷宫的上对应Z轴的负半轴,下对应Z轴的正半轴,左对应X轴的负半轴,右对应Y轴的正半轴。
3、三维点绘制顺序以及OpenGL裁剪模式造成的一些面不可见问题。
这个问题是我在编写二维迷宫没有想到的。
主要是因为二维迷宫中描述墙是用一条直线,而到了三维则是一个面。
由于在OpenGL中有裁剪模式可以选择,我使用了glFrontFace(GL_CW);//顺时针的绘制为正面glEnable(GL_CULL_FACE);//剔除不是正面的面进行设定,也就是说,所有在摄像机看来是逆时针绘制的图形都无法显示。
因此我不得不用同样的顶点绘制两个面。
下面是相关的函数:voidDrawInnerWall(Point3F&p1,Point3F&p2,Point3F&p3,Point3F&p4){glTexCoord2f(0.0f,1.0f);glVertex3fv(p1);glTexCoord2f(1.0f,1.0f);glVertex3fv(p2);glTexCoord2f(1.0f,0.0f);glVertex3fv(p3);glTexCoord2f(0.0f,0.0f);glVertex3fv(p4);}voidDrawOuterWall(Point3F&p1,Point3F&p2,Point3F&p3,Point3F&p4){glTexCoord2f(1.0f,1.0f);glVertex3fv(p1);glTexCoord2f(0.0f,1.0f);glVertex3fv(p2);glTexCoord2f(0.0f,0.0f);glVertex3fv(p3);glTexCoord2f(1.0f,0.0f);glVertex3fv(p4);}在编写这些函数的时候尤其注意纹理坐标的绘制顺序。
可以在纸上绘制一个草图。
下面是我调用的代码:if(Cell_UpWall(cell)){DrawInnerWall(p8,p7,p3,p4);DrawOuterWall(p7,p8,p4,p3);}4、怎样设置阻挡?设置阻挡的基本原则还是先检测后执行。
首先我先尝试着执行走一步,再判断这一步是不是出现了越界问题。
如果出现了越界问题,那么不执行这一步,否则执行这一步。
为了不让我们无限地靠近墙,我设定了一个gap,即摄像机必须与墙保持gap的距离。
下面是我相关的代码:boolView3D::CanGo(Maze&maze,floatstep){staticfloatgap=m_CellSize.w/8.0f;//摄像机与墙最近不能超过的间隔constPoint3F&pos=m_Camera.Pos();Point3FtryPos;if(pos.y>0&&pos.y(row-1)*m_CellSize.w);if(
2023/9/28 16:29:52 737KB opengl 游戏 摄像机
1
为提高分布式光纤拉曼测温系统的测量速度和测量准确度,提出了一种自补偿光纤损耗及光纤色散的温度解调方法,并进行了实验验证。
该方法对斯托克斯与反斯托克斯后向散射信号进行了损耗修正,避免了测温前对整条传感光纤进行定标处理的过程,减小了系统的运行时间;
采用色散补偿平移算法对斯托克斯后向散射信号的位置进行修正,获得了与反斯托克斯后向散射信号相同位置处的斯托克斯后向散射信号的强度,降低了光纤色散对温度解调的影响,提高了系统的测温准确度。
实验结果表明,当光纤传感距离为5.8km时,温度波动由9.01℃下降到0.57℃,测温准确度由5.50℃优化至0.87℃。
2023/9/28 3:33:56 9.23MB 光通信 分布式光 拉曼测温 光纤色散
1
Gorgonia是一个有助于在Go中促进机器学习的图书馆。
轻松编写和评估涉及多维数组的数学方程式。
如果听起来像或,那是因为想法很相似。
具体来说,该库是像Theano这样的低级库,但具有更高的目标(如Tensorflow)。
Gorgonia:可以执行自动区分可以执行符号区分可以执行梯度下降优化可以进行数值稳定提供许多便利功能来帮助创建神经网络相当快(与Theano和Tensorflow的速度相比)支持CUDA/GPGPU计算(尚不支持OpenCL,发送拉取请求)将支持分布式计算目标Gorgonia的主要目标是成为一个高性能的基于机器学习/图形计算的库,可以跨多台机器进行扩展。
它应该将Go(简单的编译和部署过程)的吸引力带给ML世界。
目前距离那里还有很长的路要走,但是婴儿台阶已经在那里。
Gorgonia的次要目标是提供一个探索非标准深度学习和神经网络相关事物的平台。
这包括诸如新希伯来语学习,切角算法,进化算法之类的东西。
为什么要使用G草?使用Gorgonia的主要原因是让开发人员感到舒适。
如果您正在广泛使用Go堆栈,现在就可以在已
2023/9/25 4:07:11 79.98MB go golang machine-learning deep-neural-networks
1
保留原有所有功能,新增直接从mapinfo图层输出googleearthkml文件的工具。
Mapinfo2Googleearth将ADA_CDMATool基础上生成的CDMA_Cell_Map_NB图层直接转为googleearth的kml文件。
kml保留扇区的三叶草图形,全向站用六边形标识。
///////原有功能/////////ADACDMAToolHelp扇区信息表格式 扇区信息表:CdmaCellInfo.xls。
“Bearing”列为方位角,“radius”列为半径,“FREQ”列为不同频率,“H_BeamWidth”为扇区水平瓣宽,“Longitude”经度,“Latitude”纬度。
“扇区类型”列用“射频拉远”标识是否RRU站。
“基站名”列标识站名或者射频拉远站的施主站名。
“物理地址”列标识实际站点站名。
“NeighborNumber”列保存对应扇区的邻小区数。
“N01”记录第一个邻小区的小区号,必须放在第24列。
MakeCell用来生成扇区结构的mapinfo图层,用不同的方位角和半径来区分同一物理地址不同频点的扇区。
扇区信息表:CdmaCellInfo.xls,放在和本插件同一目录下。
并在同一目录下生成图层CDMA_Cell_Map_NB。
下图即为生成的基站扇区图,圆形为全向站(包括室分系统)注:以下所有的工具均需要在生成的CDMA_Cell_Map_NB图层上工作!RRULine 用来生成RRU站和施主站之间的连线。
用箭头工具点击扇区,如果扇区是RRU站则画出其与施主站之间的连线。
用RECT工具进行区域选择,程序会将区域范围内的RRU站与施主站之间连线。
DrawRRULineall 一次性生成CDMA_Cell_Map_NB图层中所有RRU站与其施主站间的连线。
注:生成全网的RRU联线,所需时间较长。
FindPN 用来查找CDMA_Cell_Map_NB图层中所有指定PN的扇区,填充颜色并标注PN。
可以用此来检查PN复用距离。
下图为findPN274的结果,标注PN274并红色填充对应扇区。
NBCheck 显示所选择扇区的所有邻小区并用颜色填充。
可以用此来查看是否有明显的PN漏配。
如果点击选择的位置有多个扇区时,会弹出选择对话框供用户确定扇区。
PNOneWayCheck点击图层,输出所点击扇区的邻小区重复PN信息,或者多余邻小区信息(多余邻小区为小区号已经不在现网中)。
注:PNOneWay和Twoway与某一地点的覆盖有很大关系,并不仅仅是邻小区设置的问题,程序中只是检查了基站邻小区的PN是否有重复PNTwoWayCheck 检查所点击扇区的邻小区、所有二次邻小区(邻小区的邻小区)之间的PN是否有重复。
如果二次邻小区PN重复,则可能存在PNTwoway的风险print出PNTwoway点位的Cell信息,在map上连线,显示造成Twoway的邻小区路径。
注:此程序运行时间视邻小区个数与PN重复数有关,在2min~10min左右注:PNOneWay和Twoway与某一地点的覆盖有很大关系,并不仅仅是邻小区设置的问题,程序中检查了基站邻小区、所有二次邻小区的PN是否有重复PNTwoWayCheck2 检查所点击扇区的邻小区与二次邻小区之间的PN复用关系,不检查二次邻小区之间的复用关系。
用不同的颜色填充和连线显示出可能存在的PNTwoWay,此工具检查出来的PNTwoWay结果比PNTwoWayCheck检查出来的结果更有风险。
话统数据分析 选择需要分析的数据列,或者输入需要分析的数据列(输入的列名要与CdmaCellInfo.xls中的列名完全一致),输入分析数据的最大值和5类层级的填充颜色和范围。
用不同的颜色标识属于不同范围的扇区,并用图示标识出来。
2023/9/22 19:34:05 4.37MB CDMA 网络优化 插件 googleearth
1
在当今光纤通信技术迅猛发展的进程中,既要对光纤性能不断改善,又要对光子器件性能不断改善。
在现阶段,主要是在光波工作的单模光纤,其损耗在1.3μm约为0.37dB/km,在1.55μm约为0.2dB/km,常规单模光纤的色散,在1.3μm近于零,在1.55μm约为17ps/km·nm。
长距离光纤通信系统既要通达最长的中继距离,又要载荷最大的码速容量,因而倾向于利用波长1.55μm。
如能制成色散移位光纤,1.55μm就兼有最低损耗和零色散的波长,长途系统将获得最好效果。
但如只有常规单模光纤,则必须利用单频激光管减少发射频谱,从而减少1.55μm光纤色散的影响。
在长途光纤系统中
2023/9/21 21:45:35 4MB
1
O2O的热潮爆发O2O首先波及的就是是本地生活服务之一外卖仿饿了么将线下买卖放到线上拉近卖家和买家的距离让买卖变得简单如今饿了么的兴起霸占了小吃外卖等等的市场当你还在犹豫的时候很多人已经靠这个软件挣了很多钱eatcms仿饿了么模式现发布免费试用版">O2O的热潮爆发O2O首先波及的就是是本地生活服务之一外卖仿饿了么将线下买卖放到线上拉近卖家和买家的距离让买卖变得简单如今饿了么的兴起霸占了小吃外卖等等的市场当你还在犹豫的时候很多人已经[更多]
2023/9/19 11:15:38 24.67MB 仿饿了么 百度外卖 订餐系统
1
绝对是好东西啊!基于极大似然估计的三维定位算法,输入参考点的坐标以及观察点的距离,通过极大似然估计算法计算出观察点的坐标,附送支持矩阵运算的C++类库!
2023/9/18 10:24:45 1.16MB 极大似然估计
1
代码实现使用超声波测距模块(HC_sr_04)实现测距,距离显示在数码管上,只保留两位小数,默认单位为(cm)
2023/9/17 12:12:46 4KB 超声波测距 数码管显示 HC_sr_04
1
用MATLAB产生距离假目标干扰下目标回波信号
2023/9/17 4:10:21 659B 假距离干扰
1
适用于Unity3d2017.1版的TextMeshPro。
TextMeshPro可以代替Unity现有文本组件如TextMesh及UIText的功能。
TextMeshPro使用SignedDistanceField(有向距离场,以下简称SDF)作为主要的文本渲染管线,能够以任意分辨率在任意位置渲染出非常清晰的文本。
TextMeshPro使用一系列自定义着色器来更好地利用SDF文本渲染的能力。
只需简单地更改材质属性,加入一些文本样式,例如放大、描边、软阴影、倾斜、纹理及发光特效等等,即可动态改变文本的显示效果,还可以通过创建材质预设来保存这些文本样式以便后续重用。
2023/9/16 15:18:26 7.25MB TextMesh Pro 2017.1 Unity3d
1
共 843 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡