নিম্নলিখিত ভাষায় বিভিন্ন ভাষায় কীভাবে প্রয়োগ করা যেতে পারে?
(x,y)
এর বৃত্তের পরিধি হিসাবে পয়েন্ট গণনা করুন , এর ইনপুট মানগুলি দেওয়া:
- ব্যাসার্ধ
- কোণ
- উৎপত্তি (byচ্ছিক প্যারামিটার, যদি ভাষাটি সমর্থন করে)
নিম্নলিখিত ভাষায় বিভিন্ন ভাষায় কীভাবে প্রয়োগ করা যেতে পারে?
(x,y)
এর বৃত্তের পরিধি হিসাবে পয়েন্ট গণনা করুন , এর ইনপুট মানগুলি দেওয়া:
উত্তর:
একটি বৃত্ত জন্য স্থিতিমাপ সমীকরণ হয়
x = cx + r * cos(a)
y = cy + r * sin(a)
যেখানে r হল ব্যাসার্ধ, সিএক্স, সি আদি এবং একটি কোণ।
এটি বেসিক ট্রিগ ফাংশনগুলির সাথে যে কোনও ভাষায় মানিয়ে নেওয়া বেশ সহজ। মনে রাখবেন যে বেশিরভাগ ভাষা ট্রিগ ফাংশনে কোণার জন্য রেডিয়ান ব্যবহার করবে , সুতরাং 0..360 ডিগ্রি দিয়ে সাইক্লিং না করে আপনি 0..2PI রেডিয়ানের মাধ্যমে সাইকেল চালাচ্ছেন।
+
এবং *
পছন্দ করেন তখন আপনি সর্বদা *
প্রথম এবং তারপরে যান +
।
সি # তে আমার বাস্তবায়ন এখানে রয়েছে:
public static PointF PointOnCircle(float radius, float angleInDegrees, PointF origin)
{
// Convert from degrees to radians via multiplication by PI/180
float x = (float)(radius * Math.Cos(angleInDegrees * Math.PI / 180F)) + origin.X;
float y = (float)(radius * Math.Sin(angleInDegrees * Math.PI / 180F)) + origin.Y;
return new PointF(x, y);
}
আপনার জটিল সংখ্যা থাকলে কার ট্রিগার দরকার :
#include <complex.h>
#include <math.h>
#define PI 3.14159265358979323846
typedef complex double Point;
Point point_on_circle ( double radius, double angle_in_degrees, Point centre )
{
return centre + radius * cexp ( PI * I * ( angle_in_degrees / 180.0 ) );
}
জাভাস্ক্রিপ্ট (ES6) এ প্রয়োগ করা :
/**
* Calculate x and y in circle's circumference
* @param {Object} input - The input parameters
* @param {number} input.radius - The circle's radius
* @param {number} input.angle - The angle in degrees
* @param {number} input.cx - The circle's origin x
* @param {number} input.cy - The circle's origin y
* @returns {Array[number,number]} The calculated x and y
*/
function pointsOnCircle({ radius, angle, cx, cy }){
angle = angle * ( Math.PI / 180 ); // Convert from Degrees to Radians
const x = cx + radius * Math.cos(angle);
const y = cy + radius * Math.sin(angle);
return [ x, y ];
}
ব্যবহার:
const [ x, y ] = pointsOnCircle({ radius: 100, angle: 180, cx: 150, cy: 150 });
console.log( x, y );
a
অবশ্যই রেডিয়েনগুলিতে থাকতে পারে - এটি আমার কাছে প্রাথমিকভাবে বুঝতে অসুবিধাজনক ছিল।