Class 2 - Find the Torsional Angle

Sort by

recency

|

146 Discussions

|

  • + 0 comments
    import math
    
    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):
            x = self.y * no.z - self.z * no.y
            y = self.z * no.x - self.x * no.z
            z = self.x * no.y - self.y * no.x
            return Points(x,y,z)
            
        def absolute(self):
            return pow((self.x ** 2 + self.y ** 2 + self.z ** 2), 0.5)
    
    if __name__ == '__main__':
        points = list()
        for i in range(4):
            a = list(map(float, input().split()))
            points.append(a)
    
        a, b, c, d = Points(*points[0]), Points(*points[1]), Points(*points[2]), Points(*points[3])
        x = (b - a).cross(c - b)
        y = (c - b).cross(d - c)
        angle = math.acos(x.dot(y) / (x.absolute() * y.absolute()))
    
        print("%.2f" % math.degrees(angle))
    
  • + 0 comments

    From a pedagogical standpoint, this problem is poorly positioned as an “easy” exercise. The code may look like a basic class implementation, but the underlying mathematical prerequisites, particularly 3D vector operations like cross products, dot products, and vector magnitude, are well beyond what most learners at the “easy” level will have encountered.

    This creates a mismatch: students trying to learn basic object-oriented programming are suddenly forced into geometric reasoning that belongs in a linear algebra or physics course. The task doesn’t teach OOP, it assumes you already know how to represent and manipulate vectors in 3D space, then asks you to encode that knowledge.

    Good pedagogy means aligning difficulty with assumed background knowledge. This problem doesn’t. It should be reclassified as medium or even hard, and tagged clearly to reflect its mathematical prerequisites.

  • + 0 comments

    how to solve this torsional angle

  • + 0 comments

    Here is HackerRank Class 2 - Find the Torsional Angle in Python solution - https://programmingoneonone.com/hackerrank-class-2-find-the-torsional-angle-solution-in-python.html

  • + 0 comments

    This problem helps practice working with vector mathematics and understanding concepts such as angles and geometric relationships, which are useful for learning other programming languages.. Fair play 24