Tunel-AngelAdolfo LavadoresMis
Tunel-AngelAdolfo LavadoresMis
Tunel-AngelAdolfo LavadoresMis
INGENIERÍA EN SISTEMAS
COMPUTACIONALES
Graficación.
ESTUDIANTE:
Tunel.
YUCATÁN. 16/Noviembre/2023
COMENTARIOS:
Este segundo proyecto en 3D ha sido muy entretenido. Al enfrentar el reto de construir un túnel
interactivo, destaco la implementación de un método que genera cada sección del túnel a partir de
solo dos coordenadas inferiores. Este enfoque modular ha simplificado considerablemente la
construcción del túnel, permitiéndome ajustar su forma y dimensiones con facilidad.
En resumen, este proyecto ha sido una valiosa experiencia que ha ampliado mi habilidad para
desarrollar entornos visuales interactivos en 3D. La creación de un método eficiente para generar
secciones del túnel destaca mi progreso en la programación gráfica y me ha preparado para
enfrentar proyectos más complejos en el futuro.
Capturas.
Inicio.
Final.
Por dentro.
Por fuera distintos ángulos.
Código Fuente.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing.Imaging;
using SharpGL;
namespace Tunel_de_ANGELADOLFO_LAVADORESMIS
{
public partial class Form1 : Form
{
float rotaX = 0;
float rotaY = 0;
float rotaZ = 0;
float trasX = 0;
float trasY = -2.5f;
float trasZ = -8;
int fast = 5;
double BanD = 0;
public Form1()
{
InitializeComponent();
// izquierda
MiCuadro3D(-5, 0, 0, -5, 0, -10, lavadores);
MiCuadro3D(-5, 0, -10, -5, 3, -15, lavadores);
MiCuadro3D(-5, 3, -15, -5, 3, -25, lavadores);
MiCuadro3D(-5, 3, -25, -5, 5, -28, lavadores);
MiCuadro3D(-5, 5, -28, -5, 5, -38, lavadores);
MiCuadro3D(-5, 5, -38, -5, 0, -50, lavadores);
MiCuadro3D(-5, 0, -50, -5, 0, -70, lavadores);
if (BanD == 1)
{
trasZ += 0.5f;
if(trasZ >= 5 && trasZ <= 10)
{
trasY -= 0.2f;
}
if (trasZ >= 20 && trasZ <= 23.5)
{
trasY -= 0.2f;
}
if (trasZ >= 37 && trasZ <= 45)
{
trasY += 0.2f;
}
if(trasZ >= 55)
{
BanD = 0;
}
}
if (BanD == 2)
{
trasZ -= 0.5f;
if (trasZ >= 5 && trasZ <= 10)
{
trasY += 0.2f;
}
if (trasZ >= 20 && trasZ <= 23.5)
{
trasY += 0.2f;
}
if (trasZ >= 37 && trasZ <= 45)
{
trasY -= 0.2f;
}
if (trasZ <= -8)
{
BanD = 0;
}
lavadores.End();
private void MiCuadro3D(float x1, float y1, float z1, float x2, float y2, float z2,
SharpGL.OpenGL lavadores)
{
lavadores.Begin(OpenGL.QUADS);
lavadores.End();
}
}
}