OpenGL_线性房子

#include "stdafx.h"

#include <GL/glut.h>

void myInit(void)

{

glClearColor(1.0, 1.0, 1.0, 0.0);      //设置背景颜色为亮白;

glColor3f(0.0f, 0.0f, 0.0f);       //设置绘图颜色为黑白;

glPointSize(1.0);          //设置点大小;

glLineWidth(2.0);          //设置线宽;

glMatrixMode(GL_PROJECTION);       //设置合适的矩阵;

glLoadIdentity();

gluOrtho2D(0.0, 640.0, 0.0, 480.0);      //建立一个坐标系; }

void hardwireHouse(void)

{

glClear(GL_COLOR_BUFFER_BIT);       //清屏;

glBegin(GL_LINE_LOOP);         //顶点首尾连续;

glVertex2i(40, 40);

glVertex2i(40, 90);

glVertex2i(70, 120);

glVertex2i(100, 90);

glVertex2i(100, 40);

glEnd();

glBegin(GL_LINE_STRIP);         //顶点首尾不连续;

glVertex2i(50, 100);

glVertex2i(50, 120);

glVertex2i(60, 120);

glVertex2i(60, 110);

glEnd();

glBegin(GL_LINE_STRIP);         //顶点首尾不连续;

glVertex2i(50, 40);

glVertex2i(50, 70);

glVertex2i(60, 70);

glVertex2i(60, 40);

glEnd();

glBegin(GL_LINE_LOOP);         //顶点首尾连续;

glVertex2i(80, 70);

glVertex2i(80, 80);

glVertex2i(90, 80);

glVertex2i(90, 70);

glEnd();

glFlush();

}

int main(int argc, char *argv[])

{

glutInit(&argc, argv);          //初始工具包;

glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);    //设置显示模式;

glutInitWindowPosition(100, 100);       //设置窗口在屏幕上的位置;

glutInitWindowSize(600, 600);        //设置窗口大小;

glutCreateWindow("线性房子");        //打开屏幕窗口;

glutDisplayFunc(hardwireHouse);        //注册重画函数;

myInit();

glutMainLoop();            //进入永久循环;

}

时间: 2024-10-03 22:37:12

OpenGL_线性房子的相关文章

LeetCode(4) || Longest Palindromic Substring 与 Manacher 线性算法

LeetCode(4) || Longest Palindromic Substring 与 Manacher 线性算法 题记 本文是LeetCode题库的第五题,没想到做这些题的速度会这么慢,工作之余全部耗在这上面了,只怪自己基础差.本文主要介绍使用Manacher线性算法来求解字符串的最长回文子字符串. 题目 Given a string S, find the longest palindromic substring in S. You may assume that the maxim

数据结构基础温故-1.线性表(上)

开篇:线性表是最简单也是在编程当中使用最多的一种数据结构.例如,英文字母表(A,B,C,D...,Z)就是一个线性表,表中的每一个英文字母都是一个数据元素:又如,成绩单也是一个线性表,表中的每一行是一个数据元素,每个数据元素又由学号.姓名.成绩等数据项组成.顺序表和链表作为线性表的两种重要的存在形式,它们是堆栈.队列.树.图等数据结构的实现基础. 一.线性表基础 1.1 线性表的基本定义 线性表:零个或多个数据元素的有限序列.线性表中的元素在位置上是有序的,类似于储户去银行排队取钱,人们依次排着

SVM(三),支持向量机,线性不可分和核函数

3.1 线性不可以分 我们之前讨论的情况都是建立在样例线性可分的假设上,当样例线性不可分时,我们可以尝试使用核函数来将特征映射到高维,这样很可能就可分了.然而,映射后我们也不能100%保证可分.那怎么办呢,我们需要将模型进行调整,以保证在不可分的情况下,也能够尽可能地找出分隔超平面. 看下面两张图: 可以看到一个离群点(可能是噪声)可以造成超平面的移动,间隔缩小,可见以前的模型对噪声非常敏感.再有甚者,如果离群点在另外一个类中,那么这时候就是线性不可分了. 这时候我们应该允许一些点游离并在在模型

R语言中的线性判别分析

在R语言中,线性判别分析(Liner Discriminant Analysis,简称LDA),依靠软件包MASS中有线性判别函数lqa()来实现.该函数有三种调用格式: 1)当对象为数据框data.frame时 lda(x,grouping,prior = propotions,tol = 1.0e-4,method,CV = FALSE,nu,...) 2) 当对象为公式Formula时 lda(formula,data,...,subnet,na.action) 3) 当对象为矩阵Matr

Hills——一道转移方程很“有趣”的线性DP

题目描述 Welcome to Innopolis city. Throughout the whole year, Innopolis citizens suffer from everlasting city construction. From the window in your room, you see the sequence of n hills, where i-th of them has height ai. The Innopolis administration wan

【opencv入门之二】感兴趣区域ROI,线性混合addWeighted

参考网站: http://blog.csdn.net/poem_qianmo/article/details/20911629 1.感兴趣区域ROI //[2]定义一个Mat类型并给其设定ROI区域 Mat imageROI = srcImage1( Rect(200, 250, logoImage.cols, logoImage.rows )); //[3]加载掩摸(必须是灰度图) Mat mask = imread( "dota_logo.jpg", 0 ); //[4]将掩摸拷贝

线性筛法

关于线性筛法 线性是指O(n)内筛掉所有合数,还有一种方法叫埃氏筛法,我先证明埃氏筛法效率低,也就是会有重复. 证明如下: 埃氏筛法的原理是找到一个素数后,它的1~n倍就会被筛掉,任何一个合数都可以被拆成一个质数*合数的形式,我们对每一个质数对应的可能的(合)数都枚举了,这就保证了所有可能的合数都被筛掉了.为什么不是最优呢?问题出在那个质数上,对于一个合数m,m=h*P,P是质数且P>m的最小质因数,那么m也可以表示为m=H*p,(H是个比h大的合数,p是m的最小质因数),这样我们在枚举p的倍数

bzoj 3309 DZY Loves Math - 莫比乌斯反演 - 线性筛

对于正整数n,定义f(n)为n所含质因子的最大幂指数.例如f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10007)=1, f(1)=0. 给定正整数a,b,求sigma(sigma(f(gcd(i,j)))) (i=1..a, j=1..b). Input 第一行一个数T,表示询问数. 接下来T行,每行两个数a,b,表示一个询问. Output 对于每一个询问,输出一行一个非负整数作为回答. Sample Input 4 7558588 9653114 6514903 445

Linux 内核中逻辑地址/虚拟地址/线性地址三者的区别

本博文引自我的知乎回答:Linux 线性地址,逻辑地址和虚拟地址的关系? 为了防止歧义,以下术语都用英文.部分术语不做解释了,不然答案就太长了. 以下讲解都是以代码段为例 在 Intel 平台下,逻辑地址(logical address)是 selector:offset 这种形式,selector 是 CS 寄存器的值,offset 是 EIP 寄存器的值.如果用 selector 去 GDT( 全局描述符表 ) 里拿到 segment base address(段基址) 然后加上 offse