Pergunta

Antes de todo mundo pula em mim para a terceirização de minha casa, a minha pergunta não é uma pergunta sobre a minha lição de casa. Eu só estou tendo um problema obtendo algumas coisas para desenhar corretamente.

Eu estou tentando desenhar linhas perpendiculares a um plano. Eu sei que os três pontos no espaço do make-up do avião. A partir dessas coordenadas posso calcular vetores e obter o vetor normal do plano. Utilizando as coordenadas do centro dos três pontos e o vetor normal eu pode desenhar uma linha perpendicular ao plano.

O meu problema é que o comprimento dessa linha está ligada ao vetor normal porque estou apenas adicionando o vetor com as coordenadas para obter dois pontos para desenhar uma linha sobre. Sem o uso de algum código de força bruta hediondo como faço para desenhar uma linha de comprimento fixo dado qualquer ponto no espaço 3D e qualquer vector.

(estou pedindo aqui, porque eu não sei termos de usar para pesquisar no Google, meu livro não tem nada a lidar com isso, e meu professor não vai estar disponível antes isso é devido.)

Foi útil?

Solução

Você precisa 'normalizar' o vetor normal ..

para fazer isso, divida o vetor pela sua magnitude.

o comprimento, ou magnitude, do vector r é dado por:

                  
l = √ x2 + y2 + z2

r seguida, dividir pelo seu comprimento (isto é, dividindo-se cada componente da mesma) dando

n = { x/l, y/l, z/l }

que lhe dará um novo vetor normal de comprimento 1.

então você pode multiplicar isso por qualquer período que você deseja .. para alcançar qualquer linha tamanho que você precisa

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top