HELP! Processo capaz de procurar pontos que não têm vizinhos

PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.

Moderadores: Administradores, Moderadores

HELP! Processo capaz de procurar pontos que não têm vizinhos

Mensagempor DarkDRagon » Segunda Mai 29, 2006 22:22

Boas pessoal,

Iniciei muito recentemente Delphi e foi-me proposto a realização
de um processo capaz de procurar pontos que não têm vizinhos (pontos isolados) – sem código, isto é, de forma racional (tenho de explicar verbalmente), para além de englobar a construção de um processo capaz de devolver as posições desses pontos, sendo a entrada das imagens binária: 0 e 1;
Agradecia imenso quem me pudesse fazer uma explicação, se possivel, para além daquilo que postarem no forum, que enviassem para o meu endereço algo mais completo, mais detalhado: santos83@portugalmail.pt.

Cumprimentos a todos :D
Avatar do Utilizador
DarkDRagon
Aprendiz
Aprendiz
 
Mensagens: 34
Registado: Sexta Out 14, 2005 23:25
Localização: Portugal

Mensagempor DarkDRagon » Terça Mai 30, 2006 19:17

Pessoal, agradecia imenso se me pudessem dar umas dicas!

Fico a aguadar, :roll:

cumprimentos
Avatar do Utilizador
DarkDRagon
Aprendiz
Aprendiz
 
Mensagens: 34
Registado: Sexta Out 14, 2005 23:25
Localização: Portugal

Mensagempor alfatek » Terça Mai 30, 2006 20:35

N entendi absolutamente nada do "enunciado" que nos comunicaste... queres o quê, quem, aonde?!?
alfatek
Administrador
Administrador
 
Mensagens: 3257
Registado: Sábado Abr 06, 2002 18:28
Localização: Coimbra

Mensagempor LuisFilipe » Terça Mai 30, 2006 20:47

Eu acho que entendi qualquer coisa mas o que entendi é de matemática e não de informática.

A não ser que tenha o Pedro Guerreiro como professor.

Queres identificar um ponto isolado. Existe uma definição matemática para tal.

http://pessoal.sercomtel.com.br/matematica/superior/vcomplex/vc02.htm
Ponto isolado: Um ponto p é ponto isolado se, p não é ponto de acumulação de um conjunto. Quando p é um ponto isolado, é possível construir um disco aberto centrado em p, contendo apenas este ponto.
Já vi melhor definição.
LuisFilipe
Membro Diamante
Membro Diamante
 
Mensagens: 1270
Registado: Domingo Set 04, 2005 22:12

Mensagempor DarkDRagon » Quarta Mai 31, 2006 13:18

desde já um mto obrigado,

é o seguinte, estou a trabalhar em Delphi, e foi-me pedido uma forma de explicar um processo capaz de procurar pontos isolados, ou seja, k não têm vizinhos, não de uma forma "de linha de codigo", mas sim, de forma verbal, percebem?Realmente envolve formas matemáticas, enfelizmente muitos dos programas k tenho feito têm mta matemática :twisted:
A ideia k ja tenho mais ou menos formada é:


por exemplo numa imagem

analisas essa região metodicamente

analisas o ponto e verificas se os 8 pontos circundantes estão preenchidos

se algum não estiver, o ponto n está isolado

crias um ciclo em que analisas os pontos sequencialmente

dentro desse ciclo, crias outro que analisa os 8 pontos circundantes a esse ponto

se todos os 8 pontos estiverem livres, o ponto está isolado, para guardar as coordenadas desses pontos há criar uma matriz, n?

é uma ideia muito vaga ainda mas dá pra perceber melhor a ideia.

Fico aguardar, cumprimentos
Avatar do Utilizador
DarkDRagon
Aprendiz
Aprendiz
 
Mensagens: 34
Registado: Sexta Out 14, 2005 23:25
Localização: Portugal

Mensagempor DarkDRagon » Quinta Jun 01, 2006 23:52

Boas,

Pensava poder esclarecer algumas das minhas duvidas mas parece k não há ninguem disponivel. Penso que a ultima explicação já deu pra entender.

Cumprimentos
Avatar do Utilizador
DarkDRagon
Aprendiz
Aprendiz
 
Mensagens: 34
Registado: Sexta Out 14, 2005 23:25
Localização: Portugal

Mensagempor Kayn » Sexta Jun 02, 2006 10:29

eu entendi perfeitamente o enunciado e o que queres fazer. Explicar o raciocíneo de um programa chama-se fazer o algoritmo.

Mas se nao queres ajuda com o codigo, nao tou a perceber que tipo de ajuda queres, porque a estrutura basica do algoritmo ja tu a enunciaste. Quando muito podes fazer um "pseudo-codigo" (detesto este termo) que é descrever o que o teu codigo vai fazer (sem usar nenhuma linguagem em particular), mas ja a pensar no codigo, na sua estrutura e sequencia. Se fizeres isto bem, depois consegues codificar o teu programa em qq lingua. Mas pelo que percebi, tu nem é isto bem que queres, por isso nao tou a ver que tipo de ajuda estas a pedir...
Imagem
Imagem
Kayn
Gurus
Gurus
 
Mensagens: 3038
Registado: Quarta Ago 04, 2004 3:34

Mensagempor DarkDRagon » Sexta Jun 02, 2006 12:51

Obrigado, Kayn...

Assumo que ainda sou mero novato nesta linguagem, e posso n pronunciar-me da melhor forma e induzir o pessoal em erro. No entanto, dando sequencia á tua lógica, e se não for pedir muito, agradecia imenso uma pequena ajuda na descição do que o código faz, seguindo esse raciocinio do "pseudo-codigo". :wink:

Cumprimentos
Avatar do Utilizador
DarkDRagon
Aprendiz
Aprendiz
 
Mensagens: 34
Registado: Sexta Out 14, 2005 23:25
Localização: Portugal

Mensagempor alfatek » Sábado Jun 03, 2006 7:41

Sinceramente, continuo a n entender mt bem o problema :P

mas aki vai a solução q m parece ser + simples de implementar... (a ideal provavelmente usa recursividade/backtracing)

Matriz imagem - matrix 20x20 com os pixeis da imagem
Vector temp
Vector pontos_isolados

para todas as linhas da matriz
para todas as colunas da matriz
temp = preenche_pontos_adjacentes(imagem[linha][coluna]);
se (pontos_livres(temp))
pontos_isolados.add(imagem[linha][coluna])
fim se
fim para
fim para

a função preenche_pontos_adjacentes preenche um vector com os pontos k tao adjacentes e o pontos_livres vê se esse vector tem tudo pontos livres...

agora é traduzir isso + para linguagem corrida e pronto... honestamente n estou a ver o problema q tens neste momento...


P.S. - esta solução é a + simples, está longe de ser a + eficiente. s 1 ponto está isolado por exemplo, n serve de nada analisar s os pontos adjacentes estão isolados ou n. podes ir adicionando esses pontos por exemplo a uma "blacklist" e percorres na mesma todos os pontos mas vendo s o ponto n está na blacklist.
alfatek
Administrador
Administrador
 
Mensagens: 3257
Registado: Sábado Abr 06, 2002 18:28
Localização: Coimbra


Voltar para Programação

Quem está ligado:

Utilizadores a ver este Fórum: Nenhum utilizador registado e 0 visitantes

cron