3 डी मेरी गहराई से थोड़ा बाहर है। यदि यह 2D होता तो मैं घुमाए गए चित्र में पिक्सेल पहलू अनुपात को चुनता, जैसे कि नमूना दर का अनुपात उस दर के लगभग बराबर होता है जिस पर आप मूल छवि में स्कैन लाइनों को काट रहे हैं।
मैं इसे बना रहा हूं जैसे मैं साथ जाता हूं, इसलिए मुझे पहले एक उदाहरण काम करने दें:
मान लीजिए मेरे पिक्सल 16 यूनिट चौड़े और 1 यूनिट ऊंचे हैं। कोई फर्क नहीं पड़ता कि मैं कितना घूमता हूं जिसके परिणामस्वरूप पिक्सल को लगभग 16 इकाइयों का एक क्षेत्र होना चाहिए। अगर मैं घुमाता हूँπ/2, मैं अपना नया पिक्सल 1x16 पसंद करूंगा। अगर मैं घुमाता हूँπ/4, मैं अपने नए पिक्सल को 4x4 करना चाहूंगा।
इतनी अधिक आम तौर पर, क्षैतिज पिक्सेल चौड़ाई के साथ एक प्रारंभिक छवि दी गई है x0 और ऊर्ध्वाधर पिक्सेल ऊंचाई y0, और कोण का एक रोटेशन 0≤θ≤π/2।
मेरी नई क्षैतिज स्कैन लाइनें मूल छवि से ऊर्ध्वाधर स्कैन लाइनों को एक दर पर प्रतिच्छेद करने जा रही हैं 1x0cosθ प्रति यूनिट की लंबाई और मूल छवि से क्षैतिज स्कैन लाइनों को एक दर पर प्रतिच्छेद करता है 1y0sinθ प्रति यूनिट लंबाई।
इसी तरह, मेरी नई ऊर्ध्वाधर स्कैन लाइनें मूल क्षैतिज स्कैन लाइनों को एक दर से प्रतिच्छेद करने जा रही हैं 1y0cosθ की दर से मूल ऊर्ध्वाधर स्कैन लाइनें 1x0sinθ।
इसलिए मुझे मेरा पहलू अनुपात पसंद आएगा
xθyθ=x0cosθ+y0sinθy0cosθ+x0sinθ
और मेरा नया पिक्सेल क्षेत्र होना चाहिए
xθyθ=x0y0.
मुझे नहीं पता कि राउंड-ऑफ त्रुटियों से सबसे अच्छा कैसे निपटना है, क्योंकि आपको शायद तर्कसंगत होने के लिए पहलू अनुपात की आवश्यकता है और पिक्सेल क्षेत्रों को पूर्णांक बनाने के लिए। यह भी ध्यान दें कि मैंने कुछ भी साबित नहीं किया है, बस पहलू अनुपात के लिए कुछ सूत्रों के साथ आते हैं जो अंतर्ज्ञान से मेल खाते हैंθ=0, θ=π/2, तथा θ=π/4।