JavaFX 3D Transparency

Since JDK8u60 b14 transparency is enabled in 3D shapes. This is a quick test done with it: A cylinder with diffuse color Color.web(“#ffff0080”), is added on top of a box and two spheres. group.getChildren().addAll(sphere1, sphere2, box, cylinder); There’s no depth sort algorithm though, meaning that order of how 3D shapes are added to the scene … Read more

Move camera to fit 3D scene

There are many possible camera positions + orientations where the bounding box would fit inside the view frustum. But any procedure would select one specific camera position and orientation. If you would consider bounding spheres, one solution could be to first change orientation to look at bounding sphere center then move back sufficiently (negative look … Read more

3D Line-Plane Intersection

Here is a Python example which finds the intersection of a line and a plane. Where the plane can be either a point and a normal, or a 4d vector (normal form), In the examples below (code for both is provided). Also note that this function calculates a value representing where the point is on … Read more

Converting 3D position to 2d screen position [r69!]

I’ve written for my project the following function; it receives an THREE.Object3D instance and a camera as a parameters and returns the position on the screen. function toScreenPosition(obj, camera) { var vector = new THREE.Vector3(); var widthHalf = 0.5*renderer.context.canvas.width; var heightHalf = 0.5*renderer.context.canvas.height; obj.updateMatrixWorld(); vector.setFromMatrixPosition(obj.matrixWorld); vector.project(camera); vector.x = ( vector.x * widthHalf ) + widthHalf; … Read more