Monday, January 18, 2010

LA30

最近スクリプトに挑戦中。PROCESSINGですが。。
2Dはわかってきたけど、3Dは全く。。分かる人居ませんか??
いや〜、イライラしますな…3時間同じ事の繰り返し。。。
どこをどう変えたらISOSURFACEがかわるのか。。。
猫の手も借りたい今日この頃です…
誰かーーーー!

↓↓

import traer.physics.*;
import SearchGeometry.*;
import processing.dxf.*;
boolean record;
SGCamera cam;
ParticleSystem physics;
SGIsoSurface isosurf;

void setup(){
size(1280, 720, P3D);
cam = new SGCamera(this);
physics = new ParticleSystem(0.0, 0.1);
isosurf = new SGIsoSurface(this, 10);
for(int i=0; i<100;>
physics.makeParticle(3, 20, 12, 9);
physics.makeParticle(10, 3, 25, 1);
}
/////////////////////////////////////////////////
for(int i=0; i<100;>
int randId1 = i;
int randId2 = i+(i+1);
if(randId2 > physics.numberOfParticles()-1){
}
Particle p1 = physics.getParticle(randId1);
Particle p2 = physics.getParticle(randId2);
if(p1 != p2){
physics.makeSpring(p1, p2, 0.7, 0.001, 5);
addSpacersToNode(p1, p2);
}
}
/////////////////////////////////////////////////
}

void keyPressed() {
if (key == 'r') record = true;
if (key == 'p'){
saveFrame("line-####.jpg");
}
}

void draw(){
physics.tick();
background(255);
lights();
stroke(100);
cam.update();
isosurf.clear();
if (record) {
beginRaw(DXF, "output"+frameCount+".dxf");
}
for(int i=0; i
Particle p = physics.getParticle(i);
PVector pos = new PVector(p.position().x(), p.position().y(), p.position().z());
isosurf.addPoint(pos, 1);
}
/////////////////////////////////////////
stroke(0);
for(int i=0; i
Spring s = physics.getSpring(i);
Particle a = s.getOneEnd();
Particle b = s.getTheOtherEnd();
line(a.position().x(), a.position().y(), a.position().z(),
b.position().x(), b.position().y(), b.position().z());
}
////////////////////////////////////////
stroke(0);
isosurf.plot(float(mouseX)/1000, false);
if (record) {
endRaw();
record = false;
println("done dxf~!");
}
}

void addSpacersToNode(Particle p, Particle r){
for (int i=0; i
Particle q = physics.getParticle(i);
if(p != q && p != r){
physics.makeAttraction(p, q, -1, 10);
}
}
}

void locator(PVector pos, float sz){
stroke(255,0,0);
line(pos.x-sz, pos.y, pos.z, pos.x+sz, pos.y, pos.z);
stroke(0,255,0);
line(pos.x, pos.y-sz, pos.z, pos.x, pos.y+sz, pos.z);
stroke(0,0,255);
line(pos.x, pos.y, pos.z-sz, pos.x, pos.y, pos.z+sz);
}



6 comments:

  1. お久しぶりです。サイアークかなりいろいろやってるね。うちの1st semester でピーターマカピアが担当してて、スクリプトでやってたなぁ。てかサイアークの先生でもあるよね?ピーター?

    ReplyDelete
  2. お久しぶりです。。マカピアがスクリプトやってたんですか?!
    先学期教えてもらいました。超良い人、良い先生でした。。
    意外っす。。PROCESSINGでした?

    ReplyDelete
  3. マカピアはプラットでは全く来ないから、凄い嫌われてたよ苦笑 たぶんそっちにたくさん行ってたんじゃないかな。そっちに彼女いるし・・・ww
    Processingが何か分んないんけど、プラットでは確か、マスマティカルで3D図形作って、ライノで2D平面に直して、それをUNITとして、スクリプトで幾何学的に構成してたよ。ピーターの代表作みたいなやつ。スカイスクレイパーの隙間にウジャーって建築?が入りこんでるやつなんだけど知ってます?

    ReplyDelete
  4. なるほど!まぁ確かに来ない事もあったけど、一緒に映画見たりしましたよ。
    レポートも16枚だらだらと書いたのですが、ちゃんと1人づつにびっしりとコメント書いて送ってくれたり。だから意外ですね〜。
    知ってますしってます。きっと最初の授業で見せてもらいました。

    ReplyDelete
  5. へぇ凄い違いだね笑 ちょっと見なおしたよ。きっとカルフォルニアの気候に合うんだね気分が。サーフィンできるし。
    ところで目大丈夫です?以前自分も涙が出続けるから眼医者いったら角膜炎?っていうのになってて放置したら失明しちゃう可能性あるよって言われてビビりました。御気をつけて。

    ReplyDelete
  6. サーフィンしてそう!やたらとマッチョですよね〜。。
    そんな事もあるんですね…今はちょっと腫れが引いて痛みも減っているんですが気を付けます。
    ありがとうございます!!

    ReplyDelete