• Nenhum resultado encontrado

Aula08-CGMapeamentoWindowViewport

N/A
N/A
Protected

Academic year: 2021

Share "Aula08-CGMapeamentoWindowViewport"

Copied!
7
0
0

Texto

(1)

Aplicação: Mapeamento Window - Viewport

UNISAL - Curso Ciência da Computação

Disc. Computação Gráfica

Prof. Aníbal Fernandes

https://sites.google.com/site/wizard2javadevelopers/disciplinas/compgrafica 0.0 0.0 Brasil 2 10.0 -75.0 -40.0 -25.0 0.0 0.0 Acre 195 -7.159011 -73.815461 -7.643388 -72.667303 -7.878596 -71.564967 -8.054850 -70.780627 -8.131879 -70.372760 -9.023582 -68.679190 ---7.237885 -73.774547 -7.193968 -73.811489 -7.159011 -73.815461 0.0 0.0 Alagoas 145 -8.955455 -35.132572 -8.996741 -35.140842 -9.034829 -35.152819 -9.083085 -35.176896 -9.113156 -35.202941 -9.172108 -35.251650 ---8.881404 -35.601458 -8.855130 -35.534099 -8.965972 -35.177618 -8.955455 -35.132572 0.0 0.0 Amapa 187 -1.170590 -51.908608 -1.154013 -51.830914 -0.079379 -51.160673 -0.054431 -51.109492 0.265959 -50.705568 0.360347 -50.629361

Indica um novo polígono

Nome do polígono

Número de pontos do polígono

Retângulo envolvente Total do polígono

Latitude

Longitud

e

Norte Sul Oeste

Leste

-75

-25

10

- 40

Aula 08

20/03/2012

(2)

Aplicação: Mapeamento Window - Viewport

Coordenadas

do Mundo

Coordenadas

de Visualização

UNISAL - Curso Ciência da Computação

Disc. Computação Gráfica

Prof. Aníbal Fernandes

(3)

// Autor: Anibal Fernandes ([email protected])

// Descrição: Programa para testar as transformações de coordenadas // do Mundo (World) para coordenadas de visualização (Viewport) public class TestaView {

static double XWmin,XWmax,YWmin,YWmax, // coordenadas do mundo XVmin,XVmax,YVmin,YVmax; // coordenadas ViewPort

public static void main(String args[]) { XWmin=2000.; XWmax=13000.; YWmin=1000.; YWmax=11000.; XVmin=450.; XVmax=750.; YVmin= 50.; YVmax=300.;

double Px[] = new double [10]; double Py[] = new double [10];

int Pxv[] = new int [10]; int Pyv[] = new int [10]; int npt; Px[0]=4000.; Py[0]=2000.0; Px[1]=4000.; Py[1]=6000.0; Px[2]=6000.; Py[2]=7000.0; Px[3]=6000.; Py[3]=9000.0; Px[4]=7000.; Py[4]=10000.0; Px[5]=8000.; Py[5]=9000.0; Px[6]=8000.; Py[6]=7000.0; Px[7]=10000.; Py[7]=6000.0; Px[8]=10000.; Py[8]=2000.0; Px[9]=4000.; Py[9]=2000.0; npt=10; calCoordViewPort(Px,Py,npt,Pxv,Pyv);

for(int i=0; i<npt; i++)

System.out.println(" Px["+ i +"]= " + Px[i] + " --> Pxv[" + i + "]= " + Pxv[i] + " Py["+ i +"]= " + Py[i] + " --> Pyv[" + i + "]= " + Pyv[i]); }

static void calCoordViewPort(double Px[],double Py[],int npt,int Pxv[],int Pyv[]) { for(int i=0; i<npt; i++) {

Pxv[i]= (int)((((Px[i]-XWmin)/(XWmax-XWmin))*(XVmax-XVmin)+XVmin) + 0.5); Pyv[i]= (int)((((Py[i]-YWmin)/(YWmax-YWmin))*(YVmax-YVmin)+YVmin) + 0.5); }

} }

(4)

Manipulando Arquivos Textos em Java

import java.io.*;

public class IOBasico

{

public static void main(String args[]) throws IOException

{

File arqIn = new File("IOBasico.java");

File arqOu = new File("IOBasico.bak");

FileReader in = new FileReader(arqIn);

FileWriter out = new FileWriter(arqOu);

int caracter;

System.out.println("Fazendo um BackUp do fonte ...");

while( (caracter = in.read()) != -1)

out.write(caracter);

System.out.println("Arquivo salvo!");

in.close();

out.close();

} // fim do método main( )

} // fim da classe IOBasico

(5)

import java.io.*;

class DemoFile {

public static void main (String args[ ] ) {

String arquivo = "DemoFile.java"; // nome do arquivo a ser pesquisado

int contlin = 0, contpal = 0, contcar = 0;

try {

RandomAccessFile file = new RandomAccessFile (arquivo, "r");

boolean linhale = true;

while ( linhale == true ) {

String linha = file.readLine( );

if ( linha == null)

linhale = false;

else {

contlin++;

int espacos = 0;

for ( int posicao=0; posicao < linha.length(); posicao++) {

if( linha.charAt(posicao) == ' ' )

espacos++;

}

contpal = contpal + espacos + 1;

contcar = contcar + linha.length();

}

}

file.close( );

System.out.println ("O arquivo " + arquivo +" contem");

System.out.println (contlin + " linhas");

System.out.println (contpal + " palavras");

System.out.println (contcar + " caracteres");

}

catch ( IOException e) {

System.out.println("Erro! NAO e’ possivel ler o arquivo " + arquivo );

System.exit(1);

}

}

}

