- 浏览: 99428 次
-
文章分类
最新评论
Java 3D绘图源代码 Standard Draw 3D Class StdDraw3D javadoc StdDraw3D.java
StdDraw3D.java // 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; public final class StdDraw3D implements MouseListener, MouseMotionListener, MouseWheelListener, KeyListener, ActionListener, ChangeListener, ComponentListener, WindowFocusListener { //------------------------------------------------------------------------- // 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; //------------------------------------------------------------------------- // 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; //------------------------------------------------------------------------- // 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 = new Vector3D(1, 0, 0); private static final Vector3D yAxis = new Vector3D(0, 1, 0); private static final Vector3D zAxis = new Vector3D(0, 0, 1); //------------------------------------------------------------------------- // Singleton for callbacks - avoids generation of extra .class files. private static StdDraw3D std = new StdDraw3D(); // Blank constructor. private StdDraw3D () { } // Static initializer. static { //System.setProperty("j3d.rend", "ogl"); System.setProperty("j3d.audiodevice", "com.sun.j3d.audioengines.javasound.JavaSoundMixer"); setCanvasSize(DEFAULT_SIZE, DEFAULT_SIZE); } private static void initialize () { numDivisions = DEFAULT_NUM_DIVISIONS; onscreenImage = createBufferedImage(); offscreenImage = createBufferedImage(); infoImage = createBufferedImage(); initializeCanvas(); if (frame != null) frame.setVisible(false); frame = new JFrame(); frame.setVisible(false); frame.setResizable(fullscreen); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setTitle("Standard Draw 3D"); frame.add(canvasPanel); frame.setJMenuBar(createMenuBar()); frame.addComponentListener(std); frame.addWindowFocusListener(std); //frame.getContentPane().setCursor(new Cursor(Cursor.MOVE_CURSOR)); frame.pack(); rootGroup = createBranchGroup(); lightGroup = createBranchGroup(); bgGroup = createBranchGroup(); soundGroup = createBranchGroup(); fogGroup = createBranchGroup(); appearanceGroup = createBranchGroup(); onscreenGroup = createBranchGroup(); offscreenGroup = createBranchGroup(); rootGroup.addChild(onscreenGroup); rootGroup.addChild(lightGroup); rootGroup.addChild(bgGroup); rootGroup.addChild(soundGroup); rootGroup.addChild(fogGroup); rootGroup.addChild(appearanceGroup); universe = new SimpleUniverse(canvas, 2); universe.addBranchGraph(rootGroup); setDefaultLight(); Viewer viewer = universe.getViewer(); viewer.createAudioDevice(); view = viewer.getView(); view.setTransparencySortingPolicy(View.TRANSPARENCY_SORT_GEOMETRY); view.setScreenScalePolicy(View.SCALE_EXPLICIT); view.setLocalEyeLightingEnable(true); setAntiAliasing(false); //view.setMinimumFrameCycleTime(long minimumTime); ViewingPlatform viewingPlatform = universe.getViewingPlatform(); viewingPlatform.setNominalViewingTransform(); orbit = new OrbitBehavior(canvas, OrbitBehavior.REVERSE_ALL^OrbitBehavior.STOP_ZOOM); BoundingSphere bounds = INFINITE_BOUNDS; orbit.setMinRadius(0); orbit.setSchedulingBounds(bounds); setOrbitCenter(new Point3d(0, 0, 0)); viewingPlatform.setViewPlatformBehavior(orbit); TransformGroup cameraTG = viewingPlatform.getViewPlatformTransform(); Transform3D cameraTrans = new Transform3D(); cameraTG.getTransform(cameraTrans); viewingPlatform.detach(); cameraTG.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); cameraTG.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); camera = new Camera(cameraTG); universe.addBranchGraph(viewingPlatform); setPerspectiveProjection(); setCameraMode(); setPenColor(); setPenRadius(); setFont(); setScale(); setInfoDisplay(true); setBackground(DEFAULT_BGCOLOR); frame.setVisible(true); frame.toFront(); frame.setState(Frame.NORMAL); initialized = true; } private static void initializeCanvas () { Panel p = new Panel(); GridBagLayout gl = new GridBagLayout(); GridBagConstraints gbc = new GridBagConstraints(); p.setLayout(gl); gbc.gridx = 0; gbc.gridy = 0; gbc.gridwidth = 5; gbc.gridheight = 5; GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration(); canvas = new Canvas3D(config) { public void preRender () { if (camera.pair != null) { camera.setPosition(camera.pair.getPosition()); camera.setOrientation(camera.pair.getOrientation()); } } public void postRender () { J3DGraphics2D graphics = this.getGraphics2D(); graphics.drawRenderedImage(onscreenImage, new AffineTransform()); if (infoDisplay) { graphics.drawRenderedImage(infoImage, new AffineTransform()); } graphics.flush(false); Thread.yield(); } }; canvas.addKeyListener(std); canvas.addMouseListener(std); canvas.addMouseMotionListener(std); canvas.addMouseWheelListener(std); canvas.setSize(width, height); p.add(canvas, gbc); canvasPanel = p; //canvas.stopRenderer(); } private static JMenuBar createMenuBar () { menuBar = new JMenuBar(); fileMenu = new JMenu("File"); menuBar.add(fileMenu); loadButton = new JMenuItem(" Load 3D Model.. "); loadButton.addActionListener(std); loadButton.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); fileMenu.add(loadButton); saveButton = new JMenuItem(" Save Image... "); saveButton.addActionListener(std); saveButton.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); fileMenu.add(saveButton); save3DButton = new JMenuItem(" Export 3D Scene... "); save3DButton.addActionListener(std); save3DButton.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); //fileMenu.add(save3DButton); fileMenu.addSeparator(); quitButton = new JMenuItem(" Quit... "); quitButton.addActionListener(std); quitButton.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); fileMenu.add(quitButton); cameraMenu = new JMenu("Camera"); menuBar.add(cameraMenu); JLabel cameraLabel = new JLabel("Camera Mode"); cameraLabel.setAlignmentX(Component.CENTER_ALIGNMENT); cameraLabel.setForeground(GRAY); cameraMenu.add(cameraLabel); cameraMenu.addSeparator(); ButtonGroup cameraButtonGroup = new ButtonGroup(); orbitModeButton = new JRadioButtonMenuItem("Orbit Mode"); orbitModeButton.setSelected(true); cameraButtonGroup.add(orbitModeButton); cameraMenu.add(orbitModeButton); orbitModeButton.addActionListener(std); orbitModeButton.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); fpsModeButton = new JRadioButtonMenuItem("First-Person Mode"); cameraButtonGroup.add(fpsModeButton); cameraMenu.add(fpsModeButton); fpsModeButton.addActionListener(std); fpsModeButton.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); airplaneModeButton = new JRadioButtonMenuItem("Airplane Mode"); cameraButtonGroup.add(airplaneModeButton); cameraMenu.add(airplaneModeButton); airplaneModeButton.addActionListener(std); airplaneModeButton.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_3, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); lookModeButton = new JRadioButtonMenuItem("Look Mode"); cameraButtonGroup.add(lookModeButton); cameraMenu.add(lookModeButton); lookModeButton.addActionListener(std); lookModeButton.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_4, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); fixedModeButton = new JRadioButtonMenuItem("Fixed Mode"); cameraButtonGroup.add(fixedModeButton); cameraMenu.add(fixedModeButton); fixedModeButton.addActionListener(std); fixedModeButton.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_5, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); cameraMenu.addSeparator(); JLabel projectionLabel = new JLabel("Projection Mode"); projectionLabel.setAlignmentX(Component.CENTER_ALIGNMENT); projectionLabel.setForeground(GRAY); cameraMenu.add(projectionLabel); cameraMenu.addSeparator(); SpinnerNumberModel snm = new SpinnerNumberModel(DEFAULT_FOV, 0.5, 3.0, 0.05); fovSpinner = new JSpinner(snm); JPanel fovPanel = new JPanel(); fovPanel.setLayout(new BoxLayout(fovPanel, BoxLayout.X_AXIS)); JLabel fovLabel = new JLabel("Field of View:"); fovPanel.add(javax.swing.Box.createRigidArea(new Dimension(30, 5))); fovPanel.add(fovLabel); fovPanel.add(javax.swing.Box.createRigidArea(new Dimension(10, 5))); fovPanel.add(fovSpinner); final ButtonGroup projectionButtons = new ButtonGroup(); perspectiveButton = new JRadioButtonMenuItem("Perspective Projection"); parallelButton = new JRadioButtonMenuItem("Parallel Projection"); fovSpinner.addChangeListener(std); perspectiveButton.addActionListener(std); parallelButton.addActionListener(std); cameraMenu.add(parallelButton); cameraMenu.add(perspectiveButton); cameraMenu.add(fovPanel); projectionButtons.add(parallelButton); projectionButtons.add(perspectiveButton); perspectiveButton.setSelected(true); graphicsMenu = new JMenu("Graphics"); // Leaving out graphics menu for now!! //menuBar.add(graphicsMenu); JLabel graphicsLabel = new JLabel("Polygon Count"); graphicsLabel.setAlignmentX(Component.CENTER_ALIGNMENT); graphicsLabel.setForeground(GRAY); graphicsMenu.add(graphicsLabel); graphicsMenu.addSeparator(); SpinnerNumberModel snm2 = new SpinnerNumberModel(DEFAULT_NUM_DIVISIONS, 4, 4000, 5); numDivSpinner = new JSpinner(snm2); JPanel numDivPanel = new JPanel(); numDivPanel.setLayout(new BoxLayout(numDivPanel, BoxLayout.X_AXIS)); JLabel numDivLabel = new JLabel("Triangles:"); numDivPanel.add(javax.swing.Box.createRigidArea(new Dimension(5, 5))); numDivPanel.add(numDivLabel); numDivPanel.add(javax.swing.Box.createRigidArea(new Dimension(15, 5))); numDivPanel.add(numDivSpinner); graphicsMenu.add(numDivPanel); numDivSpinner.addChangeListener(std); graphicsMenu.addSeparator(); JLabel graphicsLabel2 = new JLabel("Advanced Rendering"); graphicsLabel2.setAlignmentX(Component.CENTER_ALIGNMENT); graphicsLabel2.setForeground(GRAY); graphicsMenu.add(graphicsLabel2); graphicsMenu.addSeparator(); antiAliasingButton = new JCheckBoxMenuItem("Enable Anti-Aliasing"); antiAliasingButton.setSelected(false); antiAliasingButton.addActionListener(std); graphicsMenu.add(antiAliasingButton); infoCheckBox = new JCheckBox("Show Info Display"); infoCheckBox.setFocusable(false); infoCheckBox.addActionListener(std); menuBar.add(javax.swing.Box.createRigidArea(new Dimension(50, 5))); menuBar.add(infoCheckBox); return menuBar; } public void stateChanged(ChangeEvent e) { Object source = e.getSource(); if (source == numDivSpinner) numDivisions = (Integer)numDivSpinner.getValue(); if (source == fovSpinner) { setPerspectiveProjection((Double)fovSpinner.getValue()); perspectiveButton.setSelected(true); } } public void actionPerformed (ActionEvent e) { Object source = e.getSource(); if (source == saveButton) saveAction(); else if (source == loadButton) loadAction(); else if (source == save3DButton) save3DAction(); else if (source == quitButton) quitAction(); else if (source == orbitModeButton) setCameraMode(ORBIT_MODE); else if (source == fpsModeButton) setCameraMode(FPS_MODE); else if (source == airplaneModeButton) setCameraMode(AIRPLANE_MODE); else if (source == lookModeButton) setCameraMode(LOOK_MODE); else if (source == fixedModeButton) setCameraMode(FIXED_MODE); else if (source == perspectiveButton) setPerspectiveProjection((Double)fovSpinner.getValue()); else if (source == parallelButton) setParallelProjection(); else if (source == antiAliasingButton) setAntiAliasing(antiAliasingButton.isSelected()); else if (source == infoCheckBox) setInfoDisplay(infoCheckBox.isSelected()); } public void componentHidden(ComponentEvent e) { keysDown = new TreeSet<Integer>(); } public void componentMoved(ComponentEvent e) { keysDown = new TreeSet<Integer>(); } public void componentShown(ComponentEvent e) { keysDown = new TreeSet<Integer>(); } public void componentResized(ComponentEvent e) { keysDown = new TreeSet<Integer>(); } public void windowGainedFocus(WindowEvent e) { keysDown = new TreeSet<Integer>(); } public void windowLostFocus(WindowEvent e) { keysDown = new TreeSet<Integer>(); } private static BranchGroup createBranchGroup () { BranchGroup bg = new BranchGroup(); bg.setCapability(BranchGroup.ALLOW_CHILDREN_READ); bg.setCapability(BranchGroup.ALLOW_CHILDREN_WRITE); bg.setCapability(BranchGroup.ALLOW_CHILDREN_EXTEND); bg.setCapability(BranchGroup.ALLOW_DETACH); bg.setPickable(false); bg.setCollidable(false); return bg; } private static TransformGroup createTransformGroup () { TransformGroup tg = new TransformGroup(); tg.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); tg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); tg.setPickable(false); tg.setCollidable(false); return tg; } private static Background createBackground () { Background background = new Background(); background.setCapability(Background.ALLOW_COLOR_WRITE); background.setCapability(Background.ALLOW_IMAGE_WRITE); background.setCapability(Background.ALLOW_GEOMETRY_WRITE); background.setApplicationBounds(INFINITE_BOUNDS); return background; } private static Texture createTexture (String imageURL) { TextureLoader loader; try { loader = new TextureLoader(imageURL, "RGBA", TextureLoader.Y_UP, new Container()); } catch (Exception e) { throw new RuntimeException ("Could not read from the file '" + imageURL + "'"); } Texture texture = loader.getTexture(); texture.setBoundaryModeS(Texture.WRAP); texture.setBoundaryModeT(Texture.WRAP); texture.setBoundaryColor( new Color4f( 0.0f, 1.0f, 0.0f, 0.0f ) ); return texture; } private static Appearance createBlankAppearance () { Appearance ap = new Appearance(); ap.setCapability(Appearance.ALLOW_MATERIAL_READ); ap.setCapability(Appearance.ALLOW_MATERIAL_WRITE); ap.setCapability(Appearance.ALLOW_TRANSPARENCY_ATTRIBUTES_READ); ap.setCapability(Appearance.ALLOW_TRANSPARENCY_ATTRIBUTES_WRITE); return ap; } private static Appearance createAppearance (String imageURL, boolean fill) { Appearance ap = createBlankAppearance(); PolygonAttributes pa = new PolygonAttributes(); if (!fill) pa.setPolygonMode(PolygonAttributes.POLYGON_LINE); pa.setCullFace(PolygonAttributes.CULL_NONE); ap.setPolygonAttributes(pa); if (imageURL != null) { Texture texture = createTexture(imageURL); TextureAttributes texAttr = new TextureAttributes(); texAttr.setTextureMode(TextureAttributes.REPLACE); ap.setTexture(texture); ap.setTextureAttributes(texAttr); } Color3f col = new Color3f(penColor); Color3f black = new Color3f(0, 0, 0); Color3f specular = new Color3f(GRAY); // Material properties Material material = new Material(col, black, col, specular, 64); material.setCapability(Material.ALLOW_COMPONENT_READ); material.setCapability(Material.ALLOW_COMPONENT_WRITE); material.setLightingEnable(true); ap.setMaterial(material); // Transparecy properties float alpha = ((float)penColor.getAlpha()) / 255; if (alpha < 1.0) { TransparencyAttributes t = new TransparencyAttributes(); t.setTransparencyMode(TransparencyAttributes.BLENDED); t.setTransparency(1 - alpha); ap.setTransparencyAttributes(t); } LineAttributes la = new LineAttributes(); la.setLineWidth(penRadius); la.setLineAntialiasingEnable(view.getSceneAntialiasingEnable()); PointAttributes poa = new PointAttributes(); poa.setPointAntialiasingEnable(view.getSceneAntialiasingEnable()); ColoringAttributes ca = new ColoringAttributes(); ca.setShadeModel(ColoringAttributes.SHADE_GOURAUD); ca.setColor(col); ap.setLineAttributes(la); ap.setPointAttributes(poa); ap.setColoringAttributes(ca); return ap; } // FIX THIS check that adding specular didn't mess up custom shapes (lines, triangles, points) private static Appearance createCustomAppearance (boolean fill) { Appearance ap = createBlankAppearance(); PolygonAttributes pa = new PolygonAttributes(); if (!fill) pa.setPolygonMode(PolygonAttributes.POLYGON_LINE); pa.setCullFace(PolygonAttributes.CULL_NONE); LineAttributes la = new LineAttributes(); la.setLineWidth(penRadius); la.setLineAntialiasingEnable(view.getSceneAntialiasingEnable()); PointAttributes poa = new PointAttributes(); poa.setPointAntialiasingEnable(view.getSceneAntialiasingEnable()); ap.setPolygonAttributes(pa); ap.setLineAttributes(la); ap.setPointAttributes(poa); Color3f col = new Color3f(penColor); Color3f black = new Color3f(0, 0, 0); Color3f specular = new Color3f(GRAY); // Material properties Material material = new Material(col, black, col, specular, 64); material.setCapability(Material.ALLOW_COMPONENT_READ); material.setCapability(Material.ALLOW_COMPONENT_WRITE); material.setLightingEnable(true); ap.setMaterial(material); return ap; } private static Shape3D createShape3D (Geometry geom) { Shape3D shape = new Shape3D(geom); shape.setPickable(false); shape.setCollidable(false); shape.setCapability(Shape3D.ALLOW_APPEARANCE_READ); shape.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE); shape.setCapability(Shape3D.ALLOW_APPEARANCE_OVERRIDE_READ); shape.setCapability(Shape3D.ALLOW_APPEARANCE_OVERRIDE_WRITE); return shape; } private static BufferedImage createBufferedImage () { return new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); } private static Vector3d createVector3d (Vector3D v) { return new Vector3d(v.x, v.y, v.z); } private static Vector3f createVector3f (double x, double y, double z) { return new Vector3f((float)x, (float)y, (float)z); } private static Vector3f createVector3f (Vector3D v) { return createVector3f(v.x, v.y, v.z); } private static Point3f createPoint3f (Vector3D v) { return createPoint3f(v.x, v.y, v.z); } private static Point3f createPoint3f (double x, double y, double z) { return new Point3f((float)x, (float)y, (float)z); } private static Scanner createScanner (String s) { Scanner scanner; String charsetName = "ISO-8859-1"; java.util.Locale usLocale = new java.util.Locale("en", "US"); try { // first try to read file from local file system File file = new File(s); if (file.exists()) { scanner = new Scanner(file, charsetName); scanner.useLocale(usLocale); return scanner; } // next try for website URL url = new URL(s); URLConnection site = url.openConnection(); InputStream is = site.getInputStream(); scanner = new Scanner(new BufferedInputStream(is), charsetName); scanner.useLocale(usLocale); return scanner; } catch (IOException ioe) { System.err.println("Could not open " + s + "."); return null; } } public static void setCanvasSize (int w, int h) { setCanvasSize(w, h, false); } private static void setCanvasSize (int w, int h, boolean fs) { fullscreen = fs; if (w < 1 || h < 1) throw new RuntimeException("Dimensions must be positive integers!"); width = w; height = h; aspectRatio = (double)width / (double)height; initialize(); } public static void setScale () { setScale(DEFAULT_MIN, DEFAULT_MAX); } public static void setScale (double minimum, double maximum) { min = minimum; max = maximum; zoom = (max - min) / 2; double center = min + zoom; //double nominalDist = camera.getPosition().z; camera.setPosition(center, center, zoom * (2 + Math.sqrt(2))); double orbitScale = 0.5 * zoom; orbit.setZoomFactor(orbitScale); orbit.setTransFactors(orbitScale, orbitScale); setOrbitCenter(new Point3d(center, center, center)); view.setFrontClipDistance(DEFAULT_FRONT_CLIP * zoom); view.setBackClipDistance(DEFAULT_BACK_CLIP * zoom); } private static float scaleX (double x) { double scale = 1; if (width > height) scale = 1 / aspectRatio; return (float)(width * (x * scale - min) / (2 * zoom)); } private static float scaleY (double y) { double scale = 1; if (height > width) scale = aspectRatio; return (float)(height * (max - y * scale) / (2 * zoom)); } private static double factorX (double w) { double scaleDist = width; if (width > height) scaleDist = height; return scaleDist * (w / (2 * zoom)); } private static double factorY (double h) { double scaleDist = height; if (height > width) scaleDist = width; return scaleDist * (h / (2 * zoom)); } private static double unscaleX (double xs) { double scale = 1; if (width > height) scale = 1 / aspectRatio; return (xs * (2 * zoom) / width + min) / scale; } private static double unscaleY (double ys) { double scale = 1; if (height > width) scale = aspectRatio; //System.out.println("unscaleY scale = " + scale); return (max - ys * (2 * zoom) / height) / scale; } public static void setPenColor (Color col, int alpha) { setPenColor(new Color(col.getRed(), col.getGreen(), col.getBlue(), alpha)); } public static void setPenColor () { penColor = DEFAULT_PEN_COLOR; } public static void setPenColor (Color col) { penColor = col; } public static void setPenColor (int r, int g, int b) { penColor = new Color(r, g, b); } public static Color getPenColor () { return penColor; } public static void setPenRadius () { setPenRadius(DEFAULT_PEN_RADIUS); } public static void setPenRadius (double r) { penRadius = (float)r * 500; } public static float getPenRadius () { return penRadius/500f; } public static void setFont () { font = DEFAULT_FONT; } public static void setFont (Font f) { font = f; } public static Font getFont () { return font; } public static void setInfoDisplay (boolean enabled) { infoDisplay = enabled; infoCheckBox.setSelected(enabled); camera.move(0, 0, 0); infoDisplay(); } public static void fullscreen () { frame.setResizable(true); frame.setExtendedState(Frame.MAXIMIZED_BOTH); int w = frame.getSize().width; int h = frame.getSize().height; //int w = (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth(); //int h = (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight(); int borderY = frame.getInsets().top + frame.getInsets().bottom; int borderX = frame.getInsets().left + frame.getInsets().right; setCanvasSize(w - borderX, h - borderY - menuBar.getHeight(), true); frame.setExtendedState(Frame.MAXIMIZED_BOTH); } public static void setAntiAliasing (boolean enabled) { view.setSceneAntialiasingEnable(enabled); antiAliasingButton.setSelected(enabled); //System.out.println("Anti aliasing enabled: " + enabled); } public static boolean getAntiAliasing () { return antiAliasingButton.isSelected(); } public static void setNumDivisions (int N) { numDivisions = N; } public static int getNumDivisions () { return numDivisions; } public static int getCameraMode () { return cameraMode; } public static void setCameraMode (int mode) { cameraMode = mode; if (cameraMode == ORBIT_MODE) { orbit.setRotateEnable(true); if (view.getProjectionPolicy() != View.PARALLEL_PROJECTION) orbit.setZoomEnable(true); orbit.setTranslateEnable(true); orbit.setRotationCenter(orbitCenter); orbitModeButton.setSelected(true); } else { orbit.setRotateEnable(false); orbit.setZoomEnable(false); orbit.setTranslateEnable(false); } if (cameraMode == FPS_MODE) { fpsModeButton.setSelected(true); camera.rotateFPS(0, 0, 0); } if (cameraMode == AIRPLANE_MODE) { airplaneModeButton.setSelected(true); } if (cameraMode == LOOK_MODE) { //System.out.println("Camera in look mode."); lookModeButton.setSelected(true); } if (cameraMode == FIXED_MODE) { //System.out.println("Camera in fixed mode."); fixedModeButton.setSelected(true); } if (cameraMode == IMMERSIVE_MODE) { BufferedImage cursorImg = new BufferedImage(16, 16, BufferedImage.TYPE_INT_ARGB); Cursor blankCursor = Toolkit.getDefaultToolkit().createCustomCursor( cursorImg, new java.awt.Point(0, 0), "blank cursor"); frame.getContentPane().setCursor(blankCursor); //System.out.println("Camera in fps mode."); } else { frame.getContentPane().setCursor(Cursor.getDefaultCursor()); } } public static void setCameraMode() { setCameraMode(DEFAULT_CAMERA_MODE); } public static void setOrbitCenter(double x, double y, double z) { setOrbitCenter(new Point3d(x, y, z)); } public static void setOrbitCenter(Vector3D v) { setOrbitCenter(new Point3d(v.x, v.y, v.z)); } private static void setOrbitCenter(Point3d center) { orbitCenter = center; orbit.setRotationCenter(orbitCenter); } public static Vector3D getOrbitCenter() { return new Vector3D(orbitCenter); } public static void setPerspectiveProjection () { setPerspectiveProjection(DEFAULT_FOV); } public static void setPerspectiveProjection (double fov) { view.setProjectionPolicy(View.PERSPECTIVE_PROJECTION); view.setWindowEyepointPolicy(View.RELATIVE_TO_FIELD_OF_VIEW); view.setFieldOfView(fov); setScreenScale(1); orbit.setZoomEnable(true); perspectiveButton.setSelected(true); if ((Double)fovSpinner.getValue() != fov) fovSpinner.setValue(fov); //if (view.getProjectionPolicy() == View.PERSPECTIVE_PROJECTION) return; } public static void setParallelProjection () { if (view.getProjectionPolicy() == View.PARALLEL_PROJECTION) return; view.setProjectionPolicy(View.PARALLEL_PROJECTION); orbit.setZoomEnable(false); parallelButton.setSelected(true); setScreenScale(0.3 / zoom); } private static void setScreenScale (double scale) { double ratio = scale / view.getScreenScale(); view.setScreenScale(scale); view.setFrontClipDistance(view.getFrontClipDistance() * ratio); view.setBackClipDistance(view.getBackClipDistance() * ratio); } public static boolean mousePressed () { synchronized (mouseLock) { return (mouse1Pressed() || mouse2Pressed() || mouse3Pressed()); } } public static boolean mouse1Pressed () { synchronized (mouseLock) { return mouse1; } } public static boolean mouse2Pressed () { synchronized (mouseLock) { return mouse2; } } public static boolean mouse3Pressed () { synchronized (mouseLock) { return mouse3; } } public static double mouseX () { synchronized (mouseLock) { return unscaleX(mouseX); } } public static double mouseY () { synchronized (mouseLock) { return unscaleY(mouseY); } } public void mouseClicked (MouseEvent e) { } public void mouseEntered (MouseEvent e) { } public void mouseExited (MouseEvent e) { } public void mousePressed (MouseEvent e) { synchronized (mouseLock) { mouseX = e.getX(); mouseY = e.getY(); if (e.getButton() == 1) mouse1 = true; if (e.getButton() == 2) mouse2 = true; if (e.getButton() == 3) mouse3 = true; //System.out.println("Mouse button = " + e.getButton()); } } public void mouseReleased (MouseEvent e) { synchronized (mouseLock) { if (e.getButton() == 1) mouse1 = false; if (e.getButton() == 2) mouse2 = false; if (e.getButton() == 3) mouse3 = false; } } public void mouseDragged (MouseEvent e) { synchronized (mouseLock) { mouseMotionEvents(e, e.getX(), e.getY(), true); mouseX = e.getX(); mouseY = e.getY(); } } public void mouseMoved (MouseEvent e) { synchronized (mouseLock) { //System.out.println(e.getX() + " " + e.getY()); mouseMotionEvents(e, e.getX(), e.getY(), false); } } public void mouseWheelMoved (MouseWheelEvent e) { double notches = e.getWheelRotation(); //System.out.println(notches); if ((cameraMode == ORBIT_MODE) && (view.getProjectionPolicy() == View.PARALLEL_PROJECTION)) { camera.moveRelative(0, 0, notches * zoom / 20); } } private static void mouseMotionEvents (MouseEvent e, double newX, double newY, boolean dragged) { //System.out.println("x = " + mouseX() + " y = " + mouseY()); if (cameraMode == FIXED_MODE) return; if (cameraMode == FPS_MODE) { if (dragged || immersive) { camera.rotateFPS((mouseY - newY)/4, (mouseX - newX)/4, 0); } return; } if ((cameraMode == AIRPLANE_MODE)) { if (dragged || immersive) camera.rotateRelative((mouseY - newY)/4, (mouseX - newX)/4, 0); return; } if ((cameraMode == LOOK_MODE)) { if (dragged || immersive) camera.rotateFPS((mouseY - newY)/4, (mouseX - newX)/4, 0); return; } if ((cameraMode == ORBIT_MODE) && (dragged && isKeyPressed(KeyEvent.VK_ALT)) && (view.getProjectionPolicy() == View.PARALLEL_PROJECTION)) { camera.moveRelative(0, 0, (double)(newY - mouseY) * zoom / 50); return; } } public static boolean hasNextKeyTyped () { synchronized (keyLock) { return !keysTyped.isEmpty(); } } public static char nextKeyTyped () { synchronized (keyLock) { return keysTyped.removeLast(); } } public static boolean isKeyPressed (int key) { synchronized (keyLock) { return keysDown.contains(key); } } public void keyTyped (KeyEvent e) { synchronized (keyLock) { char c = e.getKeyChar(); keysTyped.addFirst(c); if (c == '`') setCameraMode((getCameraMode() + 1) % 5); } } public void keyPressed (KeyEvent e) { synchronized (keyLock) { keysDown.add(e.getKeyCode()); //System.out.println((int)e.getKeyCode() + " pressed"); } } public void keyReleased (KeyEvent e) { synchronized (keyLock) { keysDown.remove(e.getKeyCode()); //System.out.println((int)e.getKeyCode() + " released"); } } private static void moveEvents (int time) { infoDisplay(); if (isKeyPressed(KeyEvent.VK_CONTROL)) return; if (cameraMode == FPS_MODE) { double move = 0.00015 * time * (zoom); if (isKeyPressed('W') || isKeyPressed(KeyEvent.VK_UP)) camera.moveRelative(0, 0, move * 3); if (isKeyPressed('S') || isKeyPressed(KeyEvent.VK_DOWN)) camera.moveRelative(0, 0, -move * 3); if (isKeyPressed('A') || isKeyPressed(KeyEvent.VK_LEFT)) camera.moveRelative(-move, 0, 0); if (isKeyPressed('D') || isKeyPressed(KeyEvent.VK_RIGHT)) camera.moveRelative( move, 0, 0); if (isKeyPressed('Q') || isKeyPressed(KeyEvent.VK_PAGE_UP)) camera.moveRelative(0, move, 0); if (isKeyPressed('E') || isKeyPressed(KeyEvent.VK_PAGE_DOWN)) camera.moveRelative(0, -move, 0); } if (cameraMode == AIRPLANE_MODE) { double move = 0.00015 * time * (zoom); if (isKeyPressed('W') || isKeyPressed(KeyEvent.VK_UP)) camera.moveRelative(0, 0, move * 3); if (isKeyPressed('S') || isKeyPressed(KeyEvent.VK_DOWN)) camera.moveRelative(0, 0, -move * 3); if (isKeyPressed('A') || isKeyPressed(KeyEvent.VK_LEFT)) camera.moveRelative(-move, 0, 0); if (isKeyPressed('D') || isKeyPressed(KeyEvent.VK_RIGHT)) camera.moveRelative( move, 0, 0); if (isKeyPressed('Q') || isKeyPressed(KeyEvent.VK_PAGE_UP)) camera.rotateRelative(0, 0, move * 250 / zoom); if (isKeyPressed('E') || isKeyPressed(KeyEvent.VK_PAGE_DOWN)) camera.rotateRelative(0, 0, -move * 250 / zoom); } } private static void save3DAction () { FileDialog chooser = new FileDialog(StdDraw3D.frame, "Save as a 3D file for loading later.", FileDialog.SAVE); chooser.setVisible(true); String filename = chooser.getFile(); if (filename != null) { StdDraw3D.saveScene3D(chooser.getDirectory() + File.separator + chooser.getFile()); } keysDown.remove(KeyEvent.VK_META); keysDown.remove(KeyEvent.VK_CONTROL); keysDown.remove(KeyEvent.VK_E); } private static void loadAction () { FileDialog chooser = new FileDialog(frame, "Pick a .obj or .ply file to load.", FileDialog.LOAD); chooser.setVisible(true); String filename = chooser.getDirectory() + chooser.getFile(); model(filename); keysDown.remove(KeyEvent.VK_META); keysDown.remove(KeyEvent.VK_CONTROL); keysDown.remove(KeyEvent.VK_L); } private static void saveAction () { FileDialog chooser = new FileDialog(frame, "Use a .png or .jpg extension.", FileDialog.SAVE); chooser.setVisible(true); String filename = chooser.getFile(); if (filename != null) { StdDraw3D.save(chooser.getDirectory() + File.separator + chooser.getFile()); } keysDown.remove(KeyEvent.VK_META); keysDown.remove(KeyEvent.VK_CONTROL); keysDown.remove(KeyEvent.VK_S); } private static void quitAction () { WindowEvent wev = new WindowEvent(frame, WindowEvent.WINDOW_CLOSING); Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(wev); keysDown.remove(KeyEvent.VK_META); keysDown.remove(KeyEvent.VK_CONTROL); keysDown.remove(KeyEvent.VK_Q); } public static void setBackground (Color color) { if (!color.equals(bgColor)) { bgColor = color; rootGroup.removeChild(bgGroup); bgGroup.removeChild(background); background = createBackground(); background.setColor(new Color3f(bgColor)); bgGroup.addChild(background); rootGroup.addChild(bgGroup); } } public static void setBackground (String imageURL) { rootGroup.removeChild(bgGroup); bgGroup.removeChild(background); background = createBackground(); BufferedImage bi = null; try { bi = ImageIO.read(new File(imageURL)); } catch (IOException ioe) {ioe.printStackTrace(); } if (bi == null) { try { ImageIO.read(new URL(imageURL)); } catch (Exception e) { e.printStackTrace(); } } ImageComponent2D imageComp = new ImageComponent2D(ImageComponent.FORMAT_RGB, bi); background.setImage(imageComp); background.setImageScaleMode(Background.SCALE_FIT_ALL); bgGroup.addChild(background); rootGroup.addChild(bgGroup); } public static void setBackgroundSphere (String imageURL) { Sphere sphere = new Sphere(1.1f, Sphere.GENERATE_NORMALS | Sphere.GENERATE_NORMALS_INWARD | Sphere.GENERATE_TEXTURE_COORDS, numDivisions); Appearance ap = sphere.getAppearance(); Texture texture = createTexture(imageURL); TextureAttributes texAttr = new TextureAttributes(); texAttr.setTextureMode(TextureAttributes.REPLACE); ap.setTexture(texture); ap.setTextureAttributes(texAttr); sphere.setAppearance(ap); BranchGroup backGeoBranch = createBranchGroup(); backGeoBranch.addChild(sphere); rootGroup.removeChild(bgGroup); bgGroup.removeChild(background); background = createBackground(); background.setGeometry(backGeoBranch); bgGroup.addChild(background); rootGroup.addChild(bgGroup); } / public static void clearLight () { lightGroup.removeAllChildren(); } public static void setDefaultLight () { clearLight(); directionalLight(-4f, 7f, 12f, LIGHT_GRAY); directionalLight(4f, -7f, -12f, WHITE); ambientLight(new Color(0.1f, 0.1f, 0.1f)); } public static Light directionalLight (Vector3D dir, Color col) { return directionalLight(dir.x, dir.y, dir.z, col); } public static Light directionalLight (double x, double y, double z, Color col) { DirectionalLight light = new DirectionalLight(); light.setColor(new Color3f(col)); light.setInfluencingBounds(INFINITE_BOUNDS); light.setCapability(DirectionalLight.ALLOW_STATE_WRITE); light.setCapability(DirectionalLight.ALLOW_COLOR_WRITE); light.setEnable(true); BranchGroup bg = createBranchGroup(); TransformGroup tg = createTransformGroup(); tg.addChild(light); bg.addChild(tg); lightGroup.addChild(bg); Light l = new Light(bg, tg, light); l.setDirection(new Vector3D(x, y, z)); return l; } public static Light ambientLight (Color col) { Color3f lightColor = new Color3f(col); AmbientLight light = new AmbientLight(lightColor); light.setInfluencingBounds(INFINITE_BOUNDS); light.setCapability(AmbientLight.ALLOW_STATE_WRITE); light.setCapability(AmbientLight.ALLOW_COLOR_WRITE); BranchGroup bg = createBranchGroup(); TransformGroup tg = createTransformGroup(); tg.addChild(light); bg.addChild(tg); lightGroup.addChild(bg); return new Light(bg, tg, light); } public static Light pointLight (Vector3D origin, Color col) { return pointLight(origin.x, origin.y, origin.z, col, 1.0); } public static Light pointLight (double x, double y, double z, Color col) { return pointLight(x, y, z, col, 1.0); } public static Light pointLight (Vector3D origin, Color col, double power) { return pointLight(origin.x, origin.y, origin.z, col, power); } public static Light pointLight (double x, double y, double z, Color col, double power) { PointLight light = new PointLight(); light.setColor(new Color3f(col)); light.setInfluencingBounds(INFINITE_BOUNDS); light.setCapability(PointLight.ALLOW_STATE_WRITE); light.setCapability(PointLight.ALLOW_COLOR_WRITE); light.setCapability(PointLight.ALLOW_ATTENUATION_WRITE); float scale = (float)zoom; float linearFade = 0.03f; float quadraticFade = 0.03f; light.setAttenuation(1.0f, linearFade / scale, quadraticFade / (scale * scale)); BranchGroup bg = createBranchGroup(); TransformGroup tg = createTransformGroup(); tg.addChild(light); bg.addChild(tg); lightGroup.addChild(bg); Light l = new Light(bg, tg, light); l.setPosition(x, y, z); l.scalePower(power); return l; } public static Color randomColor () { return new Color(new Random().nextInt()); } public static Color randomRainbowColor () { return Color.getHSBColor((float)Math.random(), 1.0f, 1.0f); } public static Vector3D randomDirection() { double theta = Math.random() * Math.PI * 2; double phi = Math.random() * Math.PI; return new Vector3D(Math.cos(theta) * Math.sin(phi), Math.sin(theta) * Math.sin(phi), Math.cos(phi)); } public static void clear () { clear3D(); clearOverlay(); } public static void clear (Color color) { setBackground(color); clear(); } public static void clear3D() { clear3D = true; offscreenGroup = createBranchGroup(); } public static void clearOverlay () { clearOverlay = true; offscreenImage = createBufferedImage(); } public static void pause (int time) { int t = time; int dt = 15; while (t > dt) { moveEvents(dt); Toolkit.getDefaultToolkit().sync(); try { Thread.currentThread().sleep(dt); } catch (InterruptedException e) { System.out.println("Error sleeping"); } t -= dt; } moveEvents(t); if (t == 0) return; try { Thread.currentThread().sleep(t); } catch (InterruptedException e) { System.out.println("Error sleeping"); } //while (!renderedOnce) { // try { Thread.currentThread().sleep(1); } // catch (InterruptedException e) { System.out.println("Error sleeping"); } // //renderedOnce = false; //showedOnce = true; } public static void finished () { show(1000000000); } public static void show () { show(0); } public static void show (int time) { renderOverlay(); render3D(); pause(time); } public static void showOverlay () { showOverlay(0); } public static void showOverlay (int time) { renderOverlay(); pause(time); } private static void renderOverlay () { if (clearOverlay) { clearOverlay = false; onscreenImage = offscreenImage; } else { Graphics2D graphics = (Graphics2D) onscreenImage.getGraphics(); graphics.drawRenderedImage(offscreenImage, new AffineTransform()); } offscreenImage = createBufferedImage(); } public static void show3D () { show3D(0); } public static void show3D (int time) { render3D(); pause(time); } private static void render3D () { rootGroup.addChild(offscreenGroup); if (clear3D) { clear3D = false; rootGroup.removeChild(onscreenGroup); onscreenGroup = offscreenGroup; } else { Enumeration children = offscreenGroup.getAllChildren(); while(children.hasMoreElements()) { Node child = (Node)children.nextElement(); offscreenGroup.removeChild(child); onscreenGroup.addChild(child); } } offscreenGroup = createBranchGroup(); //System.out.println("off = " + offscreenGroup.numChildren()); //System.out.println("on = " + onscreenGroup.numChildren()); rootGroup.removeChild(offscreenGroup); //StdOut.println("showed once = true"); } public static Shape sphere (double x, double y, double z, double r) { return sphere(x, y, z, r, 0, 0, 0, null); } public static Shape sphere (double x, double y, double z, double r, double xA, double yA, double zA) { return sphere(x, y, z, r, xA, yA, zA, null); } public static Shape sphere (double x, double y, double z, double r, String imageURL) { return sphere(x, y, z, r, 0, 0, 0, imageURL); } public static Shape sphere (double x, double y, double z, double r, double xA, double yA, double zA, String imageURL) { Vector3f dimensions = createVector3f(0, 0, r); Sphere sphere = new Sphere(dimensions.z, PRIMFLAGS, numDivisions); sphere.setAppearance(createAppearance(imageURL, true)); return primitive(sphere, x, y, z, new Vector3d(xA, yA, zA), null); } public static Shape wireSphere (double x, double y, double z, double r) { return wireSphere(x, y, z, r, 0, 0, 0); } public static Shape wireSphere (double x, double y, double z, double r, double xA, double yA, double zA) { Vector3f dimensions = createVector3f(0, 0, r); Sphere sphere = new Sphere(dimensions.z, PRIMFLAGS, numDivisions); sphere.setAppearance(createAppearance(null, false)); return primitive(sphere, x, y, z, new Vector3d(xA, yA, zA), null); } / public static Shape ellipsoid (double x, double y, double z, double w, double h, double d) { return ellipsoid(x, y, z, w, h, d, 0, 0, 0, null); } public static Shape ellipsoid (double x, double y, double z, double w, double h, double d, double xA, double yA, double zA) { return ellipsoid(x, y, z, w, h, d, xA, yA, zA, null); } public static Shape ellipsoid (double x, double y, double z, double w, double h, double d, String imageURL) { return ellipsoid(x, y, z, w, h, d, 0, 0, 0, imageURL); } public static Shape ellipsoid (double x, double y, double z, double w, double h, double d, double xA, double yA, double zA, String imageURL) { Sphere sphere = new Sphere(1, PRIMFLAGS, numDivisions); sphere.setAppearance(createAppearance(imageURL, true)); return primitive(sphere, x, y, z, new Vector3d(xA, yA, zA), new Vector3d(w, h, d)); } public static Shape wireEllipsoid (double x, double y, double z, double w, double h, double d) { return wireEllipsoid(x, y, z, w, h, d, 0, 0, 0); } public static Shape wireEllipsoid (double x, double y, double z, double w, double h, double d, double xA, double yA, double zA) { Sphere sphere = new Sphere(1, PRIMFLAGS, numDivisions); sphere.setAppearance(createAppearance(null, false)); return primitive(sphere, x, y, z, new Vector3d(xA, yA, zA), new Vector3d(w, h, d)); } / public static Shape cube (double x, double y, double z, double r) { return cube(x, y, z, r, 0, 0, 0, null); } public static Shape cube (double x, double y, double z, double r, double xA, double yA, double zA) { return cube(x, y, z, r, xA, yA, zA, null); } public static Shape cube (double x, double y, double z, double r, String imageURL) { return cube(x, y, z, r, 0, 0, 0, imageURL); } public static Shape cube (double x, double y, double z, double r, double xA, double yA, double zA, String imageURL) { return box(x, y, z, r, r, r, xA, yA, zA, imageURL); } public static Shape wireCube (double x, double y, double z, double r, double xA, double yA, double zA) { return wireBox(x, y, z, r, r, r, 0, 0, 0); } public static Shape wireCube (double x, double y, double z, double r) { double[] xC = new double[] { x+r, x+r, x-r, x-r, x+r, x+r, x+r, x-r, x-r, x+r, x+r, x+r, x-r, x-r, x-r, x-r }; double[] yC = new double[] { y+r, y-r, y-r, y+r, y+r, y+r, y-r, y-r, y+r, y+r, y-r, y-r, y-r, y-r, y+r, y+r }; double[] zC = new double[] { z+r, z+r, z+r, z+r, z+r, z-r, z-r, z-r, z-r, z-r, z-r, z+r, z+r, z-r, z-r, z+r }; return lines(xC, yC, zC); } / public static Shape box (double x, double y, double z, double w, double h, double d) { return box(x, y, z, w, h, d, 0, 0, 0, null); } public static Shape box (double x, double y, double z, double w, double h, double d, double xA, double yA, double zA) { return box(x, y, z, w, h, d, xA, yA, zA, null); } public static Shape box (double x, double y, double z, double w, double h, double d, String imageURL) { return box(x, y, z, w, h, d, 0, 0, 0, imageURL); } public static Shape box (double x, double y, double z, double w, double h, double d, double xA, double yA, double zA, String imageURL) { Appearance ap = createAppearance(imageURL, true); Vector3f dimensions = createVector3f(w, h, d); com.sun.j3d.utils.geometry.Box box = new com.sun.j3d.utils.geometry.Box(dimensions.x, dimensions.y, dimensions.z, PRIMFLAGS, ap, numDivisions); return primitive(box, x, y, z, new Vector3d(xA, yA, zA), null); } public static Shape wireBox (double x, double y, double z, double w, double h, double d) { return wireBox(x, y, z, w, h, d, 0, 0, 0); } public static Shape wireBox (double x, double y, double z, double w, double h, double d, double xA, double yA, double zA) { Appearance ap = createAppearance(null, false); Vector3f dimensions = createVector3f(w, h, d); com.sun.j3d.utils.geometry.Box box = new com.sun.j3d.utils.geometry.Box(dimensions.x, dimensions.y, dimensions.z, PRIMFLAGS, ap, numDivisions); return primitive(box, x, y, z, new Vector3d(xA, yA, zA), null); } / public static Shape cylinder (double x, double y, double z, double r, double h) { return cylinder(x, y, z, r, h, 0, 0, 0, null); } public static Shape cylinder (double x, double y, double z, double r, double h, double xA, double yA, double zA) { return cylinder(x, y, z, r, h, xA, yA, zA, null); } public static Shape cylinder (double x, double y, double z, double r, double h, String imageURL) { return cylinder(x, y, z, r, h, 0, 0, 0, imageURL); } public static Shape cylinder (double x, double y, double z, double r, double h, double xA, double yA, double zA, String imageURL) { Appearance ap = createAppearance(imageURL, true); Vector3f dimensions = createVector3f(r, h, 0); Cylinder cyl = new Cylinder (dimensions.x, dimensions.y, PRIMFLAGS, numDivisions, numDivisions, ap); return primitive(cyl, x, y, z, new Vector3d(xA, yA, zA), null); } public static Shape wireCylinder (double x, double y, double z, double r, double h) { return wireCylinder(x, y, z, r, h, 0, 0, 0); } public static Shape wireCylinder (double x, double y, double z, double r, double h, double xA, double yA, double zA) { Appearance ap = createAppearance(null, false); Vector3f dimensions = createVector3f(r, h, 0); Cylinder cyl = new Cylinder (dimensions.x, dimensions.y, PRIMFLAGS, numDivisions, numDivisions, ap); return primitive(cyl, x, y, z, new Vector3d(xA, yA, zA), null); } / public static Shape cone (double x, double y, double z, double r, double h) { return cone(x, y, z, r, h, 0, 0, 0, null); } public static Shape cone (double x, double y, double z, double r, double h, double xA, double yA, double zA) { return cone(x, y, z, r, h, xA, yA, zA, null); } public static Shape cone (double x, double y, double z, double r, double h, String imageURL) { return cone(x, y, z, r, h, 0, 0, 0, imageURL); } public static Shape cone (double x, double y, double z, double r, double h, double xA, double yA, double zA, String imageURL) { Appearance ap = createAppearance(imageURL, true); Vector3f dimensions = createVector3f(r, h, 0); Cone cone = new Cone (dimensions.x, dimensions.y, PRIMFLAGS, numDivisions, numDivisions, ap); return primitive(cone, x, y, z, new Vector3d(xA, yA, zA), null); } public static Shape wireCone (double x, double y, double z, double r, double h) { return wireCone(x, y, z, r, h, 0, 0, 0); } public static Shape wireCone (double x, double y, double z, double r, double h, double xA, double yA, double zA) { Appearance ap = createAppearance(null, false); Vector3f dimensions = createVector3f(r, h, 0); Cone cone = new Cone (dimensions.x, dimensions.y, PRIMFLAGS, numDivisions, numDivisions, ap); return primitive(cone, x, y, z, new Vector3d(xA, yA, zA), null); } / private static Shape primitive (Primitive shape, double x, double y, double z, Vector3d angles, Vector3d scales) { shape.setCapability(Primitive.ENABLE_APPEARANCE_MODIFY); shape.setPickable(false); shape.setCollidable(false); TransformGroup tgScale = createTransformGroup(); Transform3D scaleTransform = new Transform3D(); if (scales != null) scaleTransform.setScale(scales); tgScale.setTransform(scaleTransform); tgScale.addChild(shape); TransformGroup tgShape = createTransformGroup(); Transform3D transform = new Transform3D(); if (angles != null) { angles.scale(Math.PI / 180); transform.setEuler( angles); } Vector3f vector = createVector3f(x, y, z); transform.setTranslation(vector); tgShape.setTransform(transform); tgShape.addChild(tgScale); BranchGroup bg = createBranchGroup(); bg.addChild(tgShape); offscreenGroup.addChild(bg); return new Shape(bg, tgShape); } public static Shape point (double x, double y, double z) { return points(new double[] {x}, new double[] {y}, new double[] {z}); } public static Shape points (double[] x, double[] y, double[] z) { Point3f[] coords = constructPoint3f(x, y, z); GeometryArray geom = new PointArray(coords.length, PointArray.COORDINATES); geom.setCoordinates(0, coords); Shape3D shape = createShape3D(geom); return shape(shape); } public static Shape points (double[] x, double[] y, double[] z, Color[] colors) { Point3f[] coords = constructPoint3f(x, y, z); GeometryArray geom = new PointArray(coords.length, PointArray.COORDINATES | PointArray.COLOR_4); geom.setCoordinates(0, coords); for (int i = 0; i < x.length; i++) geom.setColor(i, colors[i].getComponents(null)); Shape3D shape = createShape3D(geom); return customShape(shape); } / public static Shape line (double x1, double y1, double z1, double x2, double y2, double z2) { return lines(new double[] {x1, x2}, new double[] {y1, y2}, new double[] {z1, z2}); } public static Shape lines (double[] x, double[] y, double[] z) { Point3f[] coords = constructPoint3f(x, y, z); GeometryArray geom = new LineStripArray (coords.length, LineArray.COORDINATES, new int[] {coords.length}); geom.setCoordinates(0, coords); Shape3D shape = createShape3D(geom); return shape(shape); } public static Shape lines (double[] x, double[] y, double[] z, Color[] colors) { Point3f[] coords = constructPoint3f(x, y, z); GeometryArray geom = new LineStripArray (coords.length, LineArray.COORDINATES | LineArray.COLOR_4, new int[] {coords.length}); geom.setCoordinates(0, coords); for (int i = 0; i < x.length; i++) geom.setColor(i, colors[i].getComponents(null)); Shape3D shape = createShape3D(geom); return customShape(shape); } public static Shape tube (double x1, double y1, double z1, double x2, double y2, double z2, double r) { Vector3D mid = new Vector3D(x1 + x2, y1 + y2, z1 + z2).times(0.5); Vector3D line = new Vector3D(x2 - x1, y2 - y1, z2 - z1); Shape s = cylinder(mid.x, mid.y, mid.z, r, line.mag()); Vector3D yAxis = new Vector3D(0, 1, 0); Vector3D cross = line.cross(yAxis); double angle = line.angle(yAxis); s.rotateAxis(cross, -angle); return combine(s); } public static Shape tubes (double[] x, double[] y, double[] z, double r) { StdDraw3D.Shape[] shapes = new StdDraw3D.Shape[(x.length-1) * 2]; for (int i = 0; i < x.length - 1; i++) { shapes[i] = tube(x[i], y[i], z[i], x[i+1], y[i+1], z[i+1], r); shapes[i + x.length - 1] = sphere(x[i+1], y[i+1], z[i+1], r); } return combine(shapes); } public static Shape tubes (double[] x, double[] y, double[] z, double r, Color[] colors) { StdDraw3D.Shape[] shapes = new StdDraw3D.Shape[(x.length-1) * 2]; for (int i = 0; i < x.length - 1; i++) { StdDraw3D.setPenColor(colors[i]); shapes[i] = tube(x[i], y[i], z[i], x[i+1], y[i+1], z[i+1], r); shapes[i + x.length - 1] = sphere(x[i+1], y[i+1], z[i+1], r); } return combine(shapes); } / public static Shape polygon (double[] x, double[] y, double[] z) { return polygon(x, y, z, true); } public static Shape wirePolygon (double[] x, double[] y, double[] z) { return polygon(x, y, z, false); } private static Shape polygon (double[] x, double[] y, double[] z, boolean filled) { Point3f[] coords = constructPoint3f(x, y, z); GeometryArray geom = new TriangleFanArray(coords.length, LineArray.COORDINATES, new int[] {coords.length}); geom.setCoordinates(0, coords); GeometryInfo geoinfo = new GeometryInfo((GeometryArray)geom); NormalGenerator normalGenerator = new NormalGenerator(); normalGenerator.generateNormals(geoinfo); Shape3D shape = createShape3D(geoinfo.getIndexedGeometryArray()); if (filled) return shape(shape); else return wireShape(shape); } / public static Shape triangles (double[][] points) { return triangles(points, true); } public static Shape wireTriangles (double[][] points) { return triangles(points, false); } private static Shape triangles (double[][] points, boolean filled) { int size = points.length; Point3f[] coords = new Point3f[size*3]; for (int i = 0; i < size; i++) { coords[3*i] = new Point3f(createVector3f(points[i][0], points[i][1], points[i][2])); coords[3*i+1] = new Point3f(createVector3f(points[i][3], points[i][4], points[i][5])); coords[3*i+2] = new Point3f(createVector3f(points[i][6], points[i][7], points[i][8])); } GeometryArray geom = new TriangleArray(size*3, TriangleArray.COORDINATES); geom.setCoordinates(0, coords); GeometryInfo geoinfo = new GeometryInfo(geom); NormalGenerator normalGenerator = new NormalGenerator(); normalGenerator.generateNormals(geoinfo); Shape3D shape = createShape3D(geoinfo.getIndexedGeometryArray()); if (filled) return shape(shape); else return wireShape(shape); } public static Shape triangles (double[][] points, Color[] colors) { return triangles(points, colors, true); } public static Shape wireTriangles (double[][] points, Color[] colors) { return triangles(points, colors, false); } private static Shape triangles (double[][] points, Color[] colors, boolean filled) { int size = points.length; Point3f[] coords = new Point3f[size*3]; for (int i = 0; i < size; i++) { coords[3*i] = new Point3f(createVector3f(points[i][0], points[i][1], points[i][2])); coords[3*i+1] = new Point3f(createVector3f(points[i][3], points[i][4], points[i][5])); coords[3*i+2] = new Point3f(createVector3f(points[i][6], points[i][7], points[i][8])); } GeometryArray geom = new TriangleArray(size*3, TriangleArray.COORDINATES | TriangleArray.COLOR_4); geom.setCoordinates(0, coords); for (int i = 0; i < colors.length; i++) { geom.setColor(3 * i + 0, colors[i].getComponents(null)); geom.setColor(3 * i + 1, colors[i].getComponents(null)); geom.setColor(3 * i + 2, colors[i].getComponents(null)); } GeometryInfo geoinfo = new GeometryInfo(geom); NormalGenerator normalGenerator = new NormalGenerator(); normalGenerator.generateNormals(geoinfo); Shape3D shape = createShape3D(geoinfo.getIndexedGeometryArray()); if (filled) return shape(shape); else return wireShape(shape); } / public static Shape text3D (double x, double y, double z, String text) { return text3D(x, y, z, text, 0, 0, 0); } public static Shape text3D (double x, double y, double z, String text, double xA, double yA, double zA) { Line2D.Double line = new Line2D.Double(0, 0, TEXT3D_DEPTH, 0); FontExtrusion extrudePath = new FontExtrusion(line); Font3D font3D = new Font3D(font, extrudePath); Point3d pos = new Point3d(x, y, z); javax.media.j3d.Text3D t = new javax.media.j3d.Text3D(font3D, text, createPoint3f(x, y, z)); // FIX THIS TO NOT HAVE SCALE INCLUDED Transform3D shrinker = new Transform3D(); shrinker.setEuler(new Vector3d(xA, yA, zA)); shrinker.setTranslation(new Vector3d(x, y, z)); shrinker.setScale(TEXT3D_SHRINK_FACTOR); Shape3D shape = createShape3D((Geometry)t); return shape(shape, true, shrinker, false); } / private static Point3f[] constructPoint3f (double[] x, double[] y, double[] z) { int size = x.length; Point3f[] coords = new Point3f[size]; for (int i = 0; i < size; i++) coords[i] = new Point3f(createVector3f(x[i], y[i], z[i])); return coords; } private static Shape drawPLY (String filename, boolean colored) { Scanner scanner = createScanner(filename); int vertices = -1; int triangles = -1; int properties = -1; while (true) { String s = scanner.next(); if (s.equals("vertex")) vertices = scanner.nextInt(); else if (s.equals("face")) triangles = scanner.nextInt(); else if (s.equals("property")) { properties++; scanner.next(); scanner.next(); } else if (s.equals("end_header")) break; } System.out.println(vertices + " " + triangles + " " + properties); if ((vertices == -1) || (triangles == -1) || (properties == -1)) throw new RuntimeException("Cannot read format of .ply file!"); double[][] parameters = new double[properties][vertices]; for (int i = 0; i < vertices; i++) { if ((i % 10000) == 0) System.out.println("vertex " + i); for (int j = 0; j < properties; j++) { parameters[j][i] = scanner.nextDouble(); } } double[][] points = new double[triangles][9]; for (int i = 0; i < triangles; i++) { int edges = scanner.nextInt(); if (edges != 3) throw new RuntimeException("Only triangular faces supported!"); if ((i % 10000) == 0) System.out.println("face " + i); int index = scanner.nextInt(); points[i][0] = parameters[0][index]; points[i][1] = parameters[1][index]; points[i][2] = parameters[2][index]; index = scanner.nextInt(); points[i][3] = parameters[0][index]; points[i][4] = parameters[1][index]; points[i][5] = parameters[2][index]; index = scanner.nextInt(); points[i][6] = parameters[0][index]; points[i][7] = parameters[1][index]; points[i][8] = parameters[2][index]; } return triangles(points); } private static Shape drawLWS (String filename) { Lw3dLoader loader = new Lw3dLoader(); try { BranchGroup bg = loader.load(filename).getSceneGroup(); bg.setCapability(BranchGroup.ALLOW_CHILDREN_READ); bg.setCapability(BranchGroup.ALLOW_CHILDREN_WRITE); bg.setCapability(BranchGroup.ALLOW_CHILDREN_EXTEND); bg.setCapability(BranchGroup.ALLOW_DETACH); TransformGroup transGroup = new TransformGroup(); transGroup.addChild(bg); BranchGroup bg2 = createBranchGroup(); bg2.addChild(transGroup); offscreenGroup.addChild(bg2); return new Shape(bg2, transGroup); } catch (FileNotFoundException fnfe) { fnfe.printStackTrace(); } return null; } private static Shape drawOBJ (String filename, boolean colored, boolean resize) { int params = 0; if (resize) params = ObjectFile.RESIZE | Loader.LOAD_ALL; ObjectFile loader = new ObjectFile(params); try { BranchGroup bg = loader.load(filename).getSceneGroup(); bg.setCapability(BranchGroup.ALLOW_CHILDREN_READ); bg.setCapability(BranchGroup.ALLOW_CHILDREN_WRITE); bg.setCapability(BranchGroup.ALLOW_CHILDREN_EXTEND); bg.setCapability(BranchGroup.ALLOW_DETACH); //System.out.println("Children: " + bg.numChildren()); for (int i = 0; i < bg.numChildren(); i++) { Node child = bg.getChild(i); if (child instanceof Shape3D) { Shape3D shape = (Shape3D) child; //System.out.println("shape3d"); // Appearance ap = shape.getAppearance(); // PolygonAttributes pa = ap.getPolygonAttributes(); // if (pa == null) pa = new PolygonAttributes(); // pa.setCullFace(PolygonAttributes.CULL_NONE); // ap.setPolygonAttributes(pa); // Material m = ap.getMaterial(); // m.setSpecularColor(new Color3f(GRAY)); // m.setShininess(64); if (colored) shape.setAppearance(createAppearance(null, true)); else { Appearance ap = shape.getAppearance(); PolygonAttributes pa = ap.getPolygonAttributes(); if (pa == null) pa = new PolygonAttributes(); pa.setCullFace(PolygonAttributes.CULL_NONE); ap.setPolygonAttributes(pa); } //for (int j = 0; j < shape.numGeometries(); j++) { // Geometry g = shape.getGeometry(j); // if (g instanceof GeometryArray) { // GeometryArray ga = (GeometryArray) g; //System.out.println("GeometryArray"); //System.out.println("format: " + ga.getVertexFormat()); //float[] colors = ga.getInterleavedVertices(); //for (int k = 0; k < colors.length; k++) // System.out.println(colors[k]); // } //} } } TransformGroup transGroup = new TransformGroup(); transGroup.addChild(bg); BranchGroup bg2 = createBranchGroup(); bg2.addChild(transGroup); offscreenGroup.addChild(bg2); return new Shape(bg2, transGroup); } catch (FileNotFoundException fnfe) { fnfe.printStackTrace(); } return null; } public static Shape model (String filename) { return model(filename, false); } public static Shape model (String filename, boolean resize) { return model(filename, false, resize); } public static Shape coloredModel (String filename) { return model(filename, true, true); } public static Shape coloredModel (String filename, boolean resize) { return model(filename, true, resize); } private static Shape model (String filename, boolean colored, boolean resize) { if (filename == null) return null; String suffix = filename.substring(filename.lastIndexOf('.') + 1); String extension = suffix.toLowerCase(); if (suffix.equals("ply")) return drawPLY(filename, colored); else if (suffix.equals("obj")) return drawOBJ(filename, colored, resize); //else if (suffix.equals("lws")) // return drawLWS(filename); else throw new RuntimeException("Format not supported!"); } private static Shape shape (Shape3D shape) { return shape(shape, true, null, false); } private static Shape wireShape (Shape3D shape) { return shape(shape, false, null, false); } private static Shape customShape (Shape3D shape) { return shape(shape, true, null, true); } private static Shape customWireShape (Shape3D shape) { return shape(shape, false, null, true); } private static Shape shape (Shape3D shape, boolean fill, Transform3D transform, boolean custom) { Appearance ap; if (custom) ap = createCustomAppearance(fill); else ap = createAppearance(null, fill); shape.setAppearance(ap); TransformGroup transGroup = new TransformGroup(); if (transform != null) transGroup.setTransform(transform); transGroup.addChild(shape); BranchGroup bg = createBranchGroup(); bg.addChild(transGroup); offscreenGroup.addChild(bg); return new Shape(bg, transGroup); } public static void overlayPixel (double x, double y) { getGraphics2D(offscreenImage).fillRect((int) Math.round(scaleX(x)), (int) Math.round(scaleY(y)), 1, 1); } public static void overlayPoint (double x, double y) { float r = penRadius; if (r <= 1) overlayPixel(x, y); else getGraphics2D(offscreenImage).fill(new Ellipse2D.Double(scaleX(x) - r/2, scaleY(y) - r/2, r, r)); } public static void overlayLine (double x0, double y0, double x1, double y1) { getGraphics2D(offscreenImage).draw(new Line2D.Double(scaleX(x0), scaleY(y0), scaleX(x1), scaleY(y1))); } public static void overlayCircle (double x, double y, double r) { if (r < 0) throw new RuntimeException("circle radius can't be negative"); double xs = scaleX(x); double ys = scaleY(y); double ws = factorX(2*r); double hs = factorY(2*r); if (ws <= 1 && hs <= 1) overlayPixel(x, y); else getGraphics2D(offscreenImage).draw(new Ellipse2D.Double(xs - ws/2, ys - hs/2, ws, hs)); } public static void overlayFilledCircle (double x, double y, double r) { if (r < 0) throw new RuntimeException("circle radius can't be negative"); double xs = scaleX(x); double ys = scaleY(y); double ws = factorX(2*r); double hs = factorY(2*r); if (ws <= 1 && hs <= 1) overlayPixel(x, y); else getGraphics2D(offscreenImage).fill(new Ellipse2D.Double(xs - ws/2, ys - hs/2, ws, hs)); } public static void overlayEllipse (double x, double y, double semiMajorAxis, double semiMinorAxis) { if (semiMajorAxis < 0) throw new RuntimeException("ellipse semimajor axis can't be negative"); if (semiMinorAxis < 0) throw new RuntimeException("ellipse semiminor axis can't be negative"); double xs = scaleX(x); double ys = scaleY(y); double ws = factorX(2*semiMajorAxis); double hs = factorY(2*semiMinorAxis); if (ws <= 1 && hs <= 1) overlayPixel(x, y); else getGraphics2D(offscreenImage).draw(new Ellipse2D.Double(xs - ws/2, ys - hs/2, ws, hs)); } public static void overlayFilledEllipse (double x, double y, double semiMajorAxis, double semiMinorAxis) { if (semiMajorAxis < 0) throw new RuntimeException("ellipse semimajor axis can't be negative"); if (semiMinorAxis < 0) throw new RuntimeException("ellipse semiminor axis can't be negative"); double xs = scaleX(x); double ys = scaleY(y); double ws = factorX(2*semiMajorAxis); double hs = factorY(2*semiMinorAxis); if (ws <= 1 && hs <= 1) overlayPixel(x, y); else getGraphics2D(offscreenImage).fill(new Ellipse2D.Double(xs - ws/2, ys - hs/2, ws, hs)); } public static void overlayArc (double x, double y, double r, double angle1, double angle2) { if (r < 0) throw new RuntimeException("arc radius can't be negative"); while (angle2 < angle1) angle2 += 360; double xs = scaleX(x); double ys = scaleY(y); double ws = factorX(2*r); double hs = factorY(2*r); if (ws <= 1 && hs <= 1) overlayPixel(x, y); else getGraphics2D(offscreenImage).draw(new Arc2D.Double(xs - ws/2, ys - hs/2, ws, hs, angle1, angle2 - angle1, Arc2D.OPEN)); } public static void overlaySquare (double x, double y, double r) { if (r < 0) throw new RuntimeException("square side length can't be negative"); double xs = scaleX(x); double ys = scaleY(y); double ws = factorX(2*r); double hs = factorY(2*r); if (ws <= 1 && hs <= 1) overlayPixel(x, y); else getGraphics2D(offscreenImage).draw(new Rectangle2D.Double(xs - ws/2, ys - hs/2, ws, hs)); } public static void overlayFilledSquare (double x, double y, double r) { if (r < 0) throw new RuntimeException("square side length can't be negative"); double xs = scaleX(x); double ys = scaleY(y); double ws = factorX(2*r); double hs = factorY(2*r); if (ws <= 1 && hs <= 1) overlayPixel(x, y); else getGraphics2D(offscreenImage).fill(new Rectangle2D.Double(xs - ws/2, ys - hs/2, ws, hs)); } public static void overlayRectangle (double x, double y, double halfWidth, double halfHeight) { if (halfWidth < 0) throw new RuntimeException("half width can't be negative"); if (halfHeight < 0) throw new RuntimeException("half height can't be negative"); double xs = scaleX(x); double ys = scaleY(y); double ws = factorX(2*halfWidth); double hs = factorY(2*halfHeight); if (ws <= 1 && hs <= 1) overlayPixel(x, y); else getGraphics2D(offscreenImage).draw(new Rectangle2D.Double(xs - ws/2, ys - hs/2, ws, hs)); } public static void overlayFilledRectangle (double x, double y, double halfWidth, double halfHeight) { if (halfWidth < 0) throw new RuntimeException("half width can't be negative"); if (halfHeight < 0) throw new RuntimeException("half height can't be negative"); double xs = scaleX(x); double ys = scaleY(y); double ws = factorX(2*halfWidth); double hs = factorY(2*halfHeight); if (ws <= 1 && hs <= 1) overlayPixel(x, y); else getGraphics2D(offscreenImage).fill(new Rectangle2D.Double(xs - ws/2, ys - hs/2, ws, hs)); } public static void overlayPolygon (double[] x, double[] y) { int N = x.length; GeneralPath path = new GeneralPath(); path.moveTo((float) scaleX(x[0]), (float) scaleY(y[0])); for (int i = 0; i < N; i++) path.lineTo((float) scaleX(x[i]), (float) scaleY(y[i])); path.closePath(); getGraphics2D(offscreenImage).draw(path); } public static void overlayFilledPolygon (double[] x, double[] y) { int N = x.length; GeneralPath path = new GeneralPath(); path.moveTo((float) scaleX(x[0]), (float) scaleY(y[0])); for (int i = 0; i < N; i++) path.lineTo((float) scaleX(x[i]), (float) scaleY(y[i])); path.closePath(); getGraphics2D(offscreenImage).fill(path); } public static void overlayText (double x, double y, String text) { Graphics2D graphics = getGraphics2D(offscreenImage); FontMetrics metrics = graphics.getFontMetrics(); double xs = scaleX(x); double ys = scaleY(y); int ws = metrics.stringWidth(text); int hs = metrics.getDescent(); graphics.drawString(text, (float) (xs - ws/2.0), (float) (ys + hs)); } public static void overlayText (double x, double y, String text, double degrees) { Graphics2D graphics = getGraphics2D(offscreenImage); FontMetrics metrics = graphics.getFontMetrics(); double xs = scaleX(x); double ys = scaleY(y); int ws = metrics.stringWidth(text); int hs = metrics.getDescent(); graphics.rotate(Math.toRadians(-degrees), xs, ys); graphics.drawString(text, (float) (xs - ws/2.0), (float) (ys + hs)); graphics.rotate(Math.toRadians(+degrees), xs, ys); } public static void overlayTextLeft (double x, double y, String text) { Graphics2D graphics = getGraphics2D(offscreenImage); FontMetrics metrics = graphics.getFontMetrics(); double xs = scaleX(x); double ys = scaleY(y); int ws = metrics.stringWidth(text); int hs = metrics.getDescent(); graphics.drawString(text, (float) (xs), (float) (ys + hs)); } public static void overlayTextRight (double x, double y, String text) { Graphics2D graphics = getGraphics2D(offscreenImage); FontMetrics metrics = graphics.getFontMetrics(); double xs = scaleX(x); double ys = scaleY(y); int ws = metrics.stringWidth(text); int hs = metrics.getDescent(); graphics.drawString(text, (float) (xs - ws), (float) (ys + hs)); } public static void overlayPicture (double x, double y, String s) { Image image = getImage(s); double xs = scaleX(x); double ys = scaleY(y); int ws = image.getWidth(null); int hs = image.getHeight(null); if (ws < 0 || hs < 0) throw new RuntimeException("image " + s + " is corrupt"); getGraphics2D(offscreenImage).drawImage(image, (int) Math.round(xs - ws/2.0), (int) Math.round(ys - hs/2.0), null); } public static void overlayPicture (double x, double y, String s, double degrees) { Image image = getImage(s); double xs = scaleX(x); double ys = scaleY(y); int ws = image.getWidth(null); int hs = image.getHeight(null); if (ws < 0 || hs < 0) throw new RuntimeException("image " + s + " is corrupt"); Graphics2D graphics = getGraphics2D(offscreenImage); graphics.rotate(Math.toRadians(-degrees), xs, ys); graphics.drawImage(image, (int) Math.round(xs - ws/2.0), (int) Math.round(ys - hs/2.0), null); graphics.rotate(Math.toRadians(+degrees), xs, ys); } public static void overlayPicture (double x, double y, String s, double w, double h) { Image image = getImage(s); double xs = scaleX(x); double ys = scaleY(y); if (w < 0) throw new RuntimeException("width is negative: " + w); if (h < 0) throw new RuntimeException("height is negative: " + h); double ws = factorX(w); double hs = factorY(h); if (ws < 0 || hs < 0) throw new RuntimeException("image " + s + " is corrupt"); if (ws <= 1 && hs <= 1) overlayPixel(x, y); else { getGraphics2D(offscreenImage).drawImage(image, (int) Math.round(xs - ws/2.0), (int) Math.round(ys - hs/2.0), (int) Math.round(ws), (int) Math.round(hs), null); } } public static void overlayPicture (double x, double y, String s, double w, double h, double degrees) { Image image = getImage(s); double xs = scaleX(x); double ys = scaleY(y); double ws = factorX(w); double hs = factorY(h); if (ws < 0 || hs < 0) throw new RuntimeException("image " + s + " is corrupt"); if (ws <= 1 && hs <= 1) overlayPixel(x, y); Graphics2D graphics = getGraphics2D(offscreenImage); graphics.rotate(Math.toRadians(-degrees), xs, ys); graphics.drawImage(image, (int) Math.round(xs - ws/2.0), (int) Math.round(ys - hs/2.0), (int) Math.round(ws), (int) Math.round(hs), null); graphics.rotate(Math.toRadians(+degrees), xs, ys); } private static Image getImage (String filename) { // to read from file ImageIcon icon = new ImageIcon(filename); // try to read from URL if ((icon == null) || (icon.getImageLoadStatus() != MediaTracker.COMPLETE)) { try { URL url = new URL(filename); icon = new ImageIcon(url); } catch (Exception e) { } } // in case file is inside a .jar if ((icon == null) || (icon.getImageLoadStatus() != MediaTracker.COMPLETE)) { URL url = StdDraw3D.class.getResource(filename); if (url == null) throw new RuntimeException("image " + filename + " not found"); icon = new ImageIcon(url); } return icon.getImage(); } private static Graphics2D getGraphics2D (BufferedImage image) { Graphics2D graphics = (Graphics2D) image.getGraphics(); graphics.setColor(penColor); graphics.setFont(font); BasicStroke stroke = new BasicStroke(penRadius, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); graphics.setStroke(stroke); //if (getAntiAliasing()) graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); return graphics; } private static void infoDisplay () { if (!infoDisplay) { infoImage = createBufferedImage(); return; } BufferedImage bi = createBufferedImage(); Graphics2D g = (Graphics2D) bi.getGraphics(); g.setFont(new Font("Courier", Font.PLAIN, 11)); g.setStroke(new BasicStroke( 1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)); double center = (min + max) / 2; double r = zoom; double b = zoom * 0.1f; DecimalFormat df = new DecimalFormat(" 0.000;-0.000"); Vector3D pos = camera.getPosition(); String s = "(" + df.format(pos.x) + "," + df.format(pos.y) + "," + df.format(pos.z) + ")"; g.setColor(BLACK); g.drawString("Position: " + s, 21, 26); g.setColor(LIGHT_GRAY); g.drawString("Position: " + s, 20, 25); Vector3D rot = camera.getOrientation(); String s2 = "(" + df.format(rot.x) + "," + df.format(rot.y) + "," + df.format(rot.z) + ")"; g.setColor(BLACK); g.drawString("Rotation: " + s2, 21, 41); g.setColor(LIGHT_GRAY); g.drawString("Rotation: " + s2, 20, 40); String mode; if (cameraMode == ORBIT_MODE) mode = "Camera: ORBIT_MODE"; else if (cameraMode == FPS_MODE) mode = "Camera: FPS_MODE"; else if (cameraMode == AIRPLANE_MODE) mode = "Camera: AIRPLANE_MODE"; else if (cameraMode == LOOK_MODE) mode = "Camera: LOOK_MODE"; else if (cameraMode == FIXED_MODE) mode = "Camera: FIXED_MODE"; else throw new RuntimeException("Unknown camera mode!"); g.setColor(BLACK); g.drawString(mode, 21, 56); g.setColor(LIGHT_GRAY); g.drawString(mode, 20, 55); double d = b / 4; g.draw(new Line2D.Double(scaleX(d + center), scaleY(0 + center), scaleX(-d + center), scaleY(0 + center))); g.draw(new Line2D.Double(scaleX(0 + center), scaleY(d + center), scaleX( 0 + center), scaleY(-d + center))); infoImage = bi; } public static void save (String filename) { //canvas.setVisible(false); int oldCameraMode = getCameraMode(); setCameraMode(FIXED_MODE); GraphicsContext3D context = canvas.getGraphicsContext3D(); BufferedImage buf = createBufferedImage(); ImageComponent2D imageComp = new ImageComponent2D(ImageComponent.FORMAT_RGB, buf); javax.media.j3d.Raster ras = new javax.media.j3d.Raster( new Point3f(-1.0f,-1.0f,-1.0f), javax.media.j3d.Raster.RASTER_COLOR, 0, 0, width, height, imageComp, null); context.readRaster(ras); BufferedImage image = (ras.getImage()).getImage(); File file = new File(filename); String suffix = filename.substring(filename.lastIndexOf('.') + 1); String extension = suffix.toLowerCase(); // png files if (extension.equals("png")) { try { ImageIO.write(image, suffix, file); } catch (IOException e) { e.printStackTrace(); } } // need to change from ARGB to RGB for jpeg // reference: http://archives.java.sun.com/cgi-bin/wa?A2=ind0404&L=java2d-interest&D=0&P=2727 else if (extension.equals("jpg")) { WritableRaster raster = image.getRaster(); WritableRaster newRaster; newRaster = raster.createWritableChild(0, 0, width, height, 0, 0, new int[] {0, 1, 2}); BufferedImage rgbBuffer = new BufferedImage(image.getColorModel(), newRaster, false, null); try { ImageIO.write(rgbBuffer, suffix, file); } catch (IOException e) { e.printStackTrace(); } } else { System.out.println("Invalid image file type: " + suffix); } setCameraMode(oldCameraMode); //canvas.setVisible(true); } public static void saveScene3D (String filename) { File file = new File(filename); //System.out.println("on: " + onscreenGroup.numChildren() + " off: " + offscreenGroup.numChildren()); try { SceneGraphFileWriter writer = new SceneGraphFileWriter(file, universe, false, "3D scene saved from StdDraw3D.", null); writer.writeBranchGraph(offscreenGroup); writer.close(); System.out.println("Scene successfully written to " + filename + "!"); } catch (IOException ioe) { ioe.printStackTrace(); } catch (UnsupportedUniverseException uue) { uue.printStackTrace(); } //catch (NamedObjectException noe) { noe.printStackTrace(); } } public static void loadScene3D (String filename) { File file = new File(filename); try { SceneGraphFileReader reader = new SceneGraphFileReader(file); System.out.println("Branch graph count = " + reader.getBranchGraphCount()); //BranchGroup[] bgs = reader.readAllBranchGraphs(); //BranchGroup bg = (BranchGroup) reader.getNamedObject("rendered"); BranchGroup bg = reader.readBranchGraph(0)[0]; offscreenGroup = bg; //reader.dereferenceBranchGraph(offscreenGroup); System.out.println("Scene successfully loaded from " + filename + "!"); } catch (IOException ioe) { ioe.printStackTrace(); } //catch (ObjectNotLoadedException onle) { onle.printStackTrace(); } //catch (NamedObjectException noe) { noe.printStackTrace(); } } public static Shape combine (Shape... shapes) { BranchGroup combinedGroup = createBranchGroup(); TransformGroup combinedTransform = new TransformGroup(); for (int i = 0; i < shapes.length; i++) { BranchGroup bg = shapes[i].bg; TransformGroup tg = shapes[i].tg; offscreenGroup.removeChild(bg); onscreenGroup.removeChild(bg); bg.removeChild(tg); combinedTransform.addChild(shapes[i].tg); } combinedGroup.addChild(combinedTransform); offscreenGroup.addChild(combinedGroup); return new Shape(combinedGroup, combinedTransform); } public static Shape copy (Shape shape) { TransformGroup tg = shape.tg; BranchGroup bg = shape.bg; TransformGroup tg2 = (TransformGroup)tg.cloneTree(); BranchGroup bg2 = createBranchGroup(); bg2.addChild(tg2); offscreenGroup.addChild(bg2); return new Shape(bg2, tg2); } private static class Transformable { private TransformGroup tg; private Transformable (TransformGroup tg0) { this.tg = tg0; } private Transform3D getTransform () { Transform3D t = new Transform3D(); tg.getTransform(t); return t; } private void setTransform (Transform3D t) { tg.setTransform(t); } private Vector3D relToAbs (Vector3D r) { Transform3D t = getTransform(); Matrix3d m = new Matrix3d(); t.get(m); Vector3d zero = new Vector3d(0, 0, 0); Transform3D rotation = new Transform3D(m, zero, 1.0); Vector3f vec = createVector3f(r); rotation.transform(vec); return new Vector3D(vec); } private Vector3D absToRel (Vector3D r) { Transform3D t = getTransform(); Matrix3d m = new Matrix3d(); t.get(m); Vector3d zero = new Vector3d(0, 0, 0); Transform3D rotation = new Transform3D(m, zero, 1.0); Vector3f vec = createVector3f(r); rotation.invert(); rotation.transform(vec); return new Vector3D(vec); } private void rotateQuat (double x, double y, double z, double w) { rotateQuat(new Quat4d(x, y, z, w)); } private void rotateQuat (Quat4d quat) { Transform3D t = getTransform(); Transform3D t1 = new Transform3D(); t1.setRotation(quat); t.mul(t1); setTransform(t); } private void setQuaternion (double x, double y, double z, double w) { setQuaternion(new Quat4d(x, y, z, w)); } private void setQuaternion (Quat4d quat) { Transform3D t = getTransform(); t.setRotation(quat); setTransform(t); } private Quat4d getQuaternion () { Transform3D t = getTransform(); Matrix3d m = new Matrix3d(); t.get(m); double w = Math.sqrt(Math.max(0, 1 + m.m00 + m.m11 + m.m22))/2; double x = Math.sqrt(Math.max(0, 1 + m.m00 - m.m11 - m.m22))/2; double y = Math.sqrt(Math.max(0, 1 - m.m00 + m.m11 - m.m22))/2; double z = Math.sqrt(Math.max(0, 1 - m.m00 - m.m11 + m.m22))/2; if (m.m21 - m.m12 < 0) x = -x; if (m.m02 - m.m20 < 0) y = -y; if (m.m10 - m.m01 < 0) z = -z; return new Quat4d(x, y, z, w); } private void orientAxis (Vector3D axis, double angle) { Transform3D t = getTransform(); AxisAngle4d aa = new AxisAngle4d(axis.x, axis.y, axis.z, Math.toRadians(angle)); t.setRotation(aa); setTransform(t); } public void rotateAxis (Vector3D axis, double angle) { if(angle == 0) return; Transform3D t = getTransform(); Vector3D aRel = absToRel(axis); AxisAngle4d aa = new AxisAngle4d(aRel.x, aRel.y, aRel.z, Math.toRadians(angle)); Transform3D t1 = new Transform3D(); t1.setRotation(aa); t.mul(t1); setTransform(t); } public void move (double x, double y, double z) { move(new Vector3D(x, y, z)); } public void move (Vector3D move) { Transform3D t = getTransform(); Vector3f r = new Vector3f(); t.get(r); r.add(createVector3f(move)); t.setTranslation(r); setTransform(t); } public void moveRelative (double right, double up, double forward) { moveRelative(new Vector3D(right, up, forward)); } public void moveRelative (Vector3D move) { move(relToAbs(move.times(1, 1, -1))); } public void setPosition (double x, double y, double z) { setPosition(new Vector3D(x, y, z)); } public void setPosition (Vector3D pos) { Transform3D t = getTransform(); t.setTranslation(createVector3f(pos)); setTransform(t); } public Vector3D getPosition () { Transform3D t = getTransform(); Vector3d r = new Vector3d(); t.get(r); return new Vector3D(r); } public void rotate (double xAngle, double yAngle, double zAngle) { rotate(new Vector3D(xAngle, yAngle, zAngle)); } public void rotate (Vector3D angles) { Transform3D t = getTransform(); Transform3D tX = new Transform3D(); Transform3D tY = new Transform3D(); Transform3D tZ = new Transform3D(); Vector3D xR = absToRel(xAxis); Vector3D yR = absToRel(yAxis); Vector3D zR = absToRel(zAxis); Vector3D radians = angles.times(Math.PI / 180.); tX.setRotation(new AxisAngle4d(xR.x, xR.y, xR.z, radians.x)); tY.setRotation(new AxisAngle4d(yR.x, yR.y, yR.z, radians.y)); tZ.setRotation(new AxisAngle4d(zR.x, zR.y, zR.z, radians.z)); t.mul(tX); t.mul(tY); t.mul(tZ); setTransform(t); } public void rotateRelative (double pitch, double yaw, double roll) { rotateRelative(new Vector3D(pitch, yaw, roll)); } public void rotateRelative (Vector3D angles) { Transform3D t = getTransform(); Transform3D tX = new Transform3D(); Transform3D tY = new Transform3D(); Transform3D tZ = new Transform3D(); Vector3D radians = angles.times(Math.PI / 180.); tX.setRotation(new AxisAngle4d(1, 0, 0, radians.x)); tY.setRotation(new AxisAngle4d(0, 1, 0, radians.y)); tZ.setRotation(new AxisAngle4d(0, 0, 1, radians.z)); t.mul(tX); t.mul(tY); t.mul(tZ); setTransform(t); } public void setOrientation (double xAngle, double yAngle, double zAngle) { setOrientation(new Vector3D(xAngle, yAngle, zAngle)); } public void setOrientation (Vector3D angles) { if (Math.abs(angles.y) == 90) System.err.println("Gimbal lock when the y-angle is vertical!"); Transform3D t = getTransform(); Vector3D radians = angles.times(Math.PI / 180.); Transform3D t1 = new Transform3D(); t1.setEuler(createVector3d(radians)); Vector3d r = new Vector3d(); t.get(r); t1.setTranslation(r); t1.setScale(t.getScale()); setTransform(t1); } public Vector3D getOrientation () { Transform3D t = getTransform(); Matrix3d mat = new Matrix3d(); t.get(mat); double xA, yA, zA; yA = -Math.asin(mat.m20); double C = Math.cos(yA); if ( Math.abs(C) > 0.005 ) { xA = -Math.atan2( -mat.m21 / C, mat.m22 / C ); zA = -Math.atan2( -mat.m10 / C, mat.m00 / C ); } else { xA = 0; zA = -Math.atan2( mat.m01, mat.m11 ); } xA = Math.toDegrees(xA); yA = Math.toDegrees(yA); zA = Math.toDegrees(zA); if (xA < 0) xA += 360; if (yA < 0) yA += 360; if (zA < 0) zA += 360; return new Vector3D(xA, yA, zA); } public void lookAt (Vector3D center) { lookAt(center, yAxis); } public void lookAt (Vector3D center, Vector3D up) { Transform3D t = getTransform(); Transform3D t2 = new Transform3D(t); Vector3f translation = new Vector3f(); t2.get(translation); Vector3d scales = new Vector3d(); t2.getScale(scales); Point3d trans = new Point3d(translation); Point3d c = new Point3d(center.x, center.y, center.z); Vector3d u = createVector3d(up); t2.lookAt(trans, c, u); try { t2.invert(); t2.setScale(scales); setTransform(t2); } catch (SingularMatrixException sme) { System.out.println("Singular matrix, bad lookAt()!"); } } public void setDirection (Vector3D direction) { setDirection(direction, yAxis); } public void setDirection (Vector3D direction, Vector3D up) { Vector3D center = getPosition().plus(direction); lookAt(center, up); } public Vector3D getDirection () { return relToAbs(zAxis.times(-1)).direction(); } private void match (Transformable s) { setOrientation(s.getOrientation()); setPosition(s.getPosition()); } } public static Vector3D getCameraPosition () { return camera.getPosition(); } public static Vector3D getCameraOrientation () { return camera.getOrientation(); } public static Vector3D getCameraDirection () { return camera.getDirection(); } public static void setCameraPosition (double x, double y, double z) { setCameraPosition(new Vector3D(x, y, z)); } public static void setCameraPosition (Vector3D position) { camera.setPosition(position); } public static void setCameraOrientation (double xAngle, double yAngle, double zAngle) { setCameraOrientation(new Vector3D(xAngle, yAngle, zAngle)); } public static void setCameraOrientation (Vector3D angles) { camera.setOrientation(angles); } public static void setCameraDirection (double x, double y, double z) { setCameraDirection(new Vector3D(x, y, z)); } public static void setCameraDirection (Vector3D direction) { camera.setDirection(direction); } public static void setCamera (double x, double y, double z, double xAngle, double yAngle, double zAngle) { camera.setPosition(x, y, z); camera.setOrientation(xAngle, yAngle, zAngle); } public static void setCamera (Vector3D position, Vector3D angles) { camera.setPosition(position); camera.setOrientation(angles); } public static Camera camera () { return camera; } public static class Camera extends Transformable { private TransformGroup tg; private Shape pair; private Camera (TransformGroup tg) { super(tg); this.tg = tg; } public void match (Shape s) { super.match(s); } public void pair (Shape s) { pair = s; } public void unpair () { pair = null; } public void moveRelative (Vector3D move) { if ((view.getProjectionPolicy() == View.PARALLEL_PROJECTION)) { setScreenScale(view.getScreenScale() * (1 + move.z / zoom)); super.move(super.relToAbs(move.times(1, 1, 0))); } else super.move(super.relToAbs(move.times(1, 1, -1))); } public void rotateFPS (Vector3D angles) { rotateFPS(angles.x, angles.y, angles.z); } public void rotateFPS (double xAngle, double yAngle, double zAngle) { double xA = Math.toRadians(xAngle); double yA = Math.toRadians(yAngle); double zA = Math.toRadians(zAngle); Vector3D shift = super.relToAbs(new Vector3D(-yA, xA, zA)); Vector3D dir = super.getDirection().plus(shift); double angle = dir.angle(yAxis); if (angle > 90) angle = 180 - angle; if (angle < 5) return; super.setDirection(super.getDirection().plus(shift)); } } public static class Shape extends Transformable { private BranchGroup bg; private TransformGroup tg; private Shape (BranchGroup bg, TransformGroup tg) { super(tg); this.bg = bg; this.tg = tg; tg.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); tg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); } public void scale (double scale) { Transform3D t = super.getTransform(); t.setScale(t.getScale() * scale); super.setTransform(t); } // public void scale (double xScale, double yScale, double zScale) { // scale(new Vector3D(xScale, yScale, zScale)); // } // // public void scale (Vector3D scales) { // Transform3D t = getTransform(); // throw new UnsupportedOperationException("Doesn't work with rotation!"); // setTransform(t); // } public void hide () { offscreenGroup.removeChild(bg); onscreenGroup.removeChild(bg); } public void unhide () { hide(); offscreenGroup.addChild(bg); } public void match (Shape s) { super.match(s); } public void match (Camera c) { super.match(c); } public void setColor (Color c) { setColor(tg, c); } public void setColor (Color c, int alpha) { setColor(new Color(c.getRed(), c.getGreen(), c.getBlue(), alpha)); } private void setColor (Group g, Color c) { for (int i = 0; i < g.numChildren(); i++) { Node child = g.getChild(i); if (child instanceof Shape3D) { Shape3D shape = (Shape3D)child; Appearance ap = shape.getAppearance(); setColor(ap, c); } else if (child instanceof Primitive) { Primitive primitive = (Primitive)child; Appearance ap = primitive.getAppearance(); setColor(ap, c); } else if (child instanceof Group) { setColor((Group)child, c); } } } private void setColor (Appearance ap, Color c) { Material m = ap.getMaterial(); m.setAmbientColor(new Color3f(c)); m.setDiffuseColor(new Color3f(c)); float alpha = ((float)c.getAlpha()) / 255; if (alpha < 1.0) { TransparencyAttributes t = new TransparencyAttributes(); t.setTransparencyMode(TransparencyAttributes.BLENDED); t.setTransparency(1 - alpha); ap.setTransparencyAttributes(t); } else ap.setTransparencyAttributes(null); } } public static class Light extends Transformable { javax.media.j3d.Light light; BranchGroup bg; private Light (BranchGroup bg, TransformGroup tg, javax.media.j3d.Light light) { super(tg); this.light = light; this.bg = bg; } public void hide () { light.setEnable(false); } public void unhide () { light.setEnable(true); } public void match (Shape s) { super.match(s); } public void match (Camera c) { super.match(c); } public void setColor (Color col) { light.setColor(new Color3f(col)); } public void scalePower (double power) { if (light instanceof PointLight) { double attenuationScale = 1.0 / (0.999 * power + 0.001); PointLight pl = (PointLight)light; Point3f attenuation = new Point3f(); pl.getAttenuation(attenuation); attenuation.y *= attenuationScale; attenuation.z *= attenuationScale * attenuationScale; pl.setAttenuation(attenuation); } else { System.err.println("Can only scale power for point lights!"); } } } public static class Vector3D { public final double x; public final double y; public final double z; //-------------------------------------------------------------------------- public Vector3D () { this.x = 0; this.y = 0; this.z = 0; } //-------------------------------------------------------------------------- public Vector3D (double x, double y, double z) { this.x = x; this.y = y; this.z = z; } //-------------------------------------------------------------------------- public Vector3D (double[] c) { if (c.length != 3) throw new RuntimeException("Incorrect number of dimensions!"); this.x = c[0]; this.y = c[1]; this.z = c[2]; } //-------------------------------------------------------------------------- private Vector3D (Vector3d v) { this.x = v.x; this.y = v.y; this.z = v.z; } //-------------------------------------------------------------------------- private Vector3D (Vector3f v) { this.x = v.x; this.y = v.y; this.z = v.z; } //-------------------------------------------------------------------------- private Vector3D (Point3d p) { this.x = p.x; this.y = p.y; this.z = p.z; } //-------------------------------------------------------------------------- private Vector3D (Point3f p) { this.x = p.x; this.y = p.y; this.z = p.z; } //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- public double dot (Vector3D that) { return (this.x * that.x + this.y * that.y + this.z * that.z); } //-------------------------------------------------------------------------- public double mag () { return Math.sqrt(this.dot(this)); } //-------------------------------------------------------------------------- public double angle (Vector3D that) { return Math.toDegrees(Math.acos(this.dot(that)/(this.mag() * that.mag()))); } //-------------------------------------------------------------------------- public double distanceTo (Vector3D that) { return this.minus(that).mag(); } //-------------------------------------------------------------------------- public Vector3D plus (Vector3D that) { double cx = this.x + that.x; double cy = this.y + that.y; double cz = this.z + that.z; Vector3D c = new Vector3D(cx, cy, cz); return c; } public Vector3D plus (double x, double y, double z) { double cx = this.x + x; double cy = this.y + y; double cz = this.z + z; return new Vector3D(cx, cy, cz); } //-------------------------------------------------------------------------- public Vector3D minus (Vector3D that) { double cx = this.x - that.x; double cy = this.y - that.y; double cz = this.z - that.z; Vector3D c = new Vector3D(cx, cy, cz); return c; } public Vector3D minus (double x, double y, double z) { double cx = this.x - x; double cy = this.y - y; double cz = this.z - z; return new Vector3D(cx, cy, cz); } //-------------------------------------------------------------------------- public Vector3D times (double k) { return times(k, k, k); } //-------------------------------------------------------------------------- public Vector3D times (double a, double b, double c) { double vx = this.x * a; double vy = this.y * b; double vz = this.z * c; Vector3D v = new Vector3D(vx, vy, vz); return v; } //-------------------------------------------------------------------------- public Vector3D direction () { if (this.mag() == 0.0) throw new RuntimeException("Zero-vector has no direction"); return this.times(1.0 / this.mag()); } //-------------------------------------------------------------------------- public Vector3D proj (Vector3D line) { Vector3D normal = line.direction(); return normal.times(this.dot(normal)); } //-------------------------------------------------------------------------- public Vector3D cross (Vector3D that) { Vector3D a = this; Vector3D b = that; return new Vector3D(a.y * b.z - a.z * b.y, a.z * b.x - a.x * b.z, a.x * b.y - a.y * b.x); } //-------------------------------------------------------------------------- public Vector3D reflect (Vector3D line) { return this.proj(line).times(2).minus(this); } //-------------------------------------------------------------------------- public String toString() { DecimalFormat df = new DecimalFormat("0.000000"); return ("( " + df.format(this.x) + ", " + df.format(this.y) + ", " + df.format(this.z) + " )"); } //-------------------------------------------------------------------------- public void draw () { StdDraw3D.sphere(this.x, this.y, this.z, 0.01); } //-------------------------------------------------------------------------- } public static void main (String[] args) { // Sets the scale StdDraw3D.setScale(-1, 1); // Turns off the default info HUD display. StdDraw3D.setInfoDisplay(false); // Draws the white square border. StdDraw3D.setPenColor(StdDraw3D.WHITE); StdDraw3D.overlaySquare(0, 0, 0.98); // Draws the two red circles. StdDraw3D.setPenRadius(0.06); StdDraw3D.setPenColor(StdDraw3D.RED, 220); StdDraw3D.overlayCircle(0, 0, 0.8); StdDraw3D.setPenColor(StdDraw3D.RED, 220); StdDraw3D.overlayCircle(0, 0, 0.6); // Draws the information text. StdDraw3D.setPenColor(StdDraw3D.WHITE); StdDraw3D.overlayText(0, 0.91, "Standard Draw 3D - Test Program"); StdDraw3D.overlayText(0, -0.95, "You should see rotating text. Drag the mouse to orbit."); // Creates the 3D text object and centers it. StdDraw3D.setPenColor(StdDraw3D.YELLOW); StdDraw3D.setFont(new Font("Arial", Font.BOLD, 16)); StdDraw3D.Shape text = StdDraw3D.text3D(0, 0, 0, "StdDraw3D"); text.scale(3.5); text.move(-0.7, -0.1, 0); text = StdDraw3D.combine(text); while (true) { // Rotates the 3D text by 1.2 degrees along the y-axis. text.rotate(0, 1.2, 0); // Shows the frame for 20 milliseconds. StdDraw3D.show(20); } } }
StdDraw3D
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<wbr></wbr>StdDraw3D tutorialand the<wbr></wbr>StdDraw3D reference manual.
<wbr></wbr>
<wbr></wbr>
static<wbr>class</wbr>
|
StdDraw3D.Camera <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>The camera can be controlled with the static functions already listed in this reference.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>class</wbr>
|
StdDraw3D.Light <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>When you create a light in StdDraw3D, it returns a Light object.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>class</wbr>
|
StdDraw3D.Shape <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Everything three-dimensional you draw in your scene from spheres to points to 3D text is actually a Shape object.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>class</wbr>
|
StdDraw3D.Vector3D <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>An immutable three-dimensional vector class with useful vector operations.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>int</wbr>
|
AIRPLANE_MODE <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>java.awt.Color</wbr>
|
BLACK <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>java.awt.Color</wbr>
|
BLUE <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>java.awt.Color</wbr>
|
CYAN <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>java.awt.Color</wbr>
|
DARK_GRAY <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>int</wbr>
|
FIXED_MODE <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>int</wbr>
|
FPS_MODE <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>java.awt.Color</wbr>
|
GRAY <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>java.awt.Color</wbr>
|
GREEN <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>int</wbr>
|
IMMERSIVE_MODE <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>java.awt.Color</wbr>
|
LIGHT_GRAY <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>int</wbr>
|
LOOK_MODE <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>java.awt.Color</wbr>
|
MAGENTA <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>java.awt.Color</wbr>
|
ORANGE <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>int</wbr>
|
ORBIT_MODE <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>java.awt.Color</wbr>
|
PINK <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>java.awt.Color</wbr>
|
RED <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>java.awt.Color</wbr>
|
WHITE <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>java.awt.Color</wbr>
|
YELLOW <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
<wbr>void</wbr>
|
actionPerformed(java.awt.event.ActionEvent<wbr>e)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Deprecated.<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
addFog(java.awt.Color<wbr>col, double<wbr>frontDistance, double<wbr>backDistance)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Light.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Light</a></wbr>
|
ambientLight(java.awt.Color<wbr>col)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Adds ambient light of color col.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
box(double<wbr>x, double<wbr>y, double<wbr>z, double<wbr>w,
double<wbr>h, double<wbr>d)</wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a box at (x, y, z) with dimensions (w, h, d).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
box(double<wbr>x, double<wbr>y,
double<wbr>z, double<wbr>w, double<wbr>h, double<wbr>d, double<wbr>xA, double<wbr>yA, double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a box at (x, y, z) with dimensions (w, h, d) and axial rotations (xA, yA, zA).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
box(double<wbr>x,
double<wbr>y, double<wbr>z, double<wbr>w, double<wbr>h, double<wbr>d, double<wbr>xA, double<wbr>yA, double<wbr>zA, String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a box at (x, y, z) with dimensions (w, h, d), axial rotations (xA, yA, zA), and a texture from imageURL.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
box(double<wbr>x, double<wbr>y, double<wbr>z,
double<wbr>w, double<wbr>h, double<wbr>d, String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a box at (x, y, z) with dimensions (w, h, d) and a texture from imageURL.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Camera.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Camera</a></wbr>
|
camera() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Returns the Camera object.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
clear() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Clears the entire on the next call of show().</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
clear(java.awt.Color<wbr>color)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
clear3D() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Clears the 3D world on the screen for the next call of show();</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
clearFog() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
clearLight() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Removes all current lighting from the scene.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
clearOverlay() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Clears the 2D overlay for the next call of show();</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
clearSound() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
coloredModel(String<wbr>filename)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
coloredModel(String<wbr>filename, boolean<wbr>resize)</wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
combine(StdDraw3D.Shape...<wbr>shapes)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Combines any number of shapes into one shape and returns it.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
<wbr>void</wbr>
|
componentHidden(java.awt.event.ComponentEvent<wbr>e)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Deprecated.<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
<wbr>void</wbr>
|
componentMoved(java.awt.event.ComponentEvent<wbr>e)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Deprecated.<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
<wbr>void</wbr>
|
componentResized(java.awt.event.ComponentEvent<wbr>e)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Deprecated.<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
<wbr>void</wbr>
|
componentShown(java.awt.event.ComponentEvent<wbr>e)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Deprecated.<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
cone(double<wbr>x, double<wbr>y, double<wbr>z, double<wbr>r, double<wbr>h)</wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a cone at (x, y, z) with radius r and height h.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
cone(double<wbr>x, double<wbr>y, double<wbr>z,
double<wbr>r, double<wbr>h, double<wbr>xA, double<wbr>yA, double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a cone at (x, y, z) with radius r, height h, and axial rotations (xA, yA, zA).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
cone(double<wbr>x,
double<wbr>y, double<wbr>z, double<wbr>r, double<wbr>h, double<wbr>xA, double<wbr>yA, double<wbr>zA, String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a cone at (x, y, z) with radius r, height h, axial rotations (xA, yA, zA), and a texture from imageURL.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
cone(double<wbr>x, double<wbr>y, double<wbr>z,
double<wbr>r, double<wbr>h, String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a cone at (x, y, z) with radius r, height h, and a texture from imageURL.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
copy(StdDraw3D.Shape<wbr>shape)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Returns an identical copy of a Shape that can be controlled independently.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
cube(double<wbr>x, double<wbr>y, double<wbr>z, double<wbr>r)</wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a cube at (x, y, z) with radius r.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
cube(double<wbr>x, double<wbr>y, double<wbr>z,
double<wbr>r, double<wbr>xA, double<wbr>yA, double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a cube at (x, y, z) with radius r and axial rotations (xA, yA, zA).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
cube(double<wbr>x, double<wbr>y,
double<wbr>z, double<wbr>r, double<wbr>xA, double<wbr>yA, double<wbr>zA, String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a cube at (x, y, z) with radius r, axial rotations (xA, yA, zA), and a texture from imageURL.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
cube(double<wbr>x, double<wbr>y, double<wbr>z, double<wbr>r,
String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a cube at (x, y, z) with radius r and a texture from imageURL.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
cylinder(double<wbr>x, double<wbr>y, double<wbr>z, double<wbr>r,
double<wbr>h)</wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a cylinder at (x, y, z) with radius r and height h.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
cylinder(double<wbr>x, double<wbr>y,
double<wbr>z, double<wbr>r, double<wbr>h, double<wbr>xA, double<wbr>yA, double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a cylinder at (x, y, z) with radius r, height h, and axial rotations (xA, yA, zA).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
cylinder(double<wbr>x,
double<wbr>y, double<wbr>z, double<wbr>r, double<wbr>h, double<wbr>xA, double<wbr>yA, double<wbr>zA, String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a cylinder at (x, y, z) with radius r, height h, axial rotations (xA, yA, zA), and a texture from imageURL.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
cylinder(double<wbr>x, double<wbr>y, double<wbr>z,
double<wbr>r, double<wbr>h, String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a cylinder at (x, y, z) with radius r, height h, and a texture from imageURL.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Light.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Light</a></wbr>
|
directionalLight(double<wbr>x, double<wbr>y, double<wbr>z,
java.awt.Color<wbr>col)</wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Adds a directional light of color col which shines in the direction vector (x, y, z)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Light.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Light</a></wbr>
|
directionalLight(StdDraw3D.Vector3D<wbr>dir,
java.awt.Color<wbr>col)</wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Adds a directional light of color col which appears to come from (x, y, z).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
ellipsoid(double<wbr>x, double<wbr>y, double<wbr>z,
double<wbr>w, double<wbr>h, double<wbr>d)</wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws an ellipsoid at (x, y, z) with dimensions (w, h, d).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
ellipsoid(double<wbr>x,
double<wbr>y, double<wbr>z, double<wbr>w, double<wbr>h, double<wbr>d, double<wbr>xA, double<wbr>yA, double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws an ellipsoid at (x, y, z) with dimensions (w, h, d) and axial rotations (xA, yA, zA).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
ellipsoid(double<wbr>x,
double<wbr>y, double<wbr>z, double<wbr>w, double<wbr>h, double<wbr>d, double<wbr>xA, double<wbr>yA, double<wbr>zA, String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws an ellipsoid at (x, y, z) with dimensions (w, h, d), axial rotations (xA, yA, zA), and a texture from imageURL.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
ellipsoid(double<wbr>x, double<wbr>y,
double<wbr>z, double<wbr>w, double<wbr>h, double<wbr>d, String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws an ellipsoid at (x, y, z) with dimensions (w, h, d) and a texture from imageURL.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
finished() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Allows for camera navigation of a scene without redrawing.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
fullscreen() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>boolean</wbr>
|
getAntiAliasing() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Returns true if anti-aliasing is enabled.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Vector3D.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Vector3D</a></wbr>
|
getCameraDirection() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>int</wbr>
|
getCameraMode() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Gets the current camera mode.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Vector3D.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Vector3D</a></wbr>
|
getCameraOrientation() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Vector3D.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Vector3D</a></wbr>
|
getCameraPosition() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>java.awt.Font</wbr>
|
getFont() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Gets the current drawing Font.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>int</wbr>
|
getNumDivisions() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Gets the number of triangular divisons of curved objects.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Vector3D.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Vector3D</a></wbr>
|
getOrbitCenter() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>java.awt.Color</wbr>
|
getPenColor() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Returns the current pen color.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>float</wbr>
|
getPenRadius() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Gets the current pen radius.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>boolean</wbr>
|
hasNextKeyTyped() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Has the user typed a key?</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>boolean</wbr>
|
isKeyPressed(int<wbr>key)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Is the given key currently pressed down? The keys correnspond to physical keys, not characters.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
<wbr>void</wbr>
|
keyPressed(java.awt.event.KeyEvent<wbr>e)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Deprecated.<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
<wbr>void</wbr>
|
keyReleased(java.awt.event.KeyEvent<wbr>e)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Deprecated.<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
<wbr>void</wbr>
|
keyTyped(java.awt.event.KeyEvent<wbr>e)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Deprecated.<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
line(double<wbr>x1, double<wbr>y1, double<wbr>z1, double<wbr>x2,
double<wbr>y2, double<wbr>z2)</wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a single line from (x1, y1, z1) to (x2, y2, z2).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
lines(double[]<wbr>x, double[]<wbr>y, double[]<wbr>z)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a set of connected lines.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
lines(double[]<wbr>x, double[]<wbr>y, double[]<wbr>z, java.awt.Color[]<wbr>colors)</wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a set of connected lines.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
loadScene3D(String<wbr>filename)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
main(String[]<wbr>args)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
model(String<wbr>filename)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
model(String<wbr>filename, boolean<wbr>resize)</wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>boolean</wbr>
|
mouse1Pressed() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Is the mouse1 button pressed down?</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>boolean</wbr>
|
mouse2Pressed() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Is the mouse2 button pressed down?</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>boolean</wbr>
|
mouse3Pressed() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Is the mouse3 button pressed down?</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
<wbr>void</wbr>
|
mouseClicked(java.awt.event.MouseEvent<wbr>e)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Deprecated.<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
<wbr>void</wbr>
|
mouseDragged(java.awt.event.MouseEvent<wbr>e)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Deprecated.<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
<wbr>void</wbr>
|
mouseEntered(java.awt.event.MouseEvent<wbr>e)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Deprecated.<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
<wbr>void</wbr>
|
mouseExited(java.awt.event.MouseEvent<wbr>e)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Deprecated.<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
<wbr>void</wbr>
|
mouseMoved(java.awt.event.MouseEvent<wbr>e)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Deprecated.<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>boolean</wbr>
|
mousePressed() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Is any mouse button pressed?</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
<wbr>void</wbr>
|
mousePressed(java.awt.event.MouseEvent<wbr>e)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Deprecated.<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
<wbr>void</wbr>
|
mouseReleased(java.awt.event.MouseEvent<wbr>e)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Deprecated.<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
<wbr>void</wbr>
|
mouseWheelMoved(java.awt.event.MouseWheelEvent<wbr>e)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Deprecated.<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>double</wbr>
|
mouseX() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Where is the mouse?</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>double</wbr>
|
mouseY() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Where is the mouse?</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>char</wbr>
|
nextKeyTyped() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>What is the next key that was typed by the user?</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayArc(double<wbr>x, double<wbr>y, double<wbr>r, double<wbr>angle1,
double<wbr>angle2)</wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws an arc of radius r, centered on (x, y), from angle1 to angle2 (in degrees).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayCircle(double<wbr>x, double<wbr>y, double<wbr>r)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a circle of radius r, centered on (x, y).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayEllipse(double<wbr>x, double<wbr>y, double<wbr>semiMajorAxis,
double<wbr>semiMinorAxis)</wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws an ellipse with given semimajor and semiminor axes, centered on (x, y).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayFilledCircle(double<wbr>x, double<wbr>y, double<wbr>r)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a filled circle of radius r, centered on (x, y).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayFilledEllipse(double<wbr>x, double<wbr>y, double<wbr>semiMajorAxis,
double<wbr>semiMinorAxis)</wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a filled ellipse with given semimajor and semiminor axes, centered on (x, y).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayFilledPolygon(double[]<wbr>x, double[]<wbr>y)</wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a filled polygon with the given (x[i], y[i]) coordinates.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayFilledRectangle(double<wbr>x, double<wbr>y, double<wbr>halfWidth,
double<wbr>halfHeight)</wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a filled rectangle of given half width and half height, centered on (x, y).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayFilledSquare(double<wbr>x, double<wbr>y, double<wbr>r)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a filled square of side length 2r, centered on (x, y).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayLine(double<wbr>x0, double<wbr>y0, double<wbr>x1, double<wbr>y1)</wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a line from (x0, y0) to (x1, y1).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayPicture(double<wbr>x, double<wbr>y, String<wbr>s)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a picture (gif, jpg, or png) centered on (x, y).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayPicture(double<wbr>x, double<wbr>y, String<wbr>s,
double<wbr>degrees)</wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a picture (gif, jpg, or png) centered on (x, y), rotated given number of degrees.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayPicture(double<wbr>x, double<wbr>y, String<wbr>s,
double<wbr>w, double<wbr>h)</wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draw picture (gif, jpg, or png) centered on (x, y), rescaled to w-by-h.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayPicture(double<wbr>x, double<wbr>y,
String<wbr>s, double<wbr>w, double<wbr>h, double<wbr>degrees)</wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draw picture (gif, jpg, or png) centered on (x, y), rotated given number of degrees, rescaled to w-by-h.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayPixel(double<wbr>x, double<wbr>y)</wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws one pixel at (x, y).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayPoint(double<wbr>x, double<wbr>y)</wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a point at (x, y).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayPolygon(double[]<wbr>x, double[]<wbr>y)</wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a polygon with the given (x[i], y[i]) coordinates.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayRectangle(double<wbr>x, double<wbr>y, double<wbr>halfWidth,
double<wbr>halfHeight)</wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a rectangle of given half width and half height, centered on (x, y).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlaySquare(double<wbr>x, double<wbr>y, double<wbr>r)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a square of side length 2r, centered on (x, y).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayText(double<wbr>x, double<wbr>y, String<wbr>text)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws the given text as stationary on the window at (x, y).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayText(double<wbr>x, double<wbr>y, String<wbr>text,
double<wbr>degrees)</wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Writes the given text string in the current font, centered on (x, y) and rotated by the specified number of degrees.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayTextLeft(double<wbr>x, double<wbr>y, String<wbr>text)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Write the given text string in the current font, left-aligned at (x, y).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
overlayTextRight(double<wbr>x, double<wbr>y, String<wbr>text)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Write the given text string in the current font, right-aligned at (x, y).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
pause(int<wbr>time)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Pauses for a given amount of milliseconds.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
playAmbientSound(String<wbr>filename)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
playAmbientSound(String<wbr>filename, boolean<wbr>loop)</wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
point(double<wbr>x, double<wbr>y, double<wbr>z)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a single point at (x, y, z).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Light.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Light</a></wbr>
|
pointLight(double<wbr>x, double<wbr>y, double<wbr>z, java.awt.Color<wbr>col)</wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Light.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Light</a></wbr>
|
pointLight(double<wbr>x, double<wbr>y, double<wbr>z,
java.awt.Color<wbr>col, double<wbr>power)</wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Light.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Light</a></wbr>
|
pointLight(StdDraw3D.Vector3D<wbr>origin,
java.awt.Color<wbr>col)</wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Light.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Light</a></wbr>
|
pointLight(StdDraw3D.Vector3D<wbr>origin,
java.awt.Color<wbr>col, double<wbr>power)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
points(double[]<wbr>x, double[]<wbr>y, double[]<wbr>z)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a set of points at the given coordinates.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
points(double[]<wbr>x, double[]<wbr>y, double[]<wbr>z,
java.awt.Color[]<wbr>colors)</wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a set of points at the given coordinates with the given colors.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
polygon(double[]<wbr>x, double[]<wbr>y, double[]<wbr>z)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a filled polygon with the given vertices.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>java.awt.Color</wbr>
|
randomColor() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Returns a randomly generated color.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Vector3D.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Vector3D</a></wbr>
|
randomDirection() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Returns a randomly generated normalized Vector3D.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>java.awt.Color</wbr>
|
randomRainbowColor() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Returns a randomly generated color on the rainbow.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
save(String<wbr>filename)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Saves to file - suffix must be png, jpg, or gif.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
saveScene3D(String<wbr>filename)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setAntiAliasing(boolean<wbr>enabled)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets anti-aliasing on or off.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setBackground(java.awt.Color<wbr>color)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the background color to the given color.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setBackground(String<wbr>imageURL)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the background image to the given filename, scaled to fit the window.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setBackgroundSphere(String<wbr>imageURL)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the background to the given image file.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setCamera(double<wbr>x, double<wbr>y, double<wbr>z,
double<wbr>xAngle, double<wbr>yAngle, double<wbr>zAngle)</wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setCamera(StdDraw3D.Vector3D<wbr>position,<span style="word-wrap:normal; word-break:normal"><wbr></wbr></span><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Vector3D.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Vector3D</a><wbr>angles)</wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setCameraDirection(double<wbr>x, double<wbr>y, double<wbr>z)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setCameraDirection(StdDraw3D.Vector3D<wbr>direction)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setCameraMode() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the default camera mode.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setCameraMode(int<wbr>mode)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the current camera mode.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setCameraOrientation(double<wbr>xAngle, double<wbr>yAngle, double<wbr>zAngle)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setCameraOrientation(StdDraw3D.Vector3D<wbr>angles)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setCameraPosition(double<wbr>x, double<wbr>y, double<wbr>z)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setCameraPosition(StdDraw3D.Vector3D<wbr>position)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setCanvasSize(int<wbr>w, int<wbr>h)</wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the window size to w-by-h pixels.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setDefaultLight() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Adds the default lighting to the scene, called automatically at startup.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setFont() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the default font.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setFont(java.awt.Font<wbr>f)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the font to draw text with.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setInfoDisplay(boolean<wbr>enabled)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setNumDivisions(int<wbr>N)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the number of triangular divisons of curved objects.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setOrbitCenter(double<wbr>x, double<wbr>y, double<wbr>z)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the center of rotation for the camera mode ORBIT_MODE.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setOrbitCenter(StdDraw3D.Vector3D<wbr>v)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the center of rotation for the camera mode ORBIT_MODE.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setParallelProjection() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the projection mode to orthographic projection.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setPenColor() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the pen color to the default.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setPenColor(java.awt.Color<wbr>col)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the pen color to the given color.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setPenColor(java.awt.Color<wbr>col, int<wbr>alpha)</wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the pen color to the given color and transparency.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setPenColor(int<wbr>r, int<wbr>g, int<wbr>b)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setPenRadius() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the pen radius to the default value.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setPenRadius(double<wbr>r)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the pen radius to the given value.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setPerspectiveProjection<wbr></wbr>() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the projection mode to perspective projection with a default field of view.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setPerspectiveProjection<wbr></wbr>(double<wbr>fov)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the projection mode to perspective projection with the given field of view.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setScale() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the default scale for all three dimensions.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
setScale(double<wbr>minimum, double<wbr>maximum)</wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Sets the scale for all three dimensions.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
show() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Renders to the screen, but does not pause.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
show(int<wbr>time)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Renders drawn 3D objects to the screen and draws the 2D overlay, then pauses for the given time.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
show3D() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
show3D(int<wbr>time)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Renders the drawn 3D objects to the screen, but not the overlay.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
showOverlay() <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr>void</wbr>
|
showOverlay(int<wbr>time)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Displays the drawn overlay onto the screen.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
sphere(double<wbr>x, double<wbr>y, double<wbr>z, double<wbr>r)</wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a sphere at (x, y, z) with radius r.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
sphere(double<wbr>x, double<wbr>y, double<wbr>z,
double<wbr>r, double<wbr>xA, double<wbr>yA, double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a sphere at (x, y, z) with radius r and axial rotations (xA, yA, zA).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
sphere(double<wbr>x, double<wbr>y,
double<wbr>z, double<wbr>r, double<wbr>xA, double<wbr>yA, double<wbr>zA, String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a sphere at (x, y, z) with radius r, axial rotations (xA, yA, zA), and a texture from imageURL.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
sphere(double<wbr>x, double<wbr>y, double<wbr>z, double<wbr>r,
String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a sphere at (x, y, z) with radius r and a texture from imageURL.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
<wbr>void</wbr>
|
stateChanged(javax.swing.event.ChangeEvent<wbr>e)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
text3D(double<wbr>x, double<wbr>y, double<wbr>z, String<wbr>text)</wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a 3D text object at (x, y, z).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
text3D(double<wbr>x, double<wbr>y,
double<wbr>z, String<wbr>text, double<wbr>xA, double<wbr>yA, double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a 3D text object at (x, y, z) with Euler rotation angles (xA, yA, zA).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
triangles(double[][]<wbr>points)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws triangles which are defined by x1=points[i][0], y1=points[i][1], z1=points[i][2], x2=points[i][3], etc.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
triangles(double[][]<wbr>points, java.awt.Color[]<wbr>colors)</wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a set of triangles, each with the specified color.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
tube(double<wbr>x1, double<wbr>y1, double<wbr>z1,
double<wbr>x2, double<wbr>y2, double<wbr>z2, double<wbr>r)</wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a cylindrical tube of radius r from vertex (x1, y1, z1) to vertex (x2, y2, z2).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
tubes(double[]<wbr>x, double[]<wbr>y, double[]<wbr>z, double<wbr>r)</wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a series of cylindrical tubes of radius r, with vertices (x, y, z).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
tubes(double[]<wbr>x, double[]<wbr>y, double[]<wbr>z,
double<wbr>r, java.awt.Color[]<wbr>colors)</wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a series of cylindrical tubes of radius r, with vertices (x, y, z) and the given colors.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
<wbr>void</wbr>
|
windowGainedFocus(java.awt.event.WindowEvent<wbr>e)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Deprecated.<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
<wbr>void</wbr>
|
windowLostFocus(java.awt.event.WindowEvent<wbr>e)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Deprecated.<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
wireBox(double<wbr>x, double<wbr>y, double<wbr>z,
double<wbr>w, double<wbr>h, double<wbr>d)</wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a wireframe box at (x, y, z) with dimensions (w, h, d).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
wireBox(double<wbr>x,
double<wbr>y, double<wbr>z, double<wbr>w, double<wbr>h, double<wbr>d, double<wbr>xA, double<wbr>yA, double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a wireframe box at (x, y, z) with dimensions (w, h, d) and axial rotations (xA, yA, zA).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
wireCone(double<wbr>x, double<wbr>y, double<wbr>z, double<wbr>r,
double<wbr>h)</wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a wireframe cone at (x, y, z) with radius r and height h.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
wireCone(double<wbr>x, double<wbr>y,
double<wbr>z, double<wbr>r, double<wbr>h, double<wbr>xA, double<wbr>yA, double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a wireframe cone at (x, y, z) with radius r, height h, and axial rotations (xA, yA, zA).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
wireCube(double<wbr>x, double<wbr>y, double<wbr>z, double<wbr>r)</wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a wireframe cube at (x, y, z) with radius r.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
wireCube(double<wbr>x, double<wbr>y, double<wbr>z,
double<wbr>r, double<wbr>xA, double<wbr>yA, double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a wireframe cube at (x, y, z) with radius r and axial rotations (xA, yA, zA).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
wireCylinder(double<wbr>x, double<wbr>y, double<wbr>z,
double<wbr>r, double<wbr>h)</wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a wireframe cylinder at (x, y, z) with radius r and height h.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
wireCylinder(double<wbr>x,
double<wbr>y, double<wbr>z, double<wbr>r, double<wbr>h, double<wbr>xA, double<wbr>yA, double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a wireframe cylinder at (x, y, z) with radius r, height h, and axial rotations (xA, yA, zA).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
wireEllipsoid(double<wbr>x, double<wbr>y, double<wbr>z,
double<wbr>w, double<wbr>h, double<wbr>d)</wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a wireframe ellipsoid at (x, y, z) with dimensions (w, h, d).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
wireEllipsoid(double<wbr>x,
double<wbr>y, double<wbr>z, double<wbr>w, double<wbr>h, double<wbr>d, double<wbr>xA, double<wbr>yA, double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a wireframe ellipsoid at (x, y, z) with dimensions (w, h, d) and axial rotations (xA, yA, zA).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
wirePolygon(double[]<wbr>x, double[]<wbr>y, double[]<wbr>z)</wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws the triangulated outline of a polygon with the given vertices.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
wireSphere(double<wbr>x, double<wbr>y, double<wbr>z, double<wbr>r)</wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a wireframe sphere at (x, y, z) with radius r.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
wireSphere(double<wbr>x, double<wbr>y,
double<wbr>z, double<wbr>r, double<wbr>xA, double<wbr>yA, double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a wireframe sphere at (x, y, z) with radius r and axial rotations (xA, yA, zA).</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
wireTriangles(double[][]<wbr>points)</wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
static<wbr><a title="class in <Unnamed>" href="http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.Shape.html" style="text-decoration:none; color:rgb(40,100,70)">StdDraw3D.Shape</a></wbr>
|
wireTriangles(double[][]<wbr>points, java.awt.Color[]<wbr>colors)</wbr></wbr> <wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Draws a set of wireframetriangles, each with the specified color.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
|
BLACK
public static final java.awt.Color BLACK
BLUE
public static final java.awt.Color BLUE
CYAN
public static final java.awt.Color CYAN
DARK_GRAY
public static final java.awt.Color DARK_GRAY
GRAY
public static final java.awt.Color GRAY
GREEN
public static final java.awt.Color GREEN
LIGHT_GRAY
public static final java.awt.Color LIGHT_GRAY
MAGENTA
public static final java.awt.Color MAGENTA
ORANGE
public static final java.awt.Color ORANGE
PINK
public static final java.awt.Color PINK
RED
public static final java.awt.Color RED
WHITE
public static final java.awt.Color WHITE
YELLOW
public static final java.awt.Color YELLOW
ORBIT_MODE
public static final int ORBIT_MODE
FPS_MODE
public static final int FPS_MODE
AIRPLANE_MODE
public static final int AIRPLANE_MODE
LOOK_MODE
public static final int LOOK_MODE
FIXED_MODE
public static final int FIXED_MODE
IMMERSIVE_MODE
public static final int IMMERSIVE_MODE
stateChanged
public void stateChanged(javax.swing.event.ChangeEvent<wbr>e)</wbr>
stateChanged
<wbr></wbr>in interface<wbr></wbr>javax.swing.event.ChangeListener
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent<wbr>e)</wbr>
actionPerformed
<wbr></wbr>in interface<wbr></wbr>java.awt.event.ActionListener
componentHidden
public void componentHidden(java.awt.event.ComponentEvent<wbr>e)</wbr>
componentHidden
<wbr></wbr>in interface<wbr></wbr>java.awt.event.ComponentListener
componentMoved
public void componentMoved(java.awt.event.ComponentEvent<wbr>e)</wbr>
componentMoved
<wbr></wbr>in interface<wbr></wbr>java.awt.event.ComponentListener
componentShown
public void componentShown(java.awt.event.ComponentEvent<wbr>e)</wbr>
componentShown
<wbr></wbr>in interface<wbr></wbr>java.awt.event.ComponentListener
componentResized
public void componentResized(java.awt.event.ComponentEvent<wbr>e)</wbr>
componentResized
<wbr></wbr>in interface<wbr></wbr>java.awt.event.ComponentListener
windowGainedFocus
public void windowGainedFocus(java.awt.event.WindowEvent<wbr>e)</wbr>
windowGainedFocus
<wbr></wbr>in interface<wbr></wbr>java.awt.event.WindowFocusListener
windowLostFocus
public void windowLostFocus(java.awt.event.WindowEvent<wbr>e)</wbr>
windowLostFocus
<wbr></wbr>in interface<wbr></wbr>java.awt.event.WindowFocusListener
setCanvasSize
public static void setCanvasSize
(int<wbr>w,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>int<wbr>h)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
w
<wbr></wbr>- The width as a number of pixels.h
<wbr></wbr>- The height as a number of pixels.StdDraw3D.Camera
<wbr></wbr>-
RuntimeException if the width or height is 0 or negative.setScale
public static void setScale()
setScale
public static void setScale
(double<wbr>minimum,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>maximum)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
minimum
<wbr></wbr>- The minimum value of each scale.maximum
<wbr></wbr>- The maximum value of each scale.setPenColor
public static void setPenColor
(java.awt.Color<wbr>col,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>int<wbr>alpha)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
col
<wbr></wbr>- The given opaque color.alpha
<wbr></wbr>- The transparency value (0-255).setPenColor
public static void setPenColor()
setPenColor
public static void setPenColor(java.awt.Color<wbr>col)</wbr>
col
<wbr></wbr>- The given color.setPenColor
public static void setPenColor
(int<wbr>r,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>int<wbr>g,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>int<wbr>b)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
getPenColor
public static java.awt.Color getPenColor()
setPenRadius
public static void setPenRadius()
setPenRadius
public static void setPenRadius(double<wbr>r)</wbr>
r
<wbr></wbr>- The pen radius.getPenRadius
public static float getPenRadius()
setFont
public static void setFont()
setFont
public static void setFont(java.awt.Font<wbr>f)</wbr>
f
<wbr></wbr>- The font to set.getFont
public static java.awt.Font getFont()
setInfoDisplay
public static void setInfoDisplay(boolean<wbr>enabled)</wbr>
fullscreen
public static void fullscreen()
setAntiAliasing
public static void setAntiAliasing(boolean<wbr>enabled)</wbr>
enabled
<wbr></wbr>- The state of anti-aliasing.getAntiAliasing
public static boolean getAntiAliasing()
setNumDivisions
public static void setNumDivisions(int<wbr>N)</wbr>
N
<wbr></wbr>- The number of divisions.getNumDivisions
public static int getNumDivisions()
getCameraMode
public static int getCameraMode()
setCameraMode
public static void setCameraMode(int<wbr>mode)</wbr>
--------------------------------------<wbr></wbr>
StdDraw3D.ORBIT_MODE:<wbr></wbr>
Rotates and zooms around a central point.<wbr></wbr>
Mouse Click Left - Orbit<wbr></wbr>
Mouse Click Right - Pan<wbr></wbr>
Mouse Wheel / Alt-Click - Zoom<wbr></wbr>
--------------------------------------<wbr></wbr>
StdDraw3D.FPS_MODE:<wbr></wbr>
First-person-shooter style controls.<wbr></wbr>
Up is always the positive y-axis.<wbr></wbr>
W/Up - Forward<wbr></wbr>
S/Down - Backward<wbr></wbr>
A/Left - Left<wbr></wbr>
D/Right - Right<wbr></wbr>
Q/Page Up - Up<wbr></wbr>
E/Page Down - Down<wbr></wbr>
Mouse - Look<wbr></wbr>
--------------------------------------<wbr></wbr>
StdDraw3D.AIRPLANE_MODE:<wbr></wbr>
Similar to fps_mode, but can be oriented<wbr></wbr>
with up in any direction.<wbr></wbr>
W/Up - Forward<wbr></wbr>
S/Down - Backward<wbr></wbr>
A/Left - Left<wbr></wbr>
D/Right - Right<wbr></wbr>
Q/Page Up - Rotate CCW<wbr></wbr>
E/Page Down - Rotate CW<wbr></wbr>
Mouse - Look<wbr></wbr>
--------------------------------------<wbr></wbr>
StdDraw3D.LOOK_MODE:<wbr></wbr>
No movement, but uses mouse to look around.<wbr></wbr>
Mouse - Look<wbr></wbr>
--------------------------------------<wbr></wbr>
StdDraw3D.FIXED_MODE:<wbr></wbr>
No movement or looking.<wbr></wbr>
--------------------------------------<wbr></wbr>
mode
<wbr></wbr>- The camera mode.setCameraMode
public static void setCameraMode()
setOrbitCenter
public static void setOrbitCenter
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
setOrbitCenter
getOrbitCenter
setPerspectiveProjection<wbr></wbr>
public static void setPerspectiveProjection<wbr>()</wbr>
setPerspectiveProjection<wbr></wbr>
public static void setPerspectiveProjection<wbr>(double<wbr>fov)</wbr></wbr>
fov
<wbr></wbr>- The field of view to use. Try [0.5-3.0].setParallelProjection
public static void setParallelProjection()
mousePressed
public static boolean mousePressed()
mouse1Pressed
public static boolean mouse1Pressed()
mouse2Pressed
public static boolean mouse2Pressed()
mouse3Pressed
public static boolean mouse3Pressed()
mouseX
public static double mouseX()
mouseY
public static double mouseY()
mouseClicked
public void mouseClicked(java.awt.event.MouseEvent<wbr>e)</wbr>
mouseClicked
<wbr></wbr>in interface<wbr></wbr>java.awt.event.MouseListener
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent<wbr>e)</wbr>
mouseEntered
<wbr></wbr>in interface<wbr></wbr>java.awt.event.MouseListener
mouseExited
public void mouseExited(java.awt.event.MouseEvent<wbr>e)</wbr>
mouseExited
<wbr></wbr>in interface<wbr></wbr>java.awt.event.MouseListener
mousePressed
public void mousePressed(java.awt.event.MouseEvent<wbr>e)</wbr>
mousePressed
<wbr></wbr>in interface<wbr></wbr>java.awt.event.MouseListener
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent<wbr>e)</wbr>
mouseReleased
<wbr></wbr>in interface<wbr></wbr>java.awt.event.MouseListener
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent<wbr>e)</wbr>
mouseDragged
<wbr></wbr>in interface<wbr></wbr>java.awt.event.MouseMotionListener
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent<wbr>e)</wbr>
mouseMoved
<wbr></wbr>in interface<wbr></wbr>java.awt.event.MouseMotionListener
mouseWheelMoved
public void mouseWheelMoved(java.awt.event.MouseWheelEvent<wbr>e)</wbr>
mouseWheelMoved
<wbr></wbr>in interface<wbr></wbr>java.awt.event.MouseWheelListener
hasNextKeyTyped
public static boolean hasNextKeyTyped()
nextKeyTyped
public static char nextKeyTyped()
isKeyPressed
public static boolean isKeyPressed(int<wbr>key)</wbr>
key
<wbr></wbr>- The given keykeyTyped
public void keyTyped(java.awt.event.KeyEvent<wbr>e)</wbr>
keyTyped
<wbr></wbr>in interface<wbr></wbr>java.awt.event.KeyListener
keyPressed
public void keyPressed(java.awt.event.KeyEvent<wbr>e)</wbr>
keyPressed
<wbr></wbr>in interface<wbr></wbr>java.awt.event.KeyListener
keyReleased
public void keyReleased(java.awt.event.KeyEvent<wbr>e)</wbr>
keyReleased
<wbr></wbr>in interface<wbr></wbr>java.awt.event.KeyListener
setBackground
public static void setBackground(java.awt.Color<wbr>color)</wbr>
color
<wbr></wbr>- The color to set the background as.setBackground
public static void setBackground(String<wbr>imageURL)</wbr>
imageURL
<wbr></wbr>- The filename for the background image.setBackgroundSphere
public static void setBackgroundSphere(String<wbr>imageURL)</wbr>
imageURL
<wbr></wbr>- The background image to use.clearSound
public static void clearSound()
playAmbientSound
public static void playAmbientSound(String<wbr>filename)</wbr>
playAmbientSound
public static void playAmbientSound
(String<wbr>filename,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>boolean<wbr>loop)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
clearFog
public static void clearFog()
addFog
public static void addFog
(java.awt.Color<wbr>col,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>frontDistance,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>backDistance)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
clearLight
public static void clearLight()
setDefaultLight
public static void setDefaultLight()
directionalLight
public staticStdDraw3D.LightdirectionalLight(StdDraw3D.Vector3D
<wbr>dir,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>java.awt.Color<wbr>col)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
directionalLight
public staticStdDraw3D.LightdirectionalLight
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>java.awt.Color<wbr>col)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
ambientLight
pointLight
public staticStdDraw3D.LightpointLight(StdDraw3D.Vector3D
<wbr>origin,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>java.awt.Color<wbr>col)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
pointLight
public staticStdDraw3D.LightpointLight
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>java.awt.Color<wbr>col)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
pointLight
public staticStdDraw3D.LightpointLight(StdDraw3D.Vector3D
<wbr>origin,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>java.awt.Color<wbr>col,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>power)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
pointLight
public staticStdDraw3D.LightpointLight
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>java.awt.Color<wbr>col,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>power)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
randomColor
public static java.awt.Color randomColor()
randomRainbowColor
public static java.awt.Color randomRainbowColor()
randomDirection
clear
public static void clear()
clear
public static void clear(java.awt.Color<wbr>color)</wbr>
clear3D
public static void clear3D()
clearOverlay
public static void clearOverlay()
pause
public static void pause(int<wbr>time)</wbr>
time
<wbr></wbr>- The number of milliseconds to pause for.finished
public static void finished()
show
public static void show()
show
public static void show(int<wbr>time)</wbr>
time
<wbr></wbr>- The number of milliseconds to pause for.showOverlay
public static void showOverlay()
showOverlay
public static void showOverlay(int<wbr>time)</wbr>
show3D
public static void show3D()
show3D
public static void show3D(int<wbr>time)</wbr>
sphere
public staticStdDraw3D.Shapesphere
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
sphere
public staticStdDraw3D.Shapesphere
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
sphere
public staticStdDraw3D.Shapesphere
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
sphere
public staticStdDraw3D.Shapesphere
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
wireSphere
public staticStdDraw3D.ShapewireSphere
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
wireSphere
public staticStdDraw3D.ShapewireSphere
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
ellipsoid
public staticStdDraw3D.Shapeellipsoid
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>w,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>d)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
ellipsoid
public staticStdDraw3D.Shapeellipsoid
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>w,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>d,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
ellipsoid
public staticStdDraw3D.Shapeellipsoid
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>w,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>d,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
ellipsoid
public staticStdDraw3D.Shapeellipsoid
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>w,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>d,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
wireEllipsoid
public staticStdDraw3D.ShapewireEllipsoid
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>w,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>d)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
wireEllipsoid
public staticStdDraw3D.ShapewireEllipsoid
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>w,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>d,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
cube
public staticStdDraw3D.Shapecube
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
cube
public staticStdDraw3D.Shapecube
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
cube
public staticStdDraw3D.Shapecube
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
cube
public staticStdDraw3D.Shapecube
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
wireCube
public staticStdDraw3D.ShapewireCube
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
wireCube
public staticStdDraw3D.ShapewireCube
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
box
public staticStdDraw3D.Shapebox
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>w,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>d)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
box
public staticStdDraw3D.Shapebox
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>w,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>d,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
box
public staticStdDraw3D.Shapebox
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>w,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>d,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
box
public staticStdDraw3D.Shapebox
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>w,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>d,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
wireBox
public staticStdDraw3D.ShapewireBox
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>w,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>d)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
wireBox
public staticStdDraw3D.ShapewireBox
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>w,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>d,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
cylinder
public staticStdDraw3D.Shapecylinder
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
cylinder
public staticStdDraw3D.Shapecylinder
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
cylinder
public staticStdDraw3D.Shapecylinder
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
cylinder
public staticStdDraw3D.Shapecylinder
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
wireCylinder
public staticStdDraw3D.ShapewireCylinder
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
wireCylinder
public staticStdDraw3D.ShapewireCylinder
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
cone
public staticStdDraw3D.Shapecone
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
cone
public staticStdDraw3D.Shapecone
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
cone
public staticStdDraw3D.Shapecone
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
cone
public staticStdDraw3D.Shapecone
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>imageURL)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
wireCone
public staticStdDraw3D.ShapewireCone
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
wireCone
public staticStdDraw3D.ShapewireCone
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
point
public staticStdDraw3D.Shapepoint
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
points
public staticStdDraw3D.Shapepoints
(double[]<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double[]<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double[]<wbr>z)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
points
public staticStdDraw3D.Shapepoints
(double[]<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double[]<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double[]<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>java.awt.Color[]<wbr>colors)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
line
public staticStdDraw3D.Shapeline
(double<wbr>x1,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y1,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z1,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>x2,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y2,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z2)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
lines
public staticStdDraw3D.Shapelines
(double[]<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double[]<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double[]<wbr>z)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
lines
public staticStdDraw3D.Shapelines
(double[]<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double[]<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double[]<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>java.awt.Color[]<wbr>colors)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
tube
public staticStdDraw3D.Shapetube
(double<wbr>x1,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y1,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z1,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>x2,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y2,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z2,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
tubes
public staticStdDraw3D.Shapetubes
(double[]<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double[]<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double[]<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
tubes
public staticStdDraw3D.Shapetubes
(double[]<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double[]<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double[]<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>java.awt.Color[]<wbr>colors)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
polygon
public staticStdDraw3D.Shapepolygon
(double[]<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double[]<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double[]<wbr>z)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
wirePolygon
public staticStdDraw3D.ShapewirePolygon
(double[]<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double[]<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double[]<wbr>z)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
triangles
points
<wbr></wbr>- an array of the points to be connected. The first dimension is unspecified, but the second
dimension should be 9 (the 3-space coordinates of each vertex)wireTriangles
triangles
public staticStdDraw3D.Shapetriangles
(double[][]<wbr>points,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>java.awt.Color[]<wbr>colors)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
wireTriangles
public staticStdDraw3D.ShapewireTriangles
(double[][]<wbr>points,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>java.awt.Color[]<wbr>colors)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
text3D
public staticStdDraw3D.Shapetext3D
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>text)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
text3D
public staticStdDraw3D.Shapetext3D
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>text,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yA,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zA)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
model
model
public staticStdDraw3D.Shapemodel
(String<wbr>filename,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>boolean<wbr>resize)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
coloredModel
coloredModel
public staticStdDraw3D.ShapecoloredModel
(String<wbr>filename,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>boolean<wbr>resize)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayPixel
public static void overlayPixel
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayPoint
public static void overlayPoint
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayLine
public static void overlayLine
(double<wbr>x0,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y0,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>x1,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y1)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayCircle
public static void overlayCircle
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayFilledCircle
public static void overlayFilledCircle
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayEllipse
public static void overlayEllipse
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>semiMajorAxis,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>semiMinorAxis)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayFilledEllipse
public static void overlayFilledEllipse
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>semiMajorAxis,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>semiMinorAxis)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayArc
public static void overlayArc
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>angle1,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>angle2)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlaySquare
public static void overlaySquare
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayFilledSquare
public static void overlayFilledSquare
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>r)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayRectangle
public static void overlayRectangle
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>halfWidth,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>halfHeight)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayFilledRectangle
public static void overlayFilledRectangle
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>halfWidth,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>halfHeight)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayPolygon
public static void overlayPolygon
(double[]<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double[]<wbr>y)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayFilledPolygon
public static void overlayFilledPolygon
(double[]<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double[]<wbr>y)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayText
public static void overlayText
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>text)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayText
public static void overlayText
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>text,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>degrees)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayTextLeft
public static void overlayTextLeft
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>text)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayTextRight
public static void overlayTextRight
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>text)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayPicture
public static void overlayPicture
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>s)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayPicture
public static void overlayPicture
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>s,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>degrees)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayPicture
public static void overlayPicture
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>s,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>w,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
overlayPicture
public static void overlayPicture
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String<wbr>s,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>w,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>h,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>degrees)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
save
public static void save(String<wbr>filename)</wbr>
filename
<wbr></wbr>- The name of the file with one of the required suffixes.saveScene3D
public static void saveScene3D(String<wbr>filename)</wbr>
loadScene3D
public static void loadScene3D(String<wbr>filename)</wbr>
combine
copy
getCameraPosition
getCameraOrientation
getCameraDirection
setCameraPosition
public static void setCameraPosition
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
setCameraPosition
setCameraOrientation
public static void setCameraOrientation
(double<wbr>xAngle,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yAngle,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zAngle)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
setCameraOrientation
setCameraDirection
public static void setCameraDirection
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
setCameraDirection
setCamera
public static void setCamera
(double<wbr>x,</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>y,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>z,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>xAngle,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>yAngle,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>double<wbr>zAngle)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
setCamera
public static void setCamera(StdDraw3D.Vector3D
<wbr>position,</wbr>
<wbr></wbr>
StdDraw3D.Vector3D<wbr>angles)</wbr>
camera
main
public static void main(String[]<wbr>args)</wbr>
来源:<wbr><</wbr>http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw3D.html>
相关推荐
ckeditor-java-core-3.5.3-javadoc.chm
这个压缩包包含了与Java3D相关的各种资源,包括jar包、源代码、API文档以及环境配置信息,是深入理解和开发Java3D应用程序的基础。 首先,`j3d-1_5_2-src.zip`文件包含了Java3D的源代码。源代码对于开发者来说极其...
在Eclipse集成开发环境(IDE)中使用ANT进行项目构建时,可能会遇到特定的错误提示:“Javadoc failed java.io.IOException Cannot run program javadoc”。这个错误信息表明在生成Java文档的过程中出现了问题,具体...
Java的rt.jar是Java运行时环境(Runtime Environment)的核心库,包含了Java标准版(Java SE)的大部分类库,如基础的`java.lang`、`java.util`、`java.io`等包,这些都是Java程序运行不可或缺的部分。rt.jar中的源...
6. **src**:这个目录极有可能包含了未编译的Java源代码,读者可以查看并学习这些代码,理解3D编程的各种技术和算法。 7. **javadoc**:Javadoc是Java文档生成工具,它将源代码中的注释转化为规范的HTML文档,提供...
JavaDoc生成API文档(powernode document)(内含源代码和导出的文档) 1.1 JavaDoc概述 1.2 文档注释的格式 1.3 IDEA生成API文档 vaDoc是Java自带的一种工具,其可以从程序源代码中抽取类、方法、属性等注释形成一...
标签:aws-java-sdk-1.2.6-javadoc.jar.zip,aws,java,sdk,1.2.6,javadoc,jar.zip包下载,依赖包
文档具体内容如下: Java Platform Standard Edition Deployment Guide.pdf Java Platform Standard Edition Installation Guide.pdf ...Java Platform Standard Edition Javadoc Guide.pdf Java9 New.pdf
Java 6源代码是Java编程语言的一个重要里程碑,它标志着Java在互联网计算模式中的核心地位。Java的设计目标是实现“一次编写,到处运行”,这在20世纪90年代末期,随着网络的普及和分布式计算的发展,成为了编程界的...
3. **编译器与工具**:Java的编译器(javac)将源代码转换为字节码,而JDK提供的其他工具,如javadoc(生成文档)、jconsole(监控JVM)、jmap(内存映射)等,都对开发和调试有重要作用。源代码分析有助于我们了解...
对于简单的Java对象,开发者可以快速地编写出可读性强、易于维护的测试代码。 在实际开发过程中,理解AtUnit的Javadoc API能帮助我们避免因不熟悉框架而导致的常见问题,提高开发效率。同时,它也是团队协作的重要...
`args4j-2.0.14-javadoc.jar.zip` 是一个压缩文件,其中包含了 `args4j` 库的 Java 文档(Javadoc)。`args4j` 是一个轻量级的 Java 库,专门用于处理命令行参数。这个版本是 2.0.14,它提供了一个简单的方法来解析...
Java源代码(.java文件)被编译成字节码(.class文件),然后通过JVM(Java虚拟机)执行。 7. **调试**:IDE提供了强大的调试工具,允许你在代码中设置断点,观察变量值,单步执行,以及进行调用堆栈分析。 8. **...
这部分源代码涵盖了"org"和"java"两个主要的包,它们是Java平台标准版(Java SE)的核心结构。 1. **org包**: "org"包主要用于组织第三方库和框架,它并不直接包含在Java的标准库中。然而,许多开源项目和Java的...
在Java开发过程中,查看源代码是一项非常重要的任务,它能帮助开发者理解库、框架或标准API的工作原理,以便更好地利用这些资源或者进行二次开发。本文将深入探讨如何使用各种工具来查看Java源代码,以及一些相关的...
JavaDoc是Java开发平台提供的一种文档生成工具,能够根据Java源代码生成HTML格式的文档。JavaDoc Guide是关于如何使用JavaDoc工具生成Java应用程序文档的指南。 Release 17 Release 17是Java标准版的第17个版本,...
赠送源代码:classgraph-4.8.83-sources.jar; 赠送Maven依赖信息文件:classgraph-4.8.83.pom; 包含翻译后的API文档:classgraph-4.8.83-javadoc-API文档-中文(简体)版.zip; Maven坐标:io.github.classgraph:...
本资源包专注于如何使用Java与达梦(DM)数据库进行连接,提供了必要的驱动包和示例源代码。达梦数据库是一款国产的高性能、高安全性的关系型数据库管理系统,广泛应用于政府、企业等领域。 1. **达梦数据库简介** ...
赠送源代码:snappy-java-1.1.4-sources.jar; 赠送Maven依赖信息文件:snappy-java-1.1.4.pom; 包含翻译后的API文档:snappy-java-1.1.4-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.xerial.snappy:snappy...
赠送源代码:jmespath-java-1.11.939-sources.jar; 赠送Maven依赖信息文件:jmespath-java-1.11.939.pom; 包含翻译后的API文档:jmespath-java-1.11.939-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标...