Hola, python es un lenguaje de programación muy simple con el que agregando ciertos plugins y complementos te permite hacer diferentes modelos.
A modo de tutorial quisiera mostrarle como usar esta herramienta para dibujar modelos en 3D
primero deben bajar de la pagina oficial, el phyton motor del lenguaje y vpython el motor grafico.
http://www.python.org/download/
cuando bajen e instalen ambos programas se instalara VIDLE, el cual es el entorno de programación de Vpython.
para empezar a programar los graficos solo necesitan incluir al prinicipio del documento estas lineas.
from visual import *
from math import *
El proposito de este post no es enseñarle a programar en python si no darles a conocer la herramienta y mostrarles como resolvi el problema del grafo completo el cual consiste en tres planos de nodos en el cual todos los nodos estan interconectados dado un numero de nodos el cual se le ingresa por teclado , el grafico es mas o menos este.
Donde el plano de la mitad contiene el numero de puntos que se ingreso por teclado
los planos superiores en inferiores contienen n - 1.
Aqui el codigo
------------------------------------------------------------------------------------------------------------
print 'Ingrese numero de nodos'
alpha = input(int) #valor de K
if(alpha >= 2):
scene.range=(3,1,1)
label(pos=(0,-1.18,1), text='INSERTE NOMBRE DEL AUTOR')
cuatro = (2*math.pi)/alpha
conteo = 0
tercer = int(cuatro)
conteo1= 0
#primer componente K
while conteo < 2*math.pi:
conteoq = 0
conteo2 = 0
ball = sphere(pos=(cos(conteo),0,sin(conteo)), color=color.red, radius=0.02)
while conteoq < 2*math.pi:
curve(pos=[(cos(conteo),0,sin(conteo)),(cos(conteoq+cuatro),0,sin(conteoq+cuatro))],color=color.orange, radius=0.005)
conteoq = conteoq + cuatro
cuatroq=(2*math.pi)/(alpha-1)
while conteo2 < 2*math.pi:
curve(pos=[(cos(conteo),0,sin(conteo)),(cos(conteo2+cuatroq),1,sin(conteo2+cuatroq))], radius=0.005)
curve(pos=[(cos(conteo),0,sin(conteo)),(cos(conteo2+cuatroq),-1,sin(conteo2+cuatroq))], radius=0.005)
conteo2 = conteo2 + cuatroq
conteo = conteo + cuatro
#segundo componente K-1
cuatro = (2*math.pi)/(alpha-1)
while conteo1 < 2*math.pi:
conteoq=0
ball=sphere(pos=(cos(conteo1),1,sin(conteo1)), color=color.blue, radius=0.02)
while conteoq < 2*math.pi:
curve(pos=[(cos(conteo1),1,sin(conteo1)),(cos(conteoq+cuatro),1,sin(conteoq+cuatro))],color=color.yellow, radius=0.005)
#curve(pos=[(cos(conteo1),1,sin(conteo1)),(cos(conteoq),-1,sin(conteoq))], radius=0.02, color=color.yellow)
conteoq = conteoq + cuatro
conteo1 = conteo1 + cuatro
#tercer componente K-1
cuatro = (2*math.pi)/(alpha-1)
conteo1=0
while conteo1 < 2*math.pi:
conteoq=0
ball=sphere(pos=(cos(conteo1),-1,sin(conteo1)), color=color.blue, radius=0.02)
while conteoq < 2*math.pi:
curve(pos=[(cos(conteo1),-1,sin(conteo1)),(cos(conteoq+cuatro),-1,sin(conteoq+cuatro))],color=color.green, radius=0.005)
#curve(pos=[(cos(conteo1),-1,sin(conteo1)),(cos(conteoq),1,sin(conteoq))], radius=0.02, color=color.yellow)
conteoq = conteoq + cuatro
conteo1 = conteo1 + cuatro
else:
print 'Debe ingresar valores valores mayores o igual a dos'
print 'Vuelve a compilar'
------------------------------------------------------------------------------------------------------------
si cuando copien y peguen el archivo les genera muchos errores pueden bajar este archivo fuente.
http://cid-e45984f044f16b96.office.live.com/self.aspx/.Public/2.%20Grafo%20Completo.py
Si trabajan en otro lenguaje de programación se puede adaptar facilmente
ojala les sirva bye.
A modo de tutorial quisiera mostrarle como usar esta herramienta para dibujar modelos en 3D
primero deben bajar de la pagina oficial, el phyton motor del lenguaje y vpython el motor grafico.
http://www.python.org/download/
cuando bajen e instalen ambos programas se instalara VIDLE, el cual es el entorno de programación de Vpython.
para empezar a programar los graficos solo necesitan incluir al prinicipio del documento estas lineas.
from visual import *
from math import *
El proposito de este post no es enseñarle a programar en python si no darles a conocer la herramienta y mostrarles como resolvi el problema del grafo completo el cual consiste en tres planos de nodos en el cual todos los nodos estan interconectados dado un numero de nodos el cual se le ingresa por teclado , el grafico es mas o menos este.
Donde el plano de la mitad contiene el numero de puntos que se ingreso por teclado
los planos superiores en inferiores contienen n - 1.
Aqui el codigo
------------------------------------------------------------------------------------------------------------
print 'Ingrese numero de nodos'
alpha = input(int) #valor de K
if(alpha >= 2):
scene.range=(3,1,1)
label(pos=(0,-1.18,1), text='INSERTE NOMBRE DEL AUTOR')
cuatro = (2*math.pi)/alpha
conteo = 0
tercer = int(cuatro)
conteo1= 0
#primer componente K
while conteo < 2*math.pi:
conteoq = 0
conteo2 = 0
ball = sphere(pos=(cos(conteo),0,sin(conteo)), color=color.red, radius=0.02)
while conteoq < 2*math.pi:
curve(pos=[(cos(conteo),0,sin(conteo)),(cos(conteoq+cuatro),0,sin(conteoq+cuatro))],color=color.orange, radius=0.005)
conteoq = conteoq + cuatro
cuatroq=(2*math.pi)/(alpha-1)
while conteo2 < 2*math.pi:
curve(pos=[(cos(conteo),0,sin(conteo)),(cos(conteo2+cuatroq),1,sin(conteo2+cuatroq))], radius=0.005)
curve(pos=[(cos(conteo),0,sin(conteo)),(cos(conteo2+cuatroq),-1,sin(conteo2+cuatroq))], radius=0.005)
conteo2 = conteo2 + cuatroq
conteo = conteo + cuatro
#segundo componente K-1
cuatro = (2*math.pi)/(alpha-1)
while conteo1 < 2*math.pi:
conteoq=0
ball=sphere(pos=(cos(conteo1),1,sin(conteo1)), color=color.blue, radius=0.02)
while conteoq < 2*math.pi:
curve(pos=[(cos(conteo1),1,sin(conteo1)),(cos(conteoq+cuatro),1,sin(conteoq+cuatro))],color=color.yellow, radius=0.005)
#curve(pos=[(cos(conteo1),1,sin(conteo1)),(cos(conteoq),-1,sin(conteoq))], radius=0.02, color=color.yellow)
conteoq = conteoq + cuatro
conteo1 = conteo1 + cuatro
#tercer componente K-1
cuatro = (2*math.pi)/(alpha-1)
conteo1=0
while conteo1 < 2*math.pi:
conteoq=0
ball=sphere(pos=(cos(conteo1),-1,sin(conteo1)), color=color.blue, radius=0.02)
while conteoq < 2*math.pi:
curve(pos=[(cos(conteo1),-1,sin(conteo1)),(cos(conteoq+cuatro),-1,sin(conteoq+cuatro))],color=color.green, radius=0.005)
#curve(pos=[(cos(conteo1),-1,sin(conteo1)),(cos(conteoq),1,sin(conteoq))], radius=0.02, color=color.yellow)
conteoq = conteoq + cuatro
conteo1 = conteo1 + cuatro
else:
print 'Debe ingresar valores valores mayores o igual a dos'
print 'Vuelve a compilar'
------------------------------------------------------------------------------------------------------------
si cuando copien y peguen el archivo les genera muchos errores pueden bajar este archivo fuente.
http://cid-e45984f044f16b96.office.live.com/self.aspx/.Public/2.%20Grafo%20Completo.py
Si trabajan en otro lenguaje de programación se puede adaptar facilmente
ojala les sirva bye.