Lar Finanças Pessoais 3 Etapas para a construção de um 3D Java World - manequins

3 Etapas para a construção de um 3D Java World - manequins

Índice:

Vídeo: Engenharia de Software - Aula 13 - Projeto de arquitetura de software (parte 1) 2025

Vídeo: Engenharia de Software - Aula 13 - Projeto de arquitetura de software (parte 1) 2025
Anonim

Em algumas etapas curtas, você pode começar a criar um programa 3D relativamente simples no JavaFX que exiba o mundo tridimensional (um exemplo é mostrado abaixo). Como você pode ver, este espaço 3D inclui quatro formas: uma esfera, um cubo, um cilindro e uma pirâmide. Esta pequena lista mostra como começar com um cilindro.

Coloque o seu Thinking Cap, pois este exemplo é bastante técnico às vezes, e muitos dos conceitos relacionados à construção de mundos 3D podem ser confusos, especialmente se esta for sua primeira experiência com a programação em 3D.

Um exemplo de programa 3D em JavaFX.

Etapa 1: adicione um cilindro

Nesta etapa, você adiciona um objeto 3D básico ao seu mundo. JavaFX fornece três formas básicas que você pode adicionar: cilindros, caixas e esferas. Comece adicionando um cilindro:

Cilindro cilindro = novo Cilindro (100, 50); raiz. GetChildren (). adicionar (cilindro);

O construtor da classe Cylinder aceita dois argumentos: o raio do cilindro e sua altura. Este exemplo cria um cilindro aproximadamente a forma de um disco de hóquei, quatro vezes maior que o alto; então, ele adiciona o cilindro ao nó raiz da cena.

Neste ponto, o cilindro existe no mundo, mas não é visível. Com base no que você conhece das formas 2D, você pode estar tentado a torná-lo visível adicionando uma cor de preenchimento (setFill) ou uma cor de traçado (setStroke). Mas não é assim que funcionam os objetos 3D. No próximo passo, você descobre como aplicar um material na superfície do cilindro para que ele seja visível na cena.

Etapa 2: Crie um material

Renderizar as faces de um objeto 3D é muito mais complicado do que renderizar objetos planos e bidimensionais. Para um objeto 2D, você apenas aplica um objeto Paint através do método setFill. A tinta pode ser uma cor simples, uma cor de gradiente ou uma imagem.

Para objetos 3D, você não aplica tinta. Em vez disso, você aplica um objeto especial chamado Material Phong , representado pela classe PhongMaterial. Um material de Phong (chamado de Bui Tuong Phong, especialista em computação pioneira na década de 1970) fornece o meio pelo qual os rostos de um objeto 3D são renderizados realisticamente.

O código a seguir cria um material Phong simples com base em dois tons de azul e, em seguida, aplica o material ao cilindro:

PhongMaterial blueStuff = novo PhongMaterial (); BlueStuff. setDiffuseColor (Color. LIGHTBLUE); BlueStuff. setSpecularColor (Color. AZUL); cilindro. setMaterial (blueStuff);

Depois que o material Phong foi aplicado ao cilindro, o cilindro será visível dentro da cena, como mostrado.

O cilindro 3D com um material Phong.

Passo três: Traduzir o cilindro

Você, sem dúvida, notou que o cilindro não parece muito tridimensional. Isso é porque você está olhando para a borda: a câmera está apontando diretamente para a interseção dos eixos x e y, e o cilindro está centrado nesse mesmo ponto.

Para obter alguma perspectiva no cilindro, você pode movê-lo para uma localização diferente no espaço 3D, traduzindo as coordenadas x, y e z. Por exemplo:

cilindro. setTranslateX (-200); cilindro. setTranslateY (200); cilindro. setTranslateZ (200);

Aqui, o cilindro é movido 200 unidades para a esquerda, 200 unidades para baixo e 200 unidades longe da câmera. A visão resultante parece mais um cilindro, como você pode ver aqui.

O cilindro 3D traduzido.

Nesta figura, parece que o cilindro foi girado para a frente para que você possa ver um pouco da superfície superior. Este não é o caso, no entanto. O que realmente aconteceu é que você não está mais olhando a borda do cilindro.

Em vez disso, porque o cilindro está abaixo da câmera, você está olhando para baixo. Assim, você pode ver um pouco da face superior. Você também está olhando para o lado, o que explica por que parece apenas um pouco inclinado.

3 Etapas para a construção de um 3D Java World - manequins

