3D shapes rotation axis

Is there a way that I can automatically place the rotation axis on a 3D shape in the dead center of the shape (on the X,Y and Z axis) or do i have to just do it by hand?

If the shape was drawn with the pen tool then you have to position the shape's anchor point by hand.
If the shape was created with the Shape tools then you can reveal the transform shape properties and reset the position property to 0,0
If the shape has a odd number of sides, like a triangle, this will not work properly so you will have to eyeball the shape center.
I usually use the Transform properties for the shape for this instead of using the Layer Anchor point  because it is easier to be accurate with even sided shapes than using the layer's anchor point or the anchor point tool.

Similar Messages

  • Can You Change 3D Object Rotation Axis?

    Greetings. I have created a 3d object using repousse in Photoshop (CS5 extended). The original 2d image was created in Illustrator. I have found that in both Photoshop and After Effects, when I rotate this object in 3D space, either rotating the object itself or the camera, that the axis upon which it rotates is not the 3D center of the 3D object, but rather somewhere behind it. The result is that it is rotating like the moon rotates around the earth, rather than rotating in place, like an eye moving (rotating) in an eye socket; i want the eye ball to stay in one place, but see the pupil move up and down and all around like a real eye would.
    I have had no luck changing anchor points or positions of the object, even though I do have the X, Y, Z coordinates to manipulate.
    Can you tell me how to adjust this anchor point, or rotation axis point, or whatever this would be called?
    Thanks.

    Not really true...
    Yes it is limited but it can be altered.
    I believe that photoshops 3d center point is based on the world center and not the objects center. This means that it is possibloe to move the object to the world center to fix the rotation of your object.
    Open window>3d panel and just below the layers in that panel are some icon at the left side of the panel. Third icon down is the mesh tool, hold down the mouse button to bring up the pop up menu. Select the slide mesh tool. This will let you move the mesh adjust the pivot point.
    The problem that I see with this, is that it is trial by error, I do not see away to visually see where the world center is.
    Scratch that, at the bottom of the panel are three icons. The left of the three will turn on the ground plane. The plane does show world center.(where the red and green lines intersect is world zero)
    To understand which axis is which, sinse it does not specify.  Select the 3d pan tool, then in the top tool bar, type in a value one axis at a time to see which direction the object is moving. Then repeat the process for the rotate tool and see how the object rotates around each axis.

  • How to make shape rotation at it's center point?

    I draw a shape,like follows:
    var shape1:Shape;
    shape1=draw();
    addChild(shape1);
    shape1.rotation=50;
    private function draw():Shape{
       var shape:Shape = new Shape();
       shape.graphics.beginFill(0x00FFFF);
       shape.graphics.moveTo(200,200);
       shape.graphics.lineTo(300, 202);
       shape.graphics.lineTo(200, 204);
       shape.graphics.lineTo(100, 202);
       shape.graphics.lineTo(200, 200);
       return shape;
    Then I want to rotate the shape at it's center point(200,202) by using shape1.rotation=50,but I find the shape don't rotate at the the center of it's shape. How to realize the function which make shape rotate at its center point?
    Thanks

    Here is a sample to make it rotate from center:
    var sprite:Sprite=new Sprite();
    sprite.graphics.lineStyle(3,0x00ff00);
    sprite.graphics.beginFill(0x0000FF);
    sprite.graphics.moveTo(0,0);
    sprite.graphics.lineTo(100,0);
    sprite.graphics.lineTo(100,100);
    sprite.graphics.lineTo(0,100);
    sprite.graphics.lineTo(0,0);
    sprite.graphics.endFill();
    var mc:Sprite=new Sprite();
    mc.addChild(sprite);
    //This will make the sprite to center
    mc.getChildAt(0).x=-(mc.getChildAt(0).width/2);
    mc.getChildAt(0).y=-(mc.getChildAt(0).height/2);
    addChild(mc);
    mc.x=200;
    mc.y=300;
    //Now it rotates from the center.
    mc.rotation=20;

  • How to have rotated axis labels in charts without embedding fonts?

    Hi all,
         I am trying to have slant/rotated axis labels in flex charts to avoid clutter in cases of large number of sample points. It was fairly easy to do this using 'labelRotation' method in AxisRenderer but this involved embedding fonts [ causes my swf to increase in size by atleast a 100KB which in my case is very high ]. My question is.. Can this be done without embedding the fonts? Maybe with the use of labelRenderer? Any alternatives that would solve the purpose without increase in swf size are also most appreciated as I ve been struggling with this for quiet a while.
    Thanks a ton,
    Siva

    Please check LabVIEW\Examples\picture\demos.llb\polar plot demo.vi
    But it has no zooming and cursors.
    Maybe you can modify that example and use XY plot instead of picture control. I mean for each function plot on the picture, you generate another function to replace it and generate XY data pairs.

  • Shape rotation question

    i am wondering how to rotate a shape, such that I can still check for intersections, etc, with the shape in it's rotated state. I know Graphics2D has a rotate method, but that wouldn't allow me to check for an intersection between a rotated rectangle (e.g 45 degrees around central axis) and an ellipse2d.
    can AffineTransform or PathIterator help?

    thanks fred, that might be just what I need. Can someone confirm this psuedocode:
    1. Convert shape to Area
    2. Create AffineTransform and rotate it by x radians
    3. Set transform of Area to affinetransform
    4. Call intersects method of ellipse
    thanks

  • Basic 3d, how do I change rotation axis (anchor) point?

    I have a photo in front of me. Now I'd like it to fall toward me, but when I spin the X axis, of course, the focal/center/axis point is the center of the photo. If it was falling toward you as if standing up on a table, the bottom of the photo would be the rotating point. I don't see a way to change this anchor point in the basic 3d filter - can it be done?
    Thanks!

    The easiest way I found to do this is the following:
    Make the layer you want to rotate in 3D (the photo, in this case) a child/sublayer of a new, empty layer.
    Apply the Basic 3D effect to this new, parent layer.
    Select the photo sublayer and drag it until it's relative position regarding the axis sytstem/anchor point is the one you want. After that, when you animate the Basic 3D filter in the parent layer, the photo will behave as if the axis system was offset to the location you wanted.

  • Help Combining Shapes Rotate

    Hello Everyone ...                                                                                                 Level: Newbie   OS: Win7 64bit   PS: Cs6
    I have made a Rectangle of which I have altered the shape
    Next and on the same layer I have selected the Ellipse tool and set it to Combine Shape
      then I have been creating small circles and placed them down the left and right side ~ I have placed the circles half on the Rectangle and half off
    however, when I go to Rotate the object(s) they are no longer Combined and will not Rotate together .... ??
    any ideas?
    Oh, also ... I am repeating the circles from top to bottom and I would like to keep them percisely in line but when I use Direct Selection tool to select the first circle made and then use Copy & Paste and then use the arrow keys to move the circle straight up ... are these Copied and Moved circles still in Combine Shape mode? Just Wondering because it doesn't seem like they are still combined.
    I've deselected by clicking the Move tool after making all the circles but that doesn't help either.
    Thank you

    When the shapes are all in one layer they will rotate as a unit unless you use the Path Selection Tool to select some path(s) and not others and then rotate.
    You don't have to copy and paste to duplicate paths in a Shape layer. You can Opt/Alt-drag with the Path Selection Tool to duplicate and move. Combine with Shift key to constrain to horizontal/vertical. The PST also has alignment and distribution options.
    Smart Guides (magenta lines) are a great aid to alignment but to use them you'll have to make separate Shape layers and then merge after they're aligned

  • Shape rotation using mouse

    Hi,
    I�m interested in rotating a shape by dragging the mouse.
    For example, visualise a rectangle, now imagine pressing the mouse on the top left-hand corner, then dragging that corner down, with the mouse, to rotate the shape. That�s what I want to do.
    Has anyone got any thoughts on this?
    Thanks,
    Luke

    it seems to rotate too much or some thing
    In the DragRotation class each rotation event is referenced to the original, non–rotated rect. When you redefine the shape each time then each rotation will have to be referenced to/from the last/current shape angular position. If it is already rotated and you rotate it with the current_rotated_angle plus the angle referenced to the original non–rotated rect you will get too much rotation. We have to change the way we reference the rotation.
    If I start walking from Los Angeles to Chicago and measure my distance from LA each time I arrive at a new town, okay. If I measure the distance from town to town it is a different way to reference the distance walked. If I leave Denver, at a distance of 1000 miles from LA, and walk to Omaha, a distance of 550 miles, I would have walked a total of 1000 + 550 miles. But if I get confused about the counting and add the total from LA to Omaha to the miles walked on the last leg (from Denver) it would appear that I walked 1000 + 550 + 550 miles. So we need to be clear about how we are measuring the distance traveled.
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.geom.*;
    import javax.swing.*;
    import javax.swing.event.MouseInputAdapter;
    public class DragRotation extends JPanel {
        Rectangle2D.Double rect = new Rectangle2D.Double(100,75,200,160);
        Shape shape = rect;
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D)g;
            g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                                RenderingHints.VALUE_ANTIALIAS_ON);
            g2.setPaint(Color.blue);
            g2.draw(rect);
            g2.setPaint(Color.red);
            g2.draw(shape);
        public static void main(String[] args) {
            DragRotation test = new DragRotation();
            test.addMouseListener(test.rotator);
            test.addMouseMotionListener(test.rotator);
            JFrame f = new JFrame();
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.getContentPane().add(test);
            f.setSize(400,400);
            f.setLocation(200,200);
            f.setVisible(true);
        private MouseInputAdapter rotator  = new MouseInputAdapter() {
            AffineTransform at = new AffineTransform();
            Point2D.Double center = new Point2D.Double();
            double thetaStart = 0;
            boolean rotating = false;
            public void mousePressed(MouseEvent e) {
                Point p = e.getPoint();
                if(shape.contains(p)) {
                    Rectangle r = shape.getBounds();
                    center.x = r.getCenterX();
                    center.y = r.getCenterY();
                    double dy = p.y - center.y;
                    double dx = p.x - center.x;
                    thetaStart = Math.atan2(dy, dx);
                    rotating = true;
            public void mouseReleased(MouseEvent e) {
                rotating = false;
            public void mouseDragged(MouseEvent e) {
                if(rotating) {
                    double dy = e.getY() - center.y;
                    double dx = e.getX() - center.x;
                    double theta = Math.atan2(dy, dx);
                    at.setToRotation(theta - thetaStart, center.x, center.y);
                    shape = at.createTransformedShape(shape);
                    repaint();
                    // Counting in increments now.
                    thetaStart = theta;
    }

  • Rotation axis is off

    don't now really how to explain, but when creating a text or an object it is automatically made on some digress...it is not horizontal.
    here is a print screen http://i277.photobucket.com/albums/kk60/mlkass/ill.jpg
    hope someone can help
    Thanks

    When I "Alt click" with the rotation tool, to specify a rotation angle and copy an object, Illustrator CS2 does not set a rotation point, it takes a long time for the dialog box to come on and it frizzes the program until it does. Because there's not a set rotation point, it rotates the copied object anywhere. The angle is not the
    specified angle either.
    I reinstalled a newly downloaded file for Illustrator CS2, which did not take care of the proble. Now when I perform the afore mentioned task, it also takes a long time to copy the object.
    Please help.

  • Object Rotate Axis Point

    Re InDesign CS5, is there any way to fix a general preference to make objects rotate on their central point rather than, say for example, the top left box node in the case of a text box? I sometimes rotate an object and it disappears off the artwork.

    This is exactly what the proxy is for:

  • How to rotate axis title

    Hi , i need some help with the linearaxis vertical title from
    the column chart . i need to rotate it with 180 degree .
    Thanks in advance for the help .

    no one can help me?

  • Rotation AXIS

    Hi,
    What's the diference, if one, of:
    SomeNode {
      rotationAxis : Point3D{
        x: 1
        y: 1
        z: 1
    }and
    SomeNode {
      rotationAxis : Point3D{
        x: .5 //(or any value)
        y: .5 //(or any value)
        z: .1 //(or any value)
    I'm try to understand but the only one diference is when using a negative value. If none differences, why using a Point3D? It sounds a little confuse...
    Thanks.
    Edited by: volnei on 28/Abr/2010 10:13

    JavaFX isn't 3D yet, far from it (despite some interesting demos), but they made provision for the future, apparently.

  • Question re: 3D object rotation in Photoshop CS5.5

    So I've searched the forums and the web and I can't find a solution to my problem. I created a simple shape in Photoshop I then edited the shape using the Repoussé dialog. I simply extruded the object. The defualt extrusion depth setting of 1.0 was far too deep for my needs so I chaged the depth to 0.07. It looked good. Next I wanted to animate my simple hexagon shape rotating about it's z axis. So using the animation pallet, I set a key frame for 3D object position at zero and then I advanced the timeline to 3 seconds. With the roll 3D object tool selected, I edited the z axis orientation in the tool bar from 0 degrees to 360 degrees at the 3 second mark. I then played my animation and while the object spinned about the z axis, the position of the z axis was in the wrong place. the z axis was still aligned with the center of my extruded object if the depth had been set to the original depth of 1.0.
    End result is it looks like my shallow depth hexagon is rotating about a point in space rather than rotating about the center of the object. Is there a way to reposition the axis so the center will be the center of the depth of my extruded object? In shots 1 and 2 you see the object with the correct depth but the wrong z axis location. In shots 3 and 4 the object has the wrong depth but roates properly.

    That doesn't seem to be working for me. It seems like there should be a way to snap the coordiantes to the midpoint of the 3d object in 3d sapce. Basically, I want the pivot point to be in the center of the extruded depth not a point behind the object.
    I brought my extruded 3d shape into After Effects thinking I might have better animation controls in there but the object seems to just get flattened into a 2d shape. In other words I loose the extruded depth.

  • Moving 3D Shape

    Hi,
    I need some help in animating a 3D Shape rotating/translating using values entered in JTextField format,
    For example, I want the shape to rotate 60 degrees, I just key in 60 and the shape will be shown rotating 60 degrees.
    Thanks
    th

    Please study my code below. Ignore the parts you don't take interest. Class GeneralContourPanel is no importance to you either. This class cannot run as a standalone app. Just study how we rotate a 3D object. If necessary, you can get in touch with me by this email address: [email protected].
    package petrochina.riped.plot.post3d;
    import com.sun.j3d.utils.behaviors.mouse.MouseRotate;
    import com.sun.j3d.utils.behaviors.mouse.MouseTranslate;
    import com.sun.j3d.utils.behaviors.mouse.MouseZoom;
    import com.sun.j3d.utils.universe.SimpleUniverse;
    import java.awt.BorderLayout;
    import java.awt.Font;
    import java.awt.GraphicsConfiguration;
    import javax.media.j3d.Background;
    import javax.media.j3d.BoundingSphere;
    import javax.media.j3d.BranchGroup;
    import javax.media.j3d.Canvas3D;
    import javax.media.j3d.GeometryArray;
    import javax.media.j3d.IndexedLineArray;
    import javax.media.j3d.Shape3D;
    import javax.media.j3d.Transform3D;
    import javax.media.j3d.TransformGroup;
    import javax.vecmath.Color3f;
    import javax.vecmath.Point3d;
    import javax.vecmath.Point3f;
    import javax.vecmath.Vector3d;
    import petrochina.riped.util.Text2DForJ3D;
    * Acts as the base class for any Java3D objects.
    * <p>IMPORTANT NOTICE: The x-y-z axises used in this class is the same with
    * that in Java3D, only the default view is with a rotation.
    * @author Xiao Xiaochun & uanglin Du ([email protected] or [email protected])
    * @version 1.0, 2003/09/29 20:05
    public abstract class J3DPanel extends GeneralContourPanel {   
    /** The root BranchGroup */
    public BranchGroup rootBG = null;
    /** The root of the branch graph */
    public BranchGroup branchGroup = null;
    /** The <code>TransformGroup</code> used to hold . */
    public TransformGroup transformGroup = null;
    /** The <code>Transform3D</code> instance used to resume the visual view. */
    public Transform3D tempRotateTransform = null;
    /** The <code>Transform3D</code> instance used to scale the 3D objects. */
    public Transform3D scaleTransform = null;
    /** The <code>Transform3D</code> instance used in zoom functionality. */
    public Transform3D zoomTransform = null;
    * The <code>Transform3D</code> instance used to rotate the view in x y and z axis
    * clockwiselyorcounter.
    public Transform3D transform3DObject = null;
    /** The MouseTranslate to translate the 3D objects */
    public MouseTranslate myMouseTranslate = null;
    /** The incremental roation counterclockwise angle in radian. */
    private static double rotationIncrement =Math.PI/18.0;
    /** The zoom in count in double. */
    private static double zoomInFactor = 1.02;
    /** The zoom out count in double. */
    private static double zoomOutFactor = 0.98;
    /** The double-typed translate factor. */
    private static double translateFactor = 0.005;
    /** The only Canvas3D instance containing the Java3D objects. */
    private Canvas3D canvas3D = null;
    /** The zox slices indices (row), starting from 1. */
    public int[] zoxSliceIndices = null;
    /** The yoz slices indices (column), starting from 1. */
    public int[] yozSliceIndices = null;
    /** Determines if the 3D view has mesh drawn together, and the default value is true. */
    public boolean withMesh = true;
    /** Determines if the 3D view has well drawn together, and the default value is true. */
    public boolean withWell = true;
    /** Determines if the 3D view has well names drawn together, and the default value is true. */
    public boolean withWellName = true;
    /** Determines if the 3D view has the surrounding frame drawn together, and the default value is false. */
    public boolean withFrame = false;
    /** Determines if the 3D view has a 3D coordinate system drawn together, and the default value is false. */
    public boolean with3DCoord = false;
    * Constructs with a <code>title</code> and <code>workspaceDir</code>.
    * @param contourInfo the information of the contour
    * @param workspaceDir the workspace directory
    public J3DPanel(String contourInfo, String workspaceDir) {          
         super(contourInfo, workspaceDir);
    this.rootBG = new BranchGroup();
    this.rootBG.setCapability(BranchGroup.ALLOW_CHILDREN_READ);
    this.rootBG.setCapability(BranchGroup.ALLOW_CHILDREN_WRITE);
    this.rootBG.setCapability(BranchGroup.ALLOW_CHILDREN_EXTEND);
    //Creates & adds the Java3D canvas3D to this internal frame's content pane.
    GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
    this.canvas3D = new Canvas3D(config);
    // SimpleUniverse is a Convenience Utility class
    SimpleUniverse simpleU = new SimpleUniverse(canvas3D);
         // This will move the ViewPlatform back a bit so the
         // objects in the scene can be viewed.
    simpleU.getViewingPlatform().setNominalViewingTransform();
    simpleU.addBranchGraph(this.rootBG);
    * Performs the scene graph initialization. This method is called by subclasses
    * to implement the specific 3D graph plotting.
    public void initialize() {     
         branchGroup = new BranchGroup();
    branchGroup.setCapability(BranchGroup.ALLOW_DETACH);
         transformGroup = new TransformGroup();
         tempRotateTransform =new Transform3D();
         scaleTransform = new Transform3D();
         transform3DObject = new Transform3D();
    zoomTransform = new Transform3D();
         transformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
         transformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
         branchGroup.addChild(transformGroup);
         //Adds the 3D axis
    if(this.withFrame){
    transformGroup.addChild(create3DAxis());
    } else {
    SimpleAxis sa = new SimpleAxis(0.08f);
    TransformGroup tg = sa.create3DAxis(-0.7, 0.7, 0.0);
    transformGroup.addChild(tg);
    //This is the magic to integrate Java3D with Swing.
         this.setLayout(new BorderLayout());
         this.add(canvas3D, BorderLayout.CENTER);
    //The bounding sphere
    Point3d p3d = new Point3d(0.0, 0.0, 0.0);
    BoundingSphere bs = new BoundingSphere(p3d, 10000);     
         //Adds the mouse translate, rotate & zoom behaviors
         myMouseTranslate = new MouseTranslate();
         myMouseTranslate.setTransformGroup(transformGroup);
         myMouseTranslate.setFactor(translateFactor);
    myMouseTranslate.setSchedulingBounds(bs);
         branchGroup.addChild(myMouseTranslate);
    MouseRotate myMouseRotate = new MouseRotate();
    myMouseRotate.setTransformGroup(transformGroup);
    myMouseRotate.setSchedulingBounds(bs);
    branchGroup.addChild(myMouseRotate);
    MouseTranslate myMouseTranslate = new MouseTranslate();
    myMouseTranslate.setTransformGroup(transformGroup);
    myMouseTranslate.setSchedulingBounds(bs);
    branchGroup.addChild(myMouseTranslate);
    MouseZoom myMouseZoom = new MouseZoom();
    myMouseZoom.setTransformGroup(transformGroup);
    myMouseZoom.setSchedulingBounds(bs);
    branchGroup.addChild(myMouseZoom);
         //Set the window size
         this.setSize(300,300);
         //Set the window's location.
         this.setLocation( 0, 0);                
         this.setVisible(true);
         //default background(white) setting, DGL, 01/25/2002
         Background backg = new Background(1.0f, 1.0f, 1.0f);
    backg.setApplicationBounds(bs);
         branchGroup.addChild(backg);     
         //Uses an abstract method as the entry to add specific 3D objects
    add3DShapes();
         // Let Java 3D perform optimizations on this scene graph.
    branchGroup.compile();
    //simpleU.addBranchGraph(branchGroup);
    this.rootBG.addChild(branchGroup);
    * This abstract method works as the entry for subclasses to addthe Java3D shapes.
    * This is done by adding the 3D objects, usually <code>Shape3D</code> objects
    * to the <code>transformGroup</code> node. A sample is as following:<p>
    * <code>transformGroup.addChild(new ColorCube(0.4));<code>
    * <br>or<p>
    * <code>transformGroup.addChild(new Shape3D(<code>NodeComponent</code> object));<code>
    public abstract void add3DShapes();
    /** Rotates along the view axis about x counterclockwisely */
    public void rotateAlongXCCW() {
         tempRotateTransform.rotX(rotationIncrement);
         transformGroup.getTransform(transform3DObject);
         transform3DObject.mul(tempRotateTransform);
         transformGroup.setTransform(transform3DObject);
         zoomTransform = transform3DObject;
    /** Rotates along the view axis about y counterclockwisely */
    public void rotateAlongYCCW() { 
         tempRotateTransform.rotY(rotationIncrement);
         transformGroup.getTransform(transform3DObject);
         transform3DObject.mul(tempRotateTransform);
         transformGroup.setTransform(transform3DObject);
         zoomTransform = transform3DObject;
    /** Rotates along the view axis about z counterclockwisely */
    public void rotateAlongZCCW() { 
         tempRotateTransform.rotZ(rotationIncrement);
         transformGroup.getTransform(transform3DObject);
         transform3DObject.mul(tempRotateTransform);
         transformGroup.setTransform(transform3DObject);
         zoomTransform = transform3DObject;
    /** Rotates along the view axis about x clockwisely */
    public void rotateAlongXCW() { 
         tempRotateTransform.rotX(-rotationIncrement);
         transformGroup.getTransform(transform3DObject);
         transform3DObject.mul(tempRotateTransform);
         transformGroup.setTransform(transform3DObject);
         zoomTransform = transform3DObject;
    /** Rotates along the view axis about y clockwisely */
    public void rotateAlongYCW() { 
         tempRotateTransform.rotY(-rotationIncrement);
         transformGroup.getTransform(transform3DObject);
         transform3DObject.mul(tempRotateTransform);
         transformGroup.setTransform(transform3DObject);
         zoomTransform = transform3DObject;
    /** Rotates along the view axis about z clockwisely */
    public void rotateAlongZCW() { 
         tempRotateTransform.rotZ(-rotationIncrement);
         transformGroup.getTransform(transform3DObject);
         transform3DObject.mul(tempRotateTransform);
         transformGroup.setTransform(transform3DObject);
         zoomTransform = transform3DObject;
    * Rotates the Java3D objects to the conventional view in
    * reservoir enginering: x axis extends upwardly, y right, and z inwardly.
    public void setPlanform() {
         Transform3D planformTransform = new Transform3D();
         planformTransform.rotX(Math.PI);
         transformGroup.getTransform(transform3DObject);
         transform3DObject = planformTransform;
         transformGroup.setTransform(transform3DObject);
         zoomTransform = transform3DObject;     
    * Rotates the Java3D objects to the conventional view in
    * reservoir enginering: x axis extends downwardly, y right, and z outwardly.
    public void setFundusView() {
         Transform3D fundusTransform = new Transform3D();
         fundusTransform.rotX(2.0*Math.PI);
         transformGroup.getTransform(transform3DObject);
         transform3DObject = fundusTransform;
         transformGroup.setTransform(transform3DObject);
         zoomTransform = transform3DObject;     
    * Rotates the Java3D objects to the conventional view in
    * reservoir enginering: y axis extends inwardly, x left, and z downwardly.
    public void setLeftView() {
         Transform3D leftTransformX = new Transform3D();
         Transform3D leftTransformY = new Transform3D();
         leftTransformX.rotX(Math.PI/2.0);
         leftTransformY.rotY(Math.PI/2.0);
         leftTransformY.mul(leftTransformX);
         transformGroup.getTransform(transform3DObject);
         transform3DObject = leftTransformY;
         transformGroup.setTransform(transform3DObject);
         zoomTransform = transform3DObject;     
    * Rotates the Java3D objects to the conventional view in
    * reservoir enginering: x axis right, y outwardly, and z downwardly.
    public void setRightView() {
         Transform3D rightTransformX = new Transform3D();
         Transform3D rightTransformY = new Transform3D();     
         rightTransformX.rotX(Math.PI/2.0);
         rightTransformY.rotY(1.5*Math.PI);
         rightTransformY.mul(rightTransformX);
         transformGroup.getTransform(transform3DObject);
         transform3DObject = rightTransformY;
         transformGroup.setTransform(transform3DObject);
         zoomTransform = transform3DObject;     
    /** Sets the default view which lets the user overlook the most parts of the 3D graph. */
    public void setDefaultView(){
    this.setFrontView();
    this.rotateAlongXCCW(); //twice
    this.rotateAlongXCCW();
    this.rotateAlongZCW();
    * Rotates the Java3D objects to the conventional view in
    * reservoir enginering: x axis extends inwardly, y right, and z downwardly.
    public void setFrontView() {
         Transform3D frontTransform = new Transform3D();     
         frontTransform.rotX(Math.PI/2.0);
         transformGroup.getTransform(transform3DObject);
         transform3DObject = frontTransform;
         transformGroup.setTransform(transform3DObject);
         zoomTransform = transform3DObject;     
    * Rotates the Java3D objects to the conventional view in
    * reservoir enginering: x axis extends outwardly, y left, and z downwardly.
    public void setBackView() {
         Transform3D backTransformX = new Transform3D();     
         Transform3D backTransformY = new Transform3D();     
         backTransformX.rotX(Math.PI/2.0);
         backTransformY.rotY(Math.PI);
         backTransformY.mul(backTransformX);     
         transformGroup.getTransform(transform3DObject);
         transform3DObject = backTransformY;
         transformGroup.setTransform(transform3DObject);
         zoomTransform = transform3DObject;
    /** Sets the J3D object's zoom in . */
    public void setZoomIn() {
         tempRotateTransform.set(zoomInFactor);
         transformGroup.getTransform(scaleTransform);
         scaleTransform.mul(tempRotateTransform);
         transformGroup.setTransform(scaleTransform);
    /** Sets the J3D object's zoom out. */
    public void setZoomOut() {
         tempRotateTransform.set(zoomOutFactor);
         transformGroup.getTransform(scaleTransform);
         scaleTransform.mul(tempRotateTransform);
         transformGroup.setTransform(scaleTransform);
    /** Sets the J3D object's zoom. */
    public void setZoom() {
         transformGroup.setTransform(zoomTransform);
    /** Removes the main graph from branchGroup. */
    public void removeBranchGroup(){
    try {
    this.branchGroup.detach();
    } catch(Throwable ex) {
    super.exceptionHandler(ex);
    }

  • Can I align the orientatio​n of axis labels in a graph generated with the report generation toolkit (Word)?

    I was wondering how to align the axis labels, i.e. 90 degree or such when creating a graph with the report generation toolkit in word.
    I can do it after the document is created through Format axis title -> alignment but is there a way out of LabVIEW?
    I'd especially like to rotate the y-axis label by 90 degrees.
    Thanks a lot,
    Juergen

    I think he means he can modify it by hand after the report has been generated... But what I want to do is generate the word graph out of labview already with the rotated axis label...
    After I posted this I found out that we can do this with a macro and use it from labview, but unfortunately I don't know VB, or VBA...
    Like this:

Maybe you are looking for

  • Cursor disappears when using Photoshop, anyone else?

    My cursor disappears when using Photoshop, I have to leave the program to get it back. Happens constantly since installing 10.8.3. Was fine for years, until I upgraded my OS

  • Skin Control not showing

    Hi, I'm using Flash 8, producing and swf file and inserting on the website. Seems to play just fine but I can't see the transparent control over the movie. Tried right clicking and it does not appear. Is is just not finding the skin. I am rendering i

  • Should I ask for a BufferedReader or just a Reader?

    Wrapping a BufferedReader in a BufferedReader is not a big deal, right? Please consider these two methods: public void exampleA(BufferedReader bufRdr) { ........ } public void exampleB(Reader rdr) { BufferedReader bufRdr = new BufferedReader(rdr); ..

  • Adobe Acrobat 9 Issue

    I bought Adobe Creative Suite 4 last year, used it without issue until recently. Recently i had a desktop computer hang issue which i decided to use the ACER RECOVERY to reinstall the VISTA OS. Along with that i reinstalled Microsoft Office 2007 and

  • Implementing a varchar multi-valued attribute for my customer table

    I usually used to implement numerical multiple value attributes for my customers, such as phone number by having a separate table, as below:- •     >>Desc customer (PK) Customer_ID Customer_Fname •     >>Desc Customer_Phone Customer_ID Phone_number P