PDA

View Full Version : سوال: پیاده سازی ماتریس n در دو به توان n، حاوی اعداد باینری دو به نمای n بیتی



Pouri_sb
سه شنبه 14 خرداد 1392, 01:45 صبح
سلام
یه الگوریتم رو دارم پیاده سازی می کنم، این یکی از قسمتهاشه. هدف ما اینه که یک مستطیلی که n تا بعد داره و ما مختصات مرکز و فاصله مرکز از هر بعد رو داریم. حالا می خواهیم با نصف کردن این فاصله مرکز از هر بعد که اون رو بردار R<r1,r2,....,rn> می نامیم، این مستطیل رو تبدیل به 2 به توان n مستطیل کوچکتر کنیم.

مثلا فرض کنید ما یه مستطیل 2 بعدی، به مرکز( 2 و 2 )و شعاع 2 داریم. حالا اگه این رو بخوایم تقسیم کنیم شعاعش یک می شه و مرکز مختصات هر کدوم از 4 تا مستطیل جدید عبارتند از:
(1 و 1)
( 3 و 1)
(1 و 3)
( 3 و 3)

حالا ربطش به عنوان تاپیک:
برای حل این سوال من راه حلی که به ذهنم رسید این بود که من یه ماتریس دو بعدی حاوی فرم باینری اعداد صفر تا دو به توان n داشته باشم. برای تولید همچین ماتریسی وقتی n رو ندارم چی کار باید بکنم؟ کلاسی برای این کار هست؟

چرا این ماتریس رو میخوام؟:
به مثال بر می گردیم، مرکزا از رابطه زیر بدست می یان:

2-r/2 , 2-r/2
2-r/2 , 2+r/2
2+r/2 , 2-r/2
2+r/2 , 2+r/2


که اون علامت جمع یا تفریق متناظر با اعداد زیرن
00
01
10
11

حالا اگه راه حل بهتری دارین، یا روشی برای تولید این ماتریس به نحوی که بشه به همه عناصرش دسترسی داشت پیشنهاد بدین ممنون میشم :)


ممنون که حوصله کردین و این مطلب رو خوندین

hadi0x7c7
پنج شنبه 16 خرداد 1392, 11:32 صبح
مستطیل، مرکز، شعاع ؟