এটি হল কমান্ড স্ট্রাকচার-সিন্থ যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।
কার্যক্রম:
NAME এর
structure-synth - 3D কাঠামো তৈরির জন্য অ্যাপ্লিকেশন
সাইনোপিসিস
গঠন-সিন্থ
বর্ণনাঃ
স্ট্রাকচার সিন্থ হল নির্দিষ্ট ব্যবহারকারীর সেট থেকে 3D স্ট্রাকচার তৈরি করার জন্য একটি অ্যাপ্লিকেশন
নিয়ম ফলস্বরূপ কাঠামোগুলি সমন্বিত OpenGL ভিউয়ারে দেখা বা রপ্তানি করা যেতে পারে
বিভিন্ন ফরম্যাটে। প্রোগ্রামটি ক্রিস কোয়েনের CFDG সিনট্যাক্স দ্বারা অনুপ্রাণিত হয়েছিল, এবং
মার্ক লেন্টজনার এবং জন হোরিগানের কনটেক্সট ফ্রি জিইউআই।
রাজ্য, রূপান্তর এবং ক্রিয়াগুলি
গঠন Synth সব রাষ্ট্র সম্পর্কে. একটি রাষ্ট্র বর্তমান সমন্বয় ব্যবস্থা বর্ণনা করে এবং
বর্তমান কালারিং মোড। সমন্বয় ব্যবস্থা অবস্থান, অভিযোজন এবং নির্ধারণ করে
বর্তমান অবস্থায় আঁকা সমস্ত বস্তুর আকার।
রাজ্যগুলি রূপান্তর দ্বারা পরিবর্তিত হয়। উদাহরণস্বরূপ আমরা স্থানাঙ্ক সিস্টেম এক স্থানান্তর করতে পারেন
রূপান্তর প্রয়োগ করে x-দিক থেকে একক: { x 1 }। একইভাবে আমরা ঘোরাতে পারি
স্থানাঙ্ক সিস্টেমটি প্রয়োগ করে x-অক্ষ সম্পর্কে 90 ডিগ্রি:{ rx 90}। রাজ্যগুলি হল
পার্সিংয়ের সময় স্বয়ংক্রিয়ভাবে মিলিত হয়, অর্থাৎ { x 1 x 1 } সমান { x 2 }।
অ্যাকশন তৈরি করতে রাজ্যগুলিকে নিয়ম কলের সাথে একত্রিত করা যেতে পারে। { x 2 } বক্স একটি উদাহরণ
একটি নিয়ম কল দ্বারা অনুসরণ রূপান্তর. 'বক্স' একটি অন্তর্নির্মিত নিয়ম। আশ্চর্যজনক নয়, এই
নিয়ম বর্তমান স্থানাঙ্ক সিস্টেমে (0,0,0) -> (1,1,1) এ অবস্থিত একটি বাক্স আঁকে।
পুনরাবৃত্ত ক্রিয়া:
পুনরাবৃত্তিমূলক ক্রিয়াগুলি প্রয়োগ করা সম্ভব, এটি গুণন প্রতীক ব্যবহার করে করা হয়:
উদাহরণস্বরূপ 3 * { x 2 } বক্স তিনটি ক্রিয়া তৈরির সমান হবে:
{ x 2 } বক্স
{ x 4 } বক্স
{ x 6 } বক্স
Color রূপান্তর:
স্থানিক রূপান্তরের অনুরূপ স্রোতকেও রূপান্তর করা সম্ভব
রেন্ডারিং রঙ। স্ট্রাকচার সিন্থ প্রতিনিধিত্ব করার জন্য HSV (হ্যু, স্যাচুরেশন এবং ভ্যালু) ব্যবহার করে
রঙ - এটি সম্ভবত আরজিবি রঙের মডেলের মতো পরিচিত নয়, তবে কিছুটা অফার করে
একবার আপনি এটিতে অভ্যস্ত হয়ে গেলে আরও স্বজ্ঞাত উপস্থাপনা (অন্তত এটিই কিছু লোক
দাবি - ব্যক্তিগতভাবে আমি এখনও লাল, সবুজ এবং নীল পরিপ্রেক্ষিতে চিন্তা করা সহজ বলে মনে করি
উপাদান)। রঙের রূপান্তরগুলি 'হ্যু', 'স্যাচুরেশন' এবং ব্যবহার করে প্রয়োগ করা হয়
'মান' অপারেটর।
পরবর্তী উদাহরণ a আঁকার জন্য পুনরাবৃত্তিমূলক ক্রিয়া এবং রঙের রূপান্তর উভয়ই প্রদর্শন করে
সুন্দর রঙের ঘনক্ষেত্র:
10 * { x 1 hue 36 } 10 * { y 1 sat 0.9 } 10 * { z 1 b 0.9 } বক্স
এখানে বিভিন্ন ধরণের রূপান্তর প্রদর্শনের আরেকটি উদাহরণ রয়েছে:
10 * { x 2 } বক্স
1 * { y 2 } 10 * { x 2 rx 6 } বক্স
1 * { y 4 } 10 * { x 2 hue 9 } বক্স৷
1 * { y 6 } 10 * { x 2 s 0.9 } বাক্স
বিল্ট-ইন নিয়ম:
স্ট্রাকচার সিন্থে বাক্স হল আদিম - অন্তর্নির্মিত নিয়মগুলির একটি উদাহরণ৷ দ্য
অন্যান্য অন্তর্নির্মিত নিয়মগুলি হল: গোলক, ডট, গ্রিড, লাইন, সিলিন্ডার, মেশ, সিলিন্ডারমেশ।
মেকিং বিধি
কাস্টম নিয়মগুলি জটিল এবং পরিশীলিত কাঠামো তৈরির চাবিকাঠি। নিয়ম হল
'রুল' কীওয়ার্ড ব্যবহার করে তৈরি করা হয়েছে। একটি নিয়ম যেকোন অন্তর্নির্মিত আদিম হিসাবে একইভাবে ব্যবহার করা যেতে পারে।
নিয়মের সবচেয়ে গুরুত্বপূর্ণ দিক হল, তারা নিজেদেরকে কল করতে সক্ষম। দেখা যাক
নিম্নলিখিত উদাহরণে:
R1
নিয়ম R1 {
{ x 0.9 rz 6 ry 6 s 0.99 sat 0.99 } R1
{ s 2 } গোলক
}
এই নিয়ম recursively নিজেকে কল যে লক্ষ্য করুন. এটি কখনই শেষ হবে না - যাইহোক
স্ট্রাকচার সিন্থে 1000 রিকারশনের ডিফল্ট সর্বোচ্চ পুনরাবৃত্ত গভীরতা রয়েছে। এই মান পারে
'set maxdepth xxx' কমান্ড ব্যবহার করে পরিবর্তন করুন। জোর করে বন্ধ করার আরেকটি উপায় হবে
'set maxobjects xxx' কীওয়ার্ড ব্যবহার করে, যা স্ট্রাকচার সিন্থকে ট্র্যাক রাখে
অঙ্কিত বস্তুর সংখ্যা।
যোগ করার পদ্ধতি কিছু এলোমেলোতা:
এখন, আকর্ষণীয় জিনিসগুলির জন্য, আমরা সম্ভবত কম স্ট্যাটিক কিছু তৈরি করতে চাই
- কিছু এলোমেলোতা যোগ করে। স্ট্রাকচার সিন্থে এটি একাধিক তৈরি করে অর্জন করা হয়
একই নিয়মের জন্য সংজ্ঞা:
R1
নিয়ম R1 {
{ x 0.9 rz 6 ry 6 s 0.99 sat 0.99 } R1
{ s 2 } গোলক
}
নিয়ম R1 {
{ x 0.9 rz -6 ry 6 s 0.99 sat 0.99 } R1
{ s 2 } গোলক
}
লক্ষ্য করুন 'R1' নিয়মের দুটি সংজ্ঞা রয়েছে। এখন যখনই স্ট্রাকচার সিন্থ নির্মাতার প্রয়োজন
'R1' নিয়মকে কল করার জন্য, এটি এলোমেলোভাবে সংজ্ঞাগুলির মধ্যে একটি বেছে নেবে।
REFERENCE,
পদক্ষেপ:
সমাপ্তির মানদণ্ড:
সেট সর্বোচ্চ গভীরতা [পূর্ণসংখ্যা]:
[পূর্ণসংখ্যা] পুনরাবৃত্তির (প্রজন্ম) পরে বিরতি। এটি একটি উপরের হিসাবে পরিবেশন করা হবে
সমস্ত নিয়মের জন্য পুনরাবৃত্তি সীমা।
সেট সর্বাধিক বস্তু [পূর্ণসংখ্যা]:
[পূর্ণসংখ্যা] অবজেক্ট তৈরি হওয়ার পরে, নির্মাণটি বন্ধ হয়ে যায়।
অন্য:
সেট বীজ [পূর্ণসংখ্যা]:
আপনাকে এলোমেলো বীজ সেট করতে দেয়। এটি সৃষ্টির পুনরুত্পাদন করা সম্ভব করে তোলে।
সেট পটভূমি [রঙ]:
আপনাকে পটভূমির রঙ সেট করতে দেয়। রং টেক্সট-স্ট্রিং পার্স হিসাবে নির্দিষ্ট করা হয়
Qt এর কালার পার্সিং ব্যবহার করে, স্ট্যান্ডার্ড HTML RGB স্পেসিফিকেশনের জন্য অনুমতি দেয় (যেমন #F00
অথবা #FF0000), কিন্তু SVG কীওয়ার্ডের নামও (যেমন লাল বা এমনকি হালকা সোনালি রঙের হলুদ)।
নিয়ম সংশোধক:
md / সর্বোচ্চ গভীরতা [পূর্ণসংখ্যা]:
নিয়ম অবসর। নিয়মের জন্য সর্বোচ্চ পুনরাবৃত্ত সেট করে। নিয়ম কার্যকর হবে না
এই সীমা পৌছার পরে যেকোন কর্ম।
md / সর্বোচ্চ গভীরতা [পূর্ণসংখ্যা] > [শাসনের নাম]:
প্রতিস্থাপন সহ নিয়ম অবসর। নিয়মের জন্য সর্বাধিক পুনরাবৃত্তিমূলক সেট করে। পরে
এই সীমাতে পৌঁছেছে [rulename] এই নিয়মের পরিবর্তে কার্যকর করা হবে।
w / ওজন [ভাসা]:
অস্পষ্ট নিয়ম। যদি একই নামে একাধিক নিয়ম সংজ্ঞায়িত করা হয়, একটি এলোমেলো
সংজ্ঞা এখানে নির্দিষ্ট ওজন অনুযায়ী নির্বাচিত হয়. ওজন না থাকলে
নির্দিষ্ট করা হয়েছে, 1 এর ডিফল্ট ওজন ব্যবহার করা হয়।
রূপান্তরের:
জ্যামিতিক রূপান্তর:
x [ভাসা]:
এক্স অক্ষ অনুবাদ। ফ্লোট আর্গুমেন্ট হল স্থানীয় ইউনিটে পরিমাপ করা অফসেট
তুল্য সিস্টেম.
y [ভাসা]:
Y অক্ষ অনুবাদ। যেমন উপরে.
z [ভাসা]:
Z অক্ষ অনুবাদ। যেমন উপরে.
rx [ভাসা]:
x অক্ষ সম্পর্কে ঘূর্ণন। 'ফ্লোট' আর্গুমেন্ট হল ডিগ্রীতে নির্দিষ্ট কোণ।
ঘূর্ণন অক্ষ স্থানীয় স্থানাঙ্ক সিস্টেমে একক ঘনক্ষেত্রে কেন্দ্রীভূত হয়: যে
ঘূর্ণন অক্ষে (0, 0.5, 0.5) -> (1, 0.5, 0.5) থেকে লাইন সেগমেন্ট রয়েছে।
ry [ভাসা]:
y অক্ষ সম্পর্কে ঘূর্ণন। যেমন উপরে.
rz [ভাসা]:
z অক্ষ সম্পর্কে ঘূর্ণন। যেমন উপরে.
s [ভাসা]:
স্থানীয় সমন্বয় ব্যবস্থার আকার পরিবর্তন করে। লক্ষ্য করুন যে আকার পরিবর্তনের জন্য কেন্দ্র
স্থানীয় সিস্টেমে ইউনিট ঘনকের কেন্দ্রে অবস্থিত (এতে (0.5,0.5,0.5))।
s [f1] [f2] [f3]:
স্থানীয় সমন্বয় ব্যবস্থার আকার পরিবর্তন করে। উপরের হিসাবে কিন্তু প্রত্যেকের জন্য আলাদা স্কেল সহ
মাত্রা।
m [f1] ... [f9]:
এর জন্য রূপান্তর ম্যাট্রিক্সে নির্দিষ্ট 3x3 ঘূর্ণন ম্যাট্রিক্স প্রয়োগ করে
বর্তমান অবস্থা. আর্গুমেন্ট অর্ডার সম্পর্কে: [f1], [f2], [f3] এর প্রথম সারি সংজ্ঞায়িত করে
জরায়ু.
fx: এক্স-অক্ষ সম্পর্কে স্থানীয় স্থানাঙ্ক সিস্টেমকে মিরর করে। মিররিং প্লেন উপরে হিসাবে
ঘনক্ষেত্রে কেন্দ্রীভূত হয়।
fy: y-অক্ষ সম্পর্কে স্থানীয় স্থানাঙ্ক সিস্টেমকে মিরর করে।
fz: z-অক্ষ সম্পর্কে স্থানীয় সমন্বয় ব্যবস্থাকে মিরর করে।
রঙ স্থান পরিবর্তন:
h / রঙ [ভাসা]:
বর্তমান অবস্থার জন্য হিউ কালার প্যারামিটারে 'ফ্লোট' মান যোগ করে। রং হয়
0 থেকে 360 পর্যন্ত পরিমাপ করা হয় এবং চক্রাকারে মোড়ানো হয় - অর্থাৎ 400 এর একটি রঙ এর একটি রঙের সমান
40.
শনি [ভাসা]:
বর্তমানের জন্য স্যাচুরেশন কালার প্যারামিটারের সাথে 'ফ্লোট' মানকে গুণ করে
অবস্থা. স্যাচুরেশন 0 থেকে 1 পর্যন্ত পরিমাপ করা হয় এবং এই ব্যবধানে আটকানো হয় (যেমন
1 এর থেকে বড় মান 1 এ সেট করা হয়েছে)।
b / উজ্জ্বলতা [ভাসা]:
বর্তমানের জন্য উজ্জ্বলতার রঙের প্যারামিটারের সাথে 'ফ্লোট' মানকে গুণিত করে
অবস্থা. উজ্জ্বলতা 0 থেকে 1 পর্যন্ত পরিমাপ করা হয় এবং এই ব্যবধানে আটকানো হয়। লক্ষ্য করুন
সেই প্যারামিটারটিকে কখনও কখনও 'V' বা 'মান' বলা হয় (এবং রঙের স্থান প্রায়শই
HSV হিসাবে উল্লেখ করা হয়)।
a / আরম্ভ [ভাসা]:
বর্তমান অবস্থার জন্য আলফা কালার প্যারামিটারের সাথে 'ফ্লোট' মানকে গুণ করে।
আলফা 0 থেকে 1 পর্যন্ত পরিমাপ করা হয় এবং এই ব্যবধানে আটকানো হয়। একটি আলফা মান
শূন্য সম্পূর্ণ স্বচ্ছ, এবং একটি আলফা মান সম্পূর্ণ অস্বচ্ছ।
রঙ [রঙ]:
এই কমান্ডগুলি রঙটিকে একটি পরম রঙে সেট করে (অন্যান্য রূপান্তরগুলি হল
বর্তমান অবস্থার উপর আপেক্ষিক পরিবর্তন)। রং টেক্সট-স্ট্রিং হিসাবে নির্দিষ্ট করা হয়
Qt-এর কালার পার্সিং ব্যবহার করে পার্স করা, স্ট্যান্ডার্ড HTML RGB স্পেসিফিকেশনের জন্য অনুমতি দেয়
(যেমন #F00 বা #FF0000), তবে SVG কীওয়ার্ডের নামও (যেমন লাল বা এমনকি
হালকা গোল্ডেনরোডাইলো)।
অঙ্কন আদিম:
বাক্স: কঠিন বাক্স
গ্রিড: তারের ফ্রেম বাক্স
গোলক:
বৃত্তাকার জিনিস (এখন এই আদিম কিছু সমস্যা আছে - যেমন উপবৃত্তাকার হয়
কাজ করছে না.)
লাইন: x অক্ষ বরাবর, y,z সমতলে কেন্দ্রীভূত।
পয়েন্ট: সমন্বয় ব্যবস্থায় কেন্দ্রীভূত।
ত্রিভুজ:
একটি কাস্টম বহুভুজ তৈরি করে। নিম্নরূপ স্থানাঙ্ক উল্লেখ করুন:
ত্রিভুজ [0,0,0;1,0,0;0.5,0.5,0.5]
জাল: প্রোটোটাইপ জাল
সিলিন্ডার
প্রতিসাম্য অক্ষ বর্তমান x অক্ষ হবে. [বাস্তবায়িত হয়নি]
নল: বহুভুজ সিলিন্ডার (কোঅর্ডিনেট সিস্টেম রূপান্তরিত হওয়ার সাথে সাথে মসৃণভাবে আঁকা হবে)।
[বাস্তবায়িত হয়নি]
প্রিপ্রসেসর কম্যান্ড:
# define বর্ণনাম মান:
'varname'-এর প্রতিটি ঘটনাকে 'মান' দিয়ে প্রতিস্থাপিত করে। মান স্পেস থাকতে পারে.
জন্য প্রসঙ্গ বিনামূল্যে / সিএফডিজি ব্যবহারকারী:
CFDG-এর সাথে Structure Synth-এর EisenScript সিনট্যাক্সের অনেক মিল রয়েছে।
তবে কয়েকটি গুরুত্বপূর্ণ পার্থক্য রয়েছে:
প্রসঙ্গ সংবেদনশীলতা:
একটি CFDG স্ক্রিপ্ট একটি ব্যাকরণ হিসাবে দেখা যেতে পারে, যেখানে উত্পাদনের নিয়মগুলি রয়েছে৷
নিয়মগুলির মধ্যে নির্বাচন করার সময় তাদের প্রসঙ্গ থেকে স্বাধীন - বা অন্যভাবে রাখুন
সিস্টেমের ইতিহাস সম্পর্কে CFDG এর কোন জ্ঞান নেই। এই 'প্রসঙ্গ মুক্ত'
CFDG-এর সম্পত্তি ইচ্ছাকৃতভাবে আইজেনস্ক্রিপ্টে বাদ দেওয়া হয়েছিল, কেবল বাস্তববাদীর জন্য
কারণ: কিছু কাঠামো কিছু উপায় ছাড়া তৈরি করা কঠিন হবে
একটি নির্দিষ্ট সংখ্যক পুনরাবৃত্তির পরে নিয়ম পরিবর্তন করুন।
সার্জারির 'স্টারট্রুল' বিবৃতি:
CFDG-এ স্টার্টরুলগুলি স্পষ্টভাবে নির্দিষ্ট করা আছে। আইজেনস্ক্রিপ্টে, আরও জেনেরিক
পদ্ধতি ব্যবহার করা হয়: বিবৃতি যা একটি নিয়ম সংজ্ঞা ব্যবহার করা যেতে পারে, এছাড়াও হতে পারে
উচ্চ-স্তরের সুযোগে ব্যবহৃত হয়, তাই একটি স্টার্ট-রুল নির্দিষ্ট করার জন্য, শুধু লিখুন
নিয়মের নাম।
পরিসমাপ্তি নির্ণায়ক:
CFDG তে রিকারশন স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায় যখন উত্পাদিত বস্তুগুলি খুব ছোট হয়
দৃশ্যমান হতে এটি একটি খুব মার্জিত সমাধান, কিন্তু এটি একটিতে করা সহজ নয়
ডাইনামিক 3D ওয়ার্ল্ড, যেখানে ব্যবহারকারী ক্যামেরা দিয়ে নড়াচড়া করতে এবং জুম করতে পারে। বেশ কয়েকটি বিকল্প
রেন্ডারিং বন্ধ করার জন্য স্ট্রাকচার সিন্থে বিদ্যমান।
রুপান্তর অর্ডার:
কোঁকড়া বন্ধনীতে CFDG ট্রান্সফরমেশনে (যা CFDG অ্যাডজাস্টমেন্ট হিসেবে উল্লেখ করে)
উপস্থিতির ক্রমানুসারে প্রয়োগ করা হয় না, এবং একই একাধিক রূপান্তর হলে
টাইপ প্রয়োগ করা হয়, শুধুমাত্র শেষটি বাস্তবে বাহিত হয়। মধ্যে রূপান্তর জন্য
CFDG-এ বর্গাকার বন্ধনীর ক্রম অন্যদিকে তাৎপর্যপূর্ণ। কাঠামোতে
রূপান্তর ক্রম সবসময় তাৎপর্যপূর্ণ: রূপান্তর প্রয়োগ করা হয়
ডান-সবচেয়ে এক থেকে শুরু।
EXAMPLE টি
নীচে একটি EisenScript নমুনা আছে:
/*
নমুনা টরাস।
*/
maxdepth 100 সেট করুন
r1
36 * { x -2 ry 10 } r1
নিয়ম r1 maxdepth 10 {
2 * { y -1 } 3 * { rz 15 x 1 b 0.9 h -20 } r2
{ y 1 h 12 a 0.9 rx 36 } r1
}
নিয়ম r2 {
{ s 0.9 0.1 1.1 hue 10 } বক্স // একটি মন্তব্য
}
নিয়ম r2 w 2 {
{ hue 113 sat 19 a 23 s 0.1 0.9 1.1 } বক্স
}
onworks.net পরিষেবা ব্যবহার করে স্ট্রাকচার-সিন্থ অনলাইন ব্যবহার করুন