First doc update

This commit is contained in:
PedroEdiaz
2024-09-19 10:37:00 +06:00
parent 3c9690a2a7
commit 6c3b268a65
3 changed files with 69 additions and 65 deletions

30
README.md Normal file
View File

@@ -0,0 +1,30 @@
# Manigraph: Graficadora de variedades
Diaz Camacho Pedro Emilio
# Resumen
manigraph es un graficador de variedades que lee archivos binarios, con la información de
una variedad y grafica esta variedad en una proyección tridimensional, se puede
interactuar con el programa usando el teclado o mouse.
# Tecnologias
## Lenguajes de programación
- C89
## Librerias
- OpenGL
- GLFW
- cglm
# Compilación
Para compilar basta usar ´make´ pero también se pueden usar los siguientes comandos.
## Linux
´´´
cc -fPIC -shared -D_GLFW_X11 -D_GLFW_BUILD_DLL ./ext/glfw/src/*.c -o libglfw.so
cc -L. -lglfw -lGL -I ext/cglm/include/ -I ext/glfw/include/ src/*.c -o manigraph
´´´
# Ejecutar
Para ejecutar el programa antes de instalarse base usar ´make run´, sin embargo también se puede usar lo siguiente
## Linux
´´´
LD_LIBRARY_PATH=. ./manigraph
´´´

View File

@@ -1,58 +1,31 @@
# Manual de Diseño
Diaz Camacho Pedro Emilio
# Resumen
manigraph es un graficador de variedades que lee archivos binarios con un forma
to espacial, este viene con un manual explicando como correr el programa, como
interactuar con el programa y las especificaciones del archivo binario.
# Tecnologias
## Lenguajes:
- C89
## Librerias:
- OpenGL
- GLFW
- cglm
# Archivos
- Ejecutable.
- Ejemplo.
- Una libreria tipo STB, con las funciones para hacer variedades con una
funcion parametrizadora.
- LA PARAMETRIZACION DEBE SER CONTINUA.
- El codigo fuente de un programa que cree la variedad de una botella
de klein usando esta libreria.
- Manual
- Explicando como correr el programa desde la terminal.
- Explicando como interactuar con el programa con el teclado y mouse.
- Explicando el formato binario de las variedaedes.
- Explicando la libreria STB.
# Objetivos
## Prioridad alta
- [] El programa debe actualizarse cuando interactuan con el.
- [] El usuario quiere:
- [ ] El programa debe actualizarse cuando interactuan con el.
- [ ] El usuario quiere:
- [X] Ver 3 ejes en todo momento.
- [] Ver que ejes esta viendo.
- [] Ver cuantos ejes hay.
- [ ] Ver que ejes esta viendo.
- [ ] Ver cuantos ejes hay.
- [X] El usuario quiere:
- [X] Rotar estos ejes,
- [X] Ver donde quedan los ejes despues de la rotados.
- [] El usuario experimentado quiere ejecutar el programa y pasar la variedad:
- [] Como argumento del programa.
- [] Desde la entrada standar del programa.
- [ ] El usuario experimentado quiere ejecutar el programa y pasar la variedad:
- [ ] Como argumento del programa.
- [ ] Desde la entrada standar del programa.
## Prioridad media
- [] El usuario quiere:
- [] Cambiar los ejes que se ven por pares.
- [] Cambiar los ejes donde esta la informacion de los ejes.
- [ ] El usuario quiere:
- [ ] Cambiar los ejes que se ven por pares.
- [ ] Cambiar los ejes donde esta la informacion de los ejes.
- [] El usuario quiere interactuar con el programa:
- [] Usando solo el mouse.
- [] Usando solo el teclado.
- [ ] Usando solo el mouse.
- [ ] Usando solo el teclado.
## Prioridad baja
- [] El usuario quiere guardar las transformaciones como un archivo GIF.
- [ ] El usuario quiere guardar las transformaciones como un archivo GIF.
# Camino
@@ -78,10 +51,10 @@ interactuar con el programa y las especificaciones del archivo binario.
1. Usando el mouse.
1. Usando el teclado.
0. Detalles.
0. Se anima el cambio de eje.
0. Se hace el generador de GIF.
0. Se puede cambiar el shader
0. Documentacion
1. Se anima el cambio de eje.
1. Se hace el generador de GIF.
1. Se puede cambiar el shader
1. Documentacion
# Cronograma
@@ -98,24 +71,3 @@ interactuar con el programa y las especificaciones del archivo binario.
||1.2 Programa ejemplo mobius|13-Oct-2024|
||1.3 Programa ejemplo klein|20-Oct-2024|
## Problemas
OpenGL esperan objetos tridimensionales, no de n dimensiones.
Usando glVertexAttribPointer podemos pasar las coordenadas que
queramos de los puntos de las variedades, y con ello usar objetos 3D en
el shader.
## Rotar ejes por pares en una animacion continua.
- Con glVertexAttribPointer podemos pasar las coordenadas del eje
seleccionado, al shader.
- Con la funcion mix del shader y bloqueando el input, podemos hacer
una animacion pasando una variable con la cpu.
- Cuando la animacion termine intercambiar los indices del layout,
usando glVertexAttribPointer otra vez.
## Volumen de la variedad.
Dado que la funcion parametrizadora es continua, mandamos la frontera
de un n-cubo a la frontera de una variedad, por lo que solo basta
graficar la frontera de la variedad.

22
doc/es/tech/problemas.md Normal file
View File

@@ -0,0 +1,22 @@
# Problemas esperados al desarrollar
Diaz Camacho Pedro Emilio
## OpenGL esperan objetos tridimensionales, no de n dimensiones.
Usando glVertexAttribPointer podemos pasar las coordenadas que
queramos de los puntos de las variedades, y con ello usar objetos 3D en
el shader.
## Rotar ejes por pares en una animacion continua.
- Con glVertexAttribPointer podemos pasar las coordenadas del eje
seleccionado, al shader.
- Con la funcion mix del shader y bloqueando el input, podemos hacer
una animacion pasando una variable con la cpu.
- Cuando la animacion termine intercambiar los indices del layout,
usando glVertexAttribPointer otra vez.
## Volumen de la variedad.
Dado que la funcion parametrizadora es continua, mandamos la frontera
de un n-cubo a la frontera de una variedad, por lo que solo basta
graficar la frontera de la variedad.