Está en la página 1de 19

Universidad Nacional de San Cristóbal de

Huamanga
Facultad de Ingeniería Minas, Geología y Civil

Escuela Profesional de Ingeniería Civil

PROGRAMACION DIGITAL (ES-241)


Informe final

“CALCULOS DE AREAS, VOLUMENES DE FIG TRIDIMENSIONALES”

Docente: Ing. CURI VEGA Abner

ALUMNOS:

Ayacucho - Perú
2019
INDICE

INTRODUCCION.......................................................................................................................... 3

OBJETIVOS ................................................................................................................................... 4

I. FUNDAMENTO TEÓRICO................................................................................................ 5

1. Creando una GUI en Matlab ........................................................................................... 5

2. GUIDE EN MATLAB ....................................................................................................... 5

3. Figuras tridimensionales .................................................................................................. 6


 Cono ................................................................................................................................................. 6
 Prisma.............................................................................................................................................. 6
 Pirámide .......................................................................................................................................... 7
 Cilindro ........................................................................................................................................... 7
 Esfera ............................................................................................................................................... 8

II. PROCEDIMIENTO ............................................................................................................. 9

III. CONCLUSIONES............................................................................................................... 19
INTRODUCCION

GUI es un entorno de programación visual disponible en Matlab para realizar y ejecutar


programas que necesiten ingreso continuo de datos. Tiene las características básicas de todos los
programas visuales como Visual Basic o Visual C++.
OBJETIVOS

 Crear un programa en GUI que facilite el cálculo de propiedades geométricas


tridimensionales.
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA

I. FUNDAMENTO TEÓRICO

1. Creando una GUI en Matlab


Una interfaz gráfica es el vínculo entre el usuario y un programa computacional, constituida
generalmente por un conjunto de comandos o menús, instrumentos y métodos por medio de los cuales
el usuario se comunica con el programa durante las operaciones que se desean realizar, facilitando la
entrada y salida de datos e información. Una interfaz es una de las partes más importantes de cualquier
programa puesto que determina qué tan factible y preciso será el desempeño del programa ante los
comandos que el usuario pretenda ejecutar. Aunque un programa sea muy poderoso, si se manipula por
medio de una interfaz pobremente elaborada, tendrá poco valor para un usuario inexperto. Es por esto
que las interfaces gráficas tienen una gran importancia para usuarios inexpertos o avanzados de
cualquier programa ya que facilitan su uso. Una interfaz gráfica consta de botones, menús, ventanas,
etc, que permiten utilizar de una manera muy simple y en ocasiones casi intuitiva programas realizados
en ambientes como Windows y Linux. Las interfaces gráficas también se conocen como interfaces de
usuario. El nombre en inglés de las interfaces gráficas es Graphical User Interfase y se denominan GUI,
por lo que nosotros también nos referiremos a ellas de la misma manera.
Existen diferentes lenguajes de programación que permiten crear GUIs tales como Visual C, Visual
Basic, TK y MATLAB por mencionar algunos. Todos ellos permiten usar diferentes controles y tienen
distintas maneras de programarlos

2. GUIDE EN MATLAB

GUIDE (Graphical User Interfase Development Environment) es un juego de herramientas que se


extiende por completo en el soporte de MATLAB, diseñadas para crear GUIs (Graphical User
Interfaces) fácil y rápidamente, prestando ayuda en el diseño y presentación de los controles de la
interfaz, reduciendo la labor al grado de seleccionar, tirar, arrastrar y personalizar propiedades.

GUIDE está diseñado para hacer menos tedioso el proceso de aplicación de la interfaz gráfica y
obviamente para trabajar como herramienta de trazado de GUIs. Entre sus poderosos componentes está
el editor de propiedades (property editor), éste se encuentra disponible en cualquier momento que se
esté lidiando con los controles de MATLAB. El editor de propiedades por separado se puede concebir
como una herramienta de trazado, y asistente de codificación (revisión de nombres y valores de
propiedades). Cuando se fusiona con el panel de control, el editor de menú, y herramienta de alineación,
resulta una combinación que brinda un inigualable control de los gráficos en MATLAB. El beneficio
que proporciona el uso de GUIs es evidente, ya que permiten al usuario ejecutar cómodamente código
desarrollado en MATLAB sin necesidad de cumplir la incómoda sintaxis funcional necesaria cuando
se trabaja desde la línea de órdenes. A diferencia de la ejecución de funciones o scripts de MATLAB,
la ejecución de GUIs no predetermina el flujo de ejecución del código.Otra diferencia importante es
que la ejecución no termina cuando finaliza la ejecución del script o función, sino que el GUI
permanece abierto, permitiendo al usuario invocar la ejecución de ese u otro código desarrollado. El
desarrollo de GUIs se realiza en dos etapas: Diseño de los componentes (controles, menús y ejes) que
formarán el GUI. Codificación de la respuesta de cada uno de los componentes ante la interacción del
usuario.

