কিভাবে Bézier কার্ভ দিয়ে বৃত্ত তৈরি করবেন?


101

আমাদের কাছে একটি সূচনা পয়েন্ট (x, y) এবং একটি বৃত্ত ব্যাসার্ধ রয়েছে। এছাড়াও একটি ইঞ্জিন রয়েছে যা বেজিয়ার কার্ভ পয়েন্টগুলি থেকে একটি পথ তৈরি করতে পারে।

আমি কীভাবে বেজিয়ার রেখাচিত্র ব্যবহার করে একটি বৃত্ত তৈরি করতে পারি?


ঘনিষ্ঠভাবে সম্পর্কিত: জ্যামিতিক আর্ক থেকে
বেজিয়ার

উত্তর:


141

যেমন ইতিমধ্যে বলা হয়েছে: বেজিয়ার রেখাচিত্রগুলি ব্যবহার করে চেনাশোনাটির সঠিক কোনও প্রতিনিধিত্ব নেই।

বেজিয়ে কার্ভ সঙ্গে: অন্যান্য উত্তর সম্পূর্ণ করার জন্য nসেগমেন্ট অনুকূল অর্থে নিয়ন্ত্রণ পয়েন্ট দূরত্ব, যে বৃত্ত নিজেই বক্ররেখা মিথ্যার মাঝখানে হয় (4/3)*tan(pi/(2n))

n বিভাগগুলির জন্য সূত্র

সুতরাং 4 পয়েন্ট এটি (4/3)*tan(pi/8) = 4*(sqrt(2)-1)/3 = 0.552284749831

4 দফা কেস


4
সর্বোত্তম দূরত্বে, আপনি কোন ধরণের মেট্রিকগুলি অনুকূল করছেন? কিউবিক বাজিয়ার কার্ভগুলির সাথে আনুমানিক একটি বৃত্ত হিসাবে দেখানো হয়েছে , সর্বনিম্নতম সর্বোচ্চ স্রোত একটি পৃথক মান দ্বারা অর্জন করা হয়। আপনার ক্ষেত্রে "অনুকূল" অর্থ কী, বা সূত্রটি কীভাবে উদ্ভূত হয়েছে তা নির্ধারণ করতে আপনি কোনও লিঙ্ক সরবরাহ করতে পারেন?
সুমা

4
@ সুমা এটি কিছু দূরত্বের জন্য অনুকূল নয়। এটা অনুকূল বৃত্ত উপর বক্ররেখা মাঝখানে আছে। আপনি অবশ্যই আরও একটি মানদণ্ড স্থাপন করা এবং অবশ্যই আরও ভাল করা যেতে পারে।
কেপিএম

4
ঠিক আছে. আমি পুনঃব্যবহার করার চেষ্টা করব: "নিয়ন্ত্রণ পয়েন্টের দূরত্ব যেমন বক্ররেখার মাঝখানে বৃত্তের মধ্যে থাকে"। আমি এটিকে একটি বৈধ সিদ্ধান্ত হিসাবে দেখছি (যথেষ্ট ভাল এবং গণনা করা সহজ) তবে আমি এটিকে অনুকূল বলব না (কমপক্ষে কোনও অর্থে এটি অনুকূল কি না লিখে নাও)।
সুমা

4
হ্যাঁ, যেহেতু এটির সর্বাধিক বিচ্যুতি + 0.027% এবং সঠিক বৃত্ত বনাম -0 এর ন্যূনতম বিচ্যুতি রয়েছে। এটি প্রকৃত বৃত্তের তুলনায় কেবল কখনও বড় 0.0 0.027% এর অর্ধেক দ্বারা সি এ সরানোর মাধ্যমে আরও উন্নততর অনুমানের কাজটি করা হয়। আপনি যদি বৃত্তের মিডপয়েন্টগুলি চান তবে এটি অবশ্যই এটি করার উপায়।
তাতারাইজ

4
@ লেজেন্ডস 2 কে আমি তখন পিএনজিতে রূপান্তরিত একটি পিডিএফ তৈরি করতে আমি টিকজেডের সাথে ল্যাটেক্স ব্যবহার করি।
কেপিএম

