سلام.
فرض کنید که تعدادی رنگ (Color) داریم که بر اساس کد رنگ RGB تعریف شده اند (یعنی هر کدام، شامل 3 عدد هستند که در واقع چگونگی ساخت آن رنگ از میزان ترکیب 3 رنگ قرمز (Red) و سبز (Green) و آبی (Blue) را بیان می کند).
اکنون قصد داریم که این رنگ ها (Color) را به صورت تعدادی نقطه در فضای سه بعدی (3D) نمایش دهیم. هر نقطه نیز دقیقا با همان رنگی (Color) نمایش داده می شود که متناظر با آن است.
محورهای مختصات مورد نظرمان نیز همان سه مقدار تعریف کننده رنگ می باشند، یعنی مقدار مربوط به میزان رنگ قرمز (R - Red)، مقدار مربوط به میزان رنگ سبز (G - Green) و مقدار مربوط به میزان رنگ آبی (B - Blue).
برای این منظور، می توانیم از دستور scatter3 در متلب (MATLAB) استفاده نماییم.
مثال :
در این مثال، 5 نقطه را تعریف می کنیم. برای تعریف این 5 نقطه، یک ماتریس با 3 ردیف و 5 ستون خواهیم داشت.
در واقع هر ستون، شامل 3 مقدار مربوط به تعریف رنگ یک نقطه می باشد. بنابراین تعداد ستون ها، برابر تعداد نقاطی است که داریم.
تعداد ردیف هم که برابر 3 است، زیرا برای تعریف هر رنگ، 3 مقدار خواهیم داشت (بر اساس تعریف رنگ RGB).
کد متلب (MATLAB) :
سه خط اول کدها، برای عدم تداخل برنامه قعلی با برنامه های قبلی اجرا شده در متلب (MATLAB) می باشد.
نتیجه اجرای کد متلب (MATLAB) بالا :
نکته :
اگر در ماتریس تعریف نقاط دقت کنید، سه نقطه اول که تعریف کرده ایم، معادل 3 رنگ خالص قرمز (R - Red)، سبز (G - Green) و آبی (B - Blue) می باشند. یعنی از 3 پارامتر تعریف رنگ، یکی را برابر 255 قرار داده ایم و بقیه برابر 0 در نظر گرفته شده اند تا یک رنگ اصلی خالص داشته باشیم.
این سه رنگ اصلی را به سادگی می توانید در شکل مشاهده کنید.
فرض کنید که تعدادی رنگ (Color) داریم که بر اساس کد رنگ RGB تعریف شده اند (یعنی هر کدام، شامل 3 عدد هستند که در واقع چگونگی ساخت آن رنگ از میزان ترکیب 3 رنگ قرمز (Red) و سبز (Green) و آبی (Blue) را بیان می کند).
اکنون قصد داریم که این رنگ ها (Color) را به صورت تعدادی نقطه در فضای سه بعدی (3D) نمایش دهیم. هر نقطه نیز دقیقا با همان رنگی (Color) نمایش داده می شود که متناظر با آن است.
محورهای مختصات مورد نظرمان نیز همان سه مقدار تعریف کننده رنگ می باشند، یعنی مقدار مربوط به میزان رنگ قرمز (R - Red)، مقدار مربوط به میزان رنگ سبز (G - Green) و مقدار مربوط به میزان رنگ آبی (B - Blue).
برای این منظور، می توانیم از دستور scatter3 در متلب (MATLAB) استفاده نماییم.
مثال :
در این مثال، 5 نقطه را تعریف می کنیم. برای تعریف این 5 نقطه، یک ماتریس با 3 ردیف و 5 ستون خواهیم داشت.
در واقع هر ستون، شامل 3 مقدار مربوط به تعریف رنگ یک نقطه می باشد. بنابراین تعداد ستون ها، برابر تعداد نقاطی است که داریم.
تعداد ردیف هم که برابر 3 است، زیرا برای تعریف هر رنگ، 3 مقدار خواهیم داشت (بر اساس تعریف رنگ RGB).
کد متلب (MATLAB) :
کد پیاچپی:
clear all
close all
clc
A = [255, 0, 0, 100, 0;
0, 255, 0, 100, 160;
0, 0, 255, 100, 120]
scatter3(A(1,:), A(2,:), A(3,:), 50, (A/255)', 'filled')
xlabel('R')
ylabel('G')
zlabel('B')
سه خط اول کدها، برای عدم تداخل برنامه قعلی با برنامه های قبلی اجرا شده در متلب (MATLAB) می باشد.
نتیجه اجرای کد متلب (MATLAB) بالا :
نکته :
اگر در ماتریس تعریف نقاط دقت کنید، سه نقطه اول که تعریف کرده ایم، معادل 3 رنگ خالص قرمز (R - Red)، سبز (G - Green) و آبی (B - Blue) می باشند. یعنی از 3 پارامتر تعریف رنگ، یکی را برابر 255 قرار داده ایم و بقیه برابر 0 در نظر گرفته شده اند تا یک رنگ اصلی خالص داشته باشیم.
این سه رنگ اصلی را به سادگی می توانید در شکل مشاهده کنید.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.