5
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA

3. Figuras tridimensionales
Las figuras tridimensionales, son aquellas que tienen tres dimensiones y una profundidad.
Es un espacio euclideo convencional un objeto físico finito este contenido de un octaedro mínimo,
cuyas dimensiones le llaman largo, ancho y profundidad o altura. El espacio físico a nuestro alrededor
es tridimensional a simple vista.
 Cono
Un cono recto es un sólido de revolución generado por el giro de un triángulo rectángulo alrededor de
uno de sus catetos. Al círculo conformado por el otro cateto se denomina base y al punto donde
confluyen las generatrices se llama vértice.

Área

Generatriz

Volumen

 Prisma
Es un poliedro irregular que consta de dos caras iguales y paralelas llamadas bases, y de caras laterales
que son paralelogramos. Los prismas se nombran por la forma de su base

Área lateral:

Área total:

Volumen:

6
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA

 Pirámide
La pirámide es un poliedro cuya base es un polígono cualquiera y cuyas caras laterales son triángulos
con un vértice común, que es el vértice de la pirámide.

Volumen:

Área lateral:

Área total:

Apotema:

 Cilindro
un cilindro es una superficie de las denominadas cuádricas formada por el desplazamiento paralelo de
una recta llamada generatriz a lo largo de una curva plana, denominada directriz.
Si la directriz es un círculo y la generatriz es perpendicular a él, entonces la superficie obtenida, llamada
cilindro circular recto, será de revolución y tendrá por lo tanto todos sus puntos situados a una distancia
fija de una línea recta, el eje del cilindro.

Área lateral:

Área total:

Volumen:

7
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA

 Esfera
Una superficie esférica es una superficie de revolución formada por el conjunto de todos los puntos del
espacio que equidistan de un punto llamado centro.
Para los puntos cuya distancia es menor que la longitud del radio, se dice que forman el interior de la
superficie esférica.

Área:

Volumen:

8
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA

II. PROCEDIMIENTO

 PASO 1: CREACIÓN DEL INTERFAZ


Para las imágenes:
• Logo de la unsch 2”axes2”
• Logo de las figuras geométricas “axes 1”
• Logo de Ing. Civil “axes 3”
Para el nombre de la universidad y la escuela se utilizó el estatic text ”text18”
Así mismo se creó paneles: panel2 para insertar datos, panel1 para resultado de datos. Se utilizó para
el nombre de datos y resultados el estatic text; y para el valor de datos y resultados edit text,
Se utilizó el pushbutton para calcular reiniciar y fin.

Interfaz de programación
Fuente: creación propia

9
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA

 PASO 2: VISUALIZACIÓN
Se programó para la visibilidad de imágenes:
%PARA VISUALIZAR EL LOGO DE UNSCH
img=imread('unsch.jpg');
axes(handles.axes2);
imshow(img);
axis off

%PARA VISUALIZAR EL LOGO PRINCIPAL


img=imread('pocoyo.jpg');
axes(handles.axes1);
imshow(img);

%PARA VISUALIZAR EL LOGO DE ING. CIVIL


img=imread('ic.jpg');
axes(handles.axes3);
imshow(img);
axis off

Se programó para la visibilidad de hora, día y fecha:

%PARA VISUALIZAR HORA, DIA Y FECHA.


fecha=datestr(now);
set(handles.tiempo,'string',fecha);

Para centrar el programa

%PARA CENTRAR EL PROGRAMA figurasT


scrsz=get(0,'screensize');
pa=get(gcf,'position');
xr=scrsz(3)-pa(3);
xp=round(xr/2);
yr=scrsz(4)-pa(4);
yp=round(yr/2);
set(gcf,'position',[xp yp pa(3) pa(4)]);

Para la visualización de las cajas

%para la visibilidad de las cajas al momento de ejecutar

set(handles.text9,'visible','off');
set(handles.naristas,'visible','off');
set(handles.text3,'visible','off');
set(handles.masa,'visible','off');
set(handles.text4,'visible','off');
set(handles.basica,'visible','off');
10
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA

set(handles.text5,'visible','off');
set(handles.radio,'visible','off');
set(handles.text7,'visible','off');
set(handles.altura,'visible','off');
set(handles.m1,'visible','off');
set(handles.m2,'visible','off');
set(handles.m3,'visible','off');
set(handles.m4,'visible','off');
set(handles.m5,'visible','off');

 PASO 3: VISUALIZACIÓN DE ACUERDO A LA FIGURA SELECCIONADA

Se crea la función:

% --- Executes on selection change in seccion.


function seccion_Callback(hObject, eventdata, handles)

global u M

u=get(handles.seccion,'value');
M=str2double(get(handles.masa,'string'));

switch u
case 1
img=imread('pocoyo.jpg');
axes(handles.axes1);
imshow(img);

case 2
img=imread('cono.jpg');
axes(handles.axes1);
imshow(img);

set(handles.masa,'visible','on');
set(handles.basica,'visible','off');
set(handles.radio,'visible','on');
set(handles.altura,'visible','on');
set(handles.naristas,'visible','off');
set(handles.dmayor,'visible','off');
set(handles.m1,'visible','on');
set(handles.m2,'visible','off');
set(handles.m3,'visible','on');
set(handles.m4,'visible','off');
set(handles.m5,'visible','on');

%
11
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA

set(handles.text3,'visible','on');
set(handles.text4,'visible','off');
set(handles.text5,'visible','on');
set(handles.text7,'visible','on');
set(handles.text9,'visible','off');
set(handles.text13,'visible','off');
set(handles.m9,'visible','off');
set(handles.m12,'visible','on');

case 3
img=imread('piramide.jpg');
axes(handles.axes1);
imshow(img);

set(handles.masa,'visible','on');
set(handles.basica,'visible','on');
set(handles.radio,'visible','off');
set(handles.altura,'visible','on');
set(handles.naristas,'visible','on');
set(handles.m1,'visible','on');
set(handles.m2,'visible','on');
set(handles.m3,'visible','on');
set(handles.m4,'visible','on');
set(handles.m5,'visible','off');

%
set(handles.text3,'visible','on');
set(handles.text4,'visible','on');
set(handles.text5,'visible','off');
set(handles.text7,'visible','on');
set(handles.text9,'visible','on');
set(handles.m12,'visible','on');

case 4
img=imread('cilindro.jpg');
axes(handles.axes1);
imshow(img);

set(handles.masa,'visible','on');
set(handles.basica,'visible','off');
set(handles.radio,'visible','on');
set(handles.altura,'visible','on');
set(handles.naristas,'visible','off');
set(handles.dmayor,'visible','on');
set(handles.m1,'visible','on');
set(handles.m2,'visible','off');
12
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA

set(handles.m3,'visible','on');
set(handles.m4,'visible','off');
set(handles.m5,'visible','on');

%
set(handles.text3,'visible','on');
set(handles.text4,'visible','off');
set(handles.text5,'visible','on');
set(handles.text7,'visible','on');
set(handles.text9,'visible','off');
set(handles.text13,'visible','on');
set(handles.m9,'visible','on');
set(handles.m12,'visible','on');
case 5
img=imread('esfera.jpg');
axes(handles.axes1);
imshow(img);

set(handles.masa,'visible','on');
set(handles.basica,'visible','off');
set(handles.radio,'visible','on');
set(handles.altura,'visible','off');
set(handles.naristas,'visible','off');
set(handles.dmayor,'visible','on');
set(handles.m1,'visible','on');
set(handles.m2,'visible','off');
set(handles.m3,'visible','off');
set(handles.m4,'visible','off');
set(handles.m5,'visible','on');

%
set(handles.text3,'visible','on');
set(handles.text4,'visible','off');
set(handles.text5,'visible','on');
set(handles.text7,'visible','off');
set(handles.text9,'visible','off');
set(handles.text13,'visible','on');
set(handles.m1,'visible','on');
set(handles.m12,'visible','on');

case 6
img=imread('prisma.jpg');
axes(handles.axes1);
imshow(img);

set(handles.masa,'visible','on');
13
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA

set(handles.basica,'visible','on');
set(handles.radio,'visible','off');
set(handles.altura,'visible','on');
set(handles.naristas,'visible','on');
set(handles.dmayor,'visible','off');
set(handles.inercia,'visible','off');
set(handles.m1,'visible','on');
set(handles.m2,'visible','on');
set(handles.m3,'visible','on');
set(handles.m4,'visible','on');
set(handles.m5,'visible','off');

%
set(handles.text3,'visible','on');
set(handles.text4,'visible','on');
set(handles.text5,'visible','off');
set(handles.text7,'visible','on');
set(handles.text9,'visible','on');
set(handles.text13,'visible','off');
set(handles.text16,'visible','off');
set(handles.m12,'visible','off');

