Infra - Linux

True3D*Shell: Um shell 3D e futurista para o seu GNU/Linux

Vale a pena conhecer este projeto, o True 3D Shell tem como principal objetivo oferecer uma interface 3D para navegação no sistema de arquivos. Existem planos para implementar o recurso de reconhecimento de imagens para interpretar o reconhecimento da mão diante uma webcam.

por Alessandro de Oliveira Faria



Visão geral

O True 3D Shell é um projeto OpenSource com o principal objetivo de oferecer uma interface 3D para navegação no sistema de arquivos. O seu HD é transformado em universo 3D onde todos os elementos como arquivos e pastas são visualizados em um ambiente semelhante a projetos de Realidade Virtual. Veja abaixo um screenshot do projeto em execução.



Este seria apenas outro pacote com interface 3D se não fossem as futuras implementações do projeto. Na minha opinião estas implementações são um DIFERENCIAL muito interessante, onde o autor pretende inserir um sistema de reconhecimento de imagens através de uma webcam. Sendo assim o usuário não precisa utilizar o mouse ou o teclado, pois o sistema reconhece e interpreta a posição e os movimentos da sua mão diante a webcam. Abaixo um resumo da arquitetura:



O True3D*Shell foi compilado e testado nos ambientes abaixo:

  • Windows 2000 (x86)
  • Windows XP (x86)
  • Windows 2003 Enterprise Server SP1 (SMP Itanium2)
  • Linux Red Hat ES 3.0 (x86 - kernel 2.4.21)
  • Linux SuSE SLES 8 (SMP Itanium2 - kernel 2.4.21)
  • Linux Red Hat ES 3.0 (SMP Itanium2 - kernel 2.4.21)
  • Linux Red Hat ES 4.0 (SMP Itanium2 - kernel 2.6.9

Abaixo as dependências e arquitetura do software:
  • Plataforma de hardware Intel IA32 ou IA64;
  • Sistema Operacional Linux ou Windows;
  • POSIX ou WIN32 SDK
  • TCP/IP Socket2
  • OpenGL
  • FreeGLUT
  • MQ4CPP
  • LIB3DS
  • DOTCONF++

Operacionalidade do sistema:

O cursor apresenta 3 estados:. Modo seleção (fig.1), modo captura (fig.2) e o modo conectado (fig.3).



No modo seleção, movimentamos o cursor com as teclas de movimentação do teclado ou com o mouse até localizar a pasta ou o arquivo desejado.

Para entrar no modo captura, devemos pressionar o botão esquerdo do mouse ou a barra de espaço no teclado.

Agora já no modo conectado, pressione novamente o botão esquerdo do mouse ou a barra de espaço. Ao aparecer um menu, selecione a opção "Open" para executar a operação desejada.

Para desconectar do objeto e voltar ao modo seleção, basta clicar novamente com o botão esquerdo do mouse ou pressionar a barra de espaço.

Para finalizar o programa, basta pressionar o botão direito do mouse, e selecionar a única opção disponível (QUIT).

Abaixo um vídeo do sistema em funcionamento:



Download, compilação, instalação e dicas do sistema

Download e instalação do sistema:

A instalação a partir do código fonte deve ser executada após o download dos pacotes abaixo:

dotconfpp-0.0.5.tar.gz
http://voodoo.com.ua/dotconfpp.html

mq4cpp-1.16.tar.bz2
http://www.sixtyfourbit.org/mq4cpp.htm

3dshell_v1.4.zip
http://www.sixtyfourbit.org/3dshell.htm

freeglut-2.4.0.tar.gz
http://freeglut.sourceforge.net/

lib3ds-1.3.0.zip
http://lib3ds.sourceforge.net/

As principais tecnologias:

  • OpenGL e FreeGlut toolkit: Utilizado na produção de gráficos 3D.
  • MQ4CPP toolkit: Recurso de comunicação entre threads e processos remotos.
  • lib3DS toolkit: Trabalha com arquivos criados pelo 3D Studio da AutoDesk.
  • DOTCONF++: Utilizado para ler os arquivos de configuração .conf.

Instalação a partir do código fonte:

Após o download de todos os pacotes, crie a pasta src e descompacte o pacote 3dshell_vXXX.zip.

$ mkdir src
$ cd src
$ unzip ../3dshell_v1.4.zip


Descompactando e compilando o pacote freeglut:

$ tar -zxvf ../freeglut-2.4.0.tar.gz
$ cd freeglut-2.4.0/
$ ./configure
$ make
$ cd ..


Descompactando e compilando o pacote mq4cpp:

$ tar -jxvf ../mq4cpp-1.16.tar.bz2
$ cd mq4cpp-1.16
$ ./configure
$ make
$ cd ..


Descompactando e compilando o pacote lib3ds:

$ unzip ../lib3ds-1.3.0.zip
$ cd lib3ds-1.3.0/
$ ./configure
$ make
$ cd ..


E finalmente a compilação do 3Dshell. Apenas execute o comando make na pasta src se todos os passo acima foram concluídos com sucesso.

$ make

Instalação a partir dos binários:

Caso ocorra algum problema durante a compilação do código fonte ou você não tem tempo para baixar e compilar todos os pacotes ou realmente está com preguiça assumida (acontece) e pretende ver o projeto em funcionamento, sugiro baixar os pacotes pré-compilados nos links abaixo:

Windows 2000, XP e Server 2003 (32 bits)
http://www.sixtyfourbit.org/Download/3dshell_XP_v1.3.zip

Windows XP e Server 2003 (64 bits):
http://www.sixtyfourbit.org/Download/3dshell_XP_64_v1.2.zip

Linux para kernel >= 2.4.21 (32 bits):
http://www.sixtyfourbit.org/Download/3dshell_RHES3_v1.3.zip

Linux para kernel >= 2.6.9 (64 bits):
http://www.sixtyfourbit.org/Download/3dshell_RHEL4_64_v1.2.zip

Após o download, basta criar uma pasta e descompactar o pacote com o comando unzip e logo após executar o programa 3dshell.bin e pronto!

$ mkdir run
$ cd run
$ unzip ../3dshell_RHES3_v1.3.zip
Archive: ../3dshell_RHES3_v1.3.zip inflating: 3dserver.conf inflating: 3dshell.bin inflating: 3dshell.conf creating: docs/ inflating: docs/True3DShellPresentation.pdf inflating: docs/True3DShellUserManual.pdf creating: meshes/ inflating: meshes/AvatarIndicate.3ds inflating: meshes/AvatarLeave.3ds inflating: meshes/AvatarTake.3ds inflating: meshes/Book.bmp inflating: meshes/BOOKS.3DS inflating: meshes/C64CHIP.3DS inflating: meshes/CLOSEDGATE.3DS inflating: meshes/GateClose.3ds inflating: meshes/GateOpen.3ds inflating: meshes/HAMMER.3DS inflating: meshes/HEART.3DS inflating: meshes/Lagoon.bmp inflating: meshes/Neptune.bmp inflating: meshes/OPENEDGATE.3DS inflating: meshes/PADLOCK.3DS inflating: meshes/SDISH.3DS $ ./3dshell.bin

O arquivo 3Dshell.conf

Acho importante mencionar sobre alguns parâmetros do arquivo 3dshell.conf. Este arquivo contém parâmetros e variáveis de configuração que impacta no comportamento do 3Dshell.

Exibir em janela ou tela cheia a interface de navegação:

FullScreen=No/Yes

Abrindo documento com o programa Kate:

<Documents>
IDSelected=0
IDUnselected=0
Map="doc;txt;rtf;wps;pdf;ppt;xls;cvs;java;c;cc;cpp;h;hpp;ppt;pps;cfg;conf;mak;"
TitleColor="0 255 0"
Executable="kate"
</Documents>

Utilizando o MPLAYER com arquivos multimídia:

<Multimedia>
IDSelected=3
IDUnselected=3
Map="mp3;mid;mpeg;mpg;wmv;mov;jpeg;jpg;gif;bmp;ico;"
TitleColor="0 255 0"
Executable="mplayer"
</Multimedia>

Bom, acho que com as informações deste documento é o suficiente para brincar... Bom divertimento e seja livre, USE LINUX...

Alessandro de Oliveira Faria

Alessandro de Oliveira Faria - Sócio-proprietário da empresa NETi TECNOLOGIA fundada em Junho de 1996 (http://www.netitec.com.br), empresa especializada em desenvolvimento de software e soluções biométricas, Consultor Biométrico na tecnologia de reconhecimento facial, atuando na área de tecnologia desde 1986 assim propiciando ao mercado soluções em software nas mais diversas linguagens e plataforma, levando o Linux a sério desde 1998 com desenvolvimento de soluções open-source, membro colaborador da comunidade Viva O Linux, mantenedor da biblioteca open-source de vídeo captura entre outros projetos.