36

কম্প.গ্রাফিক্স.ফাক .াকা

অংশ:

বিষয় 4.04: আমি কীভাবে একটি বৃত্তের সাথে বেজিয়ার বক্ররেখা ফিট করব?

আকর্ষণীয় যথেষ্ট, বেজিয়ার রেখাঙ্কনগুলি একটি বৃত্তের আনুমানিক পরিমাণ আনতে পারে তবে পুরোপুরি কোনও বৃত্তের সাথে ফিট করে না। একটি সাধারণ অনুমানন হ'ল চারটি বেজিয়ার ব্যবহার করে একটি বৃত্ত মডেল করতে, প্রতিটি নিয়ন্ত্রণ সহ একটি দূরত্ব পয়েন্ট করে ডি = আর * 4 * (স্কয়ার্ট (2) -1) / 3 শেষ পয়েন্টগুলি (যেখানে আর বৃত্তের ব্যাসার্ধ হয়) থেকে এবং শেষ বিন্দুতে বৃত্তের দিকে একটি দিক স্পর্শক। এটি বেজিয়ার্সের মিড পয়েন্টগুলি বৃত্তে রয়েছে এবং প্রথম ডেরাইভেটিভ অবিচ্ছিন্ন থাকবে তা নিশ্চিত করবে।
এই অনুমানের মধ্যে রেডিয়াল ত্রুটিটি বৃত্তের ব্যাসার্ধের প্রায় 0.0273% হবে।

