Articles of 2d

como rasterizar o retângulo girado (em 2d por setpixel)

Eu tenho um quadrângulo de quatro vértices ABCD de retângulo girado, eu preciso rasterizar / desenhar (eficientemente) em pixelbufer com setpixel (x, y, color) como fazer isso? Eu estava tentando com algum código como // convertilg abcd do up down left right, // calculating some dx_left dx_right on y– // etc (frustrating on special cases […]

Mundos de jogo isométricos de desenho

Qual é a maneira correta de desenhar telhas isométricas em um jogo 2D? Eu li referências (como essa ) que sugerem que as peças sejam renderizadas de uma maneira que ziguezagueie cada coluna na representação da matriz 2D do mapa. Eu imagino que eles deveriam ser desenhados mais em forma de diamante, onde o que […]

Como faço para calcular a área de um polígono 2d?

Assumindo uma série de pontos no espaço 2D que não se auto-interceptam, qual é um método eficiente de determinar a área do polígono resultante? Como uma nota lateral, isso não é lição de casa e eu não estou procurando por código. Eu estou procurando uma descrição que eu possa usar para implementar meu próprio método. […]

Converter ponto de latitude / longitude em pixels (x, y) na projeção do mercator

Estou tentando converter um ponto de latitude / longitude em um ponto de 2d para que eu possa exibi-lo em uma imagem do mundo – que é uma projeção de mercator. Eu já vi várias maneiras de fazer isso e algumas perguntas sobre estouro de pilha – eu experimentei os trechos de código diferentes e […]

Um algoritmo simples para interseção de polígonos

Estou procurando um algoritmo muito simples para calcular a interseção / recorte do polígono. Isto é, dado os polígonos P , Q , desejo encontrar o polígono T que está contido em P e em Q , e desejo que T seja máximo entre todos os polígonos possíveis. Eu não me importo com o tempo […]

Alocar matriz de memory 2d na function C

Como alocar memory dinâmica para matriz 2d em function? Eu tentei desse jeito: int main() { int m=4,n=3; int** arr; allocate_mem(&arr,n,m); } void allocate_mem(int*** arr,int n, int m) { *arr=(int**)malloc(n*sizeof(int*)); for(int i=0;i<n;i++) *arr[i]=(int*)malloc(m*sizeof(int)); } Mas isso não funciona. upd: function corrigida (resposta rápida) void allocate_mem(int*** arr, int n, int m) { *arr = (int**)malloc(n*sizeof(int*)); for(int […]