自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (3)
  • 收藏
  • 关注

原创 吴军《数学之美》-读书笔记

《数学之美》读书笔记前言第一章-文字和语言 vs 数字和信息前言本来想把题目写作读后有感或者叫什么心得体会,但是斟酌之后又觉得好像不太是那么一回事,这篇博客的用意本身在于记录而非感悟,因此,叫做笔记似乎更为合适。不论是看到的一些我认为值得把它记下来的,或者是觉得有趣的,都把他记录下来,如果有心情的话再大言不惭的发表几句感想,也未尝不可。不在乎形式,不在乎精美与否,不在乎对错,只在乎记录,在乎分享美妙。希望感兴趣的读者去买一本来或者借一本细细品味,而非听我在这胡言乱语。第一章-文字和语言 vs 数字和信

2021-11-23 00:31:58 410

原创 1-baselines/run.py解读

1-baselines/run.py解读前言run.py参数设置main函数前言就个人来说,比较喜欢从main函数入手,根据其运行的流程,一步一步找到每一步中涉及的参数以及函数的用意,最终摸清整个一个项目的流程和框架。书接上文,上文书说到我们根据GitHub上的提示,可以使用下面的命令成功的运行了一个例子。 python -m baselines.run --alg=deepq --env=PongNoFrameskip-v4 --num_timesteps=1e6于是我们顺藤摸瓜,找到了bas

2021-11-16 02:02:50 1425

原创 OpenAI-Baseline项目阅读-0-Baseline的安装和使用

0-Baseline的安装和使用Baseline项目安装Baseline调试-示例运行Baseline项目安装Baseline项目主页:https://github.com/openai/baselines将项目从GitHub上面下载下来git clone https://github.com/openai/baselines.git安装tensorflow,版本号为1.14(这里是cpu版本,主页中也给出了GPU版本的下载方式)cd baselines/pip install tens

2021-11-15 22:53:44 3320

原创 CS144课程实验详解-lab0-第三部分

CS144课程实验详解-lab0-第二部分4.内存中的可靠字节流(An in-memory reliable byte stream)4.内存中的可靠字节流(An in-memory reliable byte stream)

2021-06-19 21:39:14 1206 1

原创 CS144课程实验详解-lab0-第二部分

CS144课程实验详解-lab0-第二部分3.使用 OS 流套接字编写一个网络程序(Writing a network program using an OS stream socket)3.1让我们开始吧——获取和构建入门代码(Let’s get started—fetching and building the starter code)3.2使用2011版本的C++来编写程序(Modern C++: mostly safe but still fast and low-level)3.3使用2011版

2021-06-19 16:23:23 1483 1

原创 CS144课程实验详解-lab0-第一部分

CS144课程实验详解-lab0-第一部分配置环境配置环境-1手动联网(Networking by hand)获取网页(Fetch a Web page)配置环境配置环境-1手动联网(Networking by hand)获取网页(Fetch a Web page)

2021-06-17 21:11:19 6036 7

原创 Linux网络编程4-经典TCP拥塞控制算法解析-2

Linux网络编程4-经典TCP拥塞控制算法解析-2前言写在前面bic与cubic不得不说的那些事值得注意的一些事bic结合代码cwnd<=low_windowcwnd前言在本系列博客中,我们使用的是 Ubuntu20.04版本 ,使用的虚拟机为Oralce VM VirtualBox写在前面在本标题下面,我们会为大家分享最为经典的3种TCP拥塞控制算法,分别是reno,cubic,vegas。这里我们介绍bic和cubic拥塞控制机制。bic与cubic不得不说的那些事值得注意的一些事其

2021-01-09 00:35:13 452

原创 Linux网络编程3-学会修改Linux中的TCP拥塞控制算法

Linux网络编程3-学会修改Linux中的TCP拥塞控制算法 前言前言在本系列博客中,我们使用的是 Ubuntu20.04版本 ,使用的虚拟机为Oralce VM VirtualBox

2021-01-06 00:49:28 1910

原创 Linux网络编程2-如何使用mininet对不同的拥塞控制算法性能进行简单测试

Linux网络编程2-如何使用mininet对不同的拥塞控制算法性能进行简单测试前言mininet网络性能测试建立网络拓扑前言在本系列博客中,我们使用的是 Ubuntu20.04版本 ,使用的虚拟机为Oralce VM VirtualBoxmininet网络性能测试建立网络拓扑...

2021-01-05 17:12:10 1518

原创 Linux网络编程1.5-如何重新编译Linux内核源码-续

文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport

2021-01-04 21:06:41 392

原创 Linux网络编程1-如何重新编译Linux内核源码

