Tôi đang gặp một chút rắc rối với một số trig cơ bản. Tôi đang làm một số bài tập về nhà toán học, và cuối cùng tôi đã chán chuyển đổi các tọa độ hình chữ nhật thành các tọa độ cực và ngược lại, vì vậy tôi quyết định tạo một chương trình Python nhỏ để giúp tôi với các chuyển đổi. Tuy nhiên, Math.atan() đang cho tôi một chút rắc rối. Dưới đây là đoạn code:.Cơ bản trig: math.atan() số
def rect_to_polar_input(x, y):
hypotenuse = math.sqrt((x * x) + (y * y))
tangent = float(y/x);
angle = round(math.degrees(math.atan(tangent)));
if x <= 0:
if(y >=0):
angle += 90
if(y <= 0):
angle+= 180
if x >= 0:
if(y<0):
angle+=270
return hypotenuse, angle
Trong trường hợp bạn đang tự hỏi tại sao tôi có những if
báo cáo phiền phức trong đó, nó để thêm các góc chính xác cho các góc phần tư tọa độ vuông góc trong Quadrant 2 là 90 độ ra khỏi Quadrant 1 và Quadrant 3 là 180 độ từ Quadrant 1, v.v.
Bây giờ, nếu tôi nhập giá trị như (5, 5)
, mọi thứ hoạt động như mong đợi. Tuy nhiên, nếu tôi nhập (-5, 5)
, tôi nhận được giá trị là 7.07, 45
, nơi tôi sẽ nhận được 7.07, 135
. Nếu tôi nhập (-5, -5)
, tôi nhận được giá trị là 7.07, 225
, dự kiến. Cuối cùng, nếu tôi nhập giá trị (5, -5)
, tôi vẫn nhận được giá trị là 7.07, 225
. Tôi đã thử tất cả mọi thứ tôi có thể nghĩ đến, nhưng nó không hoạt động. Vì vậy, tôi đang thiếu gì?
Vâng, đã làm điều đó, cảm ơn! Xin lỗi vì đã chờ đợi. –