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.

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.

  • 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.

  • 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.

  • 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.

  • 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?

  • 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:

  • Retaining local axis in Transform Mode (non-Smart object)

    Hi guys,
    I was wondering if there is any way to track an object's rotation axis something like the difference between Local & Global axes in 3d programs.
    I know if I started the transformation as a Smart Objects and keep it as a smart object, it does remember. Is there any other workaround for a non-smart object to retain this information?
    Just trying my luck here. Thanks

    There is a big difference between a  smart object layer and a raster later. Though a smart object layer seems to behave like a raster layer its operation is very different.  The Pixels rendered by Photo do not change they are only acted on. Everything is recorded for the layer each smart object layer has an associated transform.  If you transform the layer again you actually adjusting the recorded transform your not making a new one.  If you transform a raster layer you wind of with a different layer, Pixels may have been deleted or added you do not have access to the old data except in Photoshop history states till it get deleted.  Smart object data is protected and survive even save in a layered document.

  • Rotating guns and shooting them at the same time?

    I put the registration point as the gun's arms. So then the gun would rotate from the arms. But then the bullets come out from the registration point as well. So if I make the registration point on the barrel of the gun, the gun would rotate from the barrel and then shoot from the barrel. So I'm a bit confused where is the right place to place the registration point.
    Now what I want would be: Shooting the bullets from the barrel, not the arms. And also rotating by placing an axis on the arms, not the barrel. At the same time.
    I tried tweeking it like, bullet.x = x - 100 to make the bullet placed on the barrel and come out from there, but if i rotate let's say (180 degrees) it shoots from the from x - 100 but then the gun is on the other side, so the bullet wouldn't be coming out from the barrel anymore.
    I also tried tweeking it by adding a movieclip INSIDE the movieclip gun's barrel so the bullets would come from THAT location, but it shot bullets weirdly and not in the right position.
    here is my code, is there any modifications i can put? so it can shoot from the barrel regardless of rotating the gun and changing positions, and also rotate from the arms at the same time? if there is any other solution to tweek it, thanks a lot.
      function initialize(e:Event)
       //add a click listener to the stage
       stage.addEventListener(MouseEvent.CLICK, fire);
      function fire(m:Event)
       //spawn a bullet
       var b = new Bullet;
       //set the position and the rotation of the bullet
       b.rotation = rotation;
       b.x = x;
       b.y = y;
       //add the bullet to the parent object
       parent.addChild(b);
       //play the firing animation
       play();
      function update(e:Event)
       //make the gun face the mouse
       if (parent != null)
        var dx = parent.mouseX - x;
        var dy = parent.mouseY - y;
        var angle = Math.atan2(dy, dx)/Math.PI * 180
        rotation = angle;
    Thank you for reading, sorry if it was long.

    For some reason, the gun's bullets still come out from the registration point. The registration points are on the arms, the gun is facing right and the barrel is at the end of the right.
    But I tried this code but the bullet comes out from the same place of the rotating axis. I tried playing around with the code but no possible solutions.
    Thanks.
    EDIT: Also, if I put
    b.x=platform.x+Math.cos(gun.rotation*Math.PI/180)*gun.length;  // where platform is the parent of the gun (assuming your gun is attached to a platform like a tank).
    b.y=platform.y+Math.sin(gun.rotation*Math.PI/180)*gun.length;
    The bullet comes out from the platform's registration point. If I remove the platform part, it comes out from the gun's reg point.
    Another thing, if I modify it like "length - 100", it will change it's position but won't follow the rotation of the gun like I stated above. If it shoots from a certain location., and then I rotate the gun a certain amount of degrees the bullet will shoot from that side instead of following the gun's barrel.
    So I'm wasn't completely sure on how to fix this. Thanks again.

  • PositionInterpolator - change axis

    Hello,
    A question concerning PositionInterpolator:
    I�m trying to use setTransformAxis(Transform3D axisOfTransform) method to change axis from X (default) to Y. The question is how to construct Transform3D object that is passed as a parameter.
    Thanks in advance!

    Well kiddies, it's getting late and my head hurts. I'm still trying to get the new Interpolator working...
    Anyway, here's what I got so far (if it helps you, etc etc). Everything works except the Interpolator. I'll have to run some tests to make sure I'm using it right. Keep in mind this code is incomplete (it doesn't do exactly what's it's supposed to yet):
    // Allows an object or group of objects to be moved around SMOOTHLY by the
    // keyboard in the X x Z plane.
    public class KeyboardControlBehavior extends Behavior {
    // USER DEFINED VARIABLES (SET ONCE, REQUIRED TO SET THINGS UP)
    // The time is takes to move once.
    private long time = 0;
    // The distance travelled in one move.
    private float distance = 0.0f;
    // The TransformGroup to move around.
    private TransformGroup target = null;
    // SYSTEM DEFINED VARIABLES (SET ONCE, REQUIRED FOR FUTURE MOVEMENTS
    private Vector3d rotationAxis = null;
    // BEHAVIOR DEFINED VARIABLES (CONSTANTLY CHANGED TO KEEP MOVING FORWARD)
    // The last keyboard key code that was pressed.
    int lastKeyCode = KeyEvent.VK_RIGHT;
    // The Interpolator used to make the smooth movement animation.
    private RotPosScalePathInterpolator posInt = null;
    // The Alpha object used by the Interpolator.
    private Alpha alpha = null;
    // The Knots used by the Interpolator (Alpha time of each key frame).
    private float[] knots = null;
    // The Quaternions used by the Interpolator (rotation of TransformGroup at
    // each key frame).
    private Quat4f[] quats = null;
    // The Scales used by the Interpolator (scale of TransformGroup at each
    // key frame).
    private float[] scales = null;
    // The Positions used by the Interpolator (position of TransformGroup at
    // each key frame).
    private Point3f[] positions = null;
    // Create the KeyboardControlBehavior.
    KeyboardControlBehavior(long time, float distance, TransformGroup target){
    super();
    // Set the target TransformGroup to move around.
    this.target = target;
    // Set the time it takes to move the TransformGroup around.
    this.time = time;
    // Set the Alpha object to the specified time for the Interpolator to use.
    this.alpha = new Alpha(1, time);
    // Set the distance to move the TransformGroup around.
    this.distance = distance;
    // Set the rotation axis of the Interpolator to be the Y axis.
    Transform3D yAxis = new Transform3D();
    yAxis.rotZ(-Math.PI/2.0f);
    this.rotationAxis = new Vector3d();
    yAxis.get(this.rotationAxis);
    // Set the Alpha time of each key frame:
    // - Initial frame is at 0.0
    // - Rotation frame is at 0.3
    // - Translation frame is at 1.0
    this.knots = new float[3];
    this.knots[0] = 0.0f;
    this.knots[1] = 0.3f;
    this.knots[2] = 1.0f;
    // Set the Scales of each key frame to 100% (1.0f).
    this.scales = new float[3];
    this.scales[0] = 1.0f;
    this.scales[1] = 1.0f;
    this.scales[2] = 1.0f;
    // Initialize all the positions to be the current TransformGroup's
    // position.
    Transform3D curPos = new Transform3D();
    target.getTransform(curPos);
    Vector3f curPosVec = new Vector3f();
    curPos.get(curPosVec);
    float[] curPos3f = new float[3];
    curPosVec.get(curPos3f);
    this.positions = new Point3f[3];
    this.positions[0] = new Point3f(curPos3f);
    this.positions[1] = new Point3f(curPos3f);
    this.positions[2] = new Point3f(curPos3f);
    // Initialize all the rotations to be the current TransformGroup's
    // rotation (none).
    this.quats = new Quat4f[3];
    this.quats[0] = this.createQuaternionFromAxisAndAngle(this.rotationAxis, 0.0f);
    this.quats[1] = this.createQuaternionFromAxisAndAngle(this.rotationAxis, 0.0f);
    this.quats[2] = this.createQuaternionFromAxisAndAngle(this.rotationAxis, 0.0f);
    // Create the new Interpolator, disable it and add it to the target
    // TransformGroup.
    this.posInt = new RotPosScalePathInterpolator(alpha, target, new Transform3D(), knots, quats, positions, scales);
    this.posInt.setEnable(false);
    target.addChild(posInt);
    // Initialize the KeyboardControlBehavior.
    public void initialize(){
    // Set the initial wakeup condition to a key pressed.
    this.wakeupOn(new WakeupOnAWTEvent(KeyEvent.KEY_PRESSED));
    // KeyboardControlBehavior behavior (tasks to execute after a key is
    // pressed).
    public void processStimulus(Enumeration criteria){
    // Extract the KeyEvent.
    KeyEvent event = (KeyEvent) ((WakeupOnAWTEvent) criteria.nextElement()).getAWTEvent()[0];
    // Read the key code that was pressed.
    int currentKeyCode = event.getKeyCode();
    // Execute the desired movement according to which arrow key was pressed
    // as well as the previous arrow key (previous direction).
    if(alpha.finished()) {
    if(currentKeyCode == KeyEvent.VK_UP
    || currentKeyCode == KeyEvent.VK_DOWN
    || currentKeyCode == KeyEvent.VK_LEFT
    || currentKeyCode == KeyEvent.VK_RIGHT) {
    // Set the position of the first key frame to the last key frame's
    // position.
    positions[0] = (Point3f)positions[2].clone();
    // Set the rotation of the first key frame to the last key frame's
    // rotation.
    quats[0] = (Quat4f)quats[2].clone();
    switch(currentKeyCode) {
    case KeyEvent.VK_UP:
    System.out.println("UP KEY");
    // If the current direction is different than the last direction,
    // a rotation into the new direction is required.
    switch(lastKeyCode) {
    case KeyEvent.VK_DOWN:
    break;
    case KeyEvent.VK_LEFT:
    break;
    case KeyEvent.VK_RIGHT:
    break;
    case KeyEvent.VK_UP:
    // If we're going in the same direction, do not rotate.
    positions[1] = (Point3f)positions[0].clone();
    quats[1] = (Quat4f)quats[0].clone();
    break;
    // Set the last key frame farther away on the Z axis.
    positions[2].z += distance;
    break;
    case KeyEvent.VK_DOWN:
    System.out.println("DOWN KEY");
    break;
    case KeyEvent.VK_LEFT:
    System.out.println("LEFT KEY");
    break;
    case KeyEvent.VK_RIGHT:
    System.out.println("RIGHT KEY");
    // If the current direction is different than the last direction,
    // a rotation into the new direction is required.
    switch(lastKeyCode) {
    case KeyEvent.VK_DOWN:
    break;
    case KeyEvent.VK_LEFT:
    break;
    case KeyEvent.VK_RIGHT:
    // If we're going in the same direction, do not rotate.
    positions[1] = (Point3f)positions[0].clone();
    quats[1] = (Quat4f)quats[0].clone();
    break;
    case KeyEvent.VK_UP:
    break;
    // Set the last key frame farther away on the X axis.
    positions[2].x += distance;
    break;
    // Enable the Interpolator.
    posInt.setEnable(true);
    // Activate the Interpolator to move the TransformGroup.
    posInt.getAlpha().setStartTime(System.currentTimeMillis());
    // Save the last key code.
    lastKeyCode = currentKeyCode;
    else {
    System.out.println("NOT AN ARROW KEY");
    // Don't move the TransformGroup.
    else {
    System.out.println("Waiting for animation to complete...");
    // Wait till animation is finished to process next key.
    // Consume the key pressed event.
    event.consume();
    // Reset the wakeup condition to await the next key pressed event.
    this.wakeupOn(new WakeupOnAWTEvent(KeyEvent.KEY_PRESSED));
    // A very practical method to convert Radian angles into Quaternions.
    // (Taken from page 207 of Daniel Selman's Java 3D Programming book.)
    private Quat4f createQuaternionFromAxisAndAngle( Vector3d axis, double angle ) {
    double sin_a = Math.sin( angle / 2 );
    double cos_a = Math.cos( angle / 2 );
    // Use a Vector so we can call normalize.
    Vector4f q = new Vector4f();
    q.x = (float) (axis.x + sin_a);
    q.y = (float) (axis.y + sin_a);
    q.z = (float) (axis.z + sin_a);
    q.w = (float) cos_a;
    // It is best to normalize the Quaternion so that only rotation
    // information is used.
    q.normalize();
    // Convert to a Quat4f and return.
    return new Quat4f( q );
    } // end of class KeyboardNavigationBehavior

  • Can anybody recommend me on the strain gauges which are attached along a steel bar, say, 3 mm in diameter, and can respond at a sampling rate of 100 kHz?

    Or anybody has similar application, it would be very grateful if you can share your experience.

    Many thanks for your information. We are about to investigate the dynamic performance of soil anchorage subject to dynamic impulse in a geotechnical centrifuge. Basically, 5 model anchorages (3 mm in diameter) are to be constructed. Each model anchorage is instrumented with 1 accelerometer, 1 load cell and 6 strain gauges. Therefore, the minimum instrumentation would be
    1) 30 strain gauges
    2) 5 accelerometers
    3) 5 load cells
    It is worth noting that all the instruments would eventually reside in a geotechnical centrifuge operating in a 10g gravitational field. Whilst the DAQ system would experience much less 'g force' since they are to be placed close to the rotation axis of the machine.
    These model anchorages would be tested one by one dyn
    amically on each individual basis, whilst the other four are also preferably to be monitored during the tests. For an active model anchorage which is under testing, simultaneous sampling is preferred for its 8 sensors to be measured at the same instant in time (Besides, it is also understood that the natural frequency of the model anchorage is estimated to be in the range of several kHz). For the other four model anchorages, simultaneous sampling could be less demanding. It would therefore be ideal that simultaneous sampling can be switched among the active testing model anchorages.
    I am greatly appreciated if you can further advise me on this. Thanks in advance.

  • IMac Display Tilting Causing Cable Strain?

    I have the latest iMac with various cables plugged into most of the rear ports. I recently had a display port connector go bad, seemingly beacuse the constant tilting of the display eventually caused the wiring to fray and come loose. Indeed the connector wiggled in it's housing. Granted the cord was not the highest quality, but it made me realize that every time I adjust the tilt of the display, the cables are going to endure some strain at the connectors with mixed results.
    I thought a cable extender might help by moving the device cables to a fixed position, but the problem is still going to affect whatever is plugged directly into the iMac, though any failures there would be less expensive to replace than the longer device cables.
    Anybody have any idea how to deal with this?

    If you secure the cables to the case rear, parallel and as close as possible to the display's rotational axis, you'd essentially be using the same technique used to route display cables in portable Macs. Unfortunately they can't exactly coincide with the axis of rotation since it's internal, but that ought to prolong their life.
    This is what I have in mind but you can probably find more elegant solutions.
    Other sources: Amazon, Staples, Wal-Mart

  • About "Spin"

    In the HUD, why are the 2 rounded arrows in the center missing in the Basic Motion "Spin" Behavior? The outer circle appears, but the center is black, not allowing access to the rotation axis.
    At the same time,whenever I add the Spin behavior to something,it moves the canvas over so I have to scroll to it and it makes is look like it's zoomed in 400% or so even when I select 100%.
    Trash the preferences,reinstall don't work.
    I need your help.

    yaoyao3337 wrote:
    Hi, I only have one graphic card, Intel Graphics Media Accelerator X3100, so the problem is because of my low power graphic card? Forgive me, please teach me how to plug two monitors?
    Thanks a lot
    We can no know if your card is the cause until you try using a different card. With me, the same problem was solved by using only one radeon 4870 card with two monitors.
    Try searching the apple forums for the card:
    http://discussions.apple.com/thread.jspa?threadID=1964235
    bogiesan

Maybe you are looking for