【Aegisub】判斷兩個繪圖是否為包含關(guān)系,函數(shù)分享
假設(shè)需要判斷繪圖a是否包含繪圖b,那么實(shí)際只需要做如下判斷:
1、圖a與圖b是否相交(或相切)
? ? ? ? 如果兩個圖已經(jīng)相交了,它們必然不會是包含關(guān)系;
? ? ? ? 如果兩個圖沒有相交,則:
2、判斷圖b中是否有任意一點(diǎn)p滿足p在圖a內(nèi)部
? ? ? ? ?如果b有任意一點(diǎn)不包含在圖a里,那么顯然圖a和圖b是相離的,所以不存在包含關(guān)系
? ? ? ? ?如果發(fā)現(xiàn)b中有一點(diǎn)p包含在a里,那么不用說其它所有點(diǎn)也一定包含在a中,否則圖a和圖b早就相交了
基于以上判斷,我寫了個爛代碼

另外關(guān)于圖形交,可以先將兩個繪圖轉(zhuǎn)為純直線命令繪圖,然后遍歷兩個圖形的每一條直線,兩兩直線計(jì)算它們的“交點(diǎn)”,這樣還能算出兩個圖形相交得到的所有交點(diǎn)
最后想說,我腦子笨,如果代碼寫得又丑又爛,希望大家多多包涵
標(biāo)簽: