Coder Social home page Coder Social logo

Axis Enumeration about vitruvius HOT 9 CLOSED

JeffBail avatar JeffBail commented on September 4, 2024
Axis Enumeration

from vitruvius.

Comments (9)

Vangos avatar Vangos commented on September 4, 2024

Hello Jeff. The Axis enumeration represents an axis in the Camera Space (measured in meters).

If you pass it as a parameter in the Angle method, for example, the specified axis will be ignored for the angle calculation. Let me know if you need any further assistance.

from vitruvius.

JeffBail avatar JeffBail commented on September 4, 2024

What I'm trying to do is get body relative angles and it seems like what Angle is providing is screen/camera relative angles. For instance I'd like to measure the pitch/elevation of my arm which shouldn't change as I spin around in a chair if I'm holding my arm straight out in front of me.

from vitruvius.

Vangos avatar Vangos commented on September 4, 2024

Could you please paste the code you are using for this?

from vitruvius.

JeffBail avatar JeffBail commented on September 4, 2024

I was trying to get body relative elbow yaw doing something like this:

     double elbowYaw = body.Joints[JointType.ShoulderRight].Angle(body.Joints[JointType.SpineShoulder], body.Joints[JointType.ElbowRight], Axis.Z);

I tried using the different axes but since they're relative to the camera (and not the body or gravity) I don't think think this is the right path.

from vitruvius.

Vangos avatar Vangos commented on September 4, 2024

Thank you. Could you also send me a video of the movement and the proper
position?
On Tue, 13 Sep 2016 at 22:49, JeffBail [email protected] wrote:

I was trying to get body relative elbow yaw doing something like this:

 double elbowYaw = body.Joints[JointType.ShoulderRight].Angle(body.Joints[JointType.SpineShoulder], body.Joints[JointType.ElbowRight], Axis.Z);

I tried using the different axes but since they're relative to the camera
(and not the body or gravity) I don't think think this is the right path.


You are receiving this because you modified the open/close state.

Reply to this email directly, view it on GitHub
#27 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAiV-OEoXozghishmw1sd6ueNGJm7Uz1ks5qpv5EgaJpZM4J75u8
.

Vangos Pterneas
http://pterneas.com

from vitruvius.

JeffBail avatar JeffBail commented on September 4, 2024

Here's a quick video. What I'm looking for is the elevation of my arm which should change as I move them up and down but not as I rotate my body or my arms. I'm thinking I might need to do a rotation correction like this.

from vitruvius.

Vangos avatar Vangos commented on September 4, 2024

Now it's clear to me. So, to read the angle regardless of the rotation of the body, you need to measure it by considering all of the axis. Would the following code work for you?

var start = body.Joints[JointType.SpineShoulder].Position;
var center = body.Joints[JointType.ShoulderRight].Position;
var end = body.Joints[JointType.ElbowRight].Position;

var angle = center.Angle(start, end);

You may also do this:

var angle = 180.0 - center.Angle(start, end);

from vitruvius.

JeffBail avatar JeffBail commented on September 4, 2024

I'm pretty sure that's still going to be measuring in screen/camera space and not body/floor/gravity space. So for instance if I stand with my body facing the camera and point my arm at the camera and then move it down by my side the angle doesn't change much. If I rotate my body 90 degrees and do the same motion the values sweep through a large range.

from vitruvius.

JeffBail avatar JeffBail commented on September 4, 2024

I have a pretty good solution in Unity based on the JoinOrientationBasics-Unity example. I'm simply looking up a child of the SkeletonModel, in this case "ElbowRight", that is already converted into Unity coordinates and extracting the yaw as:
Vector3.Angle(elbowRight.transform.up, Vector3.right);

from vitruvius.

Related Issues (19)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.