-
OpenGL实现中点划线法
2020-08-25 00:37:56主要为大家详细介绍了OpenGL实现中点划线法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
建模方法(一)-博弈论中使用划线法求解纳什均衡
2018-08-16 12:25:38对网上的博弈论划线法的总结如下。 完全信息静态博弈是指博弈各方同时决策,任何博弈参与者对博弈信息均完全了解。博弈信息包括:博弈过程、博弈结果、博弈各方的策略集、收益等。它的均衡可以用纳什均衡,且每个...对网上的博弈论划线法的总结如下。
完全信息静态博弈是指博弈各方同时决策,任何博弈参与者对博弈信息均完全了解。博弈信息包括:博弈过程、博弈结果、博弈各方的策略集、收益等。它的均衡可以用纳什均衡,且每个完全信息静态博弈都存在这样的均衡。纳什均衡可以用划线法+支付矩阵来求得,但并不是所有的求解纳什均衡都可以用这个方法。
参与者位于支付矩阵的上部和左部,参与者的策略位于矩阵左部和上部,矩阵中的数值为组合策略对于参与者的利益值。
这里拿剪刀石头布博弈来说,支付矩阵如下图所示:
其中第一行第一列(0,0)表示参与者都选择锤头的策略对于两个参与者的利益都是0。
划线原理:假设除了最后一个参与者其他参与者都选定某个策略,最后一个参与者选择对他来说利益最大的策略,相应最大值下面划横线。划线方法:按列比较各行第一个分量; 按行比较各列的第二的分量; 分别在最大值下划线; 其实就是找双方赢得都最大的偶对
所以以第一行为例,对于第一行所有数据的第二个分量的最大值为1,在1下面画横线。对于两个分量都画了横线的数据就是双赢的情况,显然图中没有这样的数据,说明有些博弈通过划线法不能找出纳什均衡,这就是两个参与者划线方法。
那如果是3个参与者呢,如下图所示问题:
以博弈方3来划分为3个支付矩阵,上图是博弈方3在选择A的时候对应的支付矩阵。第一个和第二个分量的划线方法和之前的两个参与者划线方法一样,对每一列只看第一个分量,每一行只看第二个分量,找最大值划线。因为划线的实质就是假设某个参与者选择了某个策略,对于另一个参与者选择当前情况收益最大的策略。类似的原理,对于第三个分量划线的方法是:三个支付矩阵的同一格进行比较第三个分量,在最大值下面划线,这等价于在参与者1和参与者2都选定策略的情况下,对不同策略对应的利益值中选择最大值。
-
计算机图形学:中点划线法(任意斜率)
2015-12-08 12:18:46第一次学绘图,后来发现书上的SetPixel函数在vc6.0中不能用。就去百度查找了,找了好久才找到easyx(包含graphics.h头文件)... 由于书本上只有斜率在0~1范围内的终点划线法,又根据书本上的方法找到了在其它斜率下的情第一次学绘图,后来发现书上的SetPixel函数在vc6.0中不能用。就去百度查找了,找了好久才找到easyx(包含graphics.h头文件)。最后又查找了easyx帮助文档找到putpixel(x,y,color)( 在指定位置画一像素)能够代替书上的SetPixel(x,y,color)。
由于书本上只有斜率在0~1范围内的终点划线法,又根据书本上的方法找到了在其它斜率下的情况。
0<=k<=1
-1<=k<=0
k>1
k<-1
d=2a+b
d=2a-b
d=a+2b
d=a-2b
d>0:d2=d1+2a
d<=0:d2=d1+2a+2b
d>0:d2=d1+2a-2b
d<=0:d2=d1+2a
d>0:d2=d1+2a+2b
d<=0:d2=d1+2b
d>0:d2=d1-2a
d<=0:d2=d1+2a-2b
由于在graphics.h头文件中使用initgraph(x,y)建立绘图屏幕 只能是左上角为(0,0)
坐标,x坐标向右,y坐标向下的第一象限。所以在测试数据时候只能写起始坐标(x0,y0)终点坐标(x1,y1)在第一象限内的直线(即x0>=0,x1>=0,y0>=0,y1>=0);
Easyx下载地址:http://www.easyx.cn/downloads/
编程环境:vc6.0(安装了easyx)
运行:windows7旗舰版
至于源代码,等我的作业交上去了在贴上吧,先贴上运行结果
#include <stdio.h> #include <graphics.h> #include <conio.h> //中点画线法斜率为0~1斜率为0~1 void MidPointLine1(int x0,int y0,int x1,int y1) { //初始一个480*480的绘图屏幕 initgraph(480, 480); int a,b,delta1,delta2,d,x,y; a=y0-y1; b=x1-x0; d=2*a+b; delta1=2*a; delta2=2*(a+b); x=x0; y=y0; //在对应的x,y像素点着色 putpixel(x,y,GREEN); while(x<x1) { if(d<0) { x++; y++; d+=delta2; } else { x++; d+=delta1; } //在对应的x,y像素点着色 putpixel(x,y,GREEN); //可以把下面这句取消注释,按回车看画线过程。 // system("pause"); } //为了能够看到绘图效果 加了getch() 否则会直接关闭绘图屏幕 getch(); closegraph(); } //斜率>1 void MidPointLine2(int x0,int y0,int x1,int y1) { //初始一个480*480的绘图屏幕 initgraph(480, 480); int a,b,delta1,delta2,d,x,y; a=y0-y1; b=x1-x0; d=a+2*b; delta1=2*(a+b); delta2=2*b; x=x0; y=y0; //在对应的x,y像素点着色 putpixel(x,y,GREEN); while(y<y1) { if(d<0) { y++; d+=delta2; } else { y++; x++; d+=delta1; } //在对应的x,y像素点着色 putpixel(x,y,GREEN); //可以把下面这句取消注释,按回车看画线过程。 // system("pause"); } //为了能够看到绘图效果 加了getch() 否则会直接关闭绘图屏幕 getch(); closegraph(); } //斜率为-1~0 void MidPointLine3(int x0,int y0,int x1,int y1) { //初始一个480*480的绘图屏幕 initgraph(480, 480); int a,b,delta1,delta2,d,x,y; a=y0-y1; b=x1-x0; d=2*a-b; delta1=2*a-2*b; delta2=2*a; x=x0; y=y0; //在对应的x,y像素点着色 putpixel(x,y,GREEN); while(x<x1) { if(d<0) { x++; d+=delta2; } else { x++; y--; d+=delta1; } //在对应的x,y像素点着色 putpixel(x,y,GREEN); //可以把下面这句取消注释,按回车看画线过程。 // system("pause"); } //为了能够看到绘图效果 加了getch() 否则会直接关闭绘图屏幕 getch(); closegraph(); } //斜率<-1 void MidPointLine4(int x0,int y0,int x1,int y1) { //初始一个480*480的绘图屏幕 initgraph(480, 480); int a,b,delta1,delta2,d,x,y; a=y0-y1; b=x1-x0; d=a-2*b; delta1=-2*b; delta2=2*(a-b); x=x0; y=y0; //在对应的x,y像素点着色 putpixel(x,y,GREEN); while(y>y1) { if(d<0) { x++; y--; d+=delta2; } else { y--; d+=delta1; } //在对应的x,y像素点着色 putpixel(x,y,GREEN); //可以把下面这句取消注释,按回车看画线过程。 // system("pause"); } //为了能够看到绘图效果 加了getch() 否则会直接关闭绘图屏幕 getch(); closegraph(); } int main() { int x1,y1,x2,y2; printf("请输入起始点,终点坐标(用空格隔开,回车结束):"); scanf("%d %d %d %d",&x1,&y1,&x2,&y2); //根据斜率范围判断对应函数 float k=(float)(y2-y1)/(float)(x2-x1); if(k>=0&&k<=1) MidPointLine1(x1,y1,x2,y2);//斜率为0~1 测试数据0 0 320 100 else if(k>1) MidPointLine2(x1,y1,x2,y2);//斜率为>1 测试数据0 0 100 320 else if(k>=-1&&k<=0) MidPointLine3(x1,y1,x2,y2);//斜率为-1~0 测试数据0 100 200 0 else MidPointLine4(x1,y1,x2,y2);//斜率为<-1 测试数据0 200 100 0 }
运行结果:
1.测试数据:0 0 320 100
运行结果:
2.测试数据:0 0 100 320
运行结果:
3.测试数据:0 100 200 0
运行结果:
4.测试数据:0 200 100 0
运行结果:
-
打败主力的神奇划线法
2012-10-31 11:09:592、跌二日可开始划线,以当天最高价与上上一天的最高价作一划线。 这条从左上到右下方的线把K线分为左下与右上二个区域,下一天收盘价在右上侧的可以入或下一天低入,第三天没有买点那就以第四天最高价与上上天...1、不做在E40(EXPMA40)以下的,不做流通盘大于6亿的,不做ST的。
2、跌二日可开始划线,以当天最高价与上上一天的最高价作一划线。
这条从左上到右下方的线把K线分为左下与右上二个区域,下一天收盘价在右上侧的可以入或下一天低入,第三天没有买点那就以第四天最高价与上上天(即跌第二天)最高价划线求第四天可否入,以此类推,直到买点出现。
下面的一根划线K线上影线是实体的一倍以上,就按这根K线的实体最高点算。
划出的线向右上斜,也可以按下面一根K线实体最高点算,这样做后还是向上斜线,就按这根实体一半算。
3、按买入价算赚5%走人。
4、收盘破CDL1945定的止损价(近期最高收盘价/1.021)走人。
5、止损后盯牢它,天天划,直至买点出现,把上次赔的一定要赚回,下E40太远太久放弃。
6、反过来,涨K线有三根了就可以以最高涨K线实体的开盘价横线当中与上上天K线实体的开盘价横线当中划一线,收盘在线的右下方的当天即卖。
-
用OpenGL实现 中点划线法
2013-11-01 20:17:24glutCreateWindow("中点划线法"); glClearColor(1.0, 1.0, 1.0, 0.0); glMatrixMode(GL_PROJECTION); gluOrtho2D(0.0, 500.0, 0.0, 500.0); glutDisplayFunc(lineSegment); glutMainLoop(); }#include "GL/glut.h" #include "stdio.h" #include "math.h" int xs, ys, xe, ye; void MidpointLine(int x0, int y0, int x1, int y1) { if((x0 != x1) && (y0 != y1)) { int a, b, deltal, delta2, d, x, y; a = y0 - y1; b = x1 - x0; d = 2 * a + b; deltal = 2 * a; delta2 = 2 * (a + b); x = x0; y = y0; glVertex2i(x, y); while(x < x1) { if(d < 0) { x++; y++; d += delta2; } else { x++; d += deltal; } glVertex2i(x, y); } } else { int min, d; if(x0 == x1) { int x = x0, y; y = (y0<=y1) ? y0 : y1; d = fabs((double)(y0 - y1)); while (d <= 0) { glVertex2i(x, y); y++; d--; } } } } void lineSegment() { glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0, 0.0, 0.0); glBegin(GL_POINTS); MidpointLine(xs, ys, xe, ye); glEnd(); glFlush(); } void main(int argc, char * argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); printf("输入线段起始和终止点坐标(范围为0-500,0-500)"); scanf("%d, %d, %d, %d", &xs, &ys, &xe, &ye); glutInitWindowPosition(50, 100); glutInitWindowSize(500, 500); glutCreateWindow("中点划线法"); glClearColor(1.0, 1.0, 1.0, 0.0); glMatrixMode(GL_PROJECTION); gluOrtho2D(0.0, 500.0, 0.0, 500.0); glutDisplayFunc(lineSegment); glutMainLoop(); }
-
连续出错的概率_独创“横纵划线法”,绝杀一码概率极高,双色球蓝球4X4矩阵图...
2020-12-24 12:33:21后来想了一想,这两种路径皆为固定模式,而双色球却是一种变化的规律,那是不是得用变化的方法去应对,然后就尝试出一个可随变化的分析新方法:横纵划线法。 介绍一下这个横纵划线法表格,可以根据上期的蓝球出号而... -
多种方法在Markdown加入上划线、中划线、下划线
2020-04-01 12:21:08上划线和下划线不是Markdown自身语法,因此需要一点摸索,特将结果记录于此 中划线 中划线是markdown自身语法,实现起来很简单: ~~中划线~~ 效果: 中划线 下划线 法一:借助Latex公式 $\underline{\text{下划线}}... -
vb.net word 自定义工具栏_word重点标记新玩法:应用绘图工具手写笔进行划线涂抹...
2020-11-22 05:43:23用word的绘图工具直接像用笔在纸上划线勾重点那样标记文档的重点内容,效果更自然随性,不死板。注意,说的不是那个ab加一个毛笔的“文本突出显示颜色”按钮。如果绘图工具不能用,请按文中方法解决。 学习更多技巧... -
氩激光减少划线片的修补时间
2021-02-08 12:49:25应用氩激光的一种透明缺陷修补系统(DRS)预示着可以大大节省修补络膜...Quantronix公司的这种新型DRSII系统较之目前卸下法修补半导体制造中的划线片和光掩模能节省很多时间。此系统较与之竞争的离子束系统也具有优点。 -
css 底部划线_CSS学习笔记
2021-01-04 14:07:04课程介绍为了让网页元素的样式更加丰富,也为了让网页的内容和样式能拆分开,CSS由此思想而诞生,CSS是 Cascading Style Sheets 的首字母缩写...目录:CSS基本语法及页面引用CSS文本颜色CSS颜色表示法CSS选择器CSS盒... -
蓝桥杯真题 15省5-九数组分数 1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法? 下面的程序...
2020-10-05 20:36:451,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法? 下面的程序实现了该功能,请填写划线部分缺失的代码。 #include <stdio.h> void test(int x[]) { int a = x[0]*1000 + x[1]*100 + x[2]*10 ... -
/* 九数组分数 1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法? 下面的程序实现了该功能,请...
2021-02-06 11:29:351,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法? 下面的程序实现了该功能,请填写划线部分缺失的代码。 */ #include <stdio.h> void test(int x[]) { int a = x[0]*1000 + x[1]*100 + x[2]... -
我的代码风格
2017-08-05 16:34:201. 变量命名以下划线法,如:web_count; 2. 函数、方法命名以下划线法,如:get_web_count() 3. 类名以大驼峰法,如:WssInfo(object) 4. 代码文件命名以小驼峰法,如:wssModels.py 5. 定义类,方法、函数需... -
sql两个列值以下划线拼接得到一个新的列_SQL基础知识总结
2021-01-09 08:40:51创建表语法create table <表名>( <列名1> <数据类型> <约束条件> <列名2> <数据类型> <约束条件> <列名3> <数据类型> <约束条件> ... );2.NULL值在... -
柯布-道格拉斯效用函数下的pcr抽卡策略
2020-05-14 13:47:57分析方法 上策均衡 注意到,当博弈两方中的其中一方(A)有上策,而另一方(B)没有时,B可以以A选择上策为前提选择策略 严格下策反复消去法 划线法 箭头法 纳什均衡 ... -
澳洲野生稻内生固氮菌多样性及发育分析
2020-01-03 10:31:17澳洲野生稻内生固氮菌多样性及发育分析,原红娟,严慧,采用无氮培养基对澳洲野生稻的内生固氮菌进行分离,经平板划线法共分离筛选到45株内生固氮菌。利用全细胞蛋白电泳和插入序列指纹� -
不同培养条件下大肠杆菌对卡那霉素产生耐药性速率的比较
2020-01-31 21:08:01不同培养条件下大肠杆菌对卡那霉素产生耐药性速率的比较,夏令,宋均凤,目的:比较大肠杆菌K12(E. coli K12)在不同培养基中对卡那霉素产生耐药性的速率。方法:采用划线法培养大肠杆菌单克隆,挑取单克隆� -
裁决国际环境法诉讼:判例法的最新发展
2020-06-03 10:19:17近年来,国际环境法领域已有各种发展。 一些州际争端引起了对解决环境问题的关注。 本文适当地讨论了三个著名的案例,即印度河水基希安加,南中国海和纸浆厂案例。 在这三个案例中,都宣布了一个新的管辖权,为国际... -
一株煤泥水微生物絮凝剂产生菌的筛选及鉴定
2020-06-13 07:49:00通过稀释涂布法和常规划线法从煤矿附近的河底污泥中分离出27株细菌,经过初筛和复筛得到1株对洗煤废水有较好絮凝效果的絮凝剂产生菌SM005;将该菌株用于洗煤废水的絮凝沉降试验,测定结果表明:其絮凝率为81.87%;对其... -
web前端开发(3)
2014-05-21 17:42:00css 类命名使用骆驼命名法,可以与划线法结合使用。 骆驼命名法用于区别单词,划线命名用于表达从属关系。 尽量不要使用子选择器,否则容易引起冲突隐患。 css可以分为 base、common、page三层,base与... -
博弈论——完全信息静态博弈下的两人博弈有效求解方法
2010-01-12 14:48:00纯战略 两人有限战略——划线法 表1 划线法求解“囚徒困境” 2. 混合战略 1) 两人两战略——等值法 求解可得: 2) 两人有限战略——规划求解法 参考文献:[1] 罗云峰. 博弈论教程. 北京: 清华大学出版社, 北京交通... -
echarts柱形图x轴y轴互换_法国木构架划线放样工艺,X轴和Y轴能造出整个世界 ……...
2020-12-26 08:45:40作为法国特有的一门学科(相关实践只在日本和德国才有),划线放样不仅仅是一种建筑技术,更被尊称为“艺术”,因为它在法国工匠协会的创立和形成中发挥了重要作用,并传递着它特有的价值观。 正如上文所说,在行会... -
接口,实现类,对象方法的调用关系.(查看程序输出)
2018-05-21 19:24:00分析的术语可能不是那么准确!有待加强~~~ ...划线法真的不错.不过其实这个程序仔细看看也能很好分析. 只不过脑子容量还是有限的~好脑子不如画个图~ 转载于:https://www.cnblogs.com/ukzq/p/9068882.html...
-
2021年 系统架构设计师 系列课
-
qgis和udig安装包.zip
-
verilog设计一个分,秒定时器电路:输入时钟1KHZ进行分秒计数
-
linux常见命令
-
MMM 集群部署实现 MySQL 高可用和读写分离
-
MHA 高可用 MySQL 架构与 Altas 读写分离
-
access应用的3个开发实例
-
开发者需要了解的WebKit
-
PAT(甲级)2020年秋季考试 7-3 Left-View of Binary Tree (25 分) 经验分享与心路历程
-
报价单:报价单应用程序,创建该应用程序是为了开发Angular Framework中的编程技能-源码
-
Galera 高可用 MySQL 集群(PXC v5.6 + Ngin
-
MySQL 视图
-
2021-03-03
-
Docker镜像与容器存储结构分析
-
EdgeX Foundry了解一下
-
基于ssm框架的名宿网站的设计与实现
-
2021金三银四Java面试突击:1280道阿里/腾讯/美团精选面经!
-
CVPR-2021-纸-源码
-
请输入今天的日期(月/日<用两位数表示:): 05/29 请输入客户生日:08/09 然后判断是否今天生日 是否继续(y/n) 如果是y就重复以上步骤,否则退出程序
-
基于抛物和排气的平流层巨型飞艇上升协调控制