- 博客(45)
- 资源 (10)
- 问答 (4)
- 收藏
- 关注
翻译 pyplot tutorial(翻译)
(完结部分 对数和非线性坐标系)matplotlib.pyplot不仅仅支持线型坐标轴(axis)刻度(scale)。也支持对数和逻辑回归(logit)坐标刻度。这种坐标通常用在数据跨越多个数量级的情况(order of magnitude)。修改坐标轴刻度是非常容易的,如下所示:plt.XScale('log')#修改为对数坐标下面例子展示了四个具有相同数据的图形,但是他们
2018-01-07 20:52:32
459
翻译 pyplot tutorial(翻译)
(第五部分 在文本中使用数学表达式)matplotlib可以在任何文本展示中接受Tex 方程式语言(了解更多的Tex:http://www.ctex.org/documents/shredder/tex_frame.html). 例如为了书写 σi=15\sigma_i = 15在标题中,你可以书写如下用美元符号包围的 Tex 方程式:plt.title(r'$\sigma_i =
2018-01-07 20:16:23
345
翻译 pyplot tutorial(翻译)
(第四部分 使用文本)text()命令可以让你在任意位置添加文本,xlabel(),ylabel()和title()可以用来在明确位置(indicated location)添加文本。(查看 Text introduction 来了解更详细的文本的例子),下面是一个简单示例:import numpy as npimport matplotlib.pyplot as pltnp.
2018-01-07 18:37:11
352
翻译 pyplot tutorial(翻译)
(第三部分 多图像和坐标)MATLAB,和pyplot,都有当前图像(current figure)和当前坐标系(current axes)的概念(concept)。所有的绘制命令(plotting)都应用于当前的坐标系。gca()函数返回当前的坐标系(一个matplotlib.axes.Axes的实例),而gcf()函数返回当前的图像(一个matplotlib.figure.Figure的
2018-01-07 18:11:22
375
翻译 pyplot tutorial (翻译)
(第二部分)控制线属性 controlling line properties直线有许多可以设置的属性:线宽(linewidth),点画线风格(dashstyle),反锯齿效果(antialiased)等等。具体可以看 matplotlib.lines.Line2D。这里有几种方式可以设置直线的属性1、使用关键字参数(keyword args):plt.plot(x,y,lin
2018-01-07 00:45:29
406
翻译 Pyplot tutorial (翻译)
(第一部分)翻译当做练习英语,并对 pyplot有进一步的理解,翻译是自己的理解。matplotlib.pyplot 把一系列的命令风格的函数集合在一起,使得matplotlib类似MATLAB。每一个pyplot函数都可以对生成的图像产生一些变化,例如,创建一个图像(figure),创建一个图像中的绘图区域(可见区域,可打印区域),绘制区域绘制线,用标签装饰(decorate)绘制
2018-01-07 00:10:11
332
翻译 Pyplot tutorial (翻译)
(第一部分)翻译当做练习英语,并对 pyplot有进一步的理解,翻译是自己的理解。matplotlib.pyplot 把一系列的命令风格的函数集合在一起,使得matplotlib类似MATLAB。每一个pyplot函数都可以对生成的图像产生一些变化,例如,创建一个图像(figure),创建一个图像中的绘图区域(可见区域,可打印区域),绘制区域绘制线,用标签装饰(decorate)绘制
2018-01-06 23:26:50
396
翻译 pyplot tutorial 第一个例子
>>> import matplotlib.pyplot as plt>>> plt.plot([1,2,3,4])[0x000000000325DFD0>]>>> plt.ylabel('some numbers')Text(0,0.5,'some numbers')>>> plt.show()结果如下: 你可能奇怪这个图的 X 范围是 0 到 3 ,而 Y 范围是 1 到
2018-01-06 21:36:18
251
原创 THREE.JS场景基本组件(一)
scene是物体的容器,three.JS绘制的物体对象都会放置在场景之中;相机决定了在场景中如何查看物体,能看到什么物体;光源决定了能看到物体,物体可以产生阴影等;物体就是利用three.JS创建的各种对象,如球体,立方体等等。下面会建立一个基本的框架,在此基础上,会做一些基本的功能:添加一个立方体,删除添加的立方体,轴辅助,箭头辅助,边辅助,网格辅助。各种需要的库需要自己去下载,都是免费的:thr
2017-07-23 17:52:53
1052
1
原创 添加动画和控制组件(第一个例子)
这是第一个例子的最后学习. 这次学习会给第一个例子加上动画效果(requestAnimationFrame函数)。还会加入一个FPS监测组件(stats插件),一个简单的控制组件,控制立方体的旋转速度,球体的弹跳速度,通过鼠标来拖动控制组件来调节(dat.GUI库)》》》》》stats插件 在例子中的HTML文件中,新加入一个ID为Stats-output的DIV,到时FPS监测插件会显示在这个
2017-07-16 18:26:20
745
原创 Three.JS 添加灯光、材质和阴影(第一个例子)
three.js中都多种灯光和材质,这里只是添加了一种灯光,聚光灯spotLight。首先构建一个spotLight对象:var spotLight = new THREE.SpotLight(0xFFFFFF);指定光源的位置,从何处开始照射:spotLight.position.set(-40,60,-10);把光源变量加入到场景:scene.add(spotLight);材质:MeshBa
2017-07-16 13:38:26
4336
原创 Three.JS第一个三维场景建立
最近在看一些Web3D的内容,觉得如果用纯openGLes写一个简单的3D场景太难了;不过还好,有很多现成的库可以使用。 (个人感觉):我知道的经常的是Three.JS和SceneJS。感觉Three.JS资料比较多,貌似好学一些吧;另一个是ScenenJS,感觉官方介绍比较好,适合做一些工程和医学上的模拟,实时性比较好,但是中文资料感觉比较少,不太好学习。我个人看的是Three.JS学习中用到
2017-07-16 11:30:21
3970
原创 网页界面组件 ControlKit
一个JavaScript库,可以在网页上作出非常漂亮的简单组件,如:按钮,输入框,滑动条,复选框等。 一个展示效果图片,感受一下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Altering Classes on the FLY</title> <style> p
2017-07-10 21:00:23
759
原创 jQuery 第一个例子
操作类:jQuery 提供很多操作元素所属类的方法。如果页面包含样式表,可以动态的将某元素加入一个类或者从类中删除。下面的例子中,当鼠标进入段落时,段落被加入highlighted类,当鼠标离开段落时,段落又会从类中删除。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Altering Cla
2017-07-10 20:37:05
291
原创 CAD二次开发(C#)第二个例子
设置参考第一个例子。引入必要的命名空间第二个例子:交互提示选择一个直线的起始点和终点,然后绘制一条以选择的两个点为始终的直线代码如下,尽量添加了注释。using System;using System.Collections.Generic;using System.Linq;using System.Text;using Autodesk.AutoCAD.ApplicationServic
2017-06-29 20:47:34
4528
原创 CAD二次开发(C#)第一个例子
个人开发平台:vs2010,win7,CAD2010C#开发CAD的顺序: 1.建立类库 2.添加引用:AcCui.dll,acdbmgd.dll,acmgd.dll;这三个dll在CAD的安装目录下 3.将添加的三个DLL的复制本地属性更改为False 4.将编译平台由.NET 4.0更改为.NET3.5或以下 5.在项目的调试选项中,添加启动外部选项,指定CAD的启动目录(cad.ex
2017-06-26 21:21:46
38215
14
原创 c#多个窗体之间传值
多个窗体传值,就是把一个窗体中的值通过某种方式传递给另一个窗体,如把A窗体的一个textbox中的字符串(但不限于字符串,简单起见,只展示一个字符串),传递给另一个窗体B的textbox(接受字符串)。个人知道的有两种方式,下面分别介绍:方式(一):利用静态字段进行传递 原理就是:在项目中,除了2个窗体之外,再另建一个公共的类,里面包含需要进行传递的数据的类
2017-06-25 17:15:06
28805
6
原创 C#泛型集合类(3)
Dictionary <TKey,TValue>:字典集合,存储一系列的键值对(KEY/VALUE),可以根据键而不是索引来获取值。 字典中插入键值对时,自动记录哪个键和哪个值关联。字典中不能包含重复的键,如果使用Add方法添加字典中已经存在的键时,会抛出异常;但是使用方括号【】记号法来添加的话,即使字典中已经存在,也不会抛出异常,而是直接覆盖旧的键值。ContainKey()方法可以用来判断某一
2017-05-29 00:27:14
493
原创 C#泛型集合类(2)
LinkedList 双向有序链表。任何一端都可以进行插入和删除操作,并进行了优化。既可以作为栈,也可以作为队列,支持列表那样的随机访问。 链表中每一项除了含有数据本身之外,还含有对下一项的引用(Next属性)和上一项的引用(Previous属性),链表第一项的Previous属性值为null,链表的最后一项的Next属性值null。AddFirst()方法可以在链表的开头插入元素,同时原来的
2017-05-28 19:16:35
413
原创 C#泛型集合类
C#提供了许多常用的集合类,比较常用的有以下几个: List:可以像数组一样按索引访问的列表,也提供其他的方法进行搜索和排序。 创建List时无需指定大小,它随着元素的添加,可以自动增加,保证能够容下添加的元素。 ———————————————————————————————————————- 方法示例: using System; using System.Collections.Ge
2017-05-28 17:34:06
743
原创 c# Parse 和 TryParse
string IntStr = “100”; int ConvInt = int.Parse(IntStr);int IntResult; int.TryParse(IntStr,out IntResult);区别: int.Parse(IntStr)如果能够转化为整数,则直接返回转化后整数,如果不能进行,Parse函数则会直接抛出异常。int.TryParse(IntStr,out Int
2017-05-22 21:01:28
1164
原创 C# 字符串的连接
C#中字符串的连接大概有一下几个方法: 1.利用 “+”(加号)运算符: string str = “Hello”+ “World”; console.WriteLine(str);//输出 “HelloWorld”2.使用 Join()方法: Join()方法是String类的静态方法,就是说String是类的方法,不是实例的方法,直接使用即可。 Join方法用指定的字符作
2017-05-22 20:36:43
9645
原创 QT5 下udp 编程实例
下面是一个简单的QT5下的udp通信的下例子。服务器不停的利用定时器来向socket发送广播消息,客户端可以接收该消息并显示。首先建立工程UdpServer.pro。建立各控件的布局。udpserver.h:class UdpServer:public QDialog{Q_OBJECTpublic:UdpServer(QWidget *parent=0,Qt::WindowFlags f=0
2015-12-05 15:53:56
3567
转载 Qt udp
Detailed DescriptionThe QUdpSocket class provides a UDP socket.UDP (User Datagram Protocol) is a lightweight, unreliable, datagram-oriented, connectionless protocol. It can be used when reliability isn
2015-12-05 12:37:49
809
翻译 Qt5 UDP开发
最近在学习qt下socket开发,今天先学习了一下qt下udp socket的开发。参考了qt5的文档。以及一些其他的参考书。UDP是指user datagram protocol ,用户数据报协议,是一种轻量级,不可靠的,面向数据报的,非链接的协议。常用在一下对数据可靠性要求不是很重要的程序中。这个类最常用的方式就是利用bind()函数绑定到某一地址和端口,然后调用 writeDategram()
2015-12-05 12:34:19
3406
原创 Qt中QStack简单应用
栈就是一种后进先出的数据结构,就是最先进入的数据在栈的最底下,最后才出来,最后进入的数据,在栈的顶端,最先出来。 下面利用栈实现了一个简单十进制到二进制的转换。 比如十进制的 10 转换为 二进制。必须明白数制之间是如何转换的。对于十进制到二进制的转换,是整除取余数,反复直到被转换数为0. d r= d%2 d=d/2 10 0 5 5 1 2 2 0
2015-07-10 00:33:14
7607
原创 Qt中子窗体控件向父窗体控件传值
今天学习Qt中控件相互传值的方法。其中参考了一些网上的意见。今天学习了两种方法。其中一种是利用全局变量;另一种是利用了Qt中的信号和槽机制。当学习signals和slot机制的时候,有一些疑问,在介绍利用signals和slot进行值传递的时候,再说。练习是这样子,如下两图所示。 第一幅图是主窗体,在画笔宽度文本框和画笔颜色文本框中可以填入宽度和样色值,决定画笔宽度和颜色,然后选择右边的画椭圆,画
2015-07-09 22:49:14
5343
原创 Qt简单坐标绘制
今天试着在Qt中画一个简单的坐标系。简单记一下,还有一下问题。 在下面的测试当中,有用到鼠标事件,主要是获取鼠标的坐标位置;用到了QPen,QPainter等。 对于坐标的绘制,首先要明白一点,窗体中的坐标和平时数学中的坐标不是很一样,它以窗体左上角为坐标原点(0,0),然后水平向右为X正向,垂直向下为Y正向。 下图中重新绘制了一个像平时数学中的一个坐标系,把坐标原点显示在左下方,但是没有转换
2015-07-08 00:17:10
8752
原创 QT中遇到的一些问题
最近刚刚接触QT,在学习过程中遇到一些问题,后来解决了,记一下。第一问题是:如果用写代码的方式添加控件,如果编写的代码放在 ui->setupUi(this);之前,控件不响应任何事件,没有反应,但是通过拖曳方式放置的控件没有问题。后来,把ui->setupUi(this);语句放在手工编写代码添加控件的前面,问题解决,可以响应了,不知道为什么? 第二个问题:添加了几个相同的控
2015-07-05 01:38:40
685
原创 统计连续子数列的最值
给定一个整型数组,数组中的数组元素可能为正也可能为负值,求出该数组中元素连续相加的最大值。也就是求出和值最大的子数列。 比如给定一个数组 a【8】 = {1,-2,-5,3,8,-7,9,4},这个很显然, 最大的和值为a【3】+a【4】+a【5】+a【6】+a【7】 = 3+8+ -7+9+4=17 的值。 我想了最笨的方法: 就是把每个连续的子序列组合找出来,然后求出和值,然后挑出最大的
2015-06-19 00:28:07
470
原创 归并--排序
归并排序采用的是一种分而治之的策略。首先将待排序数组划分为若干有序数组,然后再两两合并为有序的数组,到最后合并为一个有序数组。 归并排序主要看怎么把待排序数组划分为有序数组和怎么将两个有序的数组合并为一个有序数组。 划分好说,我们可以一分为二 的划分数组,直到划分的子数组只有一个元素为止,只有一个元素时,它自然是有序的。 划分和归并我们可以用下面的图简单演示一下: 关于归并我们演示一下{
2015-06-14 17:01:59
371
原创 堆排序
今天学了一下堆排序。 堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。 如果根节点的编号为i,那么它的左孩子的编号为2*i+1,右孩子的编号为2*i+2,大根堆的要求是每个节点的值都不大于其父节点的值, 即Root[i].key>=Lchild[2*i+1].key
2015-06-12 23:37:26
387
原创 希尔排序
希尔排序也称作缩小增量排序。是对插入排序的一种改进。每次有一个增量d>=1,每次把待排序数组分为以d为间隔的几组数字。然后每次对以d为间隔的部分数组进行插入排序,这样跨度较普通的插入排序大,查找与交换的次数也减少。 然后缩小间隔增量d,继续进行插入排序,直到增量变为1,这就和普通排序一样了,但是,经过前面的增量d>1的排序,大部分数字已经有序了,自然交换的次数就少了,速度也就提高了。对于增量的选择
2015-06-05 00:12:08
489
原创 Linux IPC 之消息队列
今天学习了一下Linux中的消息队列。 消息队列可能是Linux IPC中最具有数据交换功能的通信方式。消息队列是一个消息的链表,我们创建一个消息队列,然后把想要发送的消息放入队列,别动进程就可以从消息队列中读取消息。 消息队列链表由系统内核进行维护,它可以通过一个消息的类型来检索指定的数据,它在数据流的概念上扩展了数据传递的概念,可以根据需要读取指定的数据,这是管道和FIFO所不能的。 但是
2015-06-04 20:32:38
471
原创 vi 之查找替换
今天看了一下vi的查找替换命令,感觉是方便的很。如果我们的程序很小或者只要更改一个或者说极少的几个地方,可能不需要这个命令。如果程序很大或者我们想要修改的字符串出现在程序的很多地方,要一个一个的都查找到并且正确改正,可能要下不少功夫加细心了,如果用vi的查找替换命令会方便不少。vi基本的查找替换命令的格式为:【range】s/str1/str2/[option]; range:查找文件的范围,可
2015-06-04 00:49:02
587
原创 二分法排序(折半插入排序)
有一次看到人家的面试题,什么给定一个整型数组,让用二分法对数组进行排序。一开始直接蒙了,什么叫二分法排序?后来查了一下,就是插入排序前,对前面已经排好序的元素进行折半,以期比普通的插入排序更快速定位到要插入的位置。崩溃!!! 我们用下面的图简单演示一下: 【4】为待插入的关键字,前面的【1,3,5,6,7,8,9】是已经排好序的。开始L=0指向A【0】=1,R=6指向A【6】=9,M=(L+R)
2015-06-04 00:06:46
793
原创 插入排序
今天学习了一下插入排序: 插入排序类似我们平时打扑克牌时整理牌。@代表移动后空出来的位置 比如我们先拿到一个10,这时手里只有一张牌,本身就是有序的,所以插入排序应该从第二个元素开始排序 【10】 下次我们拿到了5,这时5是待排序的关键字,我们先和手里已有的牌10,比较,5<10,我们就可以把10向后移动【@,10】,然后把5放在原来10的位置上, 【5,10】 再下次我们拿到了3,我们
2015-06-02 22:42:04
381
原创 Linux IPC 之管道通信
IPC -interprocesscommunication就是指进程间的通信。一个程序往往要有很多进程协作来完成。那么各个进程间的通信就很重要了,这是在 Unix/Linux下经常遇到的问题之一,它的主要目的就是要多个进程可以相互访问数据。只有一个进程的程序,IPC没有什么意义。 这次主要学习管道通信。管道是最基本的,最简单的IPC 方式。 管道在系统中并没有一个实际的名字,它只存在于内存中,
2015-06-02 20:51:24
512
原创 位操作之求绝对值
今天继续学习了位操作,用位操作实现求一个数的绝对值: 对于一个整数a,如果是个正数就直接返回,但是如果是个负数呢?应该取反再返回,比如-5取反后应该是+5,然后返回。 在计算机中数都是用二进制来表示的,就是一串的0和1组合: 例如5的二进制表示为:0000 0101, -5该如何表示,应该用补码来表示,就是,+5的二进制先按位取反,然后加1,如下: 先按位取反得: 1
2015-06-01 23:27:42
2265
原创 位操作
最近看了一下c中位运算的知识,写了几个小的测试程序,有的地方不是很明白 统计一个整数中1的个数:int count_1(int a) 26 { 27 /* 28 int i ,j,k; 29 int sum = 0;//和清零 30 for
2015-05-31 23:59:47
411
CAN 协议解析及如何取出指定位
2016-05-09
socket客户端定时向服务器发数据
2016-02-01
socket问题读写文件的问题
2016-01-28
在vs2010中实现雷达信号轨迹追踪
2016-01-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人