سلام . چطور میشه فهمید یک نقطه درون چند وجهی هست یا نه؟
سلام . چطور میشه فهمید یک نقطه درون چند وجهی هست یا نه؟
برای دایره و مستطیل و مثلث روش زیر جواب میده.
دایره که راحت ترینه ثدر مطلق اختلاف نقطه از مرکز کمتر ازشعاع باشه.
برای مثلث کافیه مرکز شکل رو بدست بیاری قدرمطلق اختلاف نقطه از مرکز کمتر از نصف قاعده و ارتفاع باشه.
برای مستطیل هم مرکز شکل رو بدست بیار،قدرمطلق اختلاف نقطه از مرکز کمتر از نصف طول و عرض باشه.
برای بقیه حالات بابد فکر کنی!
مرکز مثلث سه بعدی میشه مرکز هرم دیگه نه؟ در اینصورت چجوری مرکزشو بدست بیارم؟ هرمش هم هیچ تقارنی ممکنه نداشته باشه
اره.مرکز مثلث سه بعدی میشه مرکز هرم دیگه نه؟
شما از صفحه به فضا رفتی فقط یه بعد اضافه شده که اونم با همون روش میشه.در اینصورت چجوری مرکزشو بدست بیارم؟
اره.اینو باید حلش کنی.زیاد فکر نکردم روش.اما میشه روشی پیدا کرد.راستی برای چی میخوای؟هرمش هم هیچ تقارنی ممکنه نداشته باشه
برای الگوریتم پوسته محدب سه بعدی
سلام.
اون روشی که گفتید مانع هست اما جامع نیست و ممکنه نقاطی وجود داشته باشند که شما بگی بیرون اما درون باشند.
در مستطیل اگر کنار لبه کوتاهتر باشه الگوریتم شما می گه بیرون:
الان در مورد نقاط آبی و قهوه ای چی می گه؟
از طرفی ممکنه شکل منتظم نباشه.
راه درست به نظرم اینه که فضای بسته رو رنگ کنیم و اگر پس زمینه نقطه رنگی بود یعنی درون شکل.
با دستوراتی مثل FloodFill
فکر می کنم برای سه بعدی هم دستورات مشابهی موجود باشه.
توابع تبدیل تاریخ با دقت 5000 سال
پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
پایگاه داده، تیونینگ، طراحی و پیاده سازی ..
برای این شکل جواب میده.شما فاصله نقطه قرمز که در مرکز هست رو با نقطه آبی بدست بیارید داخل مستطیل هست و برای قهوه ای هم عرض مستطیل . برای دایره حتما درسته چون تست کردم.اما بنظرم بشه راه بهتری پیدا کرد که نیاز به رنگ کردن نباشه.حالا دوستان فکر کنن منم بیشتر فکر می کنم.شاید بجواب بهتری رسیدیم.
الگوریتم مناسب برای 3d convex hull سراغ دارین من 3d quickhull رو دیدم ولی چیزی نفهمیدم
کسی میتونه توضیح فارسی الگوریتم 3d quick hull یا 3d Gift Wraping رو بزاره؟
برای حالت دوبعدی، روی نقطه ، محور x و y رو قرار میدیم، بعد هر یک از چهار جهت رو بررسی میکنیم (x , -x, y, -y ) اگه در هریک از چهارجهت، نقطه یک بار با چندضلعی محدب برخورد داشته باشه، نقطه داخل چندضلعی هست.
دو بعدی رو بلدم نوشتم سه بعدی رو میخوام
چطور 2 بعدیشو بلدید و 3 بعدیش رو نه.
شما تو 2 بعدی میاید از نقطه مورد نظر یک خط رو امتداد میدید اگر تعداد نقاط فرد باشه یعنی در داخله و در غیر اینصورت در خارج polygon هستش.
حالا همین تعریف رو برای polyhedron داریم یعنی تقاطع یک خط با صفحه اگر با تعداد صفحات فرد برخورد داشته باشه در داخل در غیر اینصورت در خارج از polyhedron قرار داره
با سلام
از دوستان کسی هست که الگوریتم quick hull رو پیاده سازی کرده باشه؟
با تشکر