Pontos de atração
Last updated
Last updated
Os pontos de atração são ótimos para experimentar padrões geométricos. Eles podem ser usados para criar alterações graduais em objetos com base em sua distância.
Este fluxo de trabalho ensinará a:
Criar, gerenciar e editar listas.
Mover pontos na visualização 3D usando manipulação direta.
Alterar o modo de execução.
Neste exercício, queremos criar um círculo (Objetivo) no qual a entrada de raio é definida por uma distância a um ponto próximo (Relação).
Um ponto que define uma relação com base na distância é normalmente denominado “Atração”. Aqui, a distância para o nosso Ponto de atração será usada para especificar o tamanho do círculo.
Faça o download do arquivo de exemplo clicando no link abaixo.
É possível encontrar uma lista completa de arquivos de exemplo no Apêndice.
Agora que temos nossos objetivos e relações desenhados, podemos começar a criar nosso gráfico. Precisamos dos nós que representarão a sequência de ações que o Dynamo executará. Vamos começar adicionando os seguintes nós: Número, Controle deslizante de números, Point.ByCoordinates, Geometry.DistanceTo, Circle.ByCenterPointRadius.
Entrada > Básico > Número
Entrada > Básico > Controle deslizante de números
Geometria > Pontos > Ponto > Por coordenadas(x,y,z)
Geometria > Modificadores > Geometria > DistanceTo
Geometria > Curvas > Círculo > ByCenterPointRadius
Agora que temos alguns nós, precisamos conectar as Portas dos Nós com Fios. Essas conexões definirão o fluxo de dados.
Número para Point.ByCoordinates
Controles deslizante de números para Point.ByCoordinates
Point.ByCoordinates (2) para DistanceTo
Point.ByCoordinates e DistanceTo para Circle.ByCenterPointRadius
Com o fluxo do programa definido, tudo o que precisamos fazer é informar ao Dynamo para executá-lo. Quando o nosso programa for executado (automaticamente ou ao clicar em Executar no modo manual), os dados passarão pelos fios e veremos os resultados na Visualização 3D.
(Clique em Executar): se a barra de execução estiver no Modo manual, será necessário clicar em Executar para executar o gráfico
Visualização do nó: passar o mouse sobre a caixa no canto inferior direito de um nó irá fornecer um pop-up dos resultados
Visualização 3D: se algum de nossos nós criar a geometria, veremos na Visualização 3D.
A geometria de saída no nó de criação.
Se o nosso programa estiver funcionando, deveremos ver um círculo na Visualização 3D que passa pelo nosso Ponto de atração. Isto é ótimo, mas podemos adicionar mais detalhes ou mais controles. Vamos ajustar a entrada para o Nó do círculo para que possamos calibrar a influência no raio. Adicione outro Controle deslizante de números ao espaço de trabalho e, em seguida, clique duas vezes em uma área em branco do espaço de trabalho para adicionar um nó de Bloco de código. Edite o campo no Bloco de código, especificando X/Y
.
Bloco de código
DistanceTo e Controle deslizante de números para Bloco de código
Bloco de código para Circle.ByCenterPointRadius
Iniciar a complexidade simples e de construção é uma forma eficaz de desenvolver nosso programa de forma incremental. Uma vez que ele esteja trabalhando para um círculo, vamos aplicar a potência do programa a mais de um círculo. Em vez de um ponto central, se utilizarmos um eixo de pontos e acomodarmos a alteração na estrutura de dados resultante, nosso programa agora criará muitos círculos, cada um com um valor de raio exclusivo definido pela distância calibrada para o Ponto de atração.
Adicione um nó Sequência de números e substitua as entradas de Point.ByCoordinates: clique com o botão direito do mouse em Point.ByCoordinates e selecione Amarra > Referência cruzada
Adicione um nó Aplainar após Point.ByCoordinates. Para aplainar uma lista completamente, deixe a entrada
amt
com o padrão-1
A visualização 3D será atualizada com um eixo de círculos
Às vezes, a manipulação numérica não é a abordagem correta. Agora é possível mover e puxar manualmente a geometria de ponto ao navegar na visualização 3D em segundo plano. Também podemos controlar outra geometria que foi construída por um ponto. Por exemplo, Sphere.ByCenterPointRadius é capaz de realizar a Manipulação direta também. Podemos controlar a localização de um ponto com base em uma série de valores X, Y e Z com Point.ByCoordinates. No entanto, com a abordagem de Manipulação direta, é possível atualizar os valores dos controles deslizantes movendo manualmente o ponto no modo Navegação de visualização 3D. Isso oferece uma abordagem mais intuitiva para controlar um conjunto de valores discretos que identificam a localização de um ponto.
Para usar a Manipulação direta, selecione o painel do ponto a ser movido: as setas aparecerão sobre o ponto selecionado.
Alterne para o modo Navegação de visualização 3D.
Passe o mouse sobre o ponto. Serão exibidos os eixos X, Y e Z.
Clique e arraste a seta colorida para mover o eixo correspondente, e os valores do Controle deslizante de números serão atualizados em tempo real com o ponto movido manualmente.
Observe que, antes da Manipulação direta, somente um controle deslizante foi conectado ao componente Point.ByCoordinates. Quando movemos manualmente o ponto na direção X, o Dynamo gera automaticamente um novo Controle deslizante de números para a entrada X.