মাইকেল গোল্ডাপ, "কিউবিক বহুবচন দ্বারা বিজ্ঞপ্তি তোরণগুলির আনুমানিকতা" কম্পিউটার এডেড জ্যামিতিক ডিজাইন (# 8 1991 পিপি .2727-238)

টর ডোকেন এবং মর্টেন ডাহেলেন, "বক্ররেখা-অবিচ্ছিন্ন বেজিয়ার কার্ভগুলির দ্বারা বৃত্তগুলির ভাল অনুমান" কম্পিউটার এডেড জ্যামিতিক ডিজাইন (# 7 1990 পিপি। 33-41)। http://www.sज्ञानdirect.com/sज्ञान/ article /pii/016783969090019N (নিখরচায় নিবন্ধ)

Http://spencermortensen.com/articles/bezier-c કલ// এ অ-বেতনভিত্তিক নিবন্ধটি দেখুন

ব্রাউজার এবং ক্যানভাস উপাদান।

নোট করুন যে কিছু ব্রাউজার তাদের ক্যানভাস অঙ্কিত চাপটিতে বেজিয়ার রেখাচিত্র ব্যবহার করে, ক্রোম ব্যবহার করে (বর্তমান সময়ে) একটি 4 সেক্টর পদ্ধতির এবং সাফারি একটি 8 সেক্টর পদ্ধতির ব্যবহার করে, পার্থক্যটি কেবলমাত্র উচ্চ রেজোলিউশনেই লক্ষণীয়, কারণ এটি 0.0273%, এবং এছাড়াও যখন আর্কগুলি সমান্তরালভাবে আঁকা হয় এবং পর্যায়টির বাইরে চলে যায় তখন আপনি সত্যিকারের বৃত্ত থেকে আরসকে দোলনাটি লক্ষ্য করবেন। প্রভাবটি আরও লক্ষণীয় হয় যখন বক্ররেখাটি তার রেডিয়াল কেন্দ্রের চারপাশে অ্যানিমেট করে থাকে, 600px ব্যাসার্ধটি সাধারণত আকার হয় যেখানে এটি কোনও পার্থক্য করবে।

কিছু অঙ্কন এপিআইয়ের সত্যিকারের অর্ক রেন্ডারিং নেই তাই তারা বেজিয়ার কার্ভগুলিও ব্যবহার করে, উদাহরণস্বরূপ ফ্ল্যাশ প্ল্যাটফর্মে কোনও চাপ আঁকানো এপিআই নেই, সুতরাং যে কোনও ফ্রেমওয়ার্কগুলি অর্কগুলি সরবরাহ করে তারা সাধারণত একই বেজিয়ার কার্ভ পদ্ধতির ব্যবহার করে।

নোট করুন যে ব্রাউজারগুলির মধ্যে এসভিজি ইঞ্জিনগুলি একটি ভিন্ন অঙ্কন পদ্ধতি ব্যবহার করতে পারে।

অন্যান্য প্ল্যাটফর্ম

আপনি যে প্ল্যাটফর্মটি ব্যবহার করার চেষ্টা করছেন তা, কীভাবে তোরণ অঙ্কনটি করা হয় তা খতিয়ে দেখার মতো, যাতে আপনি এর মতো ভিজ্যুয়াল ত্রুটিগুলি পূর্বাভাস করতে এবং মানিয়ে নিতে পারেন।


ধন্যবাদ, আমি এটি প্রতিস্থাপন করব।
ocodo

31

প্রশ্নের উত্তরগুলি খুব ভাল, তাই যুক্ত করার মতো খুব কম। এর দ্বারা অনুপ্রাণিত হয়ে আমি সমাধানটি চাক্ষুষভাবে নিশ্চিত করার জন্য একটি পরীক্ষা করা শুরু করেছিলাম , চারটি বেজিয়ার কার্ভ দিয়ে শুরু করে, কার্ভের সংখ্যা হ্রাস করে। আশ্চর্যরূপে আমি জানতে পেরেছিলাম যে তিনটি বাজিয়ার বক্ররেখাটি বৃত্তটি আমার পক্ষে যথেষ্ট ভাল লাগছিল , তবে নির্মাণটি কিছুটা জটিল। প্রকৃতপক্ষে আমি কালো 1 পিক্সেল-প্রশস্ত বাজিয়ার অনুমানকে একটি লাল 3-পিক্সেল-প্রশস্ত বৃত্তের (ইনস্কেপ দ্বারা উত্পাদিত) উপরে স্থাপন করতে ইনস্কেপ ব্যবহার করেছি। স্পষ্টতার জন্য আমি নীল লাইন এবং বেজিয়ার কার্ভের সীমানা বাক্সগুলি দেখায় পৃষ্ঠগুলি যুক্ত করেছি।

নিজেকে দেখতে, আমি আমার ফলাফল উপস্থাপন করছি:

1-বক্ররেখা গ্রাফ (যা কেবলমাত্র সম্পূর্ণতার জন্য এক কোণে ছিটানো ড্রপের মতো দেখায়):এখানে চিত্র বর্ণনা লিখুন

2-কার্ভ গ্রাফ:এখানে চিত্র বর্ণনা লিখুন

3-কার্ভ গ্রাফ:এখানে চিত্র বর্ণনা লিখুন

4-কার্ভ গ্রাফ: এখানে চিত্র বর্ণনা লিখুন

(আমি এখানে এসভিজি বা পিডিএফ রাখতে চেয়েছিলাম, তবে এটি সমর্থিত নয়)


4
এতক্ষণে, এসভিজি এইচটিএমএল কোড স্নিপেট হিসাবে অন্তর্ভুক্ত করা যেতে পারে। উদাহরণস্বরূপ এই উত্তরটি দেখুন: stackoverflow.com/a/32162431
টিএস

4
@ টিএস: আমি যখন থাকা গ্রাফিক্সগুলিকে আমার সাথে থাকা এসভিজির সাথে প্রতিস্থাপন করার চেষ্টা করেছি তখন বুঝতে পেরেছিলাম যে এই বছরের শুরুতে যে ইউএসবি স্টিকটি চুরি হয়েছিল আমি তাদের হারিয়েছি। যদি সময় অনুমতি দেয় তবে আমি শীঘ্রই এগুলি পুনরায় তৈরি করার চেষ্টা করব। তবে যদি এসভিজি কে এক্সএমএল কোড হিসাবে যুক্ত করা যায় (এবং গ্রাফিক্স হিসাবে প্রদর্শিত হয় না) তবে এটি এখানে খুব একটা বোঝায় না।
মার্কিন উইন্ডল

যদি আপনার ব্রাউজারটি এসজিজি সমর্থন করে, তবে আপনি "রান কোড স্নিপেট" ক্লিক করার সাথে সাথে চিত্রগুলি রেন্ডার হয়ে যাবে (দৃশ্যত সেই বোতামটি স্ট্যাকওভারফ্লোয়ের মোবাইল সংস্করণে উপলভ্য নয় ...)। আমি লিঙ্কিত উত্তর দেখুন।
টিএস

4
@ টিএস: দীর্ঘতর ফাইলের জন্য এটি খুব কুৎসিত IMHO।
মার্কিন উইন্ডল

9

অনেক উত্তর ইতিমধ্যে কিন্তু আমি একটি চেনাশোনা খুব ভাল ঘনক্ষেত্র bezier আনুমানিক সঙ্গে একটি ছোট অনলাইন নিবন্ধ খুঁজে পেয়েছি। ইউনিট বৃত্তের ক্ষেত্রে সি = 0.55191502449 যেখানে সি অক্ষরের মধ্যবর্তী বিরতি বিন্দু থেকে স্পর্শকাতর নিয়ন্ত্রণ পয়েন্টের দূরত্ব distance

নিয়ন্ত্রণ পয়েন্ট হওয়ায় দুটি মাঝারি স্থানাঙ্কের সাথে ইউনিট বৃত্তের একক চতুর্ভুজ হিসাবে। (0,1),(c,1),(1,c),(1,0)

রেডিয়াল ত্রুটি মাত্র 0.019608% তাই আমি কেবল উত্তরগুলির তালিকায় এটি যুক্ত করেছিলাম।

নিবন্ধটি এখানে পাওয়া যাবে ঘনক বেজিয়ার কার্ভগুলির সাথে প্রায় একটি বৃত্ত


4
আপনি যদি এটি পড়ে আছে চমৎকার গ্রন্থ Stackoverflow এর দ্বারা বেজিয়ে বক্ররেখা উপর মাইক 'Pomax' Kamermans । এটি পড়া ভাল! :-)

4
@ চিহ্নই এই লিঙ্কটির জন্য আপনাকে অনেক ধন্যবাদ, আমি এই বিষয়টিতে এটি দেখলাম "সবচেয়ে দুর্দান্ত" একটি গ্রন্থ। বিস্তারিতভাবে এটি দেখার সুযোগ পাওয়ার জন্য অপেক্ষা করতে পারি না ..: ডি ধন্যবাদ ...
ব্লাইন্ডম্যান 67

4
সুতরাং 0.019608% ত্রুটির সাথে গ্রাফিকগুলি ত্রুটিযুক্তভাবে 4 পিক্সেল পাবে যখন ব্যাসার্ধটি 2551 পিক্সেলের অতিক্রমের পরিবর্তে একটি বৃত্তের চেয়ে আরও খারাপ হবে 0.027253% যেখানে আমরা ত্রুটির একটি শক্ত অর্ধ-পিক্সেল (যেখানে গ্রাফিক্স ইঞ্জিন পিক্সেল পরিবর্তন করবে)) 1835 পিক্সেলে 2 পিক্সেল ত্রুটিযুক্ত হওয়ার কারণ!
তাতারাইজ

