আমি কীভাবে একটি গোলকে প্রক্রিয়াজাতীয় গোলমাল তৈরি করতে পারি?


15

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

আমি মনে করি আমি ভলিউম শব্দটি উত্পন্ন করতে পারি এবং গোলকটি "কাটা" করতে পারি, তবে এটি অযৌক্তিকভাবে অদক্ষ বলে মনে হচ্ছে - এবং যদি শব্দটির কিছু গ্রিড-ভিত্তিক প্রত্নতত্ত্ব থাকে তবে এগুলি এখনও গোলকের সাথে অভিন্নভাবে উপস্থিত হবে না। তদ্ব্যতীত, কমপক্ষে সিমপ্লেক্স শব্দের ক্ষেত্রে, 3 ডি শব্দ থেকে 2D স্লাইস কাটা সাধারণত 2D শব্দ উত্পন্ন করার চেয়ে এখনই আলাদা দেখায়।

এই সমস্যাগুলি এড়াতে কি কোনও উপায় আছে, যেমন গোলকের সাথে নেটিভ শব্দ উত্পন্ন করে? গোলমালের কমপক্ষে পার্লিন শব্দের গুণমান হওয়া উচিত , আদর্শভাবে সিমপ্লেক্স শোরের


জিপিইউ রত্ন 3 তে যেমন দেখা যাবে ত্রিপ্লানার প্রক্ষেপণ ? প্রশ্নটি হ'ল যে শব্দটি অস্পষ্ট বা অন্যথায় অযাচিত দেখাবে যখন এটি বিভিন্ন অনুমানের মধ্যে মিশ্রিত হয়।
নাথান রিড

আমি আমার পোস্টে আরও একটি সম্ভাব্য পদ্ধতি যুক্ত করেছি। এটি আরও বিস্তারিত প্রয়োজনীয়তার সাথে আপনার প্রশ্নটি স্পষ্ট করার মতো হতে পারে। অর্থাত্ 3 ডি শব্দের 2D স্লাইস কেন আপনার চাক্ষুষ প্রয়োজনীয়তা পূরণ করে না? আপনার কর্মক্ষমতা প্রয়োজনীয়তা কি?
জন কলসবিেক

@ জনকলসবিেক সত্যই, আমার হাতে কোনও শক্ত প্রয়োজনীয়তা নেই। এটি কেবল একটি প্রশ্ন ছিল যা সম্পর্কে আমি কৌতূহল ছিলাম যা ভেবেছিলাম আমি বেসরকারী বিটার জন্য যেতে পারি। অবশ্যই, 3 ডি শব্দ থেকে 2 ডি স্লাইস কাটা অনেক অ্যাপ্লিকেশনগুলির জন্য যথেষ্ট হবে তবে আমি নিশ্চিত যে এটির কিছু কার্যকারিতা প্রভাব এবং অ্যানিসোট্রপিজ থাকবে (যা লক্ষণীয় হতে পারে বা নাও হতে পারে)। "3 ডি গোলমালের বাইরে গোলকটি কেটে ফেলা আপনার সেরা বিকল্প, কারণ ..." অবশ্যই একটি বৈধ উত্তর।
মার্টিন ইন্ডার

আপনি এই shadertoy পরীক্ষা করতে পারেন যা একটি গোলকের উপর শব্দ করে: shadertoy.com/view/4sfGzS
অ্যালান ওল্ফ

উত্তর:


15

আমি কেবল 3 ডি গোলমাল নিয়ে যাওয়া এবং গোলকের পৃষ্ঠের উপরে এটি মূল্যায়ন করার বিষয়টি বিবেচনা করব।

গোলকের তলদেশের ডোমেনের মধ্যে স্বাভাবিকভাবে রয়েছে এমন গ্রেডিয়েন্ট শব্দের জন্য আপনার প্রতিটি পৃষ্ঠার প্রায় সমান অঞ্চল সহ প্রাকৃতিক সংযোগের তথ্য রয়েছে এমন পৃষ্ঠের নিয়মিত প্যাটার্নের প্রয়োজন, যাতে আপনি বিভক্ত বা সংলগ্ন মানগুলি যোগ করতে পারেন। আমি ভাবছি যে কোনও ফিবোনাচি গ্রিডের মতো কিছু কাজ করতে পারে:

একটি গোলকের পৃষ্ঠে ফিবোনাচি গ্রিড