Escolha dos editores

Noções básicas do arquivo de dados Flashback da Oracle 12c - dummies

Noções básicas do arquivo de dados Flashback da Oracle 12c - dummies

O Flashback Data Archive do oracle 12c é um mecanismo de banco de dados que permite que você para armazenar periodicamente ou indefinidamente todas as versões de linha em uma tabela ao longo da sua vida útil. Você pode então escolher uma hora para ver os dados como existia em um ponto específico. Esteja ciente de que o Flashback Data Archive é um recurso licenciado. ...

Noções básicas de clusters de aplicativos reais do Oracle 12c - manequins

Noções básicas de clusters de aplicativos reais do Oracle 12c - manequins

Se você visitou os sites da Oracle nos últimos 12 anos , você viu o byline de marketing: "Inquebrável. "Essa linha de tag refere-se ao recurso Real Application Clusters (RAC). Claro, muitos elementos estão envolvidos, mas o RAC tem o destaque. O RAC é a solução de clustering de banco de dados Oracle. Em certo sentido, funciona na teoria de que ...

Noções básicas de Redo Log Files no Oracle 12c - dummies

Noções básicas de Redo Log Files no Oracle 12c - dummies

Redo os arquivos de log armazenam as informações do buffer de log no banco de dados Oracle 12c. Eles são escritos pelo Log Writer (LGWR). Mais uma vez, você não pode ler esses arquivos binários sem a ajuda do software de banco de dados. Normalmente, os arquivos de reto de log são nomeados com a extensão. LOG ou. RDO. Pode ser qualquer coisa que você queira, ...

Escolha dos editores

São orgasmos ok durante a gravidez? - Dummies

São orgasmos ok durante a gravidez? - Dummies

As mulheres grávidas não só têm permissão para fazer sexo, mas muitas vezes o desejam. Mas é bom aproveitar a relação sexual com o ponto do orgasmo? Afinal, os orgasmos são nada mais do que contrações - e as pessoas sugeriram que isso poderia desencadear mão-de-obra. Isso é apenas um mito. De fato, grávida ...

Alimentando a Multidão em uma Reunião Familiar - manequins

Alimentando a Multidão em uma Reunião Familiar - manequins

Cozinhando uma refeição para um grande grupo (reunião familiar ou de outra forma ) requer planejamento e resistência. Aqui está um guia útil para quantidades de alimentos e segurança alimentar, e conselhos sobre a organização de uma festa de potluck. Planejando para potlucks A forma mais comum de comestibles de grupo é uma festa de potluck - qual é a maneira mais barata e fácil de ...

Anatomia do Penis humano - dummies

Anatomia do Penis humano - dummies

Sabendo como as funções de um pénis podem fornecer uma visão útil do sexo e do corpo humano - se você quer entender o pénis e a anatomia masculina melhor ou aprender sobre isso pela primeira vez. Basicamente, um pênis é composto de três estruturas, que são feitas de um material esponjoso que pode preencher com sangue: ...

Escolha dos editores

Como lidar com outliers causados ​​por Forças externas - manequins

Como lidar com outliers causados ​​por Forças externas - manequins

Certifique-se de verificar atentamente os outliers antes eles influenciam sua análise preditiva. Os outliers podem distorcer a análise de dados e dados. Por exemplo, qualquer análise estatística feita com dados que deixa outliers no lugar acaba por desviar os meios e variâncias. Os outliers não controlados ou mal interpretados podem levar a conclusões falsas. Diga os seus dados que ...

Como criar um modelo de análise preditiva com regressão R - manequins

Como criar um modelo de análise preditiva com regressão R - manequins

Você deseja criar um preditivo modelo de análise que você pode avaliar usando resultados conhecidos. Para fazer isso, vamos dividir nosso conjunto de dados em dois conjuntos: um para treinar o modelo e outro para testar o modelo. Uma divisão 70/30 entre treinamento e testes de conjuntos de dados será suficiente. As próximas duas linhas de código ...

Como definir objetivos de negócios para um modelo de análise preditiva - dummies

Como definir objetivos de negócios para um modelo de análise preditiva - dummies

Um modelo de análise preditiva visa resolvendo um problema comercial ou realizando um resultado comercial desejado. Esses objetivos comerciais se tornam os objetivos do modelo. Conhecer aqueles garante o valor comercial do modelo que você constrói - o que não deve ser confundido com a precisão do modelo. Hipotéticamente, você pode construir um modelo preciso para ...