@ তাতারাইজ নিবন্ধটি ত্রুটিটি কীভাবে পরিমাপ করা হয়েছিল তা নির্দিষ্ট করে না, এটি বলছে সর্বাধিক রেডিয়াল ড্রিফট? আমি অনুমান করি যে বক্ররেখা 0 <= t <= 1 এর সাথে চতুর্ভুজ 0 <= pheta <= পাই / 2 এ টি = 0 = 1/2 = 1 সমান ফেটা = 0 = পাই / 4 = পাই / 4 ত্রুটি 0.019608% এবং সর্বাধিক ত্রুটি t = ~ 0.1822 & t = ~ 0.8177 এর 0.019608% (লক্ষণ?) এর মধ্যে কিন্তু এই বিন্দুতে টি সমান ফেটে ত্রুটিটি কৌণিক প্রবাহকে অন্তর্ভুক্ত করে না? । 4 পিক্সেল সঠিক হতে পারে বা নাও পারে। ত্রুটিটি বৈকল্পিক হতে পারে, এইভাবে ত্রুটি <2pix for r = 2551. অনেকগুলি প্রশ্ন যা তদন্তের প্রয়োজন হবে
ব্লাইন্ডম্যান 67

আমি বেশ নিশ্চিত যে ত্রুটি বক্ররেখার দিকে নজর রেখেছি যে প্রদত্ত সমন্বয়টি আর্ক-লাইনের উপরে সর্বাধিক ত্রুটিটি চাপ-লাইনের নীচে সর্বাধিক ত্রুটির সমান করতে যথেষ্ট পরিমাণে নীচে সরায় moves কোনটি বলতে আমরা কিছুটা নিচে বক্ররেখা পরিবর্তন করি যাতে সমস্ত ত্রুটি ইতিবাচক হয় না। এই সমন্বয়টির অর্থ হল যে আমরা সর্বোচ্চ ত্রুটির 4 টি পয়েন্ট সহ 4 বার আর্ক লাইনটি অতিক্রম করছি। যখন মূল নির্দিষ্ট রেখার 2 টি পয়েন্ট ছিল, যেমন t = .25 এবং t = .75 এ। সমন্বয়গুলির সাথে এটি টি = .125, টি = .375 টি = .625 টি = .875 এ হওয়া উচিত। এটি ধরে নেওয়া হয় যে আমরা শক্ত পিক্সেল ব্যবহার করছি না অ্যান্টি-এলিয়াসড যা 14px এ পরিবর্তিত হবে।
তাতারাইজ