আপনার চার প্রতিবেশীর কাছে সূচকগুলি জানতে এবং দূরত্ব নির্ধারণ করা কতটা কাজ হবে তা নির্ধারণ করার জন্য আমি গণিতের মাধ্যমে চিবিয়ে নিই না (আমি জানি না যে আপনি সব ক্ষেত্রে চারটি সংজ্ঞায়িত প্রতিবেশী রয়েছেন কিনা), এবং আমি সন্দেহ করি যে এটি কেবল 3D শব্দ ব্যবহারের চেয়ে কম দক্ষ হতে পারে।

সম্পাদনা: অন্য কেউ গণিতে চিবিয়েছেন! গোলাকার ফিবোনাচি ম্যাপিংয়ের এই নতুন কাগজটি দেখুন । মনে হচ্ছে এটি গোলকের গোলকের সাথে খাপ খাইয়ে নেওয়া সোজা হবে।


যদি আপনি কোনও গোলকের রেন্ডারিং করে থাকেন, কেবল কোনও গোলকের পৃষ্ঠের শব্দকে মূল্যায়ন না করে এবং আপনার গোলকের জালির সমাধানে আপনার গোলকটি টেসেল্লেটিংয়ের সাথে ভাল হয়ে থাকেন তবে আপনি গোলকের পৃষ্ঠায় একটি জিওডেসিক গ্রিড তৈরি করতে পারেন (একটি উপ-বিভক্ত আইকোশেড্রন, সাধারণত):

জিওডাসিক গোলক

গোলকের প্রতিটি ভার্টেক্সে গ্রেডিয়েন্ট শব্দের জন্য এলোমেলোভাবে উত্পন্ন গ্রেডিয়েন্ট থাকতে পারে। পিক্সেল শেডারে এই তথ্যটি পেতে (আপনি যদি মান শব্দের মতো সোজা স্প্রোক প্রবণতা না চান) আপনার এই নিবন্ধের ওয়্যারফ্রেম রেন্ডারিংয়ের মতো ব্যারেন্সেন্ট্রিক স্থানাঙ্কের মতো প্রযুক্তি প্রয়োজন হতে পারে : আনইনডেক্সড রেন্ডারিং করুন, প্রতিটি শীর্ষবিন্দুটির সাথে ত্রিভুজের সেই শীর্ষবিন্দুটির বারিসেনট্রিক স্থানাঙ্ক রয়েছে with । এরপরে আপনি SV_PrimitiveIDপিক্সেল শেডারটিতে (বা ওপেনগেল সমতুল্য) থেকে পড়তে পারবেন , আপনি কী ত্রিভুজটির উপরে আছেন তার উপর ভিত্তি করে শীর্ষটি থেকে তিনটি শব্দ গ্ল্যাডিয়েন্টগুলি পড়তে পারেন এবং ইন্টারপোলটেড বেরিয়েেন্ট্রিক স্থানাঙ্কগুলি ব্যবহার করে আপনার পছন্দ মতো যা শোনার গণনা ব্যবহার করতে পারেন।

আমি মনে করি এই পদ্ধতির সবচেয়ে কঠিন অংশটি প্রতিটি ত্রিভুজের শব্দের মানগুলি অনুসন্ধান করার জন্য আপনার ত্রিভুজ আইডিটি তিনটি নমুনায় ম্যাপ করার একটি পরিকল্পনা নিয়ে আসছে।

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


2
আমি আগে কখনও ফিবোনাচি গ্রিডের কথা শুনিনি; যে বেশ শান্ত!
নাথান রিড

এটি একটি আকর্ষণীয় কাগজ। দেখে মনে হচ্ছে আপনি একটি বর্গ গ্রিড বা ষড়্ভুজোনীয় গ্রিডের নিকটবর্তী হওয়ার জন্য প্যারামিটারগুলি সামঞ্জস্য করতে পারেন যা শব্দের উত্পাদনে বিভিন্ন পদ্ধতির অনুমতি দেয়।
ট্রাইকোপ্লাক্স

টাইলের কিনারা (প্রান্ত-মোড়ানো) এর কিনার কাছে আমার কিছু খারাপ-খারাপ ফলাফল বিভক্ত ছিল, তবে এটি আপনি কী প্রভাব অর্জন করতে চাইছেন এবং সঠিক শব্দ পরামিতিগুলির উপর নির্ভর করে। কিছুটা অস্পষ্ট শব্দের জন্য দুর্দান্ত কাজ করে, স্পাইকি / সূক্ষ্ম দানাযুক্তগুলির সাথে এত ভাল নয়।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.