/******************************************************************************
* StdDraw3D.java
* Hayk Martirosyan
******************************************************************************
* 3D Drawing Library
*
* Standard Draw 3D is a Java library with the express goal of making it
* simple to create three-dimensional models, simulations, and games.
*
* Introductory Tutorial:
* http://introcs.cs.princeton.edu/java/stddraw3d
*
* Reference manual:
* http://introcs.cs.princeton.edu/java/stddraw3d-manual.html
*
* NOTE: The code below is only partially documented. Refer to the
* reference manual for complete documentation.
*
*****************************************************************************/
// Native Java libraries.
import java.io.*;
import java.net.*;
import java.awt.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;
import java.text.*;
import java.awt.geom.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.imageio.ImageIO;
// Java3D libraries.
import javax.vecmath.*;
import javax.media.j3d.*;
import com.sun.j3d.utils.image.*;
import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.behaviors.vp.OrbitBehavior;
import com.sun.j3d.utils.scenegraph.io.*;
import com.sun.j3d.loaders.objectfile.ObjectFile;
import com.sun.j3d.loaders.lw3d.Lw3dLoader;
import com.sun.j3d.loaders.Loader;
/**
* Standard Draw 3D is a Java library with the express goal of making it
* simple to create three-dimensional models, simulations, and games.
* Here is a <a href = "http://introcs.cs.princeton.edu/java/stddraw3d">StdDraw3D tutorial</a>
* and the
* <a href = "http://introcs.cs.princeton.edu/java/stddraw3d/stddraw3d-manual.html">StdDraw3D reference manual</a>.
*/
public final class StdDraw3D implements
MouseListener, MouseMotionListener, MouseWheelListener,
KeyListener, ActionListener, ChangeListener, ComponentListener, WindowFocusListener
{
/* ***************************************************************
* Global Variables *
*****************************************************************/
/* Public constant values. */
//-------------------------------------------------------------------------
// Preset colors.
public static final Color BLACK = Color.BLACK;
public static final Color BLUE = Color.BLUE;
public static final Color CYAN = Color.CYAN;
public static final Color DARK_GRAY = Color.DARK_GRAY;
public static final Color GRAY = Color.GRAY;
public static final Color GREEN = Color.GREEN;
public static final Color LIGHT_GRAY = Color.LIGHT_GRAY;
public static final Color MAGENTA = Color.MAGENTA;
public static final Color ORANGE = Color.ORANGE;
public static final Color PINK = Color.PINK;
public static final Color RED = Color.RED;
public static final Color WHITE = Color.WHITE;
public static final Color YELLOW = Color.YELLOW;
// Camera modes.
public static final int ORBIT_MODE = 0;
public static final int FPS_MODE = 1;
public static final int AIRPLANE_MODE = 2;
public static final int LOOK_MODE = 3;
public static final int FIXED_MODE = 4;
public static final int IMMERSIVE_MODE = 5;
/* Global variables. */
//-------------------------------------------------------------------------
// GUI Components
private static JFrame frame;
private static Panel canvasPanel;
private static JMenuBar menuBar;
private static JMenu fileMenu, cameraMenu, graphicsMenu;
private static JMenuItem loadButton, saveButton, save3DButton, quitButton;
private static JSpinner fovSpinner;
private static JRadioButtonMenuItem
orbitModeButton, fpsModeButton, airplaneModeButton, lookModeButton, fixedModeButton;
private static JRadioButtonMenuItem perspectiveButton, parallelButton;
private static JCheckBoxMenuItem antiAliasingButton;
private static JSpinner numDivSpinner;
private static JCheckBox infoCheckBox;
// Scene groups.
private static SimpleUniverse universe;
private static BranchGroup rootGroup, lightGroup, soundGroup, fogGroup, appearanceGroup;
private static BranchGroup onscreenGroup, offscreenGroup;
private static OrbitBehavior orbit;
private static Background background;
private static Group bgGroup;
private static View view;
// Drawing canvas.
private static Canvas3D canvas;
// Camera object
private static Camera camera;
// Buffered Images for 2D drawing
private static BufferedImage offscreenImage, onscreenImage;
private static BufferedImage infoImage;
// Canvas dimensions.
private static int width;
private static int height;
private static double aspectRatio;
// Camera mode.
private static int cameraMode;
// Center of orbit
private static Point3d orbitCenter;
// Coordinate bounds.
private static double min, max, zoom;
// Current background color.
private static Color bgColor;
// Pen properties.
private static Color penColor;
private static float penRadius;
private static Font font;
// Keeps track of screen clearing.
private static boolean clear3D;
private static boolean clearOverlay;
private static boolean infoDisplay;
// Number of triangles per shape.
private static int numDivisions;
// Mouse states.
private static boolean mouse1;
private static boolean mouse2;
private static boolean mouse3;
private static double mouseX;
private static double mouseY;
// Keyboard states.
private static TreeSet<Integer> keysDown = new TreeSet<Integer>();
private static LinkedList<Character> keysTyped = new LinkedList<Character>();
// For event synchronization.
private static Object mouseLock = new Object();
private static Object keyLock = new Object();
// Helper to see when initialization complete
private static boolean initialized = false;
private static boolean fullscreen = false;
private static boolean immersive = false;
// Pauses the renderer
private static boolean showedOnce = true;
private static boolean renderedOnce = false;
/* Final variables for default values. */
//-------------------------------------------------------------------------
// Default square canvas dimension in pixels.
private static final int DEFAULT_SIZE = 600;
// Default boundaries of canvas scale.
private static final double DEFAULT_MIN = 0.0;
private static final double DEFAULT_MAX = 1.0;
// Default camera mode
private static final int DEFAULT_CAMERA_MODE = ORBIT_MODE;
// Default field of vision for perspective projection.
private static final double DEFAULT_FOV = 0.9;
private static final int DEFAULT_NUM_DIVISIONS = 100;
// Default clipping distances for rendering.
private static final double DEFAULT_FRONT_CLIP = 0.01;
private static final double DEFAULT_BACK_CLIP = 10;
// Default pen settings.
private static final Font DEFAULT_FONT = new Font("Arial", Font.PLAIN, 16);
private static final double DEFAULT_PEN_RADIUS = 0.002;
private static final Color DEFAULT_PEN_COLOR = StdDraw3D.WHITE;
// Default background color.
private static final Color DEFAULT_BGCOLOR = StdDraw3D.BLACK;
// Scales the size of Text3D.
private static final double TEXT3D_SHRINK_FACTOR = 0.005;
private static final double TEXT3D_DEPTH = 1.5;
// Default shape flags.
private static final int PRIMFLAGS =
Primitive.GENERATE_NORMALS + Primitive.GENERATE_TEXTURE_COORDS;
// Infinite bounding sphere.
private static final BoundingSphere INFINITE_BOUNDS =
new BoundingSphere(new Point3d(0.0,0.0,0.0), 1e100);
// Axis vectors.
private static final Vector3D xAxis
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
CloudSim DVFS (1626个子文件)
all-wcprops 6KB
all-wcprops 4KB
all-wcprops 3KB
all-wcprops 3KB
all-wcprops 2KB
all-wcprops 2KB
all-wcprops 1KB
all-wcprops 1KB
all-wcprops 1KB
all-wcprops 1KB
all-wcprops 1KB
all-wcprops 1KB
all-wcprops 894B
all-wcprops 781B
all-wcprops 699B
all-wcprops 509B
all-wcprops 459B
all-wcprops 433B
all-wcprops 315B
all-wcprops 303B
all-wcprops 293B
all-wcprops 218B
all-wcprops 212B
all-wcprops 202B
all-wcprops 178B
all-wcprops 172B
all-wcprops 170B
all-wcprops 160B
all-wcprops 108B
all-wcprops 108B
all-wcprops 99B
all-wcprops 99B
all-wcprops 95B
all-wcprops 95B
all-wcprops 90B
all-wcprops 87B
all-wcprops 85B
all-wcprops 85B
all-wcprops 82B
all-wcprops 80B
StdDraw3D.class 61KB
Datacenter.class 21KB
XMLOutputter.class 21KB
Draw.class 19KB
StdDraw.class 18KB
SAXOutputter.class 18KB
PowerVmAllocationPolicyMigrationAbstract.class 16KB
Verifier.class 16KB
WorkflowEngine.class 16KB
Cloudlet.class 16KB
Element.class 15KB
Host.class 14KB
SAXBuilder.class 14KB
NetworkCloudletSpaceSharedScheduler.class 14KB
SAXHandler.class 14KB
CloudSim.class 13KB
NetworkDatacenterBroker.class 13KB
DatacenterBroker.class 13KB
NetworkDatacenterBrokerExtends.class 12KB
WorkflowDatacenter.class 12KB
SimulationXMLParse.class 12KB
TLM_dvfs.class 11KB
DvfsPolicy_2.class 11KB
RedBlackBST.class 11KB
Simple_DVFS.class 11KB
Switch.class 11KB
DvfsPolicy.class 10KB
Dvfs_example_more_complex.class 10KB
CloudletSchedulerSpaceShared.class 10KB
Dvfs_example_simple.class 10KB
Policy.class 9KB
CloudletSchedulerTimeShared.class 9KB
HarddriveStorage.class 8KB
DOMOutputter.class 8KB
HostDynamicWorkload.class 8KB
Vm.class 8KB
Document.class 8KB
PowerDatacenter.class 8KB
BST.class 8KB
Task.class 8KB
ContentList.class 8KB
BaselinePolicy.class 8KB
SimEntity.class 8KB
CloudletSchedulerDynamicWorkload.class 8KB
Attribute.class 7KB
WorkloadFileReader.class 7KB
NetworkDatacenter.class 7KB
StdDraw3D$Transformable.class 7KB
AttributeList.class 7KB
DOMBuilder.class 7KB
Simulation.class 7KB
Pe.class 7KB
InfoPacket.class 7KB
NetworkVmAllocationPolicy.class 7KB
In.class 6KB
DatacenterCharacteristics.class 6KB
UncheckedJDOMFactory.class 6KB
TestPolicy.class 6KB
VmSchedulerTimeShared.class 6KB
NetworkHost.class 6KB
共 1626 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17
资源评论
- RONGE-KUTA2015-03-04可以用 有效
gloud2014
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功