Algorithm


Problem Name: Python - Class 2 - Find the Torsional Angle

Problem Link: https://www.hackerrank.com/challenges/class-2-find-the-torsional-angle/problem?isFullScreen=true

In this HackerRank Functions in PYTHON problem solution,

You are given four points A,B,C and D in a 3-dimensional Cartesian coordinate system. You are required to print the angle between the plane made by the points A,B,C and B,C,D in degrees(not radians). Let the angle be PHI. Cos(PHI) = (X.Y)/|X||Y| where X =AB * BC and Y = BC * CD Here, X.Y means the dot product of X and Y , and AB * BC means the cross product of vectors AB and BC . Also, AB = B- A .

Input Format

One line of input containing the space separated floating number values of the X,Y and Z coordinates of a point.

Output Format

Output the angle correct up to two decimal places.

Sample Input

0 4 5
1 7 6
0 5 9
1 7 2

Sample Output

8.19

 

 

 

Code Examples

#1 Code Example with Python Programming

Code - Python Programming


import math
from math import sqrt


class Points(object):
    def __init__(self, x, y, z):
        self.x = x
        self.y = y
        self.z = z

    def __sub__(self, no):
        return Points(self.x - no.x,
                      self.y - no.y,
                      self.z - no.z)

    def dot(self, no):
        return self.x * no.x + self.y * no.y + self.z * no.z

    def cross(self, no):
        return Points(self.y * no.z - self.z * no.y,
                      self.z * no.x - self.x * no.z,
                      self.x * no.y - self.y * no.x)

    def absolute(self):
        return sqrt((self.x ** 2 + self.y ** 2 + self.z ** 2))
Copy The Code & Try With Live Editor
Advertisements

Demonstration


Previous
[Solved] Check Strict Superset in PYTHON solution in Hackerrank
Next
[Solved] Zipped! in PYTHON solution in Hackerrank