triangle

VS2015+ Opengles 2.0 和opengles 3.0、VS2015 + opengl 环境配置

无人久伴 提交于 2021-02-18 04:03:01
VS2015 + opengl 详见网址: https://blog.csdn.net/so_geili/article/details/51685005 https://blog.csdn.net/niukaoying6674/article/details/79915808 使用时需要添加依赖项如图: VS2015 + opengles 3.0 详见网址: https://blog.csdn.net/dardgen2015/article/details/51563914 VS2015 + opengles 2.0 详见网址: https://blog.csdn.net/linshuhe1/article/details/51064322、https://blog.csdn.net/u013015629/article/details/66475507 简单拷贝备用: 下载AMD的OpenGL ES2.0的模拟器,下载地址: http://www.opengles-book.com/ESEmulator.2009-04-28-v1.4.APRIL_2009_RELEASE.msi 下载《OpenGL ES2.0 Programming guide》里的例子代码,下载地址: http://www.opengles-book.com/OpenGL_ES_Programming

Java第一阶段作业总结

匆匆过客 提交于 2021-02-17 16:32:36
前言: 本次总结针对于pta上第一阶段的三次作业,第一次作业主要训练Java的基础语法,如if...else语句、for、while循环语句;第二次作业主要对于方法的使用,比如有参数有返回值方法;第三次作业主要对于类、构造方法等的使用。 一、作业过程总结 1、作业之间知识的迭代关系:第一次作业针对题目需要实现的要求,主要是使用一些基础语法,如选择判断语句及循环语句;第二次作业则是对方法的使用,在方法中,实现部分所需的要求;第三次作业则是对于类的使用,不同的类中又使用了所需的不同方法,如构造方法等。 2、由面向过程过渡至面对对象的过程:第一次的作业是为了实现题目需要的要求,为了解决问题,就像写C语言一样,一个方法里解决所有问题,代码的复用性不高。(如下为第一次作业的源代码,主要是对基础语法的使用) import java.util.Scanner; public class Main{ static double a,b,c; public static void main(String[] args) { // TODO Auto-generated method stub Scanner y= new Scanner(System.in); a = y.nextDouble(); b = y.nextDouble(); c = y.nextDouble(); if (a<=0|

C++11常用新特性快速一览

二次信任 提交于 2021-01-27 09:57:05
转载自 https://blog.csdn.net/jiange_zh/article/details/79356417 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/jiange_zh/article/details/79356417 最近工作中,遇到一些问题,使用C++11实现起来会更加方便,而线上的生产环境还不支持C++11,于是决定新年开工后,在组内把C++11推广开来,整理以下文档,方便自己查阅,也方便同事快速上手。(对于异步编程十分实用的Future/Promise以及智能指针等,将不做整理介绍,组内使用的框架已经支持并广泛使用了,用的是自己公司参考boost实现的版本) 1. nullptr nullptr 出现的目的是为了替代 NULL。 在某种意义上来说,传统 C++ 会把 NULL、0 视为同一种东西,这取决于编译器如何定义 NULL,有些编译器会将 NULL 定义为 ((void*)0),有些则会直接将其定义为 0。 C++ 不允许直接将 void * 隐式转换到其他类型,但如果 NULL 被定义为 ((void*)0),那么当编译char *ch = NULL;时,NULL 只好被定义为 0。 而这依然会产生问题,将导致了 C++

OpenCV3入门(五)图像的阈值

孤街浪徒 提交于 2021-01-14 07:52:29
1 、图像阈值与二值化 阈值是一种简单的图像分割方法,一幅图像包括目标物体(前景)、背景还有噪声,要想从数字图像中直接提取出目标物体,可以设定一个像素值即阈值,然后用图像的每一个像素点和阈值做比较,给出判定结果。 二值化是特殊的阈值分割方法,把图像分为两部分,以阈值T为分割线,大于T的像素群和小于T的像素群,这样图像就变为黑白二色图像。通过设定一个标准如果大于这个标准就设为白,如果小于这个标准就设为黑,而这个标准就是阈值。 2 、OpenCV 阈值threshold double threshold(InputArray src, OutputArray dst, double thresh, double maxval, int type); (1)第一个参数,InputArray 类型的 src,源图像。单通道,8 或 32位浮点数类型的深度。 (2)第二个参数,OutputArray 类型的 dst,输出图像。 (3)第三个参数,double 类型的 thresh,选取的阈值。 (4)第四个参数,double 类型的 maxval。 (5)第五个参数,int 类型的 type。阈值类型。如下所示: type类型如下: enum cv::ThresholdTypes { cv::THRESH_BINARY = 0 , cv::THRESH_BINARY_INV = 1 , cv

JAVA算法之递归

蹲街弑〆低调 提交于 2021-01-06 04:53:31
Ⅰ、三角数字   首先我们来看一组数字:1,3,6,10,15,21.....,在这个数列中第n项是由n-1项加n得到的,这个序列中的数字称为三角数字因为他们可以形象化地表示成一个三角形排列。如下图 通过上面的图首先我们就可以想到使用循环来查找第n项的数值,下面代码就是从高度为n的列加到高度为1的列 int triangle( int n){ int total = 0 ; while (n>0 ){ total = total + n; -- n; } return total; } 上面方法循环了n次,第一次加n,第二次加n-1,一直加到1从而可以算出第n项的值。 使用递归的思想查找第n项的值,此时我们将三角数字看做是第一列和剩余所有列的和,如下图所示,可以写出triangle()方法 int triangle( int n){ // 1. return (n + sumAllColums(n-1)) // 这里我们可以发现sumAllColums方法做的事情和triangle做的事情一模一样 return (n + triangle(n-1)) // 这里我们可以将上面步骤换为此步骤,从而得到求三角数字的递归算法 }   此时上面的递归代码是不会终止的,所以我们的每一个递归代码要有一个我们称之为基值(base case)以防止无限递归导致程序崩溃

Java数据结构和算法

你离开我真会死。 提交于 2021-01-06 04:29:27
三角数字 Q: 什么是三角数字? A: 据说一群在毕达哥拉斯领导下工作的古希腊的数学家,发现了在数学序列1,3,6,10,15,21,……中有一种奇特的联系。这个数列中的第N项是由第N-1项加N得到的。 由此,第二项是由第一项(1)加上2,得3。第三项是由第二项(3)加上3得到6,依次类推。 这个序列中的数字被称为三角数字,因为它们可以被形象化地表示成对象的一个三角形排列。 Q: 如何使用循环求第N项? A: 示例: TriangleNumber.java Q: 如何使用递归求第N项? A: 导致递归的方法直接返回而没有再一次进行递归调用,此时我们称为基值情况(base case)。 A: 每一个递归方法都有一个基值(中止)条件,以防止无限地递归下来,避免由此引发的程序崩溃,这一点至关重要。 A: 示例: TriangleNumber.java Q: 到底发生了什么? A: 通过插入一些输出语句来跟踪观察参数和返回值,示例: TriangleNumber.java 输出结果如下: Enter a number = 5 Entering n = 5 Entering n = 4 Entering n = 3 Entering n = 2 Entering n = 1 Returning 1 Returning 3 Returning 6 Returning 10 Returning

Matplotlib快速入门

时光毁灭记忆、已成空白 提交于 2020-12-25 14:24:54
Matplotlib 可能还有小伙伴不知道 Matplotlib 是什么,下面是维基百科的介绍。 Matplotlib 是Python编程语言的一个绘图库及其数值数学扩展 NumPy。它为利用通用的图形用户界面工具包,如Tkinter, wxPython, Qt或GTK+向应用程序嵌入式绘图提供了面向对象的应用程序接口。 简单说就是画图的工具包。本文将教会你如何使用 Matplotlib 绘图,如果你没有 Python 基础也没关系,依葫芦画瓢也完全OK的。关于如何安装Python以及Matplotlib,文末有链接。 绘制第一个图 如果给 plot 函数一个一维数组,则将该数组作为纵轴坐标,并且将数组中的每个数据点索引作为水平坐标 import matplotlib.pyplot as plt plt.plot([1, 2, 4, 9, 5, 3]) plt.show() 如果提供两个数组,则将其分别作为x轴和y轴 plt.plot([-3, -2, 5, 0], [1, 6, 4, 3]) plt.show() 坐标轴会自动匹配数据的范围,不过我们可以调用 axis 函数来改变每个轴的范围 [xmin, xmax, ymin, ymax] plt.plot([-3, -2, 5, 0], [1, 6, 4, 3]) plt.axis([-4, 6, 0, 7]) plt

CSS3--clip-path练习

五迷三道 提交于 2020-12-18 07:50:48
CSS 新属性 clip-path ,意味裁剪路径的意思,让我们可以很便捷的生成各种几何图形。 clip-path 通过定义特殊的路径,实现我们想要的图形。而这个路径,正是 SVG 中的 path 。 1、 简介 初始值:none 适用元素:所有元素;在SVG中,不适用于defs(动画)元素和所有的graphics(画图)元素。 继承性:无 计算值:指定值,url需要绝对值 动画性:指定的基础图形才有 --> inset(), circle(), ellipse(), polygon() ★更多详细的信息请移步 这里》》 2、语法 /* Keyword values */ clip-path: none; /* Image values */ clip-path: url(resources.svg#c1); /* Box values clip-path: fill-box; clip-path: stroke-box; clip-path: view-box; clip-path: margin-box; clip-path: border-box; clip-path: padding-box; clip-path: content-box; /* Geometry values */ clip-path: inset(100px 50px); clip-path:

R语言进行词云统计分析

允我心安 提交于 2020-12-15 02:20:53
R语言进行词云统计分析 本文章从爬虫、词频统计、可视化三个方面讲述了R语言的具体应用,欢迎大家共同谈论学习 1、使用 rvest 进行数据的爬取 #如果没有,先安装rvest包 install.packages("rvest") library(rvest) url <- "http://www.sohu.com/a/123426877_479559" #读取数据,规定编码 web <- read_html(url, encoding = "utf-8") position <- web %>% html_node("article.article") %>% html_text() %>%管道函数,将左边的值赋给右边函数作为第一个参数的值 web存储网页信息的变量。 html_nodes()函数获取网页里的相应节点 html_text()函数获取标签内的文本信息 要获取网页中的节点,打开所要爬取网页内容——>按F12——>找到内容所对应的网页节点 2、使用jiebaR进行分词,统计词频 #install.packages("jiebaR") library(jiebaR) #初始化分词引擎并加载停用词 #user表示需要组合到一起的单词 #stop_word删除不需要出现的词 engine_s <- worker(user = "E:/R-Test/dictionary.txt"

[译]开发者须知的SOLID原则

允我心安 提交于 2020-12-13 10:28:04
原文: SOLID Principles every Developer Should Know – Bits and Pieces SOLID Principles every devloper should know 面向对象为软件开发带来了新的设计方式,它使得开发者可以将具有相同目的或功能的数据结组合到一个类中来完成单一的目的,不需要考虑整个应用。 但是,面向对象编程没有减少混乱和不可维护的程序。正是这样,Robert C. Martin发展出了5条指南/准则,让开发者可以易于创建可读且易于维护的程序。 这5条准则就是S.O.L.I.D原则(缩写是Michael Feathers推演出来的) S: Single Responsibilty Principle 单一功能原则 O: Open-Closed Principle 开闭原则 L: Liskov Substitution Principle 里氏替换 I: Interface Segregation Principle 接口分离 D: Dependency Inversion Principle 依赖反转 接下来我们详细讨论上述原则。 注意: 本文的大部分例子可能不能满足或者适用现实世界的应用程序。要视你自己的实际设计和使用场景来定。最 重要 的是理解和掌握如何运用或遵循这些原则。 建议:使用 Bit