【テスト】メッシュ分割
var normal:Number3D=new Number3D(0,0.5,0);
var point:Nmber3D=new Number3D(0,0,0);
var cutPlane:Plane3D=Plane3D.fromNormalAndPoint(normal,point);
var meshes:Array=MeshUtil.cutTriangleMesh(sphere,cutPlane);
var mesh0:TriangleMesh3D=meshes[0];
scene.addChild(mesh0);
mesh0.x=400;
var mesh1:TriangleMesh3D=mesh[1];
scene.addChild(mesh1);
mesh1.x=-400;
♥0 |
Line 35 |
Modified 2010-12-28 11:36:49 |
MIT License
archived:2017-03-20 05:25:16
ActionScript3 source code
/**
* Copyright soh1106c ( http://wonderfl.net/user/soh1106c )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/56i3
*/
package {
import flash.events.*;
import flash.events.MouseEvent;
import org.papervision3d.view.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.materials.*;
import org.papervision3d.core.geom.*;
import org.papervision3d.core.math.*;
import org.papervision3d.core.utils.*;
public class Main extends BasicView{
public function Main(){
var material:WireframeMaterial=new WireframeMaterial(0x0000ff);
var cylinder:Cylinder=new Cylinder(material,200,400);
scene.addChild(cylinder);
var normal:Number3D=new Number3D(0,0.5,0);
var point:Number3D=new Number3D(0,0,0);
var cutPlane:Plane3D=Plane3D.fromNormalAndPoint(normal,point);
var meshes:Array=MeshUtil.cutTriangleMesh(cylinder,cutPlane);
var mesh0:TriangleMesh3D=meshes[0];
scene.addChild(mesh0);
mesh0.x=-500;
var mesh1:TriangleMesh3D=meshes[1];
scene.addChild(mesh1);
mesh1.x=0;
startRendering();
addEventListener(Event.ENTER_FRAME,loop);
}
private function loop(e:Event):void {
var rot:Number=(mouseX/stage.stageWidth)*720;
camera.x=1000*Math.sin(rot*Math.PI/180);
camera.z=1000*Math.cos(rot*Math.PI/180);
camera.y=1000*(mouseY/stage.stageHeight);
}
}
}