Lar Finanças Pessoais Exemplo de programação javaFX: caixa 3D - manequins

Exemplo de programação javaFX: caixa 3D - manequins

Índice:

Vídeo: Aula de Java 081 - paint e Graphics para desenhar formas. 2025

Vídeo: Aula de Java 081 - paint e Graphics para desenhar formas. 2025
Anonim

O JavaFX possui suporte incorporado para modelos 3D realistas. Na verdade, o gráfico de cena JavaFX é de natureza tridimensional. A maioria dos programas JavaFX funciona em apenas duas dimensões, especificando apenas coordenadas x e y. Mas tudo o que você precisa fazer para entrar na terceira dimensão é especificar coordenadas z para colocar os nós do seu gráfico de cena no espaço tridimensional.

JavaFX inclui um rico conjunto de classes dedicadas a criar e visualizar objetos 3D em mundos 3D. Você pode criar formas tridimensionais, como cubos e cilindros. Você pode mover a câmera virtual ao redor dentro do espaço 3D para olhar seus objetos 3D de diferentes ângulos e perspectivas diferentes.

E você pode até adicionar fontes de iluminação para controlar cuidadosamente a aparência final de seus mundos virtuais. Em suma, o JavaFX é capaz de produzir incríveis cenas em 3D.

Adicione uma caixa 3D ao seu mundo Java

Nesta etapa, adicione um objeto ao mundo 3D: neste caso, uma caixa, representada pela classe Box. Aqui está o código:

Box box = new Box (100, 100, 100); caixa. setMaterial (blueStuff); caixa. setTranslateX (150); caixa. setTranslateY (-100); caixa. setTranslateZ (-100); raiz. GetChildren (). adicionar (caixa);

O construtor Box aceita três argumentos que representam a largura, altura e profundidade da caixa. Neste exemplo, os três são definidos para 100. Assim, a caixa será desenhada como um cubo com cada lado medindo 100 unidades.

A caixa possui o mesmo material que o cilindro; então, é traduzido em todos os três eixos para que você possa ter uma visão em perspectiva da caixa. A figura mostra como a caixa aparece quando renderizada. Como você pode ver, as faces esquerda e inferior da caixa são visíveis porque você traduziu a posição da caixa para cima e para a direita para que a câmera possa ganhar alguma perspectiva.

Gire a caixa 3D

Nesta etapa, gire a caixa para criar uma visão em perspectiva ainda mais interessante. Existem duas maneiras de girar um objeto 3D. O mais simples é chamar o método setRotate do objeto e fornecer um ângulo de rotação: caixa

. setRotete (25);

Por padrão, isso girará o objeto no eixo z. Se isso é difícil de visualizar, imagine espetar o objeto com uma barra longa que é paralela ao eixo z. Em seguida, gire o objeto no espeto.

Se você quiser girar o objeto ao longo de um eixo diferente, primeiro chame o setRotationAxis. Por exemplo, para girar o objeto em seu eixo x, use esta seqüência: caixa

. setRotationAxis (Rotate. X_AXIS); caixa. setRotete (25);

Imagine executar o espeto na caixa com o espeto paralelo ao eixo dos x e depois girar a caixa 25 graus.

O único problema com o uso do método setRotate para girar um objeto 3D é que ele funciona somente em um eixo por vez. Por exemplo, suponha que você gire a caixa 25 graus tanto no z quanto no eixo dos x. O código a seguir será não isso:

caixa. setRotationAxis (Rotate. X_AXIS); caixa. setRotete (25); caixa. setRotationAxis (Rotate. Z_AXIS); caixa. setRotete (25);

Quando o método setRotate é chamado de segunda vez para girar a caixa no eixo z, a rotação do eixo x é reiniciada.

Para girar em mais de um eixo, você deve usar a classe Girar em vez disso. Você cria uma instância de rotação separada para cada eixo em que deseja rotear o objeto e, em seguida, adicione todas as instâncias de Rotate à coleção Transforms do objeto através do getTransforms (). addAll método, como este:

Rotate rxBox = new Rotate (0, 0, 0, 0, Rotate. X_AXIS); Rotate ryBox = new Rotate (0, 0, 0, 0, Rotate. Y_AXIS); Rotate rzBox = new Rotate (0, 0, 0, 0, Rotate. Z_AXIS); rxBox. setAngle (30); ryBox. setAngle (50); rzBox. setAngle (30); caixa. getTransforms (). addAll (rxBox, ryBox, rzBox);

O construtor Rotate aceita quatro parâmetros. Os três primeiros são as coordenadas x, y e z do ponto dentro do objeto através do qual o eixo de rotação irá passar. Normalmente, você especifica zeros para esses parâmetros para girar o objeto em torno de seu ponto central. O quarto parâmetro especifica o eixo de rotação.

Esta figura mostra como a caixa aparece depois que ela foi girada.

A caixa depois de girada.

Exemplo de programação javaFX: caixa 3D - 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 ...