8

এটা সম্ভব নয়. বেজিয়ার একটি ঘনক (কমপক্ষে ... সর্বাধিক ব্যবহৃত হয়)। একটি চেনাশোনা কিউবিকের সাথে ঠিক প্রকাশ করা যায় না, কারণ একটি বৃত্তের সমীকরণে একটি বর্গমূল থাকে। ফলস্বরূপ, আপনার আনুমানিক হতে হবে।

এটি করার জন্য, আপনাকে আপনার বৃত্তটি এন-ট্যান্টগুলিতে ভাগ করতে হবে (উদাঃ, অ্যাক্ট্যান্টস)। প্রতিটি এন-ট্যান্টের জন্য, আপনি বেজিয়ার বক্ররেখার প্রথম এবং শেষ হিসাবে প্রথম এবং শেষ পয়েন্টটি ব্যবহার করেন। বেজিয়ার বহুভুজের জন্য দুটি অতিরিক্ত পয়েন্ট প্রয়োজন। দ্রুত হওয়ার জন্য, আমি এন-ট্যান্টের প্রতিটি চরম বিন্দুর জন্য স্পর্শকাগুলিকে বৃত্তে নিয়ে যাব এবং দুটি স্পর্শকের ছেদ হিসাবে দুটি পয়েন্ট বেছে নেব (যাতে মূলত আপনার বেজিয়ার বহুভুজটি একটি ত্রিভুজ)) আপনার নির্ভুলতার সাথে মানিয়ে নিতে এন-ট্যান্টের সংখ্যা বাড়ান।


4
এটি সম্ভব, যতক্ষণ আপনি শূন্য দৈর্ঘ্যের অসীম সংখ্যক বেজিয়ার বক্র ব্যবহার করেন use যা মূলত পয়েন্টগুলির অসীম সংখ্যার, বা কেবল একটি খিলান বক্ররেখা।
তাতারাইজ

7

অন্যান্য উত্তরগুলি সত্য সত্য বৃত্ত সম্ভব নয় এই বিষয়টি আবৃত করেছে। এই করা SVG ফাইল দ্বিঘাত বেজিয়ে রেখাচিত্র ব্যবহার করে একটি পড়তা, এবং সর্বনিকটবর্তী বস্তু আপনি পেতে পারেন হল: http://en.wikipedia.org/wiki/File:Circle_and_quadratic_bezier.svg

কিউবিক বেজিয়ার কার্ভগুলি এখানে রয়েছে: http://en.wikedia.org/wiki/File : চেনাশোনা_আর_কুবিক_বেজিয়ার.এসভিজি