Linux网络编程2-如何重新编译Linux内核源码前言可能遇到的问题如何重新编译Linux内核源码前言在本系列博客中,我们使用的是 Ubuntu20.04版本 ,使用的虚拟机为Oralce VM VirtualBox可能遇到的问题首先我们注意,编译linux内核需ncurses,因此没有这个库的同学们可以先去下载 $sudo apt-get install libncurses5-dev如果大家遇到了其他问题可以去看一下这篇博客编译内核部分问题详解如何重新编译Linux内核源码首先我们进入我

2021-01-04 16:16:25 699

原创 创新项目实训实践笔记-19

创新项目实训实践笔记-18物品展示部分7-文字简介再升级版效果想象代码实现物品展示部分7-文字简介再升级版效果想象经常看的许多综艺节目中经常有这样的镜头,当节目需要用文字介绍某一个物品或时间时,往往不是使用简单的文字的罗列,这样会让人看的很乱,容易看着看着就忘记自己读到那了,因此很多节目选自了使用一个类似于打字的方式使得文字逐字显示而非一下子全部显示,提升了用户的观感和软件质量代码实现首先我们声明一些变量,比如计时器、TestMesh对象、需要显示的文字、当前的文字位置等 public

2020-07-01 22:57:29 115

原创 创新项目实训实践笔记-18

创新项目实训实践笔记-18平面检测部分4-场景切换背景知识开始动手平面检测部分4-场景切换在前面几次的博客中我们新建了一个场景,于是场景切换变成了一个难题。背景知识按住ctrl+shift+B可以看到,在我们准备打包的场景后面是有编号的而这个编号成为了场景切换的关键所在。开始动手首先我们在两个关键的游戏场景中各创建一个按钮,用于场景切换命名为change_mode并且添加按钮事件至click_control脚本中 public void ToCardMode() {

2020-07-01 22:56:24 128

原创 创新项目实训实践笔记-17

创新项目实训实践笔记-17平面检测部分3-箱体矫正-下问题出现按钮部分平面检测部分3-箱体矫正-下问题出现经过测试我们发现,当我们点击按钮时并不能将柜子旋转一定的角度,因此我们决定并不使用点击按钮的逻辑触发物体旋转,而选择使用长按按钮的逻辑来不断调用旋转方法进而达到旋转的目的按钮部分首先我们找到旋转按钮的UI物体插入我们在前面的博客中提到的脚本click_eventusing System.Collections;using System.Collections.Generic;usi

2020-07-01 22:56:11 138

原创 创新项目实训实践笔记-16

创新项目实训实践笔记-16平面检测部分3-箱体矫正-上问题出现问题解决解决方案平面检测部分3-箱体矫正-上问题出现经过我们的测试,我们不难发现,根据点击的位置以及当时手机的位置的不同,放置的展览柜的旋转角度也各有不同,并不能达到我们想要的垂直的效果,主要的问题出在这个地方gameObject.transform.Rotate(180, k_PrefabRotation, 0, Space.Self);这里对放置物体的转角做了修改。问题解决经过讨论,与其直接将其转角固定,不如直接使用一个按钮

2020-07-01 22:55:55 121

原创 创新项目实训实践笔记-15

创新项目实训实践笔记-15平面检测部分2-脚本编写(物品放置)平面检测部分2-脚本编写(物品放置)首先我们先在场景中新建一个空物体,命名为Plane_controller。然后将下面的脚本挂载到上面namespace GoogleARCore.Examples.HelloAR{ using System.Collections.Generic; using GoogleARCore; using GoogleARCore.Examples.Common; usin

2020-07-01 21:55:57 156

原创 创新项目实训实践笔记-14

创新项目实训实践笔记-14平面检测部分1-场景搭建场景搭建-下平面检测部分1-场景搭建场景搭建-下将上篇博客中提到的物体保存为预制体后,回到unity的界面中,新建一个空物体,命名为Plane Generator,用于生成检测平面的网格。然后我们为其挂载一个脚本,将其命名为DetectedPlaneGenerator脚本为:namespace GoogleARCore.Examples.Common{ using System.Collections.Generic; usi

2020-07-01 21:46:53 124

原创 创新项目实训实践笔记-13

创新项目实训实践笔记-13平面检测部分1-场景搭建场景移植场景搭建-上平面检测部分1-场景搭建场景移植我们前面已经完成了一个有关于图片检测的场景,这次我们为了减少改动的代码数量以及保留原有的UI组件,直接将该场景做一个备份,并命名为NoCardScene我们进入我们刚刚备份的那个场景,将原来用于图片识别的物体删除(ImageController)场景搭建-上接着,我们在场景中新建一个Cube,并将其命名为DetectedPlaneVisualizer,同时为其挂上ARCore中的脚本Det

2020-07-01 21:46:28 181

原创 创新项目实训实践笔记-12

创新项目实训实践笔记-12物品展示部分6-文字简介升级版问题出现改进方法物品展示部分6-文字简介升级版问题出现上一篇博客中我们为每一个展示的物体都添加了3DText的子物体,并修改其中的Text变量为各个物体的简介,但是在我们测试过程中发现,这并不是我们想要的结果,因为当展品出现时,AR文字文字就会立即出现,而非当我们点击展示按钮时才出现该物体的简介改进方法于是我们决定把该方法整合进display按钮中,使其与物体旋转同时触发。我们打开我们已经完成的item_rotate脚本,观察其逻辑

2020-07-01 21:46:04 139

原创 创新项目实训实践笔记-11

创新项目实训实践笔记-11物品展示部分5-文字简介前言效果设想实际实现物品展示部分5-文字简介前言前面的博客中,我们实现了通过开窗和关窗实现物体的弹出与回收,点击展示按钮进行物体的展示(旋转),以及通过点击语音按钮播放相关物体的语音展示,总感觉少点什么,于是便想出了文字展示这个功能。效果设想通过思考,我决定将该功能整合进展示按钮中,使得物体在旋转展示的过程中,出现AR的文字对该物体进行介绍,再次点击展示按钮,在物体停止旋转时,文字消失。实际实现想要实现AR文字,首先需要在各个模型中插入3D文

2020-07-01 21:45:45 108

原创 创新项目实训实践笔记-10

创新项目实训实践笔记-10物品展示部分4-物体旋转效果设想思路介绍代码实现物体旋转按钮操控物品展示部分4-物体旋转效果设想这里我们决定使用一个按钮来进行控制,当用户点击按钮时,物体可以匀速旋转,当用户再次点击按钮时物品将会停止旋转,停止到用户按下按钮的位置而非原位,方便用户观察细节。思路介绍这里我们可以使用一个bool变量来控制物体是否旋转,当该变量为true时,物体开始匀速旋转;当该变量为false时,物体停止旋转。按钮方面,使用一个整形变量num来记录点击次数,当点击次数为奇数时开始旋转,点

2020-07-01 16:33:33 116

原创 创新项目实训实践笔记-9

创新项目实训实践笔记-8物品展示部分3-实体操控物体弹出思路介绍脚本实现物品展示部分3-实体操控物体弹出思路介绍刚开始的时候,我想的是,使用一个button来控制物体的弹出和回收,将button命名为display,点击button后物体会弹出,同时修改button的text为back,再次点击button即可回收物品。这样想来,其实比较好实现,也比较方便,但是如果每一个类似的功能都使用按钮来控制,一方面会早场界面中存在大量按钮,导致界面杂乱无章;另一方面总是使用一个技术来实现,并不能很好的达到学习

2020-07-01 16:33:18 87

原创 创新项目实训实践笔记-8

创新项目实训实践笔记-8物品展示部分2-脚本操纵物体弹出思路介绍脚本编写物品展示部分2-脚本操纵物体弹出思路介绍我们可以使用一个数或者是布尔变量来存储当前物品状态,该回收还是该弹出,但是我们发现,物品有至少三个状态,即弹出、停止和回收,因此仅仅使用一个布尔变量无法解决该问题,因此我决定使用两个布尔变量flag1和flag2来协作共同完成判定。当flag1为true时物品弹出,并修改flag1为false;当flag2为true时物品回收,并修改flag2为false.这样可以保证弹出和回收的独立性。

2020-07-01 16:32:31 128

原创 创新项目实训实践笔记-7

创新项目实训实践笔记-7物品展示部分1-物品弹出操作创建动画素材编辑动画素材物品展示部分1-物品弹出操作创建动画素材经过思考,这一部分准备使用unity的动画系统来实现,也是一个来学习动画的契机首先在素材库中创建一个文件夹,命名为Animation,用于存放动画素材。进入刚刚创建好的文件夹,点击右键Create→Animation,并将其命名为display_1,接着我们使用前面提到的快捷键crtl+D可以轻松创建6个命名格式相同的动画素材这里的六个动画分别对应着上篇博客中提到的六个物体

2020-07-01 16:32:16 132

原创 创新项目实训实践笔记-6

创新项目实训实践笔记-6

2020-07-01 16:32:00 111

原创 创新项目实训实践笔记-5

创新项目实训实践笔记-5播放声音实现(播放部分)准备工作脚本编写上一篇博客中我们实现了播放声音的按钮部分的操所,这次我们实现具体的播放声音的操作。播放声音实现(播放部分)准备工作首先我们先录制三段音频,对应于三个物体的简介然后我们打开unity,将音频放入unity中将先前创建的三个展品上均加入组件Audio Source并将对应的音频放入下图所示位置注意将Loop的对勾点掉,避免循环播放脚本编写打开file物体的change_items脚本。在Update方法中加入下面的

2020-06-30 00:40:39 98

原创 创新项目实训实践笔记-4

创新项目实训实践笔记-4播放声音实现(按钮部分)准备工作按钮脚本前面的博客中我们做出了更换展示品的效果,今天我们实现一下点击按钮播放声音的效果播放声音实现(按钮部分)准备工作首先我们在场景中添加一个按钮命名为voice_Button修改其按钮名称为 voice调整其位置与上一个切换展品的按钮对齐按钮脚本打开我们上次创建的空物体Button_click_manager中的click_control脚本进行修改而不是新建一个脚本或是空物体,在原本的脚本中修改有一个好处,就是不会使得场景中的

2020-06-30 00:40:20 127

原创 创新项目实训实践笔记-3

创新项目实训实践笔记-3切换物体实现-2脚本编写改进思路上一篇博客我们已经有了相关的思路构思,同时已经完成了对于点击方法的编写以及按钮的创建,这次我们将实现切换物体并且完善这个功能切换物体实现-2脚本编写在我们之前提到的窗户预制体file中加入一个脚本,命名为change_items设定变量 public GameObject allitem;//所有item的父物体 public GameObject[] items;//用于存储展品的数组 public GameObj

2020-06-30 00:39:58 99

原创 创新项目实训实践笔记-2

创新项目实训实践笔记-2切换物体实现-1思路脚本编写上一篇博客我们提到了切换展示的物体,这里我们实现对物体进行切换切换物体实现-1思路这里我的想法是,使用数字对每一个展示品进行编号,然后将所有的物体存储进一个数组中,并使用按钮控制其切换。原理为设定一个初始的Num为1,对应着1号物体被展示,每点击一次按钮,Num加一,同时切换为2号物体,以此类推。脚本编写首先我们在画布上创建一个按钮用于控制切换物体,将其命名为change_Button并在场景中创建一个空物体,命名为Button_click

2020-06-30 00:39:32 99

原创 创新项目实训实践笔记-1

创新项目实训实践笔记-1将窗户变为展示柜添加展品当同组的同学将作品交给我时,预制体为一个窗户,有以下一个子物体为窗户的模型效果为而我的目标则是将其打造为一个展示柜并在内部放入展品将窗户变为展示柜首先新建一个空物体,命名为wall,后面将会把展览柜的部件全部放进去。接着新建一个Cube,将其形状拉伸为类似于木板的样子并贴合在窗户的一侧然后这里我们使用一个小技巧,选中我们刚刚创建的cube,按住ctrl+D,即可实现新建一个与选中物体相同属性的物体,并将其拉至窗户的另一侧,这样我们就完成了两面墙

2020-06-30 00:39:01 153

原创 创新项目实训学习笔记-Unity-7

创新项目实训学习笔记-Unity-7UI的学习和使用Button的进阶使用UI的学习和使用前两篇博客中我们讲到了按钮的创建以及基本的使用方法,这次我们学习一下按钮的进阶使用方法。Button的进阶使用本次学习重点放在了按钮双击触发事件以及长按按钮触发事件。首先我们为按钮添加脚本名为click_event ,同时将以下代码写进脚本中(注意,不要忘记引用UnityEngine.Events和UnityEngine.EventSystems)using System.Collections;usi

2020-06-29 00:33:04 127

原创 创新项目实训学习笔记-Unity-6

创新项目实训学习笔记-Unity-6UI的学习和使用Button的基本使用(其他)更改Button上的文字UI的学习和使用上一篇博客中我们讲到了button的基本使用方法,下面我将向大家介绍一下与button相关的其他的组件等的使用方法Button的基本使用(其他)我们将学习一些上一篇博客中未提到的一些使用技巧更改Button上的文字我们仔细观察场景中的物体列表,不难发现button并非一个单独的物体,而是包含着一些子物体点开button前面的箭头后,可以看见一个名为text的子物体点开这个

2020-06-29 00:32:48 82

原创 创新项目实训学习笔记-Unity-5

创新项目实训学习笔记-Unity-5UI的学习和使用Button的基本使用创建一个Button鼠标单机触发事件UI的学习和使用前两篇博客中,我为大家介绍了UI中的两大物体Canvas和EventSystem,今天我们结合代码,来学习一下具体的UI组件的常用方法Button的基本使用首先先学习一下Button的使用方法,我们主要介绍两个部分,分别是创建以及单机触发事件创建一个Button打开unity,在Hierarchy界面点击右UI→Button即可在场景中放置一个Button鼠标单机触发

2020-06-28 23:34:19 197

原创 创新项目实训学习笔记-Unity-4

创新项目实训学习笔记-Unity-3UI的学习和使用了解Canvas和EventSystemEventSystemUI的学习和使用了解Canvas和EventSystem上一篇博客中我们介绍了unity中的UI部分中十分重要的物体,Canvas。本篇博客里我将为大家介绍,另一个物体EventSystem。EventSystem与之前一样,我们点选到EventSystem物体,观察其组件。相比于Canvas,EventSystem自带的组件相对简单,除了我们熟知的transform组件外,只有两

2020-06-28 21:51:22 129

原创 创新项目实训学习笔记-Unity-3

创新项目实训学习笔记-Unity-3UI的学习和使用了解Canvas和EventSystemCanvasUI的学习和使用了解Canvas和EventSystemCanvasCanvas意为画布,是所有UI物体的父物体,从上一篇博客中可以看到,当我们创建了一个Button后,直接为我们生成了Canvas,并将Button设置为其子物体。移动光标点选到Canvas后,在Inspector界面中显示了其自带的4个组件,分别为Rect Transform显示了画布的大小、位置、旋转等信息Can

2020-06-28 21:34:11 226

原创 创新项目实训学习笔记-Unity-2

创新项目实训学习笔记-Unity-2UI的学习和使用创建一个UI组件UI的学习和使用创建一个UI组件我们打开unity,在Hierarchy界面,点击右键会出现一个选择框,下面有一个UI的字样,将光标移至相对应的部分,可以看到会出现新的菜单栏,我们这里以按钮为例点击Button,即可在场景中生成一个按钮。点击Button后,我们再观察Hierarchy界面,除了原有的相机和光源外,还多了两个物体,分别是Canvas和EventSystem,而我们刚刚生成的Button就放置在Canvas中而场景

2020-06-28 21:33:46 159

原创 创新项目实训进度-周总结-第一周

创新项目实训进度-周总结-第一周自己负责的部分存在不足完成后的感受下周学习目标以及完成计划自己负责的部分在这周的项目实训中,完成了一下几个内容:为窗户后添加了一个简陋的场景,用于展示物品的展示台在UI界面中预留了一个按钮用于实现切换展品实现了使用脚本控制物品的切换在UI界面中预留了一个按钮用于实现用户点击来播放该展品的介绍实现了使用脚本控制播放该展品的介绍存在不足经过多次调试,UI界面中的按钮在手机上并不能完成预想的操作,需要进一步的改进,以及代码在一些地方仍不完善,需要进一步改进

2020-06-17 20:44:41 224

原创 创新项目实训学习笔记-Unity-1

创新项目实训学习笔记-Unity-1前言Transform类成员变量函数前言刚刚接触unity时,有一种耳目一新的感觉,这是一种可以实时看到效果,而且十分简单好上手的综合型游戏开发工具,也是一个专业的游戏引擎。通过鼠标简单的点选就可以创造出许多在开发工具中内置的简单的形状,为脚本中的变量赋值只许使用简单的点选即可实现,同时也可以随时切换2D的界面和3D的游戏场景进行编程,十分的简单明了。Transform类在刚刚开始学习unity时,接触最多的就是transform类了,通过控制组件的transfo

2020-06-10 00:29:29 475

原创 基于ARCore技术的AR博物馆-项目进度说明

基于ARCore技术的AR博物馆-项目进度说明-2020.6.8第一次集体会议配置项目的实施计划项目的学习目标项目的个人分工个人短期目标第一次集体会议今天是2020年6月8日,也是项目开始的第一天,为了尽快开始我们的创新项目实训 -基于ARCore技术的AR博物馆,我们进行了第一次集体会议 ,本次会议主要集中于讨论三个问题,即项目的配置统一,项目的实施计划以及项目的个人分工,由于这是第一次这么正式的、集中的以组为单位进行一个unity程序的开发,没有太多的经验可以借鉴。配置1.使用 unity进行开

2020-06-08 23:29:14 393

lab0-(3).zip

CS144-lab0-第三部分设计到的命令和代码(第四节)以及lab0的实验指导书

2021-06-19

lab0-(2).zip

CS144-lab0-第二部分设计到的命令和代码(第三节)

2021-06-19

lab0-(1).zip

CS144-lab0-第一部分设计到的命令和代码

2021-06-17

空空如也

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

TA关注的人

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