Na minha resposta sobre Transformações Afins , fiz algumas pequenas ilustrações para ajudar na explicação.
Como você cria rapidamente um PNG com capacidade de upload que expressa uma idéia geométrica ou matemática?
Esta pergunta foi elaborada para dar suporte à minha resposta pós-escrita, mas pretende solicitar outras soluções que possam beneficiar a rede SE em geral. Mas, para credibilidade, uma resposta deve estar vinculada a um post em que essa técnica tenha sido realmente usada, bem como uma parte suficiente de "instruções", se envolver mais do que algo óbvio como "Selecionar exportação no menu".
Há duas meta perguntas aqui e aqui sobre como colocar o escopo em questão, à luz das precedências que ele pode estabelecer para o nosso site.
Respostas:
Eu uso uma variedade de ferramentas, dependendo das necessidades particulares do momento. Tenho uma tendência para ferramentas gratuitas, pois não tenho acesso a coisas como Illustrator ou Mathematica.
Para fins gerais de arte vetorial, uso o Inkscape gratuito . Ele opera em arquivos .svg e também pode renderizá-los como .pngs de alta qualidade ou outros formatos de bitmap. Por exemplo, aqui está um diagrama que fiz no Inkscape para explicar o mapeamento UV :
Para gráficos de função 2D, costumo usar a calculadora gráfica Desmos , que tem a capacidade de permitir que você compartilhe gráficos on-line para que outras pessoas possam visualizá-los e modificá-los. Você também pode criar controles deslizantes que podem variar para tocar com os parâmetros da curva em tempo real. Por exemplo, aqui está uma função de nitidez configurável .
Para tarefas gráficas mais complexas que envolvem um pouco de programação, eu uso o Maxima , um sistema de álgebra computacional gratuito que também possui recursos gráficos. Usei o Maxima para criar os gráficos nesta resposta sobre os borrões gaussianos :
Isso era um pouco complexo demais para o Desmos, pois envolvia a criação programada de uma aproximação por partes de um gaussiano.
Para tarefas gráficas realmente estranhas que não são bem tratadas por qualquer outra coisa, usei o Python com o pacote svgwrite para gerar programaticamente diagramas em arquivos .svg. Eles podem ser retocados no Inkscape, se desejado, e renderizados em bitmaps usando o Inkscape ou o ImageMagick. Eu usei esse fluxo de trabalho para criar as imagens nesta postagem de blog sobre precisão de profundidade , assim:
Nesse caso, eu queria não apenas representar graficamente uma função, mas colocar marcas de escala de forma programática e não uniforme ao longo dos eixos e no gráfico, para ilustrar valores discretos do buffer de profundidade.
E, finalmente, se nada mais for suficiente, usarei Python com numpy e travesseiro para renderizar imagens pixel por pixel. Foi assim que criei as imagens de ruído Perlin nesta resposta (com a ajuda do pacote de ruído também, neste caso).
fonte
Pessoalmente, minha escolha de veneno é o Adobe Illustrator. Outros aplicativos, como inkscape, Corel Draw e Xara Designer, também serão compatíveis. Em uma pitada, mesmo o PowerPoint funcionará. Embora eu não recomende pessoalmente o PowerPoint devido a problemas graves com seu modelo de dados, mesmo o mais difícil é o aplicativo de desenho mais implantado no mundo.
Também pode ser uma boa idéia ter um aplicativo gráfico disponível. Eu pessoalmente uso o Mathematica para isso, embora muitos outros aplicativos funcionem também. Ou, se você quiser, pode usar o Wolfram alpha, que é uma versão on-line gratuita do mathematica.
Isenção de responsabilidade: porque os exemplos são meus e o auto-apoio descarado leva com uma pitada de sal.
Ilustrador
A primeira coisa que você deve fazer em qualquer aplicativo de desenho vetorial é ativar a grade de encaixe . Isso reduz a tediosidade de colocar linhas com precisão. Uma das grandes razões pelas quais eu não gosto de usar o Inkscape é a maneira inferior de implementar esse encaixe. O PowerPoint, na verdade, vem com o encaixe da grade por padrão.
Não estou realmente satisfeito com o Illustrator, pois ele não preenche todas as minhas necessidades. Mas nenhum software até o momento (o Maya costumava preencher esse nicho, mas a autodesk aconteceu).
A segunda razão pela qual escolhi o Illustrator é que ele compreende postscript nativamente. Portanto, se eu precisar programar algo, posso fazê-lo rapidamente e os documentos existentes são atualizados à medida que meu código amadurece. A Imagem 3 é feita dessa maneira.
Aqui estão alguns exemplos de desenhos que fiz na rede com o Illustrator, principalmente pelo poder do snap à grade:
Imagem 1 : Uma das muitas imagens que desenhei no ilustrador neste site. Nota: Sou um ilustrador bastante experiente (às vezes comercial) e isso é extremamente simples para meus padrões.
A imagem da marcha do círculo é bem simples de fazer. Basta desenhar uma forma aleatória clicando em volta. Depois disso, desative o snap e deixe que as guias inteligentes façam seu trabalho por você. Desenhe linhas no ponto mais próximo da linha, faça círculos na linha e (apaguei as linhas-guia depois de terminar). Enxague e repita. Levei cerca de 3 a 5 minutos para desenhar a imagem depois de iniciar meu espaço de trabalho.
Imagem 2 : GD.SE onda continuação .
Embora essa imagem pareça muito mais elaborada, não é muito mais trabalhosa do que a primeira imagem. É mais técnico, portanto, além do snap à grade I e agora usando a tecla Shift para restringir as linhas a ângulos de 45 graus. Os preenchimentos de hachura são facilmente atribuídos apenas às regiões com a ferramenta de criação de formas do ilustrador. (exemplo de construtor de formas em uso , captura de tela)
Imagem 3 : Às vezes, é mais fácil começar do zero no postscript. Imagem adicionada para postar em ENG.SE .
Finalmente, uma imagem que é realmente mais fácil de se digitar os valores no postscript. É relativamente fácil de fazer em postscript. Ainda fiz a tipografia no ilustrador. Embora desenhá-lo à mão não seja um grande problema, prefiro não fazê-lo, mas o farei se precisar fazer um julgamento por telefone.
Mathematica
O Mathematica é maravilhoso se você quiser explorar um pouco mais as coisas. A única desvantagem do Mathematica é que ele NÃO é barato. Mas pode fazer quase qualquer coisa rapidamente. Eu usei o Mathematica para algumas de minhas fotos com base em nurbs .
Uma das principais competências do Mathematicas é que é fácil desenvolver imagens mesmo bastante complexas, sem muito aborrecimento. Também pode animar facilmente sua imagem simples dentro do seu editor .
Resultados na mesma imagem que os outros. Embrulhando-o dentro de uma tabela, conforme resulta em:
Imagem 4 : É fácil fazer animação dentro do editor de código usando o Mathematica.
fonte
PostScript + ps2eps + mogrify
Para a resposta Affine Transformations , escrevi um programa postscript muito pequeno e, em seguida, salvei várias cópias com nomes diferentes e editei cada uma para realizar cada tarefa diferente: dimensionar, traduzir, girar. Por exemplo, aqui está o básico,
ident.ps
que não altera as coordenadas entre o desenho vermelho e o preto. Aumentei um pouco as linhas vermelhas e sempre as desenhei primeiro, para que as duas apareçam bem sobrepostas e visíveis (IMO). Eu visualizei com o ghostscript com o comando vi (ex):!gs %
. ( todos os arquivos de origem )Eu então usei o
ps2eps
comando frompsutils
para calcular caixas delimitadoras automaticamenteE, finalmente, usou o
convert
comando imagemagick para produzir imagens png cortadas. (Eu não pensei em uma maneira rápida de automatizar esta parte. Edit: como comentado, isso pode ser feito commogrify -format png *.eps
. Obrigado, joojaa!)Que produz PNGs, prontos para upload.
fonte
mogrify -format png *.eps
mogrify
. Para aps2eps
peça, calcula automaticamente (e adiciona) as informações da caixa delimitadora. Omitir essa parte,convert
irá produzir imagens de tamanho de páginaEu apenas uso o Powerpoint para fazer esses diagramas e funciona muito bem assim que você se sentir confortável com as primitivas básicas. Ele suporta todas as operações simples, como rotação, translação, etc. e as revisões recentes também têm transformações de cisalhamento e 3D. Exemplos:
Aqui está um exemplo de um diagrama do Powerpoint que fiz para obter uma resposta.
Para diagramas mais complicados, especialmente em 3D, às vezes uso o Blender com materiais sombreados. Posso elaborar e mostrar exemplos se for relevante para sua pergunta.
Parece que o jsfiddle também é popular por aqui.
fonte
Não é a caixa de ferramentas definitiva que você pode estar procurando, mas apenas uma ferramenta extra que eu me uso: para gráficos 3D, o Blender pode ser útil. Especialmente se você usar o plug-in Export_SVG (disponível em http://dl.dropbox.com/u/16486113/Blender/archivos/temp/SVG/export_svg.py e http://blenderartists.org/forum/showthread.php? 282824-SVG-output-script )
Isso permite que você obtenha objetos 3d do Blenders como gráficos vetoriais no Illustrator ou no Inkscape. Acho que isso me dá um bom começo rápido para criar ilustrações 3D simples .
Permita-me colar um exemplo. (Neste exemplo, eu uso muitas cores, mas é claro, pode ser feito em preto e vermelho no branco)
fonte
Eu uso o Powerpoint e vários pacotes CAD (caros). Escrevi macros do Powerpoint (código VBA) para fazer algumas coisas especiais, como desenhar os polígonos de controle das curvas de Bezier. Então eu uso a Ferramenta de Snipping padrão do Windows para capturar capturas de tela. aqui estão alguns exemplos:
E mais alguns exemplos do Math.SE
Um
Dois
Três
Quatro
Cinco
fonte