আমি যখন জেএসে গণিতের সাথে কাজ করছি তখন আমি তার ট্রিগ ফাংশনগুলি রেডিয়ান মানগুলির পরিবর্তে ডিগ্রি মান ব্যবহার করতে চাই। আমি যে কিভাবে করতে হবে?
আমি যখন জেএসে গণিতের সাথে কাজ করছি তখন আমি তার ট্রিগ ফাংশনগুলি রেডিয়ান মানগুলির পরিবর্তে ডিগ্রি মান ব্যবহার করতে চাই। আমি যে কিভাবে করতে হবে?
উত্তর:
রূপান্তরটি করতে আপনি এই জাতীয় ক্রিয়া ব্যবহার করতে পারেন:
function toDegrees (angle) {
return angle * (180 / Math.PI);
}
ফাংশন পছন্দ লক্ষ্য করুন sin
, cos
, ইত্যাদি কোণ ফেরত না , তারা ইনপুট হিসাবে কোণ নিতে। আমার কাছে মনে হয়েছে যে এটি এমন একটি ফাংশন থাকা আপনার পক্ষে বেশি কার্যকর হবে যা ডিগ্রি ইনপুটটিকে রেডিয়ানে রূপান্তর করে, এর মতো:
function toRadians (angle) {
return angle * (Math.PI / 180);
}
যা আপনি যেমন কিছু করতে ব্যবহার করতে পারেন tan(toRadians(45))
।
Math.PI/180
সিস্টেম ট্রিগ ফাংশনগুলিকে কল করার আগে ডিগ্রি থেকে রেডিয়ানে রূপান্তর করতে ইনপুটটি গুণান।
আপনি নিজের ফাংশনগুলিও সংজ্ঞায়িত করতে পারেন:
function sinDegrees(angleDegrees) {
return Math.sin(angleDegrees*Math.PI/180);
};
ইত্যাদি।
sinDegrees
বিভ্রান্তি এড়ানোর জন্য
sind
এটি ছোট রাখা। আমি ব্যক্তিগতভাবে এটি sin
রেখেছি কারণ আমি জানি যে sin
এটি তখন ডিগ্রি এবং Math.sin
রেডিয়ানে থাকবে তবে এটি আমার নিজের হাতে।
আমি আমার নিজের সামান্য অলস ম্যাথ-অবজেক্টটি ডিগ্রির জন্য তৈরি করেছি (ম্যাথডি), আশা করি এটি সহায়তা করে:
//helper
/**
* converts degree to radians
* @param degree
* @returns {number}
*/
var toRadians = function (degree) {
return degree * (Math.PI / 180);
};
/**
* Converts radian to degree
* @param radians
* @returns {number}
*/
var toDegree = function (radians) {
return radians * (180 / Math.PI);
}
/**
* Rounds a number mathematical correct to the number of decimals
* @param number
* @param decimals (optional, default: 5)
* @returns {number}
*/
var roundNumber = function(number, decimals) {
decimals = decimals || 5;
return Math.round(number * Math.pow(10, decimals)) / Math.pow(10, decimals);
}
//the object
var MathD = {
sin: function(number){
return roundNumber(Math.sin(toRadians(number)));
},
cos: function(number){
return roundNumber(Math.cos(toRadians(number)));
},
tan: function(number){
return roundNumber(Math.tan(toRadians(number)));
},
asin: function(number){
return roundNumber(toDegree(Math.asin(number)));
},
acos: function(number){
return roundNumber(toDegree(Math.acos(number)));
},
atan: function(number){
return roundNumber(toDegree(Math.atan(number)));
}
};
আমি আরও সাধারণ ক্রিয়ামূলক পদ্ধতির পছন্দ করি:
/**
* converts a trig function taking radians to degrees
* @param {function} trigFunc - eg. Math.cos, Math.sin, etc.
* @param {number} angle - in degrees
* @returns {number}
*/
const dTrig = (trigFunc, angle) => trigFunc(angle * Math.PI / 180);
বা,
function dTrig(trigFunc, angle) {
return trigFunc(angle * Math.PI / 180);
}
যা কোনও রেডিয়ান গ্রহণের কার্যক্রমে ব্যবহার করা যেতে পারে:
dTrig(Math.sin, 90);
// -> 1
dTrig(Math.tan, 180);
// -> 0
আশাকরি এটা সাহায্য করবে!
আপনার নিজস্ব রূপান্তর ফাংশন তৈরি করুন যা প্রয়োজনীয় গণিতের প্রয়োগ করে এবং পরিবর্তে তাদের ডাকে। http://en.wikedia.org/wiki/Redia# রূপান্তর_ভিত্তিক_আড়িয়ানগণ_আর_ডিগ্রি
atan()
,atan2()
,acos()
,asin()
রিটার্ন কোণ।