end

 PASO 5:
Se crea una función para el cálculo insertando fórmulas y condicionando la visualización de
resultados.

% --- Executes on button press in calcular.


function calcular_Callback(hObject, eventdata, handles)

global u M

switch u
case 1
errordlg('Escoja una seccion','ERROR');
return

case 2 %seccion cono

M=str2double(get(handles.masa,'string'));
R=str2double(get(handles.radio,'string'));
H=str2double(get(handles.altura,'string'));

case 3 %seccion piramide


M=str2double(get(handles.masa,'string'));
a=str2double(get(handles.basica,'string'));
14
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA

H=str2double(get(handles.altura,'string'));
n=str2double(get(handles.naristas,'string'));

case 4 %seccion cilindro


R=str2double(get(handles.radio,'string'));
M=str2double(get(handles.masa,'string'));
H=str2double(get(handles.altura,'string'));

case 5 %seccion esfera


M=str2double(get(handles.masa,'string'));
R=str2double(get(handles.radio,'string'));

case 6 %seccion prisma


M=str2double(get(handles.masa,'string'));
a=str2double(get(handles.basica,'string'));
H=str2double(get(handles.altura,'string'));
n=str2double(get(handles.naristas,'string'));
end

%proceso de calculoskdhd
error=0.0000000001;
S=M;
g=9.81;
if u==2
G=sqrt(H^2+R^2);
b=pi*R^2;

D=pi*R*G;
K=pi*R*(G+R);
C=H/4;
V=(pi*R^2*H)/3;
L=M/V;
O=(3/10)*M*R^2;
P=L*g;

%Visualización de los resultados


set(handles.alateral,'string',D)
set(handles.atotal,'string',K)
set(handles.volumen,'string',V)
set(handles.cgravedad,'string',C)
set(handles.densidad,'string',L)
set(handles.peso,'string',P)
set(handles.inercia,'string',O)

elseif u==3

15
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA

y=(2*pi)/n;
j=(a/2)*cot(y/2);
f=sqrt(j^2+H^2);

D=(n*a*f)/2;
K=((j*a*n)/2)+D;
V=(((j*a*n)/2)*H)/3;
C=H/4;
L=M/V;
P=L*g;

%Visualización de los resultados


set(handles.alateral,'string',D)
set(handles.atotal,'string',K)
set(handles.volumen,'string',V)
set(handles.cgravedad,'string',C)
set(handles.densidad,'string',L)
set(handles.peso,'string',P)

elseif u==4
D=2*pi*R*H;
K=D+(pi*R^2);
V=pi*R^2*H;
C=H/2;
t=sqrt(H^2+4*R^2);
L=M/V;
O=(1/2)*M*R^2;
P=L*g;
%Visualización de los resultados
set(handles.alateral,'string',D)
set(handles.atotal,'string',K)
set(handles.volumen,'string',V)
set(handles.cgravedad,'string',C)
set(handles.densidad,'string',L)
set(handles.peso,'string',P)
set(handles.inercia,'string',O)
set(handles.dmayor,'string',t)
elseif u==5
D=4*pi*R^2;
K=4*pi*R^2;
V=(4*pi*R^3);
C=R;
t=2*R;
L=M/V;
O=(2/5)*M*R^2;
P=L*g;
set(handles.alateral,'string',D)
16
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA

set(handles.atotal,'string',K)
set(handles.volumen,'string',V)
set(handles.cgravedad,'string',C)
set(handles.densidad,'string',L)
set(handles.peso,'string',P)
set(handles.dmayor,'string',t)
set(handles.inercia,'string',O)

elseif u==6
y=(2*pi)/n;
j=(a/2)*cot(y/2);

D=n*a*H;
K=D+((n*a*j)/2);
V=((n*a*j)/2)*H;
C=H/2;
L=M/V;
P=L*g;

set(handles.alateral,'string',D)
set(handles.atotal,'string',K)
set(handles.volumen,'string',V)
set(handles.cgravedad,'string',C)
set(handles.densidad,'string',L)
set(handles.peso,'string',P)

end

 PASO 6:
Finalmente se crea la función para reiniciar y poner fin al programa:

% --- Executes on button press in reiniciar.


function reiniciar_Callback(hObject, eventdata, handles)

close(figurasT);
figurasT;

% --- Executes on button press in fin.


function fin_Callback(hObject, eventdata, handles)
close

17
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA

18
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA

III. CONCLUSIONES

Se logró crear el programa para el cálculo de las propiedades geométricas de algunas figuras
tridimensionales tales como: primas, cono, esfera, pirámide, cilindro.

19

También podría gustarte