Marching squares
ಕಂಪ್ಯೂಟರ್ ಗ್ರಾಫಿಕ್ಸ್ನಲ್ಲಿ, ಮಾರ್ಚಿಂಗ್ ಸ್ಕ್ವೇರ್ಗಳು ಎರಡು ಆಯಾಮದ ಸ್ಕೇಲಾರ್ ಫೀಲ್ಡ್ಗೆ (ಪ್ರತ್ಯೇಕ ಸಂಖ್ಯಾತ್ಮಕ ಮೌಲ್ಯಗಳ ಆಯತಾಕಾರದ ಶ್ರೇಣಿಯನ್ನು) ಬಾಹ್ಯರೇಖೆಗಳನ್ನು ಉತ್ಪಾದಿಸುವ ಅಲ್ಗಾರಿದಮ್ ಆಗಿದೆ. 2ಡಿ ತ್ರಿಕೋನ ಜಾಲರಿಗಳನ್ನು ಬಾಹ್ಯರೇಖೆ ಮಾಡಲು ಇದೇ ರೀತಿಯ ವಿಧಾನವನ್ನು ಬಳಸಬಹುದು. ಬಾಹ್ಯರೇಖೆಗಳು ಎರಡು ರೀತಿಯದ್ದಾಗಿರಬಹುದುಃ ಐಸೋಲೈನ್ಗಳು-ಒಂದೇ ದತ್ತಾಂಶ ಮಟ್ಟವನ್ನು ಅನುಸರಿಸುವ ರೇಖೆಗಳು, ಅಥವಾ ಐಸೋವಲ್ಯೂ. ಐಸೊಬ್ಯಾಂಡ್ಗಳು-ಐಸೊಲೈನ್ಗಳ ನಡುವೆ ತುಂಬಿದ ಪ್ರದೇಶಗಳು. ವಿಶಿಷ್ಟ ಅನ್ವಯಿಕೆಗಳಲ್ಲಿ ಭೌಗೋಳಿಕ ನಕ್ಷೆಗಳ ಮೇಲಿನ ಬಾಹ್ಯರೇಖೆಯ ರೇಖೆಗಳು ಅಥವಾ ಹವಾಮಾನ ನಕ್ಷೆಗಳಿಗಾಗಿ ಐಸೊಬಾರ್ಗಳ ಉತ್ಪಾದನೆ ಸೇರಿವೆ. ಮಾರ್ಚಿಂಗ್ ಸ್ಕ್ವೇರ್ಗಳು 3ಡಿ ಮಾರ್ಚಿಂಗ್ ಕ್ಯೂಬ್ಸ್ ಅಲ್ಗಾರಿದಮ್ಗೆ ಹೋಲುವ ವಿಧಾನವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತವೆಃ ಗ್ರಿಡ್ನಲ್ಲಿರುವ ಪ್ರತಿಯೊಂದು ಕೋಶವನ್ನು ಸ್ವತಂತ್ರವಾಗಿ ಸಂಸ್ಕರಿಸಿ. ಜೀವಕೋಶದ ಮೂಲೆಗಳಲ್ಲಿರುವ ದತ್ತಾಂಶ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ಬಾಹ್ಯರೇಖೆಯ ಮಟ್ಟ (ಗಳ) ದ ಹೋಲಿಕೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಜೀವಕೋಶದ ಸೂಚ್ಯಂಕವನ್ನು ಲೆಕ್ಕ ಹಾಕಿ. ಜೀವಕೋಶದ ಔಟ್ಪುಟ್ ಜ್ಯಾಮಿತಿಯನ್ನು ವಿವರಿಸಲು, ಜೀವಕೋಶದ ಸೂಚ್ಯಂಕದ ಮೇಲೆ ಕೀ ಮಾಡಲಾದ ಪೂರ್ವ ನಿರ್ಮಿತ ಲುಕ್ಅಪ್ ಟೇಬಲ್ ಅನ್ನು ಬಳಸಿ. ನಿಖರವಾದ ಬಾಹ್ಯರೇಖೆಯ ಸ್ಥಾನವನ್ನು ಲೆಕ್ಕಹಾಕಲು ಜೀವಕೋಶದ ಗಡಿಗಳ ಉದ್ದಕ್ಕೂ ರೇಖೀಯ ಅಂತರ್ವೇಶನವನ್ನು ಅನ್ವಯಿಸಿ. ಅಲ್ಗಾರಿದಮ್ನ ಮೂಲಭೂತ ಕ್ರಮಾವಳಿಗಳು ಇಲ್ಲಿವೆಃ ಬೈನರಿ ಚಿತ್ರವನ್ನು ಮಾಡಲು 2ಡಿ ಕ್ಷೇತ್ರಕ್ಕೆ ಒಂದು ಮಿತಿಯನ್ನು ಅನ್ವಯಿಸಿಃ 1 ಅಲ್ಲಿ ದತ್ತಾಂಶದ ಮೌಲ್ಯವು ಐಸೋವಲ್ಯೂ 0ಕ್ಕಿಂತ ಮೇಲಿರುತ್ತದೆ, ಅಲ್ಲಿ ದತ್ತಾಂಶದ ಮೌಲ್ಯವು ಐಸೋವಲ್ಯೂಗಿಂತ ಕೆಳಗಿರುತ್ತದೆ, ಬೈನರಿ ಚಿತ್ರದಲ್ಲಿನ ಪ್ರತಿ 2x2 ಪಿಕ್ಸೆಲ್ಗಳ ಬ್ಲಾಕ್ ಬಾಹ್ಯರೇಖೆಯ ಕೋಶವನ್ನು ರೂಪಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಇಡೀ ಚಿತ್ರವನ್ನು ಅಂತಹ ಕೋಶಗಳ ಗ್ರಿಡ್ನಿಂದ ಪ್ರತಿನಿಧಿಸಲಾಗುತ್ತದೆ (ಕೆಳಗಿನ ಚಿತ್ರದಲ್ಲಿ ಹಸಿರು ಬಣ್ಣದಲ್ಲಿ ತೋರಿಸಲಾಗಿದೆ). ಈ ಬಾಹ್ಯರೇಖೆಯ ಗ್ರಿಡ್ ಮೂಲ 2ಡಿ ಕ್ಷೇತ್ರಕ್ಕಿಂತ ಪ್ರತಿ ದಿಕ್ಕಿನಲ್ಲೂ ಒಂದು ಕೋಶ ಚಿಕ್ಕದಾಗಿದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ. ಬಾಹ್ಯರೇಖೆಯ ಗ್ರಿಡ್ನಲ್ಲಿರುವ ಪ್ರತಿಯೊಂದು ಕೋಶಕ್ಕೆಃ ದ್ವಿಮಾನ ಸೂಚ್ಯಂಕವನ್ನು ನಿರ್ಮಿಸಲು ಕೋಶದ ಮೂಲೆಗಳಲ್ಲಿ 4 ಬಿಟ್ಗಳನ್ನು ರಚಿಸಿಃ ಬಿಟ್ ಅನ್ನು ಸೂಚ್ಯಂಕಕ್ಕೆ ಸೇರಿಸುವ ಪ್ರದಕ್ಷಿಣಾಕಾರ ದಿಕ್ಕಿನಲ್ಲಿ ಕೋಶದ ಸುತ್ತಲೂ ನಡೆಯಿರಿ, ಬಿಟ್ವೈಸ್ ಒಆರ್ ಮತ್ತು ಲೆಫ್ಟ್-ಶಿಫ್ಟ್ ಅನ್ನು ಬಳಸಿ, ಮೇಲಿನ ಎಡಭಾಗದಲ್ಲಿರುವ ಅತ್ಯಂತ ಗಮನಾರ್ಹ ಬಿಟ್ನಿಂದ, ಕೆಳಗಿನ ಎಡಭಾಗದಲ್ಲಿರುವ ಕನಿಷ್ಠ ಗಮನಾರ್ಹ ಬಿಟ್ಗೆ. ಪರಿಣಾಮವಾಗಿ ಬರುವ 4-ಬಿಟ್ ಸೂಚ್ಯಂಕವು 0-15 ವ್ಯಾಪ್ತಿಯಲ್ಲಿ 16 ಸಂಭವನೀಯ ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿರಬಹುದು. ಸೆಲ್ ಅನ್ನು ಪ್ರತಿನಿಧಿಸಲು ಅಗತ್ಯವಿರುವ ಅಂಚುಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುವ 16 ನಮೂದುಗಳೊಂದಿಗೆ ಪೂರ್ವ ನಿರ್ಮಿತ ಲುಕ್ಅಪ್ ಟೇಬಲ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು ಸೆಲ್ ಸೂಚ್ಯಂಕವನ್ನು ಬಳಸಿ (ಕೆಳಗಿನ ಚಿತ್ರದ ಕೆಳಗಿನ ಬಲ ಭಾಗದಲ್ಲಿ ತೋರಿಸಲಾಗಿದೆ). ಜೀವಕೋಶದ ಅಂಚುಗಳ ಉದ್ದಕ್ಕೂ ಬಾಹ್ಯರೇಖೆಯ ರೇಖೆಯ ನಿಖರವಾದ ಸ್ಥಾನವನ್ನು ಕಂಡುಹಿಡಿಯಲು ಮೂಲ ಕ್ಷೇತ್ರ ದತ್ತಾಂಶ ಮೌಲ್ಯಗಳ ನಡುವೆ ರೇಖೀಯ ಅಂತರ್ವೇಶನವನ್ನು ಅನ್ವಯಿಸಿ. ತಡಿ ಬಿಂದುಗಳ ಅಸ್ಪಷ್ಟತೆ ತಡಿ ಬಿಂದುಗಳಲ್ಲಿ ಬಾಹ್ಯರೇಖೆಯು ಅಸ್ಪಷ್ಟವಾಗಿದೆ. ಇಂಟರ್ಪೋಲೇಟೆಡ್ ಬಿಂದುಗಳ ವಿವಿಧ ಸಂಪರ್ಕಗಳ ನಡುವೆ ಆಯ್ಕೆ ಮಾಡಲು ಕೋಶದ ಮಧ್ಯಭಾಗಕ್ಕೆ ಸರಾಸರಿ ದತ್ತಾಂಶ ಮೌಲ್ಯವನ್ನು ಬಳಸುವ ಮೂಲಕ ಅಸ್ಪಷ್ಟತೆಯನ್ನು ಪರಿಹರಿಸಲು ಸಾಧ್ಯವಿದೆ (ಕೆಳಗಿನ-ಬಲ ಮೂಲೆಯಲ್ಲಿರುವ ನಾಲ್ಕು ಚಿತ್ರಗಳು): ಐಸೊಬ್ಯಾಂಡ್ಗಳು ಮೇಲಿನ ಮತ್ತು ಕೆಳಗಿನ ಮಿತಿ ಮೌಲ್ಯಗಳೊಳಗೆ ತುಂಬಿದ ಬಾಹ್ಯರೇಖೆಯ ಬ್ಯಾಂಡ್ಗಳಿಗೆ ಇದೇ ರೀತಿಯ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ರಚಿಸಬಹುದುಃ ಬಾಹ್ಯರೇಖೆಯ ತ್ರಿಕೋನ ಜಾಲರಿಗಳನ್ನು ತ್ರಿಕೋನ ಜಾಲರಿಗಳಿಗೆ ಅನ್ವಯಿಸಬಹುದು, ಇದು ಶೃಂಗಗಳಿಗೆ ನಿಗದಿಪಡಿಸಿದ ದತ್ತಾಂಶದೊಂದಿಗೆ ಸಂಪರ್ಕಿತ ತ್ರಿಕೋನಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ದತ್ತಾಂಶ ಕ್ಷೇತ್ರವನ್ನು ಬಾಹ್ಯರೇಖೆ ಮಾಡಲು ಅನುವು ಮಾಡಿಕೊಡಲು ಚದುರಿದ ದತ್ತಾಂಶ ಬಿಂದುಗಳ ಗುಂಪನ್ನು ಡೆಲೌನೆ ತ್ರಿಕೋನದೊಂದಿಗೆ ಸಂಪರ್ಕಿಸಬಹುದು. ತ್ರಿಕೋನ ಕೋಶವು ಯಾವಾಗಲೂ ಸಮತಟ್ಟಾಗಿರುತ್ತದೆ, ಏಕೆಂದರೆ ಅದು 2-ಸಂಕೀರ್ಣವಾಗಿದೆ (ಅಂದರೆ. n-ಆಯಾಮದ ಜಾಗದಲ್ಲಿ n + 1 ಶೃಂಗಗಳಿಂದ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿದೆ). ತ್ರಿಕೋನದಾದ್ಯಂತ ಯಾವಾಗಲೂ ಒಂದು ವಿಶಿಷ್ಟವಾದ ರೇಖೀಯ ಅಂತರ್ವೇಶಕವಿರುತ್ತದೆ, ಮತ್ತು ಅಸ್ಪಷ್ಟವಾದ ತಡಿ ಇರುವ ಸಾಧ್ಯತೆಯಿಲ್ಲ. ಐಸೊಲೈನ್ಗಳು ತ್ರಿಕೋನಗಳ ಮೇಲಿನ ಐಸೊಲೈನ್ಗಳ ವಿಶ್ಲೇಷಣೆಯು ವಿಶೇಷವಾಗಿ ಸರಳವಾಗಿದೆಃ 3 ಬೈನರಿ ಅಂಕೆಗಳಿವೆ, ಆದ್ದರಿಂದ 8 ಸಾಧ್ಯತೆಗಳಿವೆಃ ಐಸೊಬ್ಯಾಂಡ್ಗಳು ತ್ರಿಕೋನಗಳ ಮೇಲಿನ ಐಸೊಬ್ಯಾಂಡ್ಗಳ ವಿಶ್ಲೇಷಣೆಗೆ 3 ತ್ರಿಕೋನ ಟ್ರಿಟ್ಗಳು ಬೇಕಾಗುತ್ತವೆ, ಆದ್ದರಿಂದ 27 ಸಾಧ್ಯತೆಗಳಿವೆಃ ಆಯಾಮಗಳು ಮತ್ತು ಸ್ಥಳಗಳು ಮಾರ್ಚಿಂಗ್ ಸ್ಕ್ವೇರ್ಸ್ ಅಲ್ಗಾರಿದಮ್ಗೆ ಡೇಟಾ ಸ್ಪೇಸ್ 2ಡಿ ಆಗಿದೆ, ಏಕೆಂದರೆ ಡೇಟಾ ಮೌಲ್ಯವನ್ನು ನಿಗದಿಪಡಿಸಿದ ಶೃಂಗಗಳು 2ಡಿ ಟೋಪೋಲಾಜಿಕಲ್ ಗ್ರಿಡ್ನಲ್ಲಿ ತಮ್ಮ ನೆರೆಹೊರೆಯವರೊಂದಿಗೆ ಸಂಪರ್ಕ ಹೊಂದಿವೆ, ಆದರೆ ಶೃಂಗಗಳಿಗೆ ನಿಗದಿಪಡಿಸಲಾದ ಪ್ರಾದೇಶಿಕ ನಿರ್ದೇಶಾಂಕಗಳು 2ಡಿ, 3ಡಿ ಅಥವಾ ಹೆಚ್ಚಿನ ಆಯಾಮಗಳಲ್ಲಿರಬಹುದು. ಉದಾಹರಣೆಗೆ, ತ್ರಿಕೋನ ಜಾಲರಿಯು 3ಡಿ ಜಾಗದಲ್ಲಿ ಹುದುಗಿರುವ 2ಡಿ ದತ್ತಾಂಶ ಮೇಲ್ಮೈಯನ್ನು ಪ್ರತಿನಿಧಿಸಬಹುದು, ಅಲ್ಲಿ ಶೃಂಗಗಳ ಪ್ರಾದೇಶಿಕ ಸ್ಥಾನಗಳು ಮತ್ತು ಬಾಹ್ಯರೇಖೆಯ ಉದ್ದಕ್ಕೂ ಅಂತರ್ವೇಷ್ಟಿತ ಬಿಂದುಗಳು ಎಲ್ಲಾ 3 ನಿರ್ದೇಶಾಂಕಗಳನ್ನು ಹೊಂದಿರುತ್ತವೆ. ಚೌಕಗಳ ಪ್ರಕರಣವು ಮತ್ತೊಮ್ಮೆ ಅಸ್ಪಷ್ಟವಾಗಿದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ, ಏಕೆಂದರೆ 3-ಆಯಾಮದ ಜಾಗದಲ್ಲಿ ಹುದುಗಿರುವ ಚತುರ್ಭುಜವು ಸಮತಟ್ಟಾಗಿರಬೇಕಾಗಿಲ್ಲ, ಆದ್ದರಿಂದ ಬ್ಯಾಂಡೆಡ್ ಮೇಲ್ಮೈಗಳನ್ನು 3D ಯಲ್ಲಿ ಸೆಳೆಯಲು ಜ್ಯಾಮಿತೀಯ ಅಂತರ್ವೇಶನ ಯೋಜನೆಯ ಆಯ್ಕೆ ಇದೆ. ಕಾರ್ಯಕ್ಷಮತೆಯ ಪರಿಗಣನೆಗಳು ಅಲ್ಗಾರಿದಮ್ ಮುಜುಗರದ ಸಮಾನಾಂತರವಾಗಿದೆ, ಏಕೆಂದರೆ ಎಲ್ಲಾ ಕೋಶಗಳನ್ನು ಸ್ವತಂತ್ರವಾಗಿ ಸಂಸ್ಕರಿಸಲಾಗುತ್ತದೆ. ಸಮಾನಾಂತರ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಬರೆಯುವುದು ಸುಲಭಃ ಶೇರ್ಡ್ ರೀಡ್-ಓನ್ಲಿ ಇನ್ಪುಟ್ ಸ್ಕೇಲಾರ್ ಫೀಲ್ಡ್. ಹಂಚಿದ ಅನುಬಂಧ-ಮಾತ್ರ ಜ್ಯಾಮಿತಿ ಔಟ್ಪುಟ್ ಸ್ಟ್ರೀಮ್. ಪ್ರತಿ ಜೀವಕೋಶವನ್ನು ಸ್ವತಂತ್ರವಾಗಿ ಸಂಸ್ಕರಿಸುವ ಮಾರ್ಚಿಂಗ್ ಸ್ಕ್ವೇರ್ಗಳ ನಿಷ್ಕಪಟ ಅನುಷ್ಠಾನವು ಪ್ರತಿ ರೇಖೀಯ ಅಂತರ್ವೇಶನವನ್ನು ಎರಡು ಬಾರಿ (ಐಸೊಲೈನ್) ಅಥವಾ ನಾಲ್ಕು ಬಾರಿ (ಐಸೊಬ್ಯಾಂಡ್) ಮಾಡುತ್ತದೆ. ಅಂತೆಯೇ, ಔಟ್ಪುಟ್ ಡಿಸ್ಜಾಯಿಂಟ್ ಲೈನ್ಗಳಿಗೆ (ಐಸೊಲೈನ್) 2ಡಿ ಶೃಂಗಗಳ 2 ಪ್ರತಿಗಳನ್ನು ಅಥವಾ ಬಹುಭುಜಾಕೃತಿಗಳಿಗೆ (ಐಸೊಬ್ಯಾಂಡ್ಗಳು) 4 ಪ್ರತಿಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ. [ಈ ಊಹೆಗಳ ಅಡಿಯಲ್ಲಿಃ ಗ್ರಿಡ್ ದೊಡ್ಡದಾಗಿದೆ, ಆದ್ದರಿಂದ ಹೆಚ್ಚಿನ ಕೋಶಗಳು ಆಂತರಿಕವಾಗಿರುತ್ತವೆ; ಮತ್ತು ಸಂಪೂರ್ಣ ಸಮೀಪದ ಐಸೊಬ್ಯಾಂಡ್ಗಳನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ.] ಅಂತರ್ವೇಶನದ ಫಲಿತಾಂಶಗಳನ್ನು ಕ್ಯಾಶಿಂಗ್ ಮಾಡುವ ಮೂಲಕ ಕಂಪ್ಯೂಟೇಶನಲ್ ಓವರ್ಹೆಡ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಸಾಧ್ಯವಿದೆ. ಉದಾಹರಣೆಗೆ, ಏಕ-ಥ್ರೆಡ್ ಸರಣಿ ಆವೃತ್ತಿಯು ಇನ್ಪುಟ್ ಗ್ರಿಡ್ನ ಒಂದು ಸಾಲಿಗೆ ಇಂಟರ್ಪೋಲೇಟೆಡ್ ಫಲಿತಾಂಶಗಳನ್ನು ಮಾತ್ರ ಕ್ಯಾಶ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಸೂಚ್ಯಂಕದ ಜ್ಯಾಮಿತೀಯ ಆದಿಮಗಳನ್ನು ಬಳಸುವ ಮೂಲಕ ಔಟ್ಪುಟ್ನ ಗಾತ್ರವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಸಹ ಸಾಧ್ಯವಿದೆ, ಅಂದರೆ. 2ಡಿ ಶೃಂಗಗಳ ಶ್ರೇಣಿಯನ್ನು ರಚಿಸಿ ಮತ್ತು ಶ್ರೇಣಿಯೊಳಗೆ ಸಣ್ಣ ಪೂರ್ಣಾಂಕ ಆಫ್ಸೆಟ್ಗಳೊಂದಿಗೆ ರೇಖೆಗಳು ಅಥವಾ ಬಹುಭುಜಾಕೃತಿಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿ. ಉಲ್ಲೇಖಗಳು ಬಾಹ್ಯ ಕೊಂಡಿಗಳು ಮಾರ್ಚಿಂಗ್ ಸ್ಕ್ವೇರ್ ಮ್ಯಾಟ್ಲ್ಯಾಬ್ ಅಲ್ಗಾರಿದಮ್-ಓಪನ್-ಸೋರ್ಸ್ ಮಾರ್ಚಿಂಗ್ ಸ್ಕ್ವೇರ್ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸುಲಭ. ಜಾವಾದಲ್ಲಿ ಜಾವಾ ಮಾರ್ಚಿಂಗ್ ಸ್ಕ್ವೇರ್ಸ್ ಕೋಡ್ನಲ್ಲಿ ಅನುಷ್ಠಾನ. 2ಡಿ ದತ್ತಾಂಶ ಸೆಟ್ ಮತ್ತು ಮಿತಿಗಳನ್ನು ನೀಡಿದರೆ, ಸುಲಭವಾಗಿ ಪ್ಲ್ಯಾಟ್ ಮಾಡಲು ಜನರಲ್ ಪಾತ್ [] ಅನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ. ತಿರುಗುವ ತ್ರಿಕೋನಗಳ ವಿವರಣೆ ಮತ್ತು ಮಾದರಿ ಪೈಥಾನ್ ಅನುಷ್ಠಾನ. ಸಿ ಯಲ್ಲಿ ಮಾರ್ಚಿಂಗ್ ಸ್ಕ್ವೇರ್ಸ್ ಕೋಡ್-ಸುಲಭವಾದ ರೆಂಡರಿಂಗ್ಗಾಗಿ ತ್ರಿಕೋನ ಜಾಲರಿಗಳನ್ನು ರಫ್ತು ಮಾಡಬಹುದಾದ ಮಾರ್ಚಿಂಗ್ ಸ್ಕ್ವೇರ್ಸ್ಗಾಗಿ ಒಂದೇ ಹೆಡರ್ ಲೈಬ್ರರಿ. ಕಂಪ್ಯೂಟರ್ ಗ್ರಾಫಿಕ್ಸ್ ಕ್ರಮಾವಳಿಗಳು