Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.sun.j3d.utils.geometry.Cone;
- import com.sun.j3d.utils.geometry.Cylinder;
- import com.sun.j3d.utils.geometry.Sphere;
- import javax.media.j3d.*;
- import javax.swing.*;
- import java.awt.*;
- import com.sun.j3d.utils.universe.SimpleUniverse;
- //import javafx.scene.shape.Sphere;
- import javax.media.j3d.Transform3D;
- import javax.vecmath.AxisAngle4f;
- import javax.vecmath.Color3f;
- import javax.vecmath.Point3d;
- import javax.vecmath.Point3f;
- import javax.vecmath.Vector3f;
- public class NewClass extends JFrame{
- NewClass(){
- super("NewClass");
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setResizable(false);
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
- Canvas3D canvas3D = new Canvas3D(config);
- canvas3D.setPreferredSize(new Dimension(800,600));
- add(canvas3D);
- pack();
- setVisible(true);
- BranchGroup scena = utworzScene();
- scena.compile();
- SimpleUniverse simpleU = new SimpleUniverse(canvas3D);
- Transform3D przesuniecie_obserwatora = new Transform3D();
- przesuniecie_obserwatora.set(new Vector3f(0.0f,0.0f,5.0f));
- simpleU.getViewingPlatform().getViewPlatformTransform().setTransform(przesuniecie_obserwatora);
- simpleU.addBranchGraph(scena);
- }
- BranchGroup utworzScene(){
- BranchGroup wezel_scena = new BranchGroup();
- //walec
- Appearance wyglad_walca = new Appearance();
- wyglad_walca.setMaterial(new Material(new Color3f(0.1f,1.0f,0.3f), new Color3f(2f,0.2f,0.0f),
- new Color3f(0.2f,0.1f,0.0f),new Color3f(0.0f,0.1f,0.2f),89f));
- Cylinder walec=new Cylinder(0.12f,0.4f,80,wyglad_walca);
- TransformGroup trans_walca=new TransformGroup();
- Transform3D przesuniecie_walca=new Transform3D();
- przesuniecie_walca.set(new Vector3f(-10.0f,8.7f,8.0f));
- trans_walca.setTransform(przesuniecie_walca);
- wezel_scena.addChild(trans_walca);
- //trans_walca.addChild(walec);
- //kula
- Appearance wyglad_kuli= new Appearance();
- wyglad_kuli.setMaterial(new Material(new Color3f(0.5f, 0.3f,0.2f),
- new Color3f(0.1f,0.1f,0.1f), new Color3f(0.8f, 0.3f, 0.5f),
- new Color3f(0.2f, 0.2f, 0.2f), 20.0f));
- Sphere kula=new Sphere(0.2f,Sphere.GENERATE_NORMALS,80,wyglad_kuli);
- TransformGroup trans_kuli=new TransformGroup();
- Transform3D przesuniecie_kuli=new Transform3D();
- przesuniecie_kuli.set(new Vector3f(0.0f,0.3f,0.0f));
- trans_kuli.setTransform(przesuniecie_kuli);
- wezel_scena.addChild(trans_kuli);
- //trans_kuli.addChild(kula);
- //stozek
- Appearance wyglad_stozka=new Appearance();
- wyglad_stozka.setMaterial(new Material(new Color3f(0.5f, 0.3f,0.2f),
- new Color3f(0.1f,0.1f,0.1f), new Color3f(0.8f, 0.3f, 0.5f),
- new Color3f(0.2f, 0.2f, 0.2f), 20.0f));
- Cone stozek=new Cone(0.2f,0.2f,wyglad_stozka);
- TransformGroup trans_stozka=new TransformGroup();
- Transform3D przesuniecie_stozka=new Transform3D();
- przesuniecie_stozka.set(new Vector3f(0.0f,-0.4f,0.0f));
- trans_kuli.setTransform(przesuniecie_stozka);
- wezel_scena.addChild(trans_stozka);
- //trans_kuli.addChild(stozek);
- //obracanie
- Point3d pkt=new Point3d(0.0f,0.0f,0.0f);
- TransformGroup obrot_animacja=new TransformGroup();
- obrot_animacja.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- wezel_scena.addChild(obrot_animacja);
- Alpha alpha=new Alpha(-1,5000);
- RotationInterpolator obracacz=new RotationInterpolator(alpha,obrot_animacja);
- BoundingSphere bound=new BoundingSphere(pkt,10);
- obracacz.setSchedulingBounds(bound);
- obrot_animacja.addChild(obracacz);
- Transform3D p_walca=new Transform3D();
- p_walca.set(new Vector3f(0.6f,0.0f,0.0f));
- TransformGroup transformacja=new TransformGroup(p_walca); //kurwa pamietaj zeby tu wrzucic p_walca do srodka..
- transformacja.addChild(walec);
- obrot_animacja.addChild(transformacja);
- Transform3D p_kuli=new Transform3D();
- p_kuli.set(new Vector3f(0.6f,0.8f,0.0f));
- TransformGroup transformacja1=new TransformGroup(p_kuli);
- transformacja1.addChild(kula);
- obrot_animacja.addChild(transformacja1);
- Transform3D p_stozka=new Transform3D();
- p_stozka.set(new Vector3f(0.6f,-0.8f,0.0f));
- TransformGroup transformacja2=new TransformGroup(p_stozka);
- transformacja2.addChild(stozek);
- obrot_animacja.addChild(transformacja2);
- //swiatla :)
- Color3f kolor_swiatla_kier = new Color3f(1.0f, 1.0f, 1.0f);
- Vector3f kierunek_swiatla_kier = new Vector3f(-0.4f, -1.4f, 0.7f);
- BoundingSphere obszar_ogr=new BoundingSphere(new Point3d(0.0d,0.0d,0.0d), 10.0d);
- DirectionalLight swiatlo_kier = new DirectionalLight(kolor_swiatla_kier,
- kierunek_swiatla_kier);
- swiatlo_kier.setInfluencingBounds(obszar_ogr);
- wezel_scena.addChild(swiatlo_kier);
- return wezel_scena;
- }
- public static void main(String args[]){
- new NewClass();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement