Página 1 de 3 123 ÚltimoÚltimo
Resultados 1 al 10 de 26

Tema: Matemats

  1. #1
    Moderador
    Fecha de ingreso
    Jul 2005
    Mensajes
    8,059
    Gracias (Dadas)
    523
    Gracias (Recibidas)
    903

    Blender Matemats

    Matemats, el script multifamoso para crear (de momento) curvas paramétricas, tiene nueva versión. Y aquí está, la lista de fetaúres es inmesa, como puede comprobarse:
    • curvas 3d en coordenadas cartesianas.
    • curvas 3d en coordenadas cilíndricas (polares).
    • uso de parámetros: a, b, c, hasta e.
    • curvas predefindas, lo que en lenguaje técnico se denomina presetes.


    Es un script de tipo addmesh, lo qué significa que se accede a el con espacio-> add>Mesh>matemats.

    El script perrea así:
    Código:
    #.Bpy.
    Registration información for Blender menús:
    Name: matemats.
    Blender: 246.
    Group: addmesh.
    Tip: represents math functions.
    _versión__=1.25.
    #.Bpy.
    Registration información for Blender menús:
    Name: matemats.
    Blender: 246.
    Group: addmesh.
    Tip: represents math functions.
    _versión__=1.25.
    _author__ = klopes.
    _versión__ = 1.0 2008/05/26.
    _url__ = [mi kasa, http://Klópes, tk, Blender, elysiun"].
    _email__ = [klopes, Klópes@unizar, es, scripts"].
    Import Blender.
    From Blender import nmesh,BGL.
    From Blender. Draw import *.
    From Blender import BGL.
    From math import *.
    Def fcart(t):
    A,b,c,d,e = a, val, b, val, c, val, d, val, val treturn (eval(fun1.val), eval(fun2.val), eval(fun3.val)).
    Def fpolar(t):
    A,b,c,d,e = a, val, b, val, c, val, d, val, val treturn (eval(fun1.val+*cos(t)), eval(fun1.val+*sin(t)), eval(fun3.val)).
    Presets=[1.
    [identity 1:1,t,t,0,-1,1,100,[].
    [elipse, a*cos(t), b*sin(t),0,0,2*pi,32,[1,1].
    [helix, cos(t), sin(t), t/10,0,4*pi,64,[].
    [black hole, sin(t*10)/t**2, cos(t*10)/t**2, -t.2,5,64,[].
    [lissajous, cos(t/a), cos(t/b), sin(t/c),0,2*pi*2*3*5,256,[2,3,5].
    [polynom, t, a*t**4 + b*t**3 + c*t**2 + d*t + eh, 0,-2,2,256,[0,1,0,-1,1].
    Presetsp=[2.
    [circunference,1,0,0,2*pi,32,[].
    [linear spiral,a*t,0,0,4*pi,32,[0.5].
    [Logaritmic spiral,a*exp(t),0,0,4*pi,32,[0.5].
    Ext0=create (0.0).
    Ext1=create (1.0).
    N=create (100).
    Salto=create (0.01).
    Nom=create (function).
    Fun1=create (t).
    Fun2=create (t).
    Fun3=create (0.0).
    Fentrypreset=create (1).
    Fentrytyp=create (1).
    Buf=create (1).
    A=create (0.0).
    B=create (0.0).
    C=create (0.0).
    D=create (0.0).
    E=create (0.0).
    Auto=create (1).
    Def creacurva (nombre,ex0,ex1, n, salto):
    Me=nmesh. New(nombre) ttry:
    Pass texcept:
    Blender. Draw. Pupmenu (revisa el texto) return tif fentrytyp, val==1:
    F=fcart telse:
    F=fpolar tv0=nmesh. Vert(f(ex0)[0], f(ex0)[1], f(ex0)[2]) tme, vértices, append(v0) tfor i in range (n):
    T=(i+1)*salto+ex0 v1=nmesh. Vert(f(t)[0], f(t)[1], f(t)[2]) me, addedge (v0, 1) me, vértices, append(v1) v0 = v1 tnmesh. Putraw(me, nombre).
    Def texbuf():
    Menutext, i=,0 tfor TX in Blender. Text. Get():
    I+=1 menutext+=|+tx.name+%x+str(i) treturn menutext.
    Def draw():
    Global ext0,ext1,n,salto,nom,fun1,fun2,fun3,fentrytyp,vaya,fentrypreset tglobal auto, exprx, expry, exprz, a, b, c, d, e tbgl.glclearcolor(0.5, 0.5, 0.6, 1) tbgl.glcolor3f(1,1,1) tbgl.glclear(BGL. Gl_color_bufer_bit).
    # fentrytyp=menú(entry type%t|cartesian function%x1|cylindric function%x2|text buffer%x3|file%x4, 98,216,142,87,18,fentrytyp, val) tfentrytyp=menú(entry type%t|cartesian function%x1|cylindric function%x2 98,216,142,87,18,fentrytyp, val) text0=number(inf =,2,13,79,100,18,ext0.val,-10000,10000,extremo inf, del intervalo) text1=number(sup =,2,112,79,100,18,ext1.val,-10000,10000,extremo sup, del intervalo) TN=number(# segmts,2,10,55,205,18,n.val,1,200001,número de segmentos) tsalto=number(segmts Lenght=,3,10,37,205,18,salto, val.000001, abs(ext1.val-ext0.val),separación entre vértices) tnom=string(obj name:, 98,10,165,205,18,nom, val,50) tif fentrytyp, val==1:
    Fun1 = string(x(t)=,3,10,142,205,18,fun1.val,100,expresion en t) fun2 = string(y(t)=,3,10,122,205,18,fun2.val,100,expresion en t) fun3 = string(z(t)=,3,10,102,205,18,fun3.val,100,expresion en t) TX = presetes%t for preset in presets[1:]:
    Tx = TX + | + preset[0] fentrypreset=menú(tx,10,216,122,87,18,fentrypreset, val) tif fentrytyp, val==2:
    Fun1 = string(r(t)=,3,10,142,205,18,fun1.val,100,expresion en t) fun3 = string(z(t)=,3,10,122,205,18,fun3.val,100,expresion en t) TX = presetes%t for preset in presetsp[1:]:
    Tx = TX + | + preset[0] fentrypreset=menú(tx,10,216,122,87,18,fentrypreset, val) telif fentrytyp, val==3:
    Buf=menú(select buffer%t+texbuf(),98,10,102,205,18,vaya, val) exprx = \n.join(blender. Text. Get()[vaya, val-1].aslines()) expry = \n.join(blender. Text. Get()[vaya, val-1].aslines()) exprz = \n.join(blender. Text. Get()[vaya, val-1].aslines()) tblender. Bgl.glrasterpos2i (226,84) ttext(a) tblender. Bgl.glrasterpos2i (226,66) ttext(b) tblender. Bgl.glrasterpos2i (226,4 ttext(c) tblender. Bgl.glrasterpos2i (226,30) ttext(d) tblender. Bgl.glrasterpos2i (226,12) ttext(e) ta = number(,4,238,78,60,18, a, val,-10000,10000,parámetro a) Tb = number(,4,238,60,60,18, b, val,-10000,10000,parámetro b) tc = number(,4,238,42,60,18, c, val,-10000,10000,parámetro c) TD = number(,4,238,24,60,18, d, val,-10000,10000,parámetro d) te = number(,4,238,6,60,18, val,-10000,10000,parámetro e) tauto = toggle (auto update,10,220,100,80,18, auto, val) tbutton(draw,1,10,5,170,2 tbutton(exit,99,185,7,30,22).
    Def event(evt, al):
    If evt==esckey: exit().
    Def bevent(evt):
    If evt==10: #preset if fentrytyp, val==1:
    Pres=presets elif fentrytyp, val==2:
    Pres=presetsp fun1.val = pres[fentrypreset, val][1] fun2.val = pres[fentrypreset, val][2] fun3.val = pres[fentrypreset, val][3] ext0.val = pres[fentrypreset, val][4] ext1.val = pres[fentrypreset, val][5] n.val = pres[fentrypreset, val][6] try:
    A, val = pres[fentrypreset, val][7][0] b, val = pres[fentrypreset, val][7][1] c, val = pres[fentrypreset, val][7][2] d, val = pres[fentrypreset, val][7][3] eh, val = pres[fentrypreset, val][7][4] except:
    Pass tif evt==3:
    N.val=(ext1.val-ext0.val)/salto, val tif evt==2 or evt==10:
    Salto, val=(ext1.val-ext0.val)/n.val ext1.val=max(ext1.val,ext0.val) ext0.val=min(ext1.val,ext0.val) tif evt==1 or (auto, val and (evt==3 or evt==2 or evt==4 or evt==10)):
    Creacurva (nom, val,ext0.val,ext1.val,n.val,salto, val) tif evt==3:
    Fentrypreset, val=0 tif evt==99:
    Exit() tblender. Redraw().
    Register(draw, event, bevent)
    Miniaturas adjuntas Miniaturas adjuntas Clic en la imagen para ver su versión completa. 
Nombre: matemats.jpg 
Visitas: 606 
Tamaño: 25.9 KB 
ID: 73959  
    Última edición por Klópes; 26-05-2008 a las 16:36
    ...y estaba superbueno.
    Y miré su perfil. Y vi que era amigo de Daniela. Puaf.


    Dos niñas en el parque

    no se elevará, nunca más

  2. #2
    Administrador
    Fecha de ingreso
    Apr 2002
    Mensajes
    20,969
    Gracias (Dadas)
    604
    Gracias (Recibidas)
    2248

    Matemats

    Para la saca, muchas gracias.
    Obtén enseñanza tradicional en arte y cine. Los ordenadores solo son herramientas. Ellos no pueden tomar decisiones creativas, y solo pueden crear trabajos tan buenos como tus conocimientos y tu experiencia les permita.
    Victor Navone


    Ser "animador" es un regalo que te ganas y un honor que deben adjudicarte los otros.
    Chuck Jones


    La tecnología no hace las pelí*culas, la gente las hace. No eres un animador sólo porque puedas mover un objeto del punto A al punto B. Eres alguien quien le da vida a un personaje, que es algo que el software y la tecnología no puede dar.
    John Lasseter

  3. #3
    Usuario Legendario
    Fecha de ingreso
    Dec 2003
    Mensajes
    2,428
    Gracias (Dadas)
    43
    Gracias (Recibidas)
    17

    Matemats

    Muy interesante, muchas gracias. Un saludo.
    Cuiño, cuiiiiño!!!!

  4. #4
    Blendemoniado
    Fecha de ingreso
    Mar 2006
    Mensajes
    3,672
    Gracias (Dadas)
    144
    Gracias (Recibidas)
    142

    Matemats

    Qué hay que hacer? ¿Pegar el script en la ventana de texto y dar enter o load?
    "Trate la historia como si todo el proyecto dependiera de ella porque,probablemente,así* sea" (Mark Adams)

    Corolario: "La cafeí*na es tu amiga"

  5. #5
    Moderador
    Fecha de ingreso
    Jul 2005
    Mensajes
    8,059
    Gracias (Dadas)
    523
    Gracias (Recibidas)
    903

    Matemats

    Qué hay que hacer? ¿Pegar el script en la ventana de texto y dar enter o load?
    Copia el texto en el editor de texto y grábalo como matemats, py en el directorio script .
    ...y estaba superbueno.
    Y miré su perfil. Y vi que era amigo de Daniela. Puaf.


    Dos niñas en el parque

    no se elevará, nunca más

  6. #6
    Nivel Héroe
    Fecha de ingreso
    May 2005
    Mensajes
    552
    Gracias (Dadas)
    4
    Gracias (Recibidas)
    1

    Matemats

    No viene a cuento, pero me encanta tu firma el script muy chulo y muy bonito por cierto.
    Última edición por radimov; 26-05-2008 a las 20:26

  7. #7
    BlenderAdicto
    Fecha de ingreso
    Dec 2004
    Mensajes
    14,487
    Gracias (Dadas)
    174
    Gracias (Recibidas)
    771

    Matemats

    No viene a cuento, pero me encanta tu firma.
    Ahí, ahí. Guerra a los pezones de galleta María.

  8. #8
    Nivel Héroe
    Fecha de ingreso
    May 2005
    Mensajes
    552
    Gracias (Dadas)
    4
    Gracias (Recibidas)
    1

    Matemats

    Ahí, ahí. Guerra a los pezones de galleta María.
    Campurrianas más bien.

  9. #9
    Viva Blender !!!
    Fecha de ingreso
    Apr 2006
    Mensajes
    1,009
    Gracias (Dadas)
    8
    Gracias (Recibidas)
    49

    Matemats

    Ahí, ahí. Guerra a los pezones de galleta María.
    No es cosa fácil ser amigo de una tía así.
    Suerte

    Cita Iniciado por SHAZAM Ver mensaje
    la blenderitis de sus cada día más numerosos usuarios crea un efecto radio-bemba-tsunami que inunda todo

  10. #10
    Moderador
    Fecha de ingreso
    Jul 2005
    Mensajes
    8,059
    Gracias (Dadas)
    523
    Gracias (Recibidas)
    903

    Matemats

    ¿Qué estáis haciendo con mi hilo?
    ...y estaba superbueno.
    Y miré su perfil. Y vi que era amigo de Daniela. Puaf.


    Dos niñas en el parque

    no se elevará, nunca más

Página 1 de 3 123 ÚltimoÚltimo