(6)

import java.io.*;

// processando informações nas linhas de um arquivo.

class

Demofile3

{

public static void

main

(String args[ ])

{

String arquivo = "

idade_alunos.txt

";

// arquivo com matrícula ano

try

// tenta abrir o arquivo, ler dados e fecha-lo

{

// vamos usar uma instancia de RandomAccessFile,

RandomAccessFile file = new RandomAccessFile(

arquivo

,"

r

");

boolean aindatemmais = true;

while

(aindatemmais = = true)

{

String linha = file

.readLine

( );

if

( linha

= =

null)

aindatemmais = false;

else

// se a linha foi lida

{

// 8 primeiros carac = número de matrícula

String mat = linha.

substring

(0,8);

// carac de 9 a 10 são a idade do aluno

String idade = linha.

substring

(9,11);

System.out.print ("

O aluno

" + mat);

System.out.println("

tem

" + idade + "

anos

");

}

}

// fim do while

file.

close()

; // fechar o arquivo

} // fim do bloco try

catch

(IOException e)

{

// imprime mensagem de erro caso não tenha sido

// possível a leitura do arquivo

System.out.println

("

Erro ! Não é possível ler do arquivo

"+arquivo);

System.exit

(1);

// sai com um valor de erro qualquer

}

// fim do bloco

catch

32980004 25

32980017 38

32980022 19

32980045 26

32980055 19

32980078 22

32980080 25

32980081 21

32980087 24

32980099 25

32980121 29

32980125 21

32980141 28

32980133 26

32980142 27

32980148 30

32980153 29

32980161 27

32990001 22

32990007 29

32990010 21

32990012 19

(7)

PROJETAR O MODELO ENTIDADE-RELACIONAMENTO (MER) DO SEGUINTE PROBLEMA:

- O Banco de Dados deve armazenar os pontos de cada polígono

- Cada polígono possui uma sigla, um nome, o número de pontos e as

coordenadas geográficas em Latitude e Longitude que o formam.

- A cada dia são registradas queimadas, que são caracterizadas por sua

Latitude, Longitude, Intensidade e a data de sua ocorrência..

- Dada uma queimada há necessidade de informar qual polígono do Brasil

ela pertence, isto é, em qual estado ocorreu a queimada e a data.

- Deseja-se saber o número total de queimadas em cada polígono em um certo dia

use books;

insert into customers values

(NULL, "Julie Smith", "25 Oak Street", "Airport West"), (NULL, "Alan Wong", "1/47 Haines Avenue", "Box Hill"), (NULL, "Michelle Arthur", "357 North Road", "Yarraville"); insert into orders values

(NULL, 3, 69.98, "02-Apr-2000"), (NULL, 1, 49.99, "15-Apr-2000"), (NULL, 2, 74.98, "19-Apr-2000"), (NULL, 3, 24.99, "01-May-2000"); insert into books values

("0-672-31697-8", "Michael Morgan", "Java 2 for Professional Developers", 34.99), ("0-672-31745-1", "Thomas Down", "Installing Debian GNU/Linux", 24.99), ("0-672-31509-2", "Pruitt, et al.", "Teach Yourself GIMP in 24 Hours", 24.99),

("0-672-31769-9", "Thomas Schenk", "Caldera OpenLinux System Administration Unleashed", 49.99); insert into order_items values

(1, "0-672-31697-8", 2), (2, "0-672-31769-9", 1), (3, "0-672-31769-9", 1), (3, "0-672-31509-2", 1), (4, "0-672-31745-1", 3); insert into book_reviews values

("0-672-31697-8", "Morgan's book is clearly written and goes well beyond mos of the basic Java books out there.");

Questões de Banco de Dados

PROBLEMA: Como alimentar o Banco de Dados sem utilizar o método manual? Você seria capa de desenvolver um aplicativo Java que popule o Banco de Dados

Dicas de inserção via arquivo com extensão .sql

Você seria capaz

de explicar este

arquivo e adaptá-lo

ao problema

acima?

PROJETAR O MODELO RELACIONAL (MR) DO PROBLEMA ACIMA - Tabelas, chaves primárias e estrangeiras

Referências

Documentos relacionados

17 CORTE IDH. Caso Castañeda Gutman vs.. restrição ao lançamento de uma candidatura a cargo político pode demandar o enfrentamento de temas de ordem histórica, social e política

O enfermeiro, como integrante da equipe multidisciplinar em saúde, possui respaldo ético legal e técnico cientifico para atuar junto ao paciente portador de feridas, da avaliação

*-XXXX-(sobrenome) *-XXXX-MARTINEZ Sobrenome feito por qualquer sucursal a que se tenha acesso.. Uma reserva cancelada ainda possuirá os dados do cliente, porém, não terá

O Museu Digital dos Ex-votos, projeto acadêmico que objetiva apresentar os ex- votos do Brasil, não terá, evidentemente, a mesma dinâmica da sala de milagres, mas em

nhece a pretensão de Aristóteles de que haja uma ligação direta entre o dictum de omni et nullo e a validade dos silogismos perfeitos, mas a julga improcedente. Um dos

Equipamentos de emergência imediatamente acessíveis, com instruções de utilização. Assegurar-se que os lava- olhos e os chuveiros de segurança estejam próximos ao local de

Tal será possível através do fornecimento de evidências de que a relação entre educação inclusiva e inclusão social é pertinente para a qualidade dos recursos de

Tratando-se de uma revisão de literatura, o presente trabalho utilizou-se das principais publicações sobre as modificações de parâmetros técnicos observados em corredores,