7

যেসব লোকেরা কেবল কোড খুঁজছেন তাদের কাছে:

https://jsfiddle.net/nooorz24/2u9forep/12/

var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");

function drawBezierOvalQuarter(centerX, centerY, sizeX, sizeY) {
    ctx.beginPath();
    ctx.moveTo(
        centerX - (sizeX),
        centerY - (0)
    );
    ctx.bezierCurveTo(
        centerX - (sizeX),
        centerY - (0.552 * sizeY),
        centerX - (0.552 * sizeX),
        centerY - (sizeY),
        centerX - (0),
        centerY - (sizeY)
    );
    ctx.stroke();
}

function drawBezierOval(centerX, centerY, sizeX, sizeY) {
    drawBezierOvalQuarter(centerX, centerY, -sizeX, sizeY);
    drawBezierOvalQuarter(centerX, centerY, sizeX, sizeY);
    drawBezierOvalQuarter(centerX, centerY, sizeX, -sizeY);
    drawBezierOvalQuarter(centerX, centerY, -sizeX, -sizeY);
}

function drawBezierCircle(centerX, centerY, size) {
    drawBezierOval(centerX, centerY, size, size)
}

drawBezierCircle(200, 200, 64)
<canvas id="myCanvas" width="400" height="400" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.</canvas>

এটি 4 বেজিয়ার কার্ভগুলির মধ্যে গঠিত বৃত্ত আঁকতে সহায়তা করে। জেএসে লিখিত তবে সহজেই অন্য কোনও ভাষায় অনুবাদ করা যায়

বিঃদ্রঃ

এসভিজি পাথ ব্যবহার করে যদি কোনও বৃত্ত আঁকার প্রয়োজন হয় তবে যদি না প্রয়োজন হয় তবে বেজিয়ার কার্ভগুলি ব্যবহার করবেন না। পথে আপনি Arc2 টি অর্ধবৃত্ত তৈরি করতে ব্যবহার করতে পারেন ।

এসভিজির তোরণ পাথ দিয়ে বৃত্ত অঙ্কন


এটি খুব সহায়ক, ধন্যবাদ! 4 টি বিভাগকে ক্রমে আনতে কী পরিবর্তন করা দরকার? আমাকে একটি পথ ধরে পাঠ্য লিখতে হবে তবে এখন এটি 4 টি বিভাগে ছড়িয়ে ছিটিয়ে রয়েছে
আলেক্সা

1

আমি নিশ্চিত নই যে আমার নতুন প্রশ্নটি খোলার দরকার নেই যেহেতু এটি অ্যাপ্রোক্সিমেশন সম্পর্কিত but তবে আমি যে কোনও ডিগ্রির বেজিয়ারের নিয়ন্ত্রণ পয়েন্ট পেতে সাধারণ সূত্রে আগ্রহী এবং আমি বিশ্বাস করি এটি এই প্রশ্নের মধ্যে খাপ খায়। ওয়েবে আমি যে সমস্ত সমাধান পেয়েছি সেগুলি কেবল ঘনকীয় বক্ররেখার জন্য বা অর্থ প্রদান করা হয় বা আমি এমনকি বুঝতে পারি না (আমি গণিতে খুব ভাল না)। সুতরাং আমি সিদ্ধান্ত নিলাম যে এটি নিজে থেকে সমাধান করার চেষ্টা করব। আমি প্রদত্ত কোণের উপর নির্ভর করে একটি বৃত্তের কেন্দ্র থেকে নিয়ন্ত্রণ পয়েন্টের দূরত্ব অধ্যয়ন করছিলাম এবং এখন পর্যন্ত আমি দেখতে পেয়েছি:

এখানে চিত্র বর্ণনা লিখুন

যেখানে Nএকক বক্ররেখার জন্য নিয়ন্ত্রণ পয়েন্টের সংখ্যা এবং αএটি বৃত্তের চাপটি কোণ।

