{"id":70,"date":"2022-03-23T22:08:49","date_gmt":"2022-03-23T22:08:49","guid":{"rendered":"https:\/\/wordpress.ft.unicamp.br\/magic\/exercicios-7\/"},"modified":"2022-03-23T22:08:49","modified_gmt":"2022-03-23T22:08:49","slug":"exercicios-7","status":"publish","type":"page","link":"https:\/\/wordpress.ft.unicamp.br\/magic\/exercicios-7\/","title":{"rendered":"Exerc\u00edcios"},"content":{"rendered":"<p>&#013;<\/p>\n<div class=\"NAVHEADER\">&#013;<\/p>\n<table cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" border=\"0\">&#013;<\/p>\n<tbody>&#013;<\/p>\n<tr>&#013;<\/p>\n<th align=\"middle\" colspan=\"3\">Introdu\u00e7\u00e3o \u00e0 computa\u00e7\u00e3o gr\u00e1fica com &#013;<br \/>\nOpenGL<\/th>\n<\/tr>\n<p>&#013;<\/p>\n<tr>&#013;<\/p>\n<td valign=\"bottom\" align=\"left\" width=\"10%\"><a href=\"preenchimento-outros.html\">Prev<\/a><\/td>\n<p>&#013;<\/p>\n<td valign=\"bottom\" align=\"middle\" width=\"80%\">Cap\u00edtulo 3. Preenchimento de &#013;<br \/>\n      regi\u00f5es<\/td>\n<p>&#013;<\/p>\n<td valign=\"bottom\" align=\"right\" width=\"10%\"><a href=\"transformacoes.html\">Next<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&#013;<\/p>\n<hr align=\"left\" width=\"100%\" \/>&#013;\n<\/div>\n<p>&#013;<\/p>\n<div class=\"SECT1\">&#013;<\/p>\n<h1 class=\"SECT1\"><a name=\"PREENCHIMENTO-EXERCICIOS\">3.3. Exerc\u00edcios<\/a><\/h1>\n<p>&#013;<\/p>\n<p \/>&#013;<br \/>\n<b>(Exerc\u00edcios obrigat\u00f3rios &#8211; 2010) <\/b> &#013;<\/p>\n<ol type=\"1\">&#013;<\/p>\n<li>&#013;\n<p>Desenvolva um programa que leia pontos de um arquivo texto (coordenadas <i>xy<\/i>) e plote a figura correspondente em uma janela de tamanho 300&#215;300. A figura deve representar um animal. Deve ser plotado a vers\u00e3o&#013;<br \/>\ncom e sem preenchimento, lado a lado. <\/p>\n<p>&#013;\n<\/li>\n<\/ol>\n<p>&#013;<\/p>\n<p \/>&#013;<br \/>\n<b>(Exerc\u00edcios obrigat\u00f3rios-2008) Implementar UM dos programas abaixo.<\/b> &#013;<\/p>\n<ol type=\"1\">&#013;<\/p>\n<li>&#013;\n<p> Construir um programa chamado <tt class=\"FILENAME\">Transf.c<\/tt> que simule a transfer\u00eancia&#013;<br \/>\nde dados em uma rede. Esse programa deve desenhar quadrados \u00e0 direita (download) \u00e0 medida que o usu\u00e1rio &#013;<br \/>\nclica no bot\u00e3o direito do <i>mouse<\/i>, e desenhar quadrados \u00e0 esquerda (upload) \u00e0 medida que o usu\u00e1rio &#013;<br \/>\nclica no bot\u00e3o esquerdo do <i>mouse<\/i>. A figura abaixo ilustra um poss\u00edvel <i>layout<\/i>.<\/p>\n<p>&#013;<\/p>\n<div class=\"FIGURE\">&#013;<\/p>\n<p><b><a name=\"FIG-TRIG\">Sugest\u00e3o de layout do programa de transfer\u00eancia de dados.<\/a><\/b><\/p>\n<p>&#013;<\/p>\n<p><img decoding=\"async\" src=\"transf.jpg\" \/><\/p>\n<\/div>\n<p>&#013;\n <\/li>\n<li>&#013;\n<p> Construir um programa chamado <tt class=\"FILENAME\">velocidade.c<\/tt> que simule um medidor&#013;<br \/>\nde velocidade de um autom\u00f3vel. O acelerador \u00e9 simulado pelo uso do <i>mouse<\/i>. Ao clicar na metade \u00e0 &#013;<br \/>\ndireita da janela, o ponteiro sinaliza que houve aumento de velocidade;  Ao clicar na metade \u00e0 &#013;<br \/>\nesquerda da janela, o ponteiro sinaliza que houve diminui\u00e7\u00e3o de velocidade. A figura abaixo ilustra um poss\u00edvel <i>layout<\/i>.<\/p>\n<p>&#013;<\/p>\n<div class=\"FIGURE\">&#013;<\/p>\n<p><b><a name=\"FIG-TRIG\">Sugest\u00e3o de layout do programa <tt class=\"FILENAME\">velocidade.c<\/tt>.<\/a><\/b><\/p>\n<p>&#013;<\/p>\n<p><img decoding=\"async\" src=\"velocidade.jpg\" \/><\/p>\n<\/div>\n<p>&#013;\n<\/li>\n<\/ol>\n<\/div>\n<p>&#013;<\/p>\n<div class=\"NAVFOOTER\">&#013;<\/p>\n<p \/>&#013;<br \/>\n<b>(Exerc\u00edcios obrigat\u00f3rios-2007) <\/b> &#013;<\/p>\n<ol type=\"1\">&#013;<\/p>\n<li>&#013;\n<p> Construir um programa chamado <tt class=\"FILENAME\">Polig.c<\/tt> no qual \u00e9 criado um &#013;<br \/>\nquadrado ou um tri\u00e2ngulo preenchido com cor aleat\u00f3ria a cada vez que o usu\u00e1rio clica com o bot\u00e3o esquerdo&#013;<br \/>\ndo mouse na janela de desenho. A escolha entre o quadrado e o tri\u00e2ngulo \u00e9 feita por meio de um&#013;<br \/>\nmenu <i>popup<\/i>. A janela de desenho possui dimens\u00f5es 256&#215;256. O quadrado &#013;<br \/>\ncriado deve ter um lado de 40 unidades e o seu centro coincide com as coordenadas <i>(x,y)<\/i> do&#013;<br \/>\nponto clicado. O tri\u00e2ngulo criado deve caber em um quadrado de 40 unidades de lado e o seu centro coincide com as coordenadas <i>(x,y)<\/i> do&#013;<br \/>\nponto clicado.<\/p>\n<p>&#013;\n<\/li>\n<\/ol>\n<\/div>\n<p>&#013;<\/p>\n<div class=\"NAVFOOTER\">&#013;<\/p>\n<p \/>&#013;<br \/>\n<b>(Exerc\u00edcios opcionais &#8211; n\u00e3o \u00e9 necess\u00e1rio entregar) <\/b> &#013;<\/p>\n<ol type=\"1\">&#013;<\/p>\n<li>&#013;\n<p>Utilizando o programa <a href=\"preenchimento.c\" target=\"_top\" rel=\"noopener\"><tt class=\"FILENAME\">preenchimento.c<\/tt><\/a> como refer\u00eancia, &#013;<br \/>\n  implemente um programa denominado <tt class=\"FILENAME\">ruidos.c<\/tt>. Este programa dever\u00e1 &#013;<br \/>\n  desenhar dois pol\u00edgonos em uma janela com fundo branco de dimens\u00f5es 256&#215;256 pixels. &#013;<br \/>\n  Todos os pol\u00edgonos devem estar inicialmente preenchidos com cores diferentes. A cada vez que o usu\u00e1rio &#013;<br \/>\n clicar com o mouse (bot\u00e3o direito) sob um pol\u00edgono, dever\u00e1 aparecer um ponto de cor aleat\u00f3ria no local clicado.&#013;<br \/>\nEssa cor dever\u00e1 ser impressa na janela <i>Terminal<\/i> (as componentes R,G,B), juntamente com as coordenadas <i>(x,y)<\/i> &#013;<br \/>\ndo ponto clicado.<\/p>\n<p>&#013;\n  <\/li>\n<li>&#013;\n<p> <b>(opcional) <\/b> Utilizando o programa <a href=\"preenchimento.c\" target=\"_top\" rel=\"noopener\"><tt class=\"FILENAME\">preenchimento.c<\/tt><\/a> como refer\u00eancia, &#013;<br \/>\n  implemente um programa denominado <tt class=\"FILENAME\">atributos.c<\/tt>. Este programa dever\u00e1 &#013;<br \/>\n  desenhar dois pol\u00edgonos em uma janela com fundo branco de dimens\u00f5es 256&#215;256 pixels. &#013;<br \/>\n  Todos os pol\u00edgonos devem estar inicialmente preenchidos com cores diferentes e a cada vez que o usu\u00e1rio digitar a tecla <i>C<\/i>, a cor dos dois pol\u00edgonos \u00e9 alterada. Efetue a intera\u00e7\u00e3o com o mouse de forma que ao clicar com o bot\u00e3o &#013;<br \/>\nesquerdo do mouse dentro de um dos pol\u00edgonos, dever\u00e1 ser impresso na janela <i>Terminal<\/i> as coordenadas <i>(x,y)<\/i> do ponto clicado e sua&#013;<br \/>\n  cor de preechimento (R,G,B). Obs.: utilize a fun\u00e7\u00e3o <b>glReadPixels()<\/b>.<\/p>\n<p>&#013;\n<\/li>\n<li>&#013;\n<p> <b>(opcional) <\/b> Crie um padr\u00e3o de preenchimento com um logotipo ou um s\u00edmbolo de clube de futebol. &#013;<br \/>\n  Implemente um programa que desenhe em uma janela de fundo branco de dimens\u00f5es &#013;<br \/>\n  350&#215;350 pixels um pol\u00edgono (quadrado, tri\u00e2ngulo, pent\u00e1gono, c\u00edrculo etc) com <i class=\"FOREIGNPHRASE\">bounding box<\/i> de dimens\u00f5es &#013;<br \/>\n  250&#215;250 pixels. O pol\u00edgono deve estar centrado na tela e preenchido com o padr\u00e3o de &#013;<br \/>\n  preenchimento criado. Aten\u00e7\u00e3o: colocar no portf\u00f3lio (ou entregar em papel) a matriz que gerou o desenho.<\/p>\n<p>&#013;<br \/>\n&#013;<\/p>\n<div class=\"FIGURE\">&#013;<\/p>\n<p><b><a name=\"FIG-TRIG\">Sugest\u00e3o: FLAMENGO!!<\/a><\/b><\/p>\n<p>&#013;<\/p>\n<p><img decoding=\"async\" src=\"flamengo.jpg\" \/><\/p>\n<\/div>\n<p>&#013;\n<\/li>\n<li>\n<p> Construir um programa chamado <tt class=\"FILENAME\">quadrados.c<\/tt> no qual \u00e9 criado um &#013;<br \/>\nquadrado preenchido com cor aleat\u00f3ria a cada vez que o usu\u00e1rio clica com o bot\u00e3o esquerdo&#013;<br \/>\ndo mouse na janela de desenho. A janela de desenho possui dimens\u00f5es 256&#215;256. O quadrado &#013;<br \/>\ncriado deve ter um lado de 50 unidades e o seu centro coincide com as coordenadas <i>(x,y)<\/i> do&#013;<br \/>\nponto clicado.<\/p>\n<\/li>\n<p>&#013;<br \/>\n&#013;<br \/>\n&#013;<br \/>\n&#013;\n<\/ol>\n<\/div>\n<p>&#013;<\/p>\n<div class=\"NAVFOOTER\">&#013;<\/p>\n<hr align=\"left\" width=\"100%\" \/>&#013;<br \/>\n&#013;<\/p>\n<table cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" border=\"0\">&#013;<\/p>\n<tbody>&#013;<\/p>\n<tr>&#013;<\/p>\n<td valign=\"top\" align=\"left\" width=\"33%\"><a href=\"preenchimento-outros.html\">Prev<\/a><\/td>\n<p>&#013;<\/p>\n<td valign=\"top\" align=\"middle\" width=\"34%\"><a href=\"index2006.html\">Home<\/a><\/td>\n<p>&#013;<\/p>\n<td valign=\"top\" align=\"right\" width=\"33%\"><a href=\"transformacoes.html\">Next<\/a><\/td>\n<\/tr>\n<p>&#013;<\/p>\n<tr>&#013;<\/p>\n<td valign=\"top\" align=\"left\" width=\"33%\">Preenchimento &#8211; programas relacionados<\/td>\n<p>&#013;<\/p>\n<td valign=\"top\" align=\"middle\" width=\"34%\"><a href=\"preenchimento.html\">Up<\/a><\/td>\n<p>&#013;<\/p>\n<td valign=\"top\" align=\"right\" width=\"33%\">Transforma\u00e7\u00f5es &#013;<br \/>\n  geom\u00e9tricas<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>&#013; &#013; &#013; &#013; &#013; Introdu\u00e7\u00e3o \u00e0 computa\u00e7\u00e3o gr\u00e1fica com &#013; OpenGL &#013; &#013; Prev &#013; Cap\u00edtulo 3. Preenchimento de &#013; regi\u00f5es &#013; Next &#013; &#013; &#013; &#013; 3.3. Exerc\u00edcios &#013; &#013; (Exerc\u00edcios obrigat\u00f3rios &#8211; 2010) &#013; &#013; &#013; Desenvolva um programa que leia pontos de um arquivo texto (coordenadas xy) e plote a figura &hellip; <a href=\"https:\/\/wordpress.ft.unicamp.br\/magic\/exercicios-7\/\" class=\"more-link\">Continuar lendo <span class=\"screen-reader-text\">Exerc\u00edcios<\/span><\/a><\/p>\n","protected":false},"author":48,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-70","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Exerc\u00edcios - Marco Antonio Garcia de Carvalho, PhD<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wordpress.ft.unicamp.br\/magic\/exercicios-7\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Exerc\u00edcios - Marco Antonio Garcia de Carvalho, PhD\" \/>\n<meta property=\"og:description\" content=\"&#013; &#013; &#013; &#013; &#013; Introdu\u00e7\u00e3o \u00e0 computa\u00e7\u00e3o gr\u00e1fica com &#013; OpenGL &#013; &#013; Prev &#013; Cap\u00edtulo 3. Preenchimento de &#013; regi\u00f5es &#013; Next &#013; &#013; &#013; &#013; 3.3. Exerc\u00edcios &#013; &#013; (Exerc\u00edcios obrigat\u00f3rios &#8211; 2010) &#013; &#013; &#013; Desenvolva um programa que leia pontos de um arquivo texto (coordenadas xy) e plote a figura &hellip; Continuar lendo Exerc\u00edcios\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wordpress.ft.unicamp.br\/magic\/exercicios-7\/\" \/>\n<meta property=\"og:site_name\" content=\"Marco Antonio Garcia de Carvalho, PhD\" \/>\n<meta property=\"og:image\" content=\"http:\/\/transf.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wordpress.ft.unicamp.br\\\/magic\\\/exercicios-7\\\/\",\"url\":\"https:\\\/\\\/wordpress.ft.unicamp.br\\\/magic\\\/exercicios-7\\\/\",\"name\":\"Exerc\u00edcios - Marco Antonio Garcia de Carvalho, PhD\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wordpress.ft.unicamp.br\\\/magic\\\/#website\"},\"datePublished\":\"2022-03-23T22:08:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wordpress.ft.unicamp.br\\\/magic\\\/exercicios-7\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wordpress.ft.unicamp.br\\\/magic\\\/exercicios-7\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wordpress.ft.unicamp.br\\\/magic\\\/exercicios-7\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wordpress.ft.unicamp.br\\\/magic\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Exerc\u00edcios\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wordpress.ft.unicamp.br\\\/magic\\\/#website\",\"url\":\"https:\\\/\\\/wordpress.ft.unicamp.br\\\/magic\\\/\",\"name\":\"Marco Antonio Garcia de Carvalho, PhD\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wordpress.ft.unicamp.br\\\/magic\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Exerc\u00edcios - Marco Antonio Garcia de Carvalho, PhD","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wordpress.ft.unicamp.br\/magic\/exercicios-7\/","og_locale":"pt_BR","og_type":"article","og_title":"Exerc\u00edcios - Marco Antonio Garcia de Carvalho, PhD","og_description":"&#013; &#013; &#013; &#013; &#013; Introdu\u00e7\u00e3o \u00e0 computa\u00e7\u00e3o gr\u00e1fica com &#013; OpenGL &#013; &#013; Prev &#013; Cap\u00edtulo 3. Preenchimento de &#013; regi\u00f5es &#013; Next &#013; &#013; &#013; &#013; 3.3. Exerc\u00edcios &#013; &#013; (Exerc\u00edcios obrigat\u00f3rios &#8211; 2010) &#013; &#013; &#013; Desenvolva um programa que leia pontos de um arquivo texto (coordenadas xy) e plote a figura &hellip; Continuar lendo Exerc\u00edcios","og_url":"https:\/\/wordpress.ft.unicamp.br\/magic\/exercicios-7\/","og_site_name":"Marco Antonio Garcia de Carvalho, PhD","og_image":[{"url":"transf.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. tempo de leitura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wordpress.ft.unicamp.br\/magic\/exercicios-7\/","url":"https:\/\/wordpress.ft.unicamp.br\/magic\/exercicios-7\/","name":"Exerc\u00edcios - Marco Antonio Garcia de Carvalho, PhD","isPartOf":{"@id":"https:\/\/wordpress.ft.unicamp.br\/magic\/#website"},"datePublished":"2022-03-23T22:08:49+00:00","breadcrumb":{"@id":"https:\/\/wordpress.ft.unicamp.br\/magic\/exercicios-7\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wordpress.ft.unicamp.br\/magic\/exercicios-7\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wordpress.ft.unicamp.br\/magic\/exercicios-7\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wordpress.ft.unicamp.br\/magic\/"},{"@type":"ListItem","position":2,"name":"Exerc\u00edcios"}]},{"@type":"WebSite","@id":"https:\/\/wordpress.ft.unicamp.br\/magic\/#website","url":"https:\/\/wordpress.ft.unicamp.br\/magic\/","name":"Marco Antonio Garcia de Carvalho, PhD","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wordpress.ft.unicamp.br\/magic\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"}]}},"_links":{"self":[{"href":"https:\/\/wordpress.ft.unicamp.br\/magic\/wp-json\/wp\/v2\/pages\/70","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.ft.unicamp.br\/magic\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wordpress.ft.unicamp.br\/magic\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.ft.unicamp.br\/magic\/wp-json\/wp\/v2\/users\/48"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.ft.unicamp.br\/magic\/wp-json\/wp\/v2\/comments?post=70"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.ft.unicamp.br\/magic\/wp-json\/wp\/v2\/pages\/70\/revisions"}],"wp:attachment":[{"href":"https:\/\/wordpress.ft.unicamp.br\/magic\/wp-json\/wp\/v2\/media?parent=70"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}