আজকে আমরা মূলত একটা প্রবলেম নিয়ে আলোচনা করব । প্রবলেমটি বুঝতে খুব সোজা আর এর সমাধানটাও অনেক মজার । প্রবলেমটি হলঃ
আমাদের একটা পলিগন দেয়া থাকবে । পলিগন দেয়া থাকবে মানে হল, পলিগনটি যেই কো-অর্ডিনেট দিয়ে ফর্ম করে সেই কোঅর্ডিনেটগুলো সিকুয়েন্সালি দেয়া থাকবে (ক্লকওয়াইজ অথবা অ্যান্টিক্লকওয়াইজ) । এরপরে আমাদের কিছু কোয়েরি পয়েন্ট দেয়া থাকবে । আমাদের বলতে হবে যে পয়েন্টটি পলিগন এর মধ্যে না বাইরে ।
একটা ছবি দিলে প্রবলেমটা বুঝতে সুবিধা হবে ।
যেমন এখানে আমাদের একটা পলিগন দেয়া আছে । আর একটা পয়েন্ট দেয়া আছে q, যা পলিগন এর ভেতরে ।
তো আমাদের এই প্রবলেমের বেশ সুন্দর একটা সমাধান আছে । সমাধানটা এরকম, আমরা একটু হাতে কলমে কয়েকটা পলিগন আঁকি, আর এরপরে আমরা পলিগন এর মধ্যে কিছু পয়েন্ট নেই এবং সেটা থেকে অনেক দূরের কোন বিন্দু পর্যন্ত কিছু লাইন/ রেখাংশ টানি । ঠিক একইভাবে বাইরে কিছু পয়েন্ট নেই আর যে কোন দিকে অনেক দূর পর্যন্ত কিছু লাইন/রেখাংশ টানি ।
আমরা একটা জিনিস খেয়াল করব আমরা যদি কোন পয়েন্ট ভেতরে নেই আর তারপরে তার থেকে যে কোন দিকে রেখাংশ টানি (অবশ্যই অনেক দূরের কোন বিন্দু পর্যন্ত) তাহলে সে রেখাংশটি অবশ্যই অবশ্যই পলিগনটিকে বেজোড় সংখ্যকবার ছেদ করবে । আর যদি পয়েন্টটি বাইরে হয় সে ক্ষেত্রে জোড় সংখ্যক বার ছেদ করবে । কেন করবে ?
খুব সিম্পল লজিকে আমরা দেখি, যদি পয়েন্টটি বাইরে হয় তাহলে আমরা তার থেকে যে কোন দিকে যদি কোন রেখাংশ টানি, সেই রেখাংশটি হয় পলিগনটিকে ছেদ করবেই না ( পলিগন এর বিন্দুগুলো যে দিকে আমরা সম্পূর্ণ বিপরীত দিকে রেখাংশ টানছি) অথবা অনেক দূরের কোন পয়েন্ট হলে তাকে অবশ্যই পলিগনটিকে ছেদ করে তারপরে আবার বের হতে হবে মানে সর্বদা জোড় সংখ্যক পলিগন এর বাহুকে ছেদ করবে , এর জন্যই দূরের পয়েন্টটিকে অবশ্যই অনেক বেশি দূরে নিতে হবে, পলিগনটি যেই পয়েন্টগুলো দ্বারা ফর্ম করে তাদের থেকে অনেক বেশি দূরে । কেন সর্বদা জোড় সংখ্যক বার ছেদ করবে ? একটু চিন্তা করলেই দেখবে যে, আমরা যখন বাইরে থেকে ভেতরে ঢুকছি আমাদের ” দূরের বিন্দুটি” পলিগন এর মধ্যে না , তাই আমাদের কি করতে হবে একবার ঢুকে সেই বিন্দুটি পর্যন্ত পৌছাতে হলে রেখাংশটি/ রে টিকে অবশ্যই পলিগন এর বাইরে বের হতে হবে । এভাবে প্রতিবার ঢুকতে হলে আবার বের হতে হবে মানে জোড় সং খ্যক বার পলিগনটিকে ছেদ করতে হবে ।
এভাবে জেনারেল কেস এ প্রবলেমটি সল্ভ হবে । এখন স্পেশালি সিনেরিওগুলোতে আসি ।
আচ্ছা আমি তো লাইন টানছি আর এর পরে হিসেব করছি যে, সেটা কতবার ছেদ করছে তাই না ? কিন্তু খেয়াল করে দেখ যদি এটা লাইনটানার সময় পলিগন এর কোন ভার্টেক্স দিয়ে যায় ? তাহলে তো আমরা সেম জিনিস কে ২ বার হিসেব করব তাই না ? আমাদের সমাধান তো বলবে যে ভেতরে নেই কারণ জোড় সংখ্যক বার ছেদ তাহলে ? তাহলে আমরা একটা কাজ করতে পারি আমরা হিসেব করে বললাম যে ঠিক আছে ভার্টেক্স দিয়ে গেলে আমরা বলব যে হা, একবার নিব (মোট যতবার ভার্টেক্স ছেদ করবে / ২) । অন্য সময় নরমালি হিসেব করব বা যোগ করব । আর মোট যদি বেজোড় হয় তাহলে বলব ভেতরে আর জোড় হলে বাইরে । এটাও কাজ করবে না কারণ দেখি ।
এক্ষেত্রে তো বেজোড় সংখ্যকবার ছেদ করেছে আমাদের হিসেবে পয়েন্টটি তো মধ্যে থাকার কথা কিন্ত ভেতরে না সেটি বাইরে । তাহলে ?
আচ্ছা এই সমস্যা সমাধানের সবচাইতে ভাল উপায় হচ্ছে, এমনভাবে দূরের পয়েন্ট টা নেয়া যাতে কোন ভাবে কোন লাইন/রে/রেখাংশ টানলে সেটা ভার্টেক্স দিয়ে না যায় । তাহলে তো একবার নিব না দুইবার নিব সেই প্রবলেম এ পড়তে হয় না । তাই না ?
তাহলে আমাদের কাজ হবে আমাদের কোয়েরি পয়েন্ট সাপেক্ষে সবগুলো পলিগন এর পয়েন্ট এর স্লোপ বের করা । আর এরপর এমন স্লোপ সিলেক্ট করে দূরের পয়েন্ট নেয়া যাতে কোনভাবেই সেটা কোন ভার্টেক্স দিয়ে না যায় বা যেই স্লোপ টা কে আমি আমার ইনপুট থেকে পাচ্ছি না । আচ্ছা এখন [-৯০,৯০] এই পুরো রেঞ্জ এর মধ্যে কীভাবে আমি স্লোপ ঠিক করব ? সবচাইতে ইজি সলিউশন হল যেই ইন্টিজার স্লোপ পাই না সেটা কে নেয়া, আর সবথেকে ক্রিটিকাল কেস আমি যদি -৯০ থেকে ৯০ এর মধ্যে সব ইন্টিজার স্লোপ পাই তাহলে আমরা সবগুলো স্লোপ কে সর্ট করে যে কোন ২টা কনজি কিউটিভ স্লোপ এর মাঝের স্লোপ নিব । তাহলেই হবে । কারন সেটা অবশ্যই ইনপূট থেকে আসবে না ।
আমরা এটা থেকে লাইট ওজ এর Sleepwalking প্রবলেমটা সলভ করতে পারি । প্রবলেমটি সলভ করতে প্রবলেম হলে নিচের সলিউশনটা দেখতে পার ।
আমার সলিউশনঃ https://ideone.com/F2T0TQ
কৃতজ্ঞতা স্বীকারঃ
হাসনাইন হেইকেল জামি ।
রেজওয়ান মাহমুদ তন্ময় ।
রেফারেন্সঃ টপকোডার, উইকিপিডিয়া ।
over the counter viagra http://viacheapusa.com/
Very good article! We are linking to this particularly great content on our site. Keep up the great writing.
where can i buy hydroxychloroquine https://chloroquine1st.com/
best place to buy cialis online https://www.wisig.org/
sitagliptin phosphate januvia http://lm360.us/
hydroxychloroquine over the counter uk https://webbfenix.com/
allergic reaction to cialis http://cialisoni.com/
using viagra without ed https://viatribuy.com/
cephalexin without a vet prescription https://keflex.webbfenix.com/
azithromycin 250mg https://azithromycinx250.com/
hydroxychloroquine stock market https://hhydroxychloroquine.com/
drug interactions with vidalista https://vidalista.mlsmalta.com/
stromectol dosing chart https://ivermectin.webbfenix.com/
suhagra citrate soft tabs https://suhagra.buszcentrum.com/
generic vidalista drugstore https://vidalista40mg.mlsmalta.com/
cost of albuterol sulfate solution https://amstyles.com/
cialis gernic buy cialis online paypal no prescription female cialis
is hydroxychloroquine a steroid https://hydroxychloroquinee.com/
prescription drugs without the prescription https://buymeds.mlsmalta.com/
best price on generic tadalafil https://cialis.lm360.us/
There is An area service composition a composition which refers to how the volunteer job you did as well as the own community. It requires approximately fifty minutes to compose a 250 word composition. https://primitivowinebistro.com/all-things-you-need-to-take-into-consideration-when-buying-an-essay-online/
cialis 20mg cost https://cialis.lm360.us/
order generic viagra uk
safflo b9c45beda1 https://coub.com/stories/2730089-sobotta-atlas-de-anatomia-humana-vol-1-e-2-portugu-s-free-downloadl-manyon
alewane b9c45beda1 https://coub.com/stories/2714718-freelance-contract-sample-template-fixed
edygilb 79a0ff67a5 https://coub.com/stories/2662867-instagram-hacker-v-3-7-2-58l
odilbla 79a0ff67a5 https://coub.com/stories/2713750-globalsan-iscsi-keygen-best
cypwal ba0249fdb3 https://wakelet.com/wake/ywVOlwZ_Jd2b-CjJILXug
berves 7383628160 https://trello.com/c/2Pc0UFAP/52-articad-pro-v14-dongle-crack-macinstmank-server-submarines-es-marlat
moqbir fe98829e30 https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMCgk4fwCgwLEgZDb3Vyc2UYgIDAoIjx5QsMCxIIQWN0aXZpdHkYgIDA0IKZlAsMogEQNTcyODg4NTg4Mjc0ODkyOA
idarpho fe98829e30 https://wakelet.com/wake/ghO9S35Ku4JxSJciIdrb2
phigabr fe98829e30 https://trello.com/c/FrF22voa/41-dragon-ball-xenoverse-2-update-v1-14-incl-dlc-codex
garesbi d868ddde6e https://coub.com/stories/3128772-work-balsamiq-mockups-license-key
mariline d868ddde6e https://coub.com/stories/3106977-network-topology-mapper-solarwinds-crack-upd
pylgerm d868ddde6e https://coub.com/stories/3028083-total-tank-simulator-demo-4-download-mythogu
daladl d868ddde6e https://coub.com/stories/2934461-pcad-2006-sp2-viewer-verified-crack
olital d868ddde6e https://coub.com/stories/3015235-planetzootorrentdownloadserialnumber-repack
gerrray d868ddde6e https://coub.com/stories/3064878-adobe-photoshop-lightroom-cc-2018-11-9-crack-download-link-pc
gilbsail d868ddde6e https://coub.com/stories/3147747-frigobase-frigodep-frigodiag-28-2-hot
marpos d868ddde6e https://coub.com/stories/3050027-line-6-model-packs-crack-_best_ed
wahbxant d868ddde6e https://coub.com/stories/3147754-hash-suite-pro-cracked-rib-ululgot
jakdeen d868ddde6e https://coub.com/stories/3003002-spolszczenie-do-rayman-3-hoodlum-havoc-vanvoll
denzyak b7f02f1a74 https://matetipi1985.wixsite.com/lepshepulo/post/techsmith-camtasia-studio-9-0-4-build-1948-serial-serial-key
andethor b7f02f1a74 https://burgdapaloula.wixsite.com/tutacaxu/post/microsoft-registration-crack-utorrent-full-pc-64bit
neenic b7f02f1a74 https://gamortilihi.wixsite.com/raofuzreedis/post/new-updated-synapse-x-crack-money-wh-teleport-mac-os-windows-cracked-version1-macosx
sahvlad c0c125f966 https://ruralathorle.wixsite.com/intiosubhorn/post/rar-simple-mix-vsco5f41d3b95d93a-imgsrc-ru-build-download-registration-pc-64-cracked
gabemarv b54987b36a https://coub.com/stories/3631423-nate-k-chrome-lightroom
handquig 4a48e5f205 https://wakelet.com/@seytreatovgua381
casmarc 4a48e5f205 https://wakelet.com/@tutherepi147
damawyan abc6e5c29d https://coub.com/ssucharescom/stories
nannfayn 9ef30a34bc https://coub.com/amabjonri/stories
cleajuni 9ef30a34bc https://coub.com/neysedisir/stories
fretam 7b17bfd26b https://coub.com/stories/2954222-exclusive-dream-pinball-3d-serial-number-cd-key
hibsoph 7b17bfd26b https://seesaawiki.jp/marcewrfiso/d/Final%20Merce%20Torrent%20Zip%20Pc%20Full%20License
delicass 7b17bfd26b https://wakelet.com/wake/gMaAVa7c6NTHskVGKeCz9
raiyoun 7b17bfd26b https://trello.com/c/RFb4ZOuP/17-quick-t2si-lite-license-180-cracked
breche 7b17bfd26b https://coub.com/stories/3414059-call-of-duty-modern-warfare-2-highly-compressed-only-37-mbgolkes-okpdehl
makpaig 7b17bfd26b https://trello.com/c/FVSxMjN9/54-schindlers-list-full-movie-free-download-ellgav
arakimb 7b17bfd26b https://wakelet.com/wake/uVZatiiH8gCglR1Grh1a7
jasmdedr 7b17bfd26b https://coub.com/stories/3286261-gigi-d-agostino-la-passion-acapella
wellder 7b17bfd26b https://wakelet.com/wake/Yth-FI8CtQHjCbc4IG2Uz
deinadr 7b17bfd26b https://wakelet.com/wake/oI60CJy_JgyJhzSv_nMTF
chrnefe 7b17bfd26b https://coub.com/stories/2933179-magenta-polylexicon-exe-crack-fix
jalarans 7b17bfd26b https://coub.com/stories/3388635-mixcraft-7-crack-2020-registration-key-darrtali
genfer 7b17bfd26b https://seesaawiki.jp/moisticaphla/d/Resi%20Kickass%20Dubbed%20Dubbed%20Watch%20Online
phisala 7b17bfd26b https://coub.com/stories/3223454-quoom-daughters-of-the-fallen-king-bdsm-3d-adult-comics-almerias-2021
yeibill 7b17bfd26b https://trello.com/c/cMmEDtiQ/80-xforce-keygen-autocad-revit-lt-suite-2014-32-bit-free-forcal
ornwile 7b17bfd26b https://wakelet.com/wake/zg4j6PY16iVyBn41ikBVZ
eloxel 7b17bfd26b https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMCA4r_BCwwLEgZDb3Vyc2UYgIDAwJbq3QoMCxIIQWN0aXZpdHkYgIDAkJnvmwkMogEQNTcyODg4NTg4Mjc0ODkyOA
jolihar 7b17bfd26b https://seesaawiki.jp/backlouchatach/d/Otsav%20Tv%20Broadcaster%201%2e90%20Serial
dawalor 7b17bfd26b https://wakelet.com/wake/SsaI7Ch3OZ84cUbSpa1DJ
darvwon 7b17bfd26b https://wakelet.com/wake/enD3bUAjdASBReCXwQtgx
cartai 7b17bfd26b https://wakelet.com/wake/WLFkRqWHD1oNkCZy-F0Lz
murkarr 7b17bfd26b https://wakelet.com/wake/bJ4xgoB6u5CI_B3iF_CDb
benyrein 7b17bfd26b https://trello.com/c/NHfG7en5/50-sam-broadcaster-422-including-crack-and-registration-key-4shared25-janquyn
palraqu 7b17bfd26b https://coub.com/stories/3105476-zumdahl-chemistry-8th-edition-solutions-manual-pdf-zipl-ualcha
stanlato 7b17bfd26b https://coub.com/stories/3439329-best-business-school-by-robert-kiyosaki-in-hindi-epub
amarafa 7b17bfd26b https://batrobarna.game-info.wiki/d/Laila%20A%20Mystery%202004%20Hindi%20Movie%20Watch%20Online%20%3dLINK%3d%20Full%20Movie
nirvmar 7b17bfd26b https://coub.com/stories/2943705-un-dia-sin-mexicanos-mexico-2004-dvdrip-3-denzsal
auguwem 7b17bfd26b https://coub.com/stories/3059456-repack-hd-online-player-haunted-3d-2-movie-720p-free-downl
amauni bcbef96d84 https://trello.com/c/JpevhCKN/67-windows-mahishasura-mardini-s-pro-64bit-key
ronvike ec2f99d4de https://wakelet.com/wake/f6G-y-0vOrMZ61oSBDLU9
halenat ec2f99d4de https://trello.com/c/Mmokhepd/38-activator-3d-album-cs-329-rar-x32-ultimate-cracked-pc
bertgeo ec2f99d4de https://trello.com/c/KDfEe36j/55-solfeo-los-solfeos-pozzoli-15-pdf-utorrent-book-free-zip
haliro 31ebe8ef48 https://wakelet.com/wake/XTVlM_KuRza2VK6Hgi0dF
phichan 31ebe8ef48 https://wakelet.com/wake/GDeBxat86oThm43LW4MHe
이용이유가생기는곳 먹튀검증 안전노리터 go