দ্বিঘাত বক্ররেখা জন্য এটি সরলীকৃত যাবে বরং একটি অনুমান করা হয় - আমি নিখুঁত মান করেনি নিরূপণ না কিন্তু এটা চমত্কার বন্ধ আছে। এটি 1-2 নিয়ন্ত্রণ পয়েন্টের সাথে ঘনকীয় বক্ররেখার জন্য প্রায় 0.2% ব্যাসার্ধের ত্রুটি প্রদানের সাথে কার্ভের পক্ষে যুক্তিসঙ্গতভাবে ভাল কাজ করে। উচ্চ ডিগ্রি কার্ভগুলির জন্য নির্ভুলতার ক্ষতি হ'ল লক্ষণীয়। 3 কন্ট্রোল পয়েন্টের বক্ররেখার সাথে চতুষ্কোণের অনুরূপ দেখতে স্পষ্টতই আমি কিছু মিস করছি তবে আমি এটি বের করতে পারি না এবং এই পদ্ধতিটি আমার আপাতত আমার প্রয়োজনের সাথে খাপ খায়। এখানে ডেমো রয়েছেl ≈ r + r * PI*0.1 * pow(α/90, 2)PI*0.1


আপনি এই চিত্রটি তৈরি করতে কোন সফ্টওয়্যার ব্যবহার করেন?
কিয়ান সিজিয়ানহাঁও

4
আমার ডেমো + ম্যাথ রাইটিং প্যানেল থেকে স্ক্রিনশট (বা নামটি অনুবাদ করা হয়েছে) উইন 7 + এমএস পেইন্ট থেকে
প্যাভিয়ে অডিওনিসোস

0

এটিকে মৃতদের থেকে ফিরিয়ে আনার জন্য দুঃখিত, তবে আমি একটি প্রসারণযোগ্য সূত্র নিয়ে এই পৃষ্ঠাটি সহ এই পোস্টটিকে খুব সহায়ক বলে মনে করেছি ।

মূলত, আপনি অবিশ্বাস্যভাবে সহজ সূত্র ব্যবহার করে একটি কাছাকাছি বৃত্ত তৈরি করতে পারেন যা আপনাকে 4 এর চেয়ে বেশি বেজিয়ার কার্ভগুলি ব্যবহার করতে দেয়: Distance = radius * stepAngle / 3

Distanceবেজিয়ার কন্ট্রোল পয়েন্ট এবং তোরণটির নিকটতম প্রান্তের মধ্যবর্তী দূরত্বটি কোথায় , ব্যাসার্ধটি radiusবৃত্তের stepAngleমধ্যবর্তী কোণ এবং 2π / (বক্রের সংখ্যা) দ্বারা উপস্থাপিত হিসাবে তোরণটির 2 প্রান্তের মধ্যবর্তী কোণ।

সুতরাং এটি একটি শটে আঘাত করতে: Distance = radius * 2π / (the number of curves) / 3


4
এটি কোনও বৃত্তের সর্বোত্তম অনুমান নয়। সেরা এক Distance = (4/3)*tan(pi/2n)। বৃহত সংখ্যক আরাক্সের জন্য এটি প্রায় একই কারণ কারণ tan(pi/2)~pi/2nউদাহরণস্বরূপ n=4(যা সর্বাধিক ব্যবহৃত কেস) আপনার সূত্রটি দেয় Distance=0.5235...তবে অনুকূলটিটি হল Distance=0.5522... (যাতে আপনার ~ 5% ত্রুটি থাকে)।
কেপিএম

-2

এটি একটি ভারী অনুমান যা রেজোলিউশন এবং নির্ভুলতার উপর নির্ভর করে যুক্তিসঙ্গত বা ভয়ানক দেখবে তবে আমি স্কয়ারটি (2) / 2 এক্স ব্যাসার্ধটিকে আমার নিয়ন্ত্রণ পয়েন্ট হিসাবে ব্যবহার করি। আমি একটি দীর্ঘ লম্বা পাঠ্যটি পড়ি কীভাবে সেই নম্বরটি প্রাপ্ত এবং এটি পড়া মূল্যবান তবে উপরের সূত্রটি দ্রুত এবং নোংরা।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.