PDA

View Full Version : محاسبه مقدار زاویه ( تانژانت اینورس )



nightHunter
شنبه 26 آبان 1386, 08:31 صبح
سلام

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

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

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

AlirezaBahredar
شنبه 26 آبان 1386, 08:59 صبح
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
دوشنبه 28 آبان 1386, 12:19 عصر
سلام

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

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

AlirezaBahredar
دوشنبه 28 آبان 1386, 14:44 عصر
با سلام


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

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

nightHunter
سه شنبه 29 آبان 1386, 08:03 صبح
سلام

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