PDA

View Full Version : تشخیص نقطه درون polyhedron



armageddons
دوشنبه 03 بهمن 1390, 15:06 عصر
سلام . چطور میشه فهمید یک نقطه درون چند وجهی هست یا نه؟

aram_2
دوشنبه 03 بهمن 1390, 16:11 عصر
برای دایره و مستطیل و مثلث روش زیر جواب میده.
دایره که راحت ترینه ثدر مطلق اختلاف نقطه از مرکز کمتر ازشعاع باشه.
برای مثلث کافیه مرکز شکل رو بدست بیاری قدرمطلق اختلاف نقطه از مرکز کمتر از نصف قاعده و ارتفاع باشه.
برای مستطیل هم مرکز شکل رو بدست بیار،قدرمطلق اختلاف نقطه از مرکز کمتر از نصف طول و عرض باشه.
برای بقیه حالات بابد فکر کنی!

armageddons
دوشنبه 03 بهمن 1390, 17:59 عصر
مرکز مثلث سه بعدی میشه مرکز هرم دیگه نه؟ در اینصورت چجوری مرکزشو بدست بیارم؟ هرمش هم هیچ تقارنی ممکنه نداشته باشه

aram_2
دوشنبه 03 بهمن 1390, 18:43 عصر
مرکز مثلث سه بعدی میشه مرکز هرم دیگه نه؟ اره.

در اینصورت چجوری مرکزشو بدست بیارم؟شما از صفحه به فضا رفتی فقط یه بعد اضافه شده که اونم با همون روش میشه.

هرمش هم هیچ تقارنی ممکنه نداشته باشه اره.اینو باید حلش کنی.زیاد فکر نکردم روش.اما میشه روشی پیدا کرد.راستی برای چی میخوای؟

armageddons
دوشنبه 03 بهمن 1390, 18:44 عصر
برای الگوریتم پوسته محدب سه بعدی

یوسف زالی
دوشنبه 03 بهمن 1390, 21:37 عصر
سلام.
اون روشی که گفتید مانع هست اما جامع نیست و ممکنه نقاطی وجود داشته باشند که شما بگی بیرون اما درون باشند.
در مستطیل اگر کنار لبه کوتاهتر باشه الگوریتم شما می گه بیرون:
81333
الان در مورد نقاط آبی و قهوه ای چی می گه؟
از طرفی ممکنه شکل منتظم نباشه.
راه درست به نظرم اینه که فضای بسته رو رنگ کنیم و اگر پس زمینه نقطه رنگی بود یعنی درون شکل.
با دستوراتی مثل FloodFill
فکر می کنم برای سه بعدی هم دستورات مشابهی موجود باشه.

aram_2
سه شنبه 04 بهمن 1390, 05:57 صبح
برای این شکل جواب میده.شما فاصله نقطه قرمز که در مرکز هست رو با نقطه آبی بدست بیارید داخل مستطیل هست و برای قهوه ای هم عرض مستطیل . برای دایره حتما درسته چون تست کردم.اما بنظرم بشه راه بهتری پیدا کرد که نیاز به رنگ کردن نباشه.حالا دوستان فکر کنن منم بیشتر فکر می کنم.شاید بجواب بهتری رسیدیم.

armageddons
سه شنبه 04 بهمن 1390, 12:18 عصر
الگوریتم مناسب برای 3d convex hull سراغ دارین من 3d quickhull رو دیدم ولی چیزی نفهمیدم

armageddons
چهارشنبه 05 بهمن 1390, 23:36 عصر
کسی میتونه توضیح فارسی الگوریتم 3d quick hull یا 3d Gift Wraping رو بزاره؟

mortezamsp
پنج شنبه 06 بهمن 1390, 12:00 عصر
برای حالت دوبعدی، روی نقطه ، محور x و y رو قرار میدیم، بعد هر یک از چهار جهت رو بررسی میکنیم (x , -x, y, -y ) اگه در هریک از چهارجهت، نقطه یک بار با چندضلعی محدب برخورد داشته باشه، نقطه داخل چندضلعی هست.

armageddons
پنج شنبه 06 بهمن 1390, 12:49 عصر
دو بعدی رو بلدم نوشتم سه بعدی رو میخوام

مصطفی ساتکی
یک شنبه 09 بهمن 1390, 09:55 صبح
چطور 2 بعدیشو بلدید و 3 بعدیش رو نه.
شما تو 2 بعدی میاید از نقطه مورد نظر یک خط رو امتداد میدید اگر تعداد نقاط فرد باشه یعنی در داخله و در غیر اینصورت در خارج polygon هستش.
حالا همین تعریف رو برای polyhedron داریم یعنی تقاطع یک خط با صفحه اگر با تعداد صفحات فرد برخورد داشته باشه در داخل در غیر اینصورت در خارج از polyhedron قرار داره

nazanin0
دوشنبه 13 آبان 1392, 17:45 عصر
با سلام
از دوستان کسی هست که الگوریتم quick hull رو پیاده سازی کرده باشه؟
با تشکر