Archive for 5月, 2009

SQLite和processing

星期六, 5月 30th, 2009


今天试了一下sqliteJDBC,在eclipse以及processing环境下都用了一下。
sqlite是一个很强大的桌面数据库,类似于access和javadb…现在说说再如何在processing环境下使用
1.下载sqliteJDBC
2.processing新建项目,代码如下

import java.sql.*;
void setup() {
  size(100,100);
  noLoop()
  try {
     Class.forName("org.sqlite.JDBC");
     String dbFileName = dataPath("test.db");
    println("opening: " + dbFileName)
    Connection conn = DriverManager.getConnection("jdbc:sqlite:"+dbFileName);
       Statement stmt = conn.createStatement();
       ResultSet rs = stmt.executeQuery("SELECT * FROM tb01 LIMIT 10")
      while (rs.next()) {
      String provider   = rs.getString("un");
      String route_name = rs.getString("pw");
      println("username: " + provider);
      println("password: " + route_name);   
    }
    conn.close();
  }
  catch(Exception e) {
    e.printStackTrace();
  }
}
void draw() { 
}

3.点击sketch-add file 把下载好的sqliteJDBC.jar文件放入sketch文件夹。
4.在sketch文件夹内新建data文件夹存放数据库之用。
参考a quick note on using sqlite in processing

AS3MOD+PV3D

星期三, 5月 13th, 2009

里面有7种不同的modifiers。
(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)

package
{
 import com.as3dmod.ModifierStack;
 import com.as3dmod.modifiers.Bend;
 import com.as3dmod.plugins.pv3d.LibraryPv3d;
 
 import flash.events.Event;
 
 //import org.papervision3d.materials.WireframeMaterial;
 import org.papervision3d.materials.ColorMaterial;
 import org.papervision3d.objects.primitives.Plane;
 import org.papervision3d.view.BasicView;
 
 [SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")]
 public class Papervision3DwithAS3Dmod extends BasicView
 {
  private var plane:Plane;
  private var modifierStack:ModifierStack;
  private var bend:Bend;
 
  public function Papervision3DwithAS3Dmod()
  {
   //var wireframeMaterial:WireframeMaterial = new WireframeMaterial(0xcc0000);
   //wireframeMaterial.doubleSided = true;
            var   material = new ColorMaterial(0x00CCFF);
            material.doubleSided = true;

 
 
   plane = new Plane(material, 800, 800, 20, 20);
   plane.rotationX = 45;
   plane.rotationY = 45;
 
   modifierStack = new ModifierStack(new LibraryPv3d(), plane);
   bend = new Bend();
   modifierStack.addModifier(bend);
 
   scene.addChild(plane);
 
   startRendering();
  }
 
  override protected function onRenderTick(event:Event=null):void
  {
   plane.rotationY += (viewport.containerSprite.mouseX - plane.rotationY) * .1;
 
   bend.force += (viewport.containerSprite.mouseY / 100 - bend.force) * .3;
   modifierStack.apply();
 
   renderer.renderScene(scene, camera, viewport);
  }
 }
}