السلام عليكم و رحمة الله و بركاته فكرت كثيرا عن كيفية تضمين الدوال المثليه مثل sin , cos and tan و ايضا دالة الجذر التربيعى و الأسس داخل الـ c++ بالنسبه للدوال المثلثيه و خصوصا الداله sine بحثت على الإنترنت فوجدت من يقول انه بإستخدام الــ lookup table او بإستخدام for-loop و من الأكواد التى وجدتها للداله sin التالى
double mysin1(double x){double numerator = x;double denominator = 1.0;double sign = 1.0;double sin = 0; // terms below define the number of terms you want int terms=10; for ( int i = 1; i <= terms; i++ ) { sin += numerator / denominator * sign; numerator *= x * x; denominator *= i*2 * (i*2+1); sign *= -1; }return sin;}
sin (theta) = (PI / 2) - thetacos(theta) = (PI / 2) - theta
const double PI = 3.14159265358979323846;double mycos1(double x){ double numerator = 1.0; double denominator = 1.0; double sign = 1.0; double cos = 0; // terms below define the number of terms you want int terms = 10; for ( int i = 1; i <= terms; i++ ) { cos += numerator / denominator * sign; sign *= -1; numerator *= x * x; denominator *= (i*2-1) * i*2; } return cos;}double mysin2(double x){ return mycos1((PI/2) - x);}
double mycos2(double x){ return mysin1((PI/2) - x);}
double Power(int pwr,double number){ double sum=1; for(int i=1; i<=pwr; i++) sum *= number;}