# Native Code > برنامه نویسی در Delphi >  محاسبه مقدار زاویه ( تانژانت اینورس )

## nightHunter

سلام

به چه شکل میتونم در دلفی مقدار تانژانت اینورس یک عدد رو بدست بیارم .

در ماشین حسابهای مهندسی این کار به سادگی انجام میشه ولی نیاز دارم که خودم در نرم افزاری که ایجاد میکنم این مقدار رو محاسبه کنم .

لطفا راهنمایی بفرمایید .
با تشکر .

----------


## AlirezaBahredar

function ArcTan2(x, y: Double): Double;
var
  retur: Double;
begin
  Retur := 0.0;
  if ABS(x) < 0.000000001 then //Close to zero! We declare it to be zero!
  begin //The small margin gives a slight error, but improves reliability.
    if y > 0 then
    begin
      Retur := PI / 2; //90 degrees
    end
    else
    begin
      Retur := PI / (-2); //-90 degrees
    end;
  end
  else
  begin
    if x > 0 then // 1. or 4. quadrant
    begin
      Retur := ArcTan(Y / X); // Easy stuff. Normal ArcTan is valid for 1. and 4.
    end
    else // 2. or 3. quadrant
    begin
      Retur := PI - ArcTan(-Y / X);
    end;
  end;
  ArcTan2 := Retur;
end;

برگرفته شده از سایت www.torry.net

----------


## nightHunter

سلام

این روشی که شما فرمودی میزان زاویه رو نشون نمیده . این آرک تانژانت رو بر میگردونه که تا اونجایی که من اطلاع دارم خروجی باید از نوع رادیان باشه . هر چند میشه با داشتن میزان رادیان میزان درجه رو به دست آورد ولی من دنبال تابعی بودم که مستقیما میزان درجه ( تانژانت اینورس ) رو محاسبه کنه .

در کل از توجه شما صمیمانه سپاسگزارم .

----------


## AlirezaBahredar

با سلام

var
 float : single;
begin
float:= ArcTanh(0.5);
ShowMessage(FloatToStr(RadToDeg(float)));
end;

هر دو تابع در خود دلفی موجود می باشد تابع ArcTanh که همان آرکتانژانت است و تابع RadToDeg جهت تبدیل رادیان به درجه..
موفق باشی.

----------


## nightHunter

سلام

این شد یک جواب کامل ، از لطف شما دوست عزیز سپاسگزارم .

----------

