Ignore:
Timestamp:
2015-01-21T15:12:08+13:00 (9 years ago)
Author:
bmt11
Message:

Added slider for wind control but the black box is a bug I have no figured out for some time now
Camera control is disabled whilst using the slider also :)

Location:
other-projects/nz-flag-design/trunk
Files:
6 added
3 edited

Legend:

Unmodified
Added
Removed
  • other-projects/nz-flag-design/trunk

  • other-projects/nz-flag-design/trunk/render-3d/Flag_files/Flag.js

    r29547 r29693  
    6262
    6363var wind = true;
    64 var windStrength = 2;
     64
    6565var windForce = new THREE.Vector3(0,0,0);
    6666
     
    107107// Performs verlet integration
    108108Particle.prototype.integrate = function(timesq) {
     109
    109110    var newPos = this.tmp.subVectors(this.position, this.previous);
    110111    newPos.multiplyScalar(DRAG).add(this.position);
     
    116117
    117118    this.a.set(0, 0, 0);
     119   
    118120}
    119121
     
    122124
    123125function satisifyConstrains(p1, p2, distance) {
     126   
    124127    diff.subVectors(p2.position, p1.position);
    125128    var currentDist = diff.length();
     
    129132    p1.position.add(correctionHalf);
    130133    p2.position.sub(correctionHalf);
    131 
    132     // float difference = (restingDistance - d) / d
    133     // im1 = 1 / p1.mass // inverse mass quantities
    134     // im2 = 1 / p2.mass
    135     // p1.position += delta * (im1 / (im1 + im2)) * stiffness * difference
    136 
     134   
    137135}
    138136
     
    158156
    159157    // Structural
    160 
     158   
    161159    for (v=0;v<h;v++) {
    162160        for (u=0;u<w;u++) {
     
    193191        ]);
    194192    }
    195 
     193   
    196194
    197195    // While many system uses shear and bend springs,
     
    219217        }
    220218    }
    221 
    222 
    223     // // Bend
    224 
    225     // var wlen = restDistance * 2;
    226     // var hlen = restDistance * 2;
    227     // diagonalDist = Math.sqrt(wlen * wlen + hlen * hlen);
    228 
    229     // for (v=0;v<h-1;v++) {
    230     //  for (u=0;u<w-1;u++) {
    231     //      constrains.push([
    232     //          particles[index(u, v)],
    233     //          particles[index(u+2, v)],
    234     //          wlen
    235     //      ]);
    236 
    237     //      constrains.push([
    238     //          particles[index(u, v)],
    239     //          particles[index(u, v+2)],
    240     //          hlen
    241     //      ]);
    242 
    243     //      constrains.push([
    244     //          particles[index(u, v)],
    245     //          particles[index(u+2, v+2)],
    246     //          diagonalDist
    247     //      ]);
    248 
    249     //      constrains.push([
    250     //          particles[index(u, v+2)],
    251     //          particles[index(u+2, v+2)],
    252     //          wlen
    253     //      ]);
    254 
    255     //      constrains.push([
    256     //          particles[index(u+2, v+2)],
    257     //          particles[index(u+2, v+2)],
    258     //          hlen
    259     //      ]);
    260 
    261     //      constrains.push([
    262     //          particles[index(u+2, v)],
    263     //          particles[index(u, v+2)],
    264     //          diagonalDist
    265     //      ]);
    266 
    267     //  }
    268     // }
    269 
    270 
     219   
    271220    this.particles = particles;
    272221    this.constrains = constrains;
     
    320269        particle.addForce(gravity);
    321270        //
    322         // var x = particle.position.x, y = particle.position.y, z = particle.position.z, t=Date.now() / 1000;
    323         // windForce.set(Math.sin(x*y*t), Math.cos(z*t), Math.sin(Math.cos(5*x*y*z))).multiplyScalar(100);
    324         // particle.addForce(windForce);
     271        var x = particle.position.x, y = particle.position.y, z = particle.position.z, t=Date.now() / 1000;
     272        //windForce.set(Math.sin(x*y*t), Math.cos(z*t), Math.sin(Math.cos(5*x*y*z))).multiplyScalar(0);
     273        particle.addForce(windForce);
    325274        particle.integrate(TIMESTEP_SQ);
    326275    }
  • other-projects/nz-flag-design/trunk/render-3d/flag.html

    r29686 r29693  
    44    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    55
    6         <title>three.js webgl - 3D Flag hhh</title>
     6        <title>3D Representation of Flag</title>
    77        <meta charset="utf-8">
    88        <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
     
    6161        </style>
    6262    <style type="text/css"></style></head>
    63 
     63   
    6464    <body>
     65       
    6566        <div id="menuContainer">
    6667            <div id="weatherMenu" style="color : white">
     
    7576        </div>
    7677       
     78        <div id="slider">
     79            <div id="speed"></div>
     80        </div>
     81       
     82        <link rel="stylesheet" href="./CSS/slider.css" />
    7783       
    7884        <script type="text/javascript">
     85           
     86            /*              JQUERY SLIDER                   */
     87           
     88           
     89           
     90           
     91            /*----------------------------------------------*/
     92       
    7993            var open = false;
    8094            function openclose(){
     
    103117        <script type="text/javascript" src="./weather/sun.js"></script>
    104118        <script type="text/javascript" src="./Flag_files/ColladaLoader.js"></script>
     119        <script type="text/javascript" src="./Flag_files/slider.js"></script>
    105120       
    106121        <script type="text/javascript" src="./Flag_files/KeyboardState.js"></script>
    107122
     123        <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>
     124       
    108125        <script type="x-shader/x-fragment" id="fragmentShaderDepth">
    109126
     
    330347                mesh.castShadow = false;
    331348                scene.add( mesh );
    332 
    333                 /*var tmp = mesh.position
    334                 var gg = new THREE.BoxGeometry( 100, 100, 100 );
    335                 var mesh = new THREE.Mesh( gg, poleMat );
    336                 mesh.position.y = tmp.y - 740;
    337                 mesh.position.x = tmp.x; //125
    338                 mesh.position.z = tmp.z;
    339                 mesh.receiveShadow = true;
    340                 mesh.castShadow = false;
    341                 scene.add( mesh );*/
    342 
    343349
    344350                //
     
    428434                    object.position.z = -165;
    429435                    scene.add( object );
     436                   
    430437                    initial = false;
    431438                    object.customDepthMaterial = new THREE.ShaderMaterial( { uniforms: uniforms, vertexShader: vertexShader, fragmentShader: fragmentShader } );
     
    475482               
    476483                var timer = Date.now() * 0.0002;
    477    
    478                 keyboard.update();
    479                 if( keyboard.down("A")) {
    480                     flagSelector--;
    481                     if(flagSelector < 0) flagSelector = flags.length-1;
    482                     createFlag();
    483 
    484                 }else if(keyboard.down("D")) {
    485                     flagSelector++;
    486                     if(flagSelector >= flags.length) flagSelector = 0; 
    487                     createFlag();
    488                 }
    489484               
    490485                var p = cloth.particles;
     
    500495                clothGeometry.normalsNeedUpdate = true;
    501496                clothGeometry.verticesNeedUpdate = true;
    502                
    503 
    504                
     497
    505498                if(raining && weatherSystem.type != rainSystem){
    506499                    snowing = false;
     
    526519
    527520            }
    528 
    529         </script><div><canvas width="1366" height="600"></canvas>
     521       
     522        </script>
     523       
    530524</body></html>
Note: See TracChangeset for help on using the changeset viewer.