Pergunta

Tanto quanto eu estou ciente não há nenhuma funcionalidade polígono embutido para Python. Eu quero criar um mapa 3D e percebi que polígonos seria a melhor maneira de fazê-lo.

Não querendo reinventar a roda eu fiz algum googling e descobriu que há um monte de coisas Python lá fora, mas eu não poderia encontrar o que eu queria. Assim, antes de reinventar a roda (ou inventar um todo), alguém sabe de um sistema Polygon para Python?

Note que não precisa ser 3D (I encontrados muito poucos os 2D). Note também que eu não estou interessado na exibição deles, mas em armazená-los e estrutura de dados dentro de Python.

Graças

Foi útil?

Solução

Um dos mais sistemas de geografia / mapeamento completo disponíveis para Python que eu sei é sobre GeoDjango . Isso funciona em cima do Django , um framework MVC. Com ele vem uma grande coleção de polígono, linha e ferramentas de cálculo de distância que pode até mesmo levar em conta a curvatura da superfície da Terra se necessário.

Com isso dito, a maneira mais rápida que eu posso pensar para produzir um mapa 3D está usando um mapa de altura. Criar uma lista bidimensional de tuplos contendo (x, y, z coordenadas). Cada tupla representa um ponto uniformemente espaçados sobre uma grelha, traçado por as dimensões da matriz. Isto cria um plano simples ao longo dos eixos X e Z; o plano de terra. Os polígonos que compõem o plano são quads, um polígono com quatro lados.

Em seguida, para produzir a altura tridimensional, simplesmente dar a cada ponto um valor de Y. Isto irá criar picos e vales em seu plano de terra.

Como você processar este será até você, e convertendo sua grade de pontos em um formato de polígono que algo como OpenGL pode entender pode levar algum trabalho, mas ter um olhar para Visual Python , é o mais simples 3D biblioteca eu vi para Python.

Outras dicas

Eu acho que você quer dizer Poliedro, não Polygon .. e você pode querer olhar para vpython

CGAL é uma biblioteca C ++ geometria que, entre outras coisas, modelos Polyhedra (3D formas tona-flat)

Tem ligações Python disponíveis. A documentação para a classe Polygon3 está aqui: http://cgal-python.gforge.inria.fr/Manual /CGAL.Polyhedron.html#Polyhedron_3

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