You are on page 1of 14

Graficación: Modelados 3D

Alumno: Cristin Esperano Kevin Emir


Número de control: 17171300
Carrera: Ingeniería en sistemas computacionales
Profesor: Mario Alberto Bastidas Ortiz
7:00 – 8:00a.m.
LISTADO DEL PROGRAMA
package Grafiacion;

import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.application.ConditionalFeature;
import javafx.application.Platform;
import javafx.geometry.Point3D;
import javafx.scene.shape.Box;
import javafx.scene.shape.Cylinder;
import com.sun.prism.Texture;
import java.util.Scanner;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;import javafx.scene.Group;
import javafx.scene.PerspectiveCamera;
import javafx.scene.PointLight;
import javafx.scene.SceneAntialiasing;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import java.awt.Container;
public class Grafiacion extends Application {

@Override
public void start(Stage stage) throws Exception {
Scanner R = new Scanner(System.in);
int n=0 ,x ,y;
System.out.println("Introduzca el numero de la figura que desee graficar: ");

System.out.println("1.-Cubo ");
System.out.println("2.-Cilindro ");
System.out.println("3.-Prisma ");
n=R.nextInt();

switch(n){
case 1:
int cubo,rotacion;
System.out.println("Introduzca la medida en coordenadas del cubo: ");
cubo=R.nextInt();
Box box = new Box(cubo, cubo, cubo);
stage.show();

PointLight light = new PointLight();


light.setTranslateX(-350);
light.setTranslateY(-180);
light.setTranslateZ(-500);
Group root = new Group(box, light);

Scene scene = new Scene(root, 1300, 700, true,


SceneAntialiasing.BALANCED);

PerspectiveCamera camera = new PerspectiveCamera();


System.out.println("Introduzca las coordenadas donde desee posicionar el
cubo: ");
System.out.println("X: ");
x=R.nextInt();
System.out.println("Y: ");
y=R.nextInt();
box.setTranslateX(x);
box.setTranslateY(y);
System.out.println("Introduzca en grados cuanto desea rotar el cubo: ");
rotacion=R.nextInt();
box.setRotate(rotacion);
box.setRotationAxis(new Point3D(1, 1, 0));

scene.setCamera(camera);
stage.setTitle("Graficación Proyecto 3D");
stage.setScene(scene);
break;

case 2:
stage.setTitle("creating cylinder");
int circulo,largo;
System.out.println("Introduzca el tamaño de la base: ");
circulo=R.nextInt();
System.out.println("Introduzca el largo deseado: ");
largo=R.nextInt();

Cylinder cylinder = new Cylinder(circulo, largo);

Group group = new Group(cylinder);

System.out.println("Teclee las coordeadas donde desee posicionar el cilindro:


");
System.out.println("X: ");
x=R.nextInt();
System.out.println("Y: ");
y=R.nextInt();
cylinder.setTranslateX(x);
cylinder.setTranslateY(y);
System.out.println("Teclee los grados que desee rotar el cilindro: ");
rotacion=R.nextInt();
cylinder.setRotate(rotacion);
cylinder.setRotationAxis(new Point3D(1, 1, 0));

Scene scene2 = new Scene(group, 1300, 700);


stage.setScene(scene2);
stage.show();

break;
case 3:
int prismab,prismaa,prismap;
System.out.println("Base deseada: ");
prismab=R.nextInt();
System.out.println("Altura deseada: ");
prismaa=R.nextInt();
System.out.println("Profundidad deseada: ");
prismap=R.nextInt();

Box box2 = new Box(prismab, prismaa, prismap);


stage.show();

PointLight light2 = new PointLight();


light2.setTranslateX(-350);
light2.setTranslateY(-180);
light2.setTranslateZ(-500);

Group root2 = new Group(box2, light2);


Scene scene3 = new Scene(root2, 1300, 700, true,
SceneAntialiasing.BALANCED);

PerspectiveCamera camera2 = new PerspectiveCamera();


System.out.println("Introduzca las coordenadas donde desee posicionar el
prisma: ");
System.out.println("X: ");
x=R.nextInt();
System.out.println("Y: ");
y=R.nextInt();
box2.setTranslateX(x);
box2.setTranslateY(y);
System.out.println("Introduzca los grados que desea que rote la figura");
rotacion=R.nextInt();
box2.setRotate(rotacion);
box2.setRotationAxis(new Point3D(1, 1, 0));

scene3.setCamera(camera2);
stage.setTitle("Graficacion Proyecto 3D");
stage.setScene(scene3);
break;
default:
System.out.println("Introduzca correctamente los datos");
break;
}
}

public static void main(String[] args) {


launch(args);
}
}

Sección número uno del proyecyo 3D


Todos los métodos que podían fueron utilizados en el proyecto, la escalación
(método box), la rotación (método rotate) y la traslación (translate).

El orden de los métodos en el listado fuente son:

 Escalación
 Rotación
 Traslación
MANUAL TÉCNICO

Escalación: Este método modifica el tamaño de un objeto dependiendo de que


tanto quieras que crezca o se reduzca.
System.out.println("Introduzca las coordenadas donde desee posicionar el cubo: ");
System.out.println("X: ");
x=R.nextInt();
System.out.println("Y: ");
y=R.nextInt();
box.setTranslateX(x);
box.setTranslateY(y);

Rotación: El objeto creado es rotado cuando cambia su posición a lo largo de la


trayectoria de una circunferencia en el plano XY.
System.out.println("Teclee las coordeadas donde desee posicionar el cilindro: ");
System.out.println("X: ");
x=R.nextInt();
System.out.println("Y: ");
y=R.nextInt();
cylinder.setTranslateX(x);
cylinder.setTranslateY(y);
System.out.println("Teclee los grados que desee rotar el cilindro: ");
rotacion=R.nextInt();
cylinder.setRotate(rotacion);
cylinder.setRotationAxis(new Point3D(1, 1, 0));
Traslación: Es el método que mueve la figura y la proyecta en el plano
System.out.println("X: ");
x=R.nextInt();
System.out.println("Y: ");
y=R.nextInt();
box2.setTranslateX(x);
box2.setTranslateY(y);

Proyección: Método que se encarga de mostrar la escena para las figuras.


Scene scene2 = new Scene(group, 1300, 700);
stage.setScene(scene2);
stage.show();
CORRIDAS DE MUESTRA
Escalación

Rotación

Traslación
Escalación

Rotación

Traslación
Escalación

Rotación

Traslación

You might also like