自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 通过GPU加速深度学习: Win10 + Tensorflow-gpu 1.11 + 1080Ti + CUDA9.0 + Cudnn7.0

虽然知道linux下bug更少,但是就是要在win10上用,也感谢网上的各种攻略,终于解决了各种坑,在此写一篇攻略,回馈一下社会。 系统: windows10 显卡: 技嘉1080TiPycharm + Anaconda + python 3.6 首先,下载Pycharm, Anaconda 和python3.6是最基本的, 几乎没有坑。 由于之前已经用tensorflow...

2018-11-05 21:09:49 555

原创 C++:bind与函数参数

调用形式auto newf = bind(f, arg_list);bool mycheck(int x, int y){ return x > y;}auto newmycheck = bind(mycheck, std::placeholders::_1, 3);auto wc = find_if(b.begin(), b.end(), newmycheck);...

2018-08-02 16:12:15 781

原创 C++ : 泛型算法之定制控制与lambda表达式

lambda表达式:[my_int] (const int &a) {return a>my_int;}捕获列表 参数列表 函数体捕获列表指的是lambda中要用到的局部变量。没有时则[]为空返回类型自动由函数体中return的内容确定。没有时则连同()一起省略全局变量等 无需捕获,可以直接在函数体中使用 find_if结合lambda表...

2018-08-02 16:00:54 239

原创 C++ :泛型算法

只读算法1.find2.accumulatestring sum = accumulate(v.begin(),v.end(),string(""));只读算法最好使用v.cbegi,v.cend,不用改变容器的值。3.equalequal(roster1.cbegin(), roster1.cend(), roster2.cbegin())基于假设:第二个序列至少...

2018-08-02 15:26:20 211

原创 C++:顺序容器学习

1. 通过迭代器进行遍历:while (begin != end){*begin = val;++begin;} 2. 通过auto获得迭代器:auto it = a.begin(); 3. 几种小括号初始化(不包括array)C c(b,e) //c初始化为迭代器b和e指定范围内的元素的拷贝C seq(n) //seq包含n个默认值初始化的元素...

2018-08-01 01:17:22 158

原创 C++:关于分离式编译

这几天一直在将之前的大代码(一个cpp文件)按模块功能拆分为多个.h和.cpp文件接触到了一些C++分离式编译的内容 1. namespace和class命名空间和类,非常相似,比如:std::cout 和A::f(), 都用到了作用域符,都可以防止重名函数,可以更好的支持多人编程。但是有几个不同:1. namespace 可以写在多个不同的文件中,而class只能在一...

2018-07-27 23:15:18 3269

原创 C++ :头文件保护符

在看代码的时候经常会碰到#ifndef ,#endif这样的指令,这个的作用是头文件保护符,用于防止同一头文件的多次包含:预处理变量有两种状态:已定义和未定义#define 命令使得某一预处理变量变为已定义#ifdef 命令当且仅当变量已定义时成真#ifndef命令当且仅当未定义时成真若检查结果为真,则执行后续语句直至遇到#endif指令如:#ifndef EXAMP#define EXAMP.....

2018-07-16 11:58:18 820

原创 C++ :类与对象一些知识点

1. 通过参数初始化表进行类成员初始化:class Time:{ int hour}类外定义构造函数则为:Time::Time(int h):hour(h){};Time::是类外定义函数是指出是类Time的函数;Time(int h):是Time类的同名构造函数,(int h )是所需参数。hour (h){} , 在:后面的hour(h)等价于hour=h。 多个成员初始化可以用,隔开如:Ex...

2018-07-13 15:15:47 163

原创 Irrlicht配置流程 :VS2017+win10+Irrlicht -1.8.4

目前网上缺乏对最新VS2017下Irrlicht的配置说明,开发文档也有些过期,这里记录一下我下午对irrlicht的配置流程:1.  官网下载Irrlicht SDK:http://irrlicht.sourceforge.net/?page_id=102. 解压完SDK后,复制C:\Users\lintian\Downloads\irrlicht-1.8.4\irrlicht-1.8.4\bi...

2018-07-09 17:03:47 1295 1

原创 C++ (3) 学习笔记:字符串数组操作(上)

1. auto和decltype:auto 自动通过初始值类型推断变量类型 :auto i = 0;decltype  选择并返回操作数的数据类型 我理解为一个函数:decltype(f()) sum = x  并不实际调用f(),但sum的类型就是f()的返回类型。const int ci = 0;decltype(ci) x = 0; x的类型为const int。2. 改变字符串中的字符:s...

2018-07-05 21:16:57 158

原创 C++ (2)学习笔记: 引用和指针

1. 引用:相当于为对象起了另一个名字int &refval = ival; 此时refval就相当于ival的别名,绑定在了一起。所以修改refval就是修改了ival。同理: int a = ival; 和 int a = refval; 效果一样。2. 指针:指针也是对对象的简介访问,但相比于引用,指针本身就是一个对象。    int *p = &a;可以理解为p中存放了a的...

2018-07-05 19:31:28 116

原创 CSAPP (2) 学习笔记:硬件组成

1. 总线:贯穿整个系统的一组电子管道,负责携带信息字节在各个部件之间传输。通常被设计成传递定长的字节块,根据字长决定是32位(4字节)或是64位(8字节)。2. IO设备:通过控制器或者适配器与IO总线相连。控制器一般为 主印制电路板上的芯片组,适配器一般为插在主板插槽上的卡。3. 主存:是一个临时存储设备 ,用于存放程序和程序处理的数据。4. 处理器 :中央处理单元(CPU),解释(执行)存储...

2018-07-05 13:56:39 180

原创 深入理解计算机系统 (1) 程序的执行过程

首先是图1-3展示的一个helloworld程序的整个执行过程。1:预处理阶段预处理器(cpp)根据以字符#开头的语句,修改原始的C程序。比如#include命令,就会告诉预处理器把头文件中的内容直接插入到程序文本中,得到了另一个C程序,通常以.i作为后缀名。2:编译阶段编译器(ccl)    (compiler) 负责把hello.i 翻译为汇编语言hello.s,包含了一个汇编语言程序。 汇编...

2018-07-05 13:28:52 497

原创 C++ 学习(1):类与对象

1. 需要注意的是,私有的成员和受保护的成员不能使用直接成员访问运算符 (.) 来直接访问。2. 范围解析运算符::: 叫作用域区分符,指明一个函数属于哪个类或一个数据属于哪个类。:: 可以不跟类名,表示全局数据或全局函数(即非成员函数)。作用域符号::的前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分如:A,B表示两个类,在A,B中都有...

2018-07-05 11:15:27 166

原创 panda3d学习(13):C++中的碰撞检测

当作重点来学习了:1. Collision solids结合例程以及手册的内容,我觉得CollisionSphere等solid是不可见的自己虚拟的用于碰撞检测的物体,因此在例程中,当有实际的model时,整个碰撞例程并不涉及自己创建一个CollisionSphere这样。C++下的代码为:PT(CollisionSphere) cs = new CollisionSphere();cSphere...

2018-07-03 19:35:44 1360

原创 panda3d学习 (12):C++下的任务类等

任务在panda3d中很常用,我的理解就是每一帧动画的时候都会调用的函数,C++下有不同的写法首先导入 #include "asyncTaskManager.h"一个简单的例子:先定义函数:AsyncTask::DoneStatus example_task(GenericAsyncTask* task, void* data){    if (task->get_elapsed_time(...

2018-07-03 13:25:44 381

原创 panda3d学习 (11):C++继续学习

发现了大坑,panda3d上关于C++部分的说明简直是形同虚设,很多和python界面一模一样,现在连改个panda3d上窗口上的文字都没能实现。。还是先慢慢看起好了NodePath myNodePath =  window->load_model(framework.get_models(),"path/to/models/myModel.egg");和python对照使用,两个不同, 1...

2018-07-03 10:17:50 783

原创 panda3d学习 (10):继续学习C++

目标是把python的例程可以改写为C++版本1.  framework.main_loop();  (python) showbase.run();2. framework.close_framework(); 应该是关闭窗口的意思,注释掉了也没啥影响3. WindowFramework *window = framework.open_window(); 这里的*window是一个指针,我对比...

2018-07-02 16:24:09 347

原创 panda3d学习 (9):使用C++编译

今天开始用C++来使用panda3d,本来以为只是改一种语言应该没有太大问题,结果发现还是有挺多坑的。。编译器用的是VS2017,也是panda3d手册上所推荐的。但是第一个设置就是从debug必须改成release模式,不然程序就会莫名其妙崩溃。这个是真的坑,本来就不太熟悉VS的调试,现在还连debug都用不了了。Include DirectoriesC:\Panda3D-1.9.4\inclu...

2018-07-02 15:08:05 1070

原创 Panda3D学习 (8):棋盘操作 碰撞检测

对这个例程的介绍有点深意,说是通过碰撞检测机制来操作鼠标控制棋盘,但是又说Plane类可以更快的实现。不知道这个Plane类是啥,但是先研究下这个例程本身好了。self.disableMouse()先说一下这个方法在之前每个例程里都有提到,之前觉得没什么,今天把这个注释掉后发现问题很大。它的作用不是禁用鼠标,而是禁用默认的鼠标控制camera的功能。 1. 碰撞检测机制from panda3d.c...

2018-06-30 00:11:15 909

原创 Panda3D学习 (7):查找

离实习开始也只剩三天了,抓紧再多看一些例程了选的这个是查找与获取,一听这名字就感觉应该是用途非常广泛的内容。1.键盘交互事件之前接触到,但没有深入了解,这里结合手册进行了研究,主要有这几类:1. Keys that type a character are named that character. It is always lowercase, even when shift or caps l...

2018-06-29 16:17:18 739 2

原创 Panda3D学习 (6):音乐盒

考完了两门考试,趁着导师还没有找我改论文的时间再看一个demo好了

2018-06-29 13:56:04 485

原创 Panda3D学习 (5):入门教程

这两天考试+修改论文。。勉强抽出一点时间学习一下。。还是不能落下这个例程的名字叫太阳系,难度是入门级,也就是说事实上我的学习进程应该从这个例程开始。。结果本末倒置了,上来就学了迄今最难的一个例程。。不过没事,还好没有碰到太大的挫折。今天在碎片化的时间里学习一下这个入门例程,一方面简单一些,不会太耽误复习的进度,另一方面也可以夯实一下之前不能说有多少的基础。。Step1. blank_windowf...

2018-06-25 18:10:45 12285

原创 Panda3D学习 (4):播放器

下周就要开始考试了。。今天再学一个基础的例程,涉及音频播放,感觉以后也会常用的功能。1. loadPrcFileData("", "audio-library-name p3openal_audio")这段代码的意思是告诉panda3D用的是OpenAL音频而不是FMOD (我也分不清这两个是啥)loadPrcFileData的用法是:from panda3d.core import loadPr...

2018-06-24 12:17:14 728

原创 Panda3D学习 (3):旋转木马例程

这次从最简单的一个例程入手 从代码上也感觉比前两个简单了许多1.Hpr值与姿态角这个例程中涉及了Hpr值的设置,上个例程中就有,但是当时没搞清楚,这次配合了一下百度和自己的调试,大概得到了如下结论:H对应yaw(我怀疑是xyz中有了y所以只能用heading的首字母H),p对应pitch,r对应roll,与姿态角对应关系如下:https://jingyan.baidu.com/article/0b...

2018-06-24 00:14:01 4070

原创 Panda3D学习 (2):机器人示例程序

第二个学习的例程,选了机器人的程序,因为感觉可能和实习比较相关一些。。1.序列和并行Sequences play intervals one after the other, effectively a “do in order” command.序列在小行星例程中也碰到过Parallels are a “do together,” playing all intervals at the sam...

2018-06-23 15:07:46 2612

原创 Panda3D学习 (1):小行星示例程序

这是第一篇关于Panda3D的学习笔记,不求能给大家以帮助,只希望记录下自己学习的过程。今天学习的是panda3D自带的第一个示例程序,小行星。相比起完整的把所有语法看一遍,我更喜欢从实践中学习。“本示例程序显示如何使用任务。任务是在程序的每一帧期间运行的函数。Panda3D在任何程序中运行一些任务,但可能会添加其他任务。对于本教程,除了检查碰撞之外,还将使用任务来更新船舶,小行星和子弹的位置。要...

2018-06-22 21:59:44 9455 1

空空如也

空空如也

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

TA关注的人

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