Midpoint circle algorithm
ಕಂಪ್ಯೂಟರ್ ಗ್ರಾಫಿಕ್ಸ್ನಲ್ಲಿ, ಮಿಡ್ಪಾಯಿಂಟ್ ಸರ್ಕಲ್ ಅಲ್ಗಾರಿದಮ್ ಒಂದು ವೃತ್ತವನ್ನು ರಾಸ್ಟರೈಸ್ ಮಾಡಲು ಅಗತ್ಯವಾದ ಬಿಂದುಗಳನ್ನು ನಿರ್ಧರಿಸಲು ಬಳಸುವ ಅಲ್ಗಾರಿದಮ್ ಆಗಿದೆ. ಇದು ಬ್ರೆಸೆನ್ಹ್ಯಾಮ್ನ ಲೈನ್ ಅಲ್ಗಾರಿದಮ್ನ ಸಾಮಾನ್ಯೀಕರಣವಾಗಿದೆ. ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಕೋನಿಕ್ ವಿಭಾಗಗಳಿಗೆ ಮತ್ತಷ್ಟು ಸಾಮಾನ್ಯೀಕರಿಸಬಹುದು. ಮತ್ತು ವ್ಯಾನ್ ಅಕೆನ್. ಯಂತ್ರದಲ್ಲಿ (ಸಿಎನ್ಸಿ), ಇದನ್ನು ವೃತ್ತಾಕಾರದ ಅಂತರ್ವೇಶನ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಈ ಅಲ್ಗಾರಿದಮ್ ಪ್ರತಿ ಕಾರ್ಡಿನಲ್ ದಿಕ್ಕಿನಿಂದ (0°, 90°, 180°, 270°) ಪ್ರಾರಂಭವಾಗಿ ಎಲ್ಲಾ ಎಂಟು ಆಕ್ಟಂಟ್ಗಳನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಸೆಳೆಯುತ್ತದೆ ಮತ್ತು 45° (45°, 135°, 225°, 325°) ನ ಹತ್ತಿರದ ಗುಣಾಕಾರವನ್ನು ತಲುಪಲು ಎರಡೂ ಮಾರ್ಗಗಳನ್ನು ವಿಸ್ತರಿಸುತ್ತದೆ. ಇದು ಎಲ್ಲಿ ನಿಲ್ಲಬೇಕು ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಬಹುದು ಏಕೆಂದರೆ ಯಾವಾಗ =, ಅದು 45° ತಲುಪಿದೆ. ಈ ಕೋನಗಳನ್ನು ಬಳಸುವ ಕಾರಣವನ್ನು ಮೇಲಿನ ಚಿತ್ರದಲ್ಲಿ ತೋರಿಸಲಾಗಿದೆಃ ಹೆಚ್ಚಾದಂತೆ, ಇದು 45° ತಲುಪುವವರೆಗೆ ಯಾವುದೇ ಮೌಲ್ಯವನ್ನು ಬಿಟ್ಟುಬಿಡುವುದಿಲ್ಲ ಅಥವಾ ಪುನರಾವರ್ತಿಸುವುದಿಲ್ಲ. ಆದ್ದರಿಂದ ವೈಲ್ ಲೂಪ್ ಸಮಯದಲ್ಲಿ, ಪ್ರತಿ ಪುನರಾವರ್ತನೆಯಲ್ಲಿ 1 ರಷ್ಟು ಹೆಚ್ಚಳವಾಗುತ್ತದೆ ಮತ್ತು ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ 1 ರಷ್ಟು ಕಡಿಮೆಯಾಗುತ್ತದೆ, ಒಂದು ಪುನರಾವರ್ತನೆಯಲ್ಲಿ ಎಂದಿಗೂ 1 ಅನ್ನು ಮೀರಬಾರದು. ಇದು 45° ನಲ್ಲಿ ಬದಲಾಗುತ್ತದೆ ಏಕೆಂದರೆ ಅದು ಸ್ಪರ್ಶಕವು ಏರುವ ಬಿಂದು = ಓಡುತ್ತದೆ. ಆದರೆ ಏರುವು> ಮೊದಲು ಓಡಿರಿ ಮತ್ತು ಏರುವು <ನಂತರ ಓಡಿರಿ. ಸಮಸ್ಯೆಯ ಎರಡನೇ ಭಾಗ, ನಿರ್ಣಾಯಕ, ತುಂಬಾ ಜಟಿಲವಾಗಿದೆ. ಇದು ಯಾವಾಗ ಕಡಿಮೆಯಾಗಬೇಕು ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ. ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಪ್ರತಿ ಪುನರಾವರ್ತನೆಯಲ್ಲೂ ಪಿಕ್ಸೆಲ್ಗಳನ್ನು ಚಿತ್ರಿಸಿದ ನಂತರ ಬರುತ್ತದೆ, ಏಕೆಂದರೆ ಇದು ಮೊದಲ ಪಿಕ್ಸೆಲ್ನ ತ್ರಿಜ್ಯಕ್ಕಿಂತ ಎಂದಿಗೂ ಕಡಿಮೆಯಾಗುವುದಿಲ್ಲ. ಏಕೆಂದರೆ ನಿರಂತರ ಕಾರ್ಯದಲ್ಲಿ, ಗೋಳದ ಕಾರ್ಯವು ತ್ರಿಜ್ಯವನ್ನು ಅವಲಂಬಿಸಿರುವ ವೃತ್ತದ ಕಾರ್ಯವಾಗಿದೆ (ಅಥವಾ ಮೂರನೇ ವೇರಿಯೇಬಲ್ ಯಾವುದಾದರೂ), ಇದು ಪ್ರತ್ಯೇಕ (ವೋಕ್ಸೆಲ್) ಗೋಳದ ಅಲ್ಗಾರಿದಮ್ ಸಹ ಈ ಮಿಡ್ಪಾಯಿಂಟ್ ವೃತ್ತದ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ ಎಂಬುದಕ್ಕೆ ಕಾರಣವಾಗಿದೆ. ಆದರೆ ಒಂದು ಗೋಳವನ್ನು ನೋಡುವಾಗ, ಕೆಲವು ಪಕ್ಕದ ವೃತ್ತಗಳ ಪೂರ್ಣಾಂಕ ತ್ರಿಜ್ಯವು ಒಂದೇ ಆಗಿರುತ್ತದೆ, ಆದರೆ ಅದೇ ಗೋಳಾರ್ಧದಲ್ಲಿ ಅದೇ ನಿಖರವಾದ ವೃತ್ತವನ್ನು ಹೊಂದಿರುತ್ತದೆ ಎಂದು ನಿರೀಕ್ಷಿಸಲಾಗುವುದಿಲ್ಲ. ಬದಲಿಗೆ, ವಕ್ರರೇಖೆಯು ಕೇಂದ್ರಕ್ಕೆ ಸ್ವಲ್ಪ ಹತ್ತಿರ ಬರಲು ಅಥವಾ ಮತ್ತಷ್ಟು ವಿಸ್ತರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡಲು, ಒಂದೇ ತ್ರಿಜ್ಯದ ವೃತ್ತಕ್ಕೆ ವಿಭಿನ್ನ ನಿರ್ಣಾಯಕ ಅಗತ್ಯವಿರುತ್ತದೆ. ಅಲ್ಗಾರಿದಮ್ ಪಿಕ್ಸೆಲ್ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ವಕ್ರರೇಖೆಯನ್ನು ಅಂದಾಜು ಮಾಡುವುದು ಅಲ್ಗಾರಿದಮ್ನ ಉದ್ದೇಶವಾಗಿದೆ; ಸಾಮಾನ್ಯ ಪದಗಳಲ್ಲಿ ಪ್ರತಿ ಪಿಕ್ಸೆಲ್ ಕೇಂದ್ರದಿಂದ ಸರಿಸುಮಾರು ಒಂದೇ ದೂರದಲ್ಲಿರಬೇಕು. ಪ್ರತಿ ಹಂತದಲ್ಲೂ, ನೆರೆಯ ಪಿಕ್ಸೆಲ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುವ ಮೂಲಕ ಮಾರ್ಗವನ್ನು ವಿಸ್ತರಿಸಲಾಗುತ್ತದೆ, ಅದು ತೃಪ್ತಿಪಡಿಸುತ್ತದೆ ಆದರೆ ಗರಿಷ್ಠಗೊಳಿಸುತ್ತದೆ. ಕ್ಯಾಂಡಿಡೇಟ್ ಪಿಕ್ಸೆಲ್ಗಳು ಪಕ್ಕದಲ್ಲಿರುವುದರಿಂದ, ನಂತರದ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಲೆಕ್ಕಹಾಕಲು ಅಂಕಗಣಿತವನ್ನು ಸರಳಗೊಳಿಸಲಾಗುತ್ತದೆ, ಇದಕ್ಕೆ ಬಿಟ್ ಶಿಫ್ಟ್ಗಳು ಮತ್ತು ಸೇರ್ಪಡೆಗಳು ಮಾತ್ರ ಬೇಕಾಗುತ್ತವೆ. ಆದರೆ ಬಿಟ್ಶಿಫ್ಟ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸರಳೀಕರಣವನ್ನು ಮಾಡಬಹುದು. ಬೈನರಿ ಸಂಖ್ಯೆಯ ಎಡ ಬಿಟ್ಶಿಫ್ಟ್ ಅನ್ನು 2 ರಿಂದ ಗುಣಿಸುವುದಕ್ಕೆ ಸಮನಾಗಿರುತ್ತದೆ ಎಂಬುದನ್ನು ನೆನಪಿನಲ್ಲಿಡಿ. ಆದ್ದರಿಂದ, ತ್ರಿಜ್ಯದ ಎಡ ಬಿಟ್ಶಿಫ್ಟ್ ವ್ಯಾಸವನ್ನು ಮಾತ್ರ ಉತ್ಪಾದಿಸುತ್ತದೆ, ಇದನ್ನು ತ್ರಿಜ್ಯದ ಬಾರಿ ಎರಡು ಎಂದು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ. ಈ ಅಲ್ಗಾರಿದಮ್ ವೃತ್ತ ಸಮೀಕರಣದೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ. ಸರಳತೆಗಾಗಿ, ವೃತ್ತದ ಕೇಂದ್ರವು ಅಟ್ ಆಗಿದೆ ಎಂದು ಭಾವಿಸಿ. ಮೊದಲು ಮೊದಲ ಅಷ್ಟಕವನ್ನು ಮಾತ್ರ ಪರಿಗಣಿಸಿ, ಮತ್ತು 45 ರ ಕೋನವನ್ನು ತಲುಪುವ ಬಿಂದುವಿನಿಂದ ಪ್ರಾರಂಭವಾಗಿ ಅಪ್ರದಕ್ಷಿಣವಾಗಿ ಮುಂದುವರಿಯುವ ವಕ್ರರೇಖೆಯನ್ನು ಎಳೆಯಿರಿ. ಇಲ್ಲಿ ವೇಗದ ದಿಕ್ಕು (ಮೌಲ್ಯದಲ್ಲಿ ಹೆಚ್ಚಿನ ಹೆಚ್ಚಳದೊಂದಿಗೆ ಆಧಾರ ವಾಹಕ) ದಿಕ್ಕು. ಅಲ್ಗಾರಿದಮ್ ಯಾವಾಗಲೂ ಧನಾತ್ಮಕ ದಿಕ್ಕಿನಲ್ಲಿ (ಮೇಲ್ಮುಖವಾಗಿ) ಒಂದು ಹೆಜ್ಜೆ ಇಡುತ್ತದೆ ಮತ್ತು ಸಾಂದರ್ಭಿಕವಾಗಿ ನಿಧಾನ ದಿಕ್ಕಿನಲ್ಲಿ (ಋಣಾತ್ಮಕ ದಿಕ್ಕಿನಲ್ಲಿ) ಒಂದು ಹೆಜ್ಜೆ ಇಡುತ್ತದೆ. ವೃತ್ತ ಸಮೀಕರಣದಿಂದ ರೂಪಾಂತರಗೊಂಡ ಸಮೀಕರಣವನ್ನು ಪಡೆಯಲಾಗುತ್ತದೆ, ಅಲ್ಲಿ ಪ್ರಾರಂಭದ ಸಮಯದಲ್ಲಿ ಒಮ್ಮೆ ಮಾತ್ರ ಲೆಕ್ಕ ಹಾಕಲಾಗುತ್ತದೆ. ವೃತ್ತದ ಮೇಲಿನ ಬಿಂದುಗಳು ಬಿಂದುವಿಗೆ ವಾಹಕದ ನಿರ್ದೇಶಾಂಕಗಳ ಅನುಕ್ರಮವಾಗಿರಲಿ (ಸಾಮಾನ್ಯ ಆಧಾರದ ಮೇಲೆ). ಅಂಕಗಳನ್ನು ಮೊದಲ ಬಿಂದುವಿಗೆ ನಿಗದಿಪಡಿಸಿದಂತೆ, ಎಳೆಯುವ ಕ್ರಮಕ್ಕೆ ಅನುಗುಣವಾಗಿ ಎಣಿಸಲಾಗುತ್ತದೆ. ಪ್ರತಿ ಬಿಂದುವಿಗೆ, ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳಬಹುದುಃ ಇದನ್ನು ಈ ರೀತಿ ಮರುಹೊಂದಿಸಬಹುದುಃ ಮತ್ತು ಅದೇ ರೀತಿ ಮುಂದಿನ ಬಿಂದುವಿಗೆಃ ಮೊದಲ ಅಷ್ಟಕಕ್ಕೆ ಮುಂದಿನ ಬಿಂದುವು ಯಾವಾಗಲೂ ಕೊನೆಯದಕ್ಕಿಂತ ಕನಿಷ್ಠ 1 ಪಿಕ್ಸೆಲ್ ಹೆಚ್ಚಾಗಿರುತ್ತದೆ (ಆದರೆ ನಿರಂತರತೆಯನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳಲು ಗರಿಷ್ಠ 1 ಪಿಕ್ಸೆಲ್ ಹೆಚ್ಚಾಗಿರುತ್ತದೆ), ಇದು ನಿಜಃ ಆದ್ದರಿಂದ, ಮುಂದಿನ-ಬಿಂದು-ಸಮೀಕರಣವನ್ನು ಪುನರಾವರ್ತಿತವಾಗಿ ಬದಲಿಸುವ ಮೂಲಕ ಮರುರೂಪಿಸಿಃ ವೃತ್ತದ ನಿರಂತರತೆಯಿಂದಾಗಿ ಮತ್ತು ಎರಡೂ ಅಕ್ಷಗಳ ಉದ್ದಕ್ಕೂ ಗರಿಷ್ಠತೆಯು ಒಂದೇ ಆಗಿರುವುದರಿಂದ, ಸ್ಪಷ್ಟವಾಗಿ ಅದು ಅನುಕ್ರಮದಲ್ಲಿ ಮುಂದುವರೆದಂತೆ ಬಿಂದುಗಳನ್ನು ಬಿಟ್ಟುಬಿಡುವುದಿಲ್ಲ. ಸಾಮಾನ್ಯವಾಗಿ ಇದು ಒಂದೇ ನಿರ್ದೇಶಾಂಕದಲ್ಲಿ ಉಳಿಯುತ್ತದೆ, ಮತ್ತು ಕೆಲವೊಮ್ಮೆ ಒಂದರಿಂದ ಮುಂದುವರಿಯುತ್ತದೆ. ಪರಿಣಾಮವಾಗಿ ಬರುವ ನಿರ್ದೇಶಾಂಕವನ್ನು ನಂತರ ಮಧ್ಯಬಿಂದು ನಿರ್ದೇಶಾಂಕಗಳನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ಅನುವಾದಿಸಲಾಗುತ್ತದೆ. ಈ ಆಗಾಗ್ಗೆ ಪೂರ್ಣಾಂಕ ಸೇರ್ಪಡೆಗಳು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಹೆಚ್ಚು ಮಿತಿಗೊಳಿಸುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಆ ಚದರ (ಮೂಲ) ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಆಂತರಿಕ ಲೂಪ್ನಲ್ಲಿ ಉಳಿಸಬಹುದು. ಮತ್ತೊಮ್ಮೆ, ಪರಿವರ್ತಿತ ವೃತ್ತ ಸಮೀಕರಣದಲ್ಲಿನ ಶೂನ್ಯವನ್ನು ದೋಷ ಪದದಿಂದ ಬದಲಾಯಿಸಲಾಗುತ್ತದೆ. ದೋಷ ಪದದ ಆರಂಭೀಕರಣವನ್ನು ಆರಂಭದಲ್ಲಿ 1⁄2 ಪಿಕ್ಸೆಲ್ನ ಆಫ್ಸೆಟ್ನಿಂದ ಪಡೆಯಲಾಗಿದೆ. ಲಂಬ ರೇಖೆಯೊಂದಿಗಿನ ಛೇದನದವರೆಗೆ, ಇದು ದೋಷ ಪದದ ಸಂಚಿತ ಮೌಲ್ಯಕ್ಕೆ ಕಾರಣವಾಗುತ್ತದೆ, ಇದರಿಂದಾಗಿ ಈ ಮೌಲ್ಯವನ್ನು ಪ್ರಾರಂಭಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ವೃತ್ತ ಸಮೀಕರಣ, ತ್ರಿಕೋಣಮಿತೀಯ ಅಭಿವ್ಯಕ್ತಿಗಳು ಮತ್ತು ವರ್ಗಮೂಲಗಳಲ್ಲಿನ ಚೌಕಗಳ ಆಗಾಗ್ಗೆ ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಎಲ್ಲವನ್ನೂ ಒಂದೇ ಹಂತಗಳಾಗಿ ಕರಗಿಸುವ ಮೂಲಕ ಮತ್ತು ಹಿಂದಿನ ಪುನರಾವರ್ತನೆಗಳಿಂದ ಚತುರ್ಭುಜ ಪದಗಳ ಪುನರಾವರ್ತಿತ ಗಣನೆಯನ್ನು ಬಳಸುವ ಮೂಲಕ ಮತ್ತೆ ತಪ್ಪಿಸಬಹುದು. ಪೂರ್ಣಾಂಕ-ಆಧಾರಿತ ಅಂಕಗಣಿತದೊಂದಿಗಿನ ವ್ಯತ್ಯಾಸ ಬ್ರೆಸೆನ್ಹ್ಯಾಮ್ನ ಲೈನ್ ಅಲ್ಗಾರಿದಮ್ನಂತೆಯೇ, ಈ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಪೂರ್ಣಾಂಕ-ಆಧಾರಿತ ಗಣಿತಕ್ಕೆ ಹೊಂದುವಂತೆ ಮಾಡಬಹುದು. ಸಮ್ಮಿತಿಯ ಕಾರಣದಿಂದಾಗಿ, ಒಂದು ಅಷ್ಟಕಕ್ಕೆ ಮಾತ್ರ ಪಿಕ್ಸೆಲ್ಗಳನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುವ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಕಂಡುಹಿಡಿಯಬಹುದಾದರೆ, ಇಡೀ ವೃತ್ತವನ್ನು ಪಡೆಯಲು ಪಿಕ್ಸೆಲ್ಗಳನ್ನು ಪ್ರತಿಫಲಿಸಬಹುದು. ತ್ರಿಜ್ಯ ದೋಷವನ್ನು ವೃತ್ತದ ನಿಖರವಾದ ಪ್ರಾತಿನಿಧ್ಯ ಮತ್ತು ಪ್ರತಿ ಪಿಕ್ಸೆಲ್ನ ಕೇಂದ್ರ ಬಿಂದುವಿನ ನಡುವಿನ ವ್ಯತ್ಯಾಸ ಎಂದು ವ್ಯಾಖ್ಯಾನಿಸುವ ಮೂಲಕ ನಾವು ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ (ಅಥವಾ ಪಿಕ್ಸೆಲ್ನ ಮೇಲಿನ ಯಾವುದೇ ಅನಿಯಂತ್ರಿತ ಗಣಿತದ ಬಿಂದುವು, ಎಲ್ಲಾ ಪಿಕ್ಸೆಲ್ಗಳಾದ್ಯಂತ ಸ್ಥಿರವಾಗಿರುವವರೆಗೆ). ಕೇಂದ್ರದಲ್ಲಿ ಇರುವ ಯಾವುದೇ ಪಿಕ್ಸೆಲ್ಗೆ, ತ್ರಿಜ್ಯ ದೋಷವನ್ನು ಹೀಗೆ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆಃ ಸ್ಪಷ್ಟತೆಗಾಗಿ, ವೃತ್ತದ ಈ ಸೂತ್ರವನ್ನು ಮೂಲದಲ್ಲಿ ಪಡೆಯಲಾಗಿದೆ, ಆದರೆ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಯಾವುದೇ ಸ್ಥಳಕ್ಕೆ ಮಾರ್ಪಡಿಸಬಹುದು. ಧನಾತ್ಮಕ X-ಅಕ್ಷದ ಮೇಲಿನ ಬಿಂದುವಿನಿಂದ ಪ್ರಾರಂಭಿಸುವುದು ಉಪಯುಕ್ತವಾಗಿದೆ. ತ್ರಿಜ್ಯವು ಪೂರ್ಣ ಸಂಖ್ಯೆಯ ಪಿಕ್ಸೆಲ್ಗಳಾಗಿರುವುದರಿಂದ, ಸ್ಪಷ್ಟವಾಗಿ ತ್ರಿಜ್ಯದ ದೋಷವು ಶೂನ್ಯವಾಗಿರುತ್ತದೆಃ ಇದು ಮೊದಲ ಅಪ್ರದಕ್ಷಿಣಾಕಾರದ ಧನಾತ್ಮಕ ಅಷ್ಟಕದಲ್ಲಿ ಪ್ರಾರಂಭವಾಗುವುದರಿಂದ, ಇದು ಅತಿದೊಡ್ಡ ಪ್ರಯಾಣವಾದ Y ದಿಕ್ಕಿನಲ್ಲಿ ಹೆಜ್ಜೆ ಹಾಕುತ್ತದೆ, ಆದ್ದರಿಂದ ಇದು ಸ್ಪಷ್ಟವಾಗಿದೆ. ಅಲ್ಲದೆ, ಇದು ಈ ಅಷ್ಟಕಕ್ಕೆ ಮಾತ್ರ ಸಂಬಂಧಿಸಿರುವುದರಿಂದ, ಮೌಲ್ಯಗಳು ಕೇವಲ 2 ಆಯ್ಕೆಗಳನ್ನು ಹೊಂದಿವೆಃ ಹಿಂದಿನ ಪುನರಾವರ್ತನೆಯಂತೆಯೇ ಉಳಿಯಲು, ಅಥವಾ 1 ರಿಂದ ಕಡಿಮೆಯಾಗಲು. ಈ ಕೆಳಗಿನವುಗಳು ನಿಜವೇ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುವ ನಿರ್ಧಾರದ ವೇರಿಯೇಬಲ್ ಅನ್ನು ರಚಿಸಬಹುದುಃ ಈ ಅಸಮಾನತೆಯು ಇದ್ದರೆ, ಪ್ಲ್ಯಾಟ್ ಮಾಡಿ; ಇಲ್ಲದಿದ್ದರೆ, ಪ್ಲ್ಯಾಟ್ ಮಾಡಿ. ಹಾಗಾದರೆ, ಈ ಅಸಮಾನತೆಯು ಅಸ್ತಿತ್ವದಲ್ಲಿದೆಯೇ ಎಂದು ನಿರ್ಧರಿಸುವುದು ಹೇಗೆ? ತ್ರಿಜ್ಯ ದೋಷದ ವ್ಯಾಖ್ಯಾನದೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿಃ ಸಂಪೂರ್ಣ ಮೌಲ್ಯದ ಕಾರ್ಯವು ಸಹಾಯ ಮಾಡುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಎರಡೂ ಬದಿಗಳನ್ನು ವರ್ಗಗೊಳಿಸಿ, ಏಕೆಂದರೆ ಚೌಕವು ಯಾವಾಗಲೂ ಧನಾತ್ಮಕವಾಗಿರುತ್ತದೆಃ> 0 ರಿಂದ, ಪದವು, ಆದ್ದರಿಂದ ವಿಭಜನೆಯು ಪಡೆಯುತ್ತದೆಃ ಹೀಗಾಗಿ, ನಿರ್ಧಾರದ ಮಾನದಂಡವು ಫ್ಲೋಟಿಂಗ್-ಪಾಯಿಂಟ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಬಳಸುವುದರಿಂದ ಸರಳ ಪೂರ್ಣಾಂಕ ಸೇರ್ಪಡೆ, ವ್ಯವಕಲನ ಮತ್ತು ಬಿಟ್ ಶಿಫ್ಟಿಂಗ್ಗೆ ಬದಲಾಗುತ್ತದೆ (2 ಕಾರ್ಯಾಚರಣೆಗಳಿಂದ ಗುಣಿಸಲು). ಇದ್ದರೆ, ನಂತರ ಮೌಲ್ಯವನ್ನು ಕಡಿಮೆ ಮಾಡಿ. ಇದ್ದರೆ, ಅದೇ ಮೌಲ್ಯವನ್ನು ಇಟ್ಟುಕೊಳ್ಳಿ. ಮತ್ತೆ, ಈ ಬಿಂದುಗಳನ್ನು ಎಲ್ಲಾ ಅಷ್ಟಕಗಳಲ್ಲಿ ಪ್ರತಿಬಿಂಬಿಸುವ ಮೂಲಕ, ಪೂರ್ಣ ವೃತ್ತವು ಫಲಿತಾಂಶವನ್ನು ನೀಡುತ್ತದೆ. ಹಿಂದಿನ ಹಂತದಲ್ಲಿ ಅದರ ಮೌಲ್ಯದಿಂದ ಈ ನಿರ್ಧಾರ ಸೂತ್ರದ ಮೌಲ್ಯಗಳ ನಡುವಿನ ಡೆಲ್ಟಾವನ್ನು ಮಾತ್ರ ಲೆಕ್ಕ ಹಾಕುವ ಮೂಲಕ ನಾವು ಗಣನೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಬಹುದು. ಸೂತ್ರದ ಆರಂಭಿಕ ಮೌಲ್ಯವನ್ನು ನಿಗದಿಪಡಿಸುವ ಮೂಲಕ ನಾವು ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ, ನಂತರ ಮೇಲಿನಂತೆ ಪ್ರತಿ ಹಂತದಲ್ಲೂ ನಾವು ಅದನ್ನು (ಮತ್ತು ಇಳಿಕೆ) ನವೀಕರಿಸಿದರೆ, ಇಲ್ಲದಿದ್ದರೆ ಎಂದಿನಂತೆ ಹೆಚ್ಚಳವಾಗುತ್ತದೆ. ಜೆಸ್ಕೋದ ವಿಧಾನ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಈಗಾಗಲೇ ದೊಡ್ಡ ಪ್ರಮಾಣದಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ, ಆದರೆ ಇನ್ನೂ ಹೆಚ್ಚಿನ ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳಿವೆ. ಪ್ರಸ್ತುತಪಡಿಸಲಾದ ಹೊಸ ವಿಧಾನವು ಪ್ರತಿ ಹಂತಕ್ಕೆ ಕೇವಲ 5 ಅಂಕಗಣಿತದ ಕಾರ್ಯಾಚರಣೆಗಳೊಂದಿಗೆ (8 ಪಿಕ್ಸೆಲ್ಗಳಿಗೆ) ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಆದ್ದರಿಂದ ಕಡಿಮೆ-ಕಾರ್ಯಕ್ಷಮತೆಯ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಮಾತ್ರ ಸೂಕ್ತವಾಗಿದೆ. "ಇಫ್" ಕಾರ್ಯಾಚರಣೆಯಲ್ಲಿ, ಚಿಹ್ನೆಯನ್ನು ಮಾತ್ರ ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ (ಧನಾತ್ಮಕ? ಹೌದು ಅಥವಾ ಇಲ್ಲ) ಮತ್ತು ವೇರಿಯಬಲ್ ನಿಯೋಜನೆ ಇದೆ, ಇದನ್ನು ಅಂಕಗಣಿತದ ಕಾರ್ಯಾಚರಣೆಯೆಂದು ಪರಿಗಣಿಸಲಾಗುವುದಿಲ್ಲ. ಮೊದಲ ಸಾಲಿನ ಆರಂಭೀಕರಣವು (4 ಬಿಟ್ಗಳಿಂದ ಬಲಕ್ಕೆ ಬದಲಾಯಿಸುವುದು) ಸೌಂದರ್ಯದ ಕಾರಣದಿಂದಾಗಿ ಮತ್ತು ನಿಜವಾಗಿಯೂ ಅಗತ್ಯವಿಲ್ಲ. ಆದ್ದರಿಂದ ನಾವು ಮುಖ್ಯ-ಲೂಪ್ನೊಳಗೆ ಎಣಿಸಬಹುದಾದ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಪಡೆಯುತ್ತೇವೆಃ ಹೋಲಿಕೆ x> = y (ಸಬ್ಸ್ಟ್ರಕ್ಷನ್ ಆಗಿ ಎಣಿಸಲಾಗುತ್ತದೆಃ x-y> = 0) y = y + 1 [y + +] t1 + y t1-x ಹೋಲಿಕೆ t2> = 0 ಅನ್ನು ನಿಜವಾದ ಅಂಕಗಣಿತವು ನಡೆಯದ ಕಾರಣ ಎಣಿಸಲಾಗುವುದಿಲ್ಲ. ಎರಡು-ಕಾಂಪ್ಲಿಮೆಂಟ್ ಪ್ರಾತಿನಿಧ್ಯದಲ್ಲಿ ಬಾರ್ಗಳ ಸೈನ್ ಬಿಟ್ ಅನ್ನು ಮಾತ್ರ ಪರಿಶೀಲಿಸಬೇಕಾಗುತ್ತದೆ. x = x-1 [x--] ಕಾರ್ಯಾಚರಣೆಗಳುಃ 5 t1 = r/16 x = r y = 0 ಪುನರಾವರ್ತಿಸಿ x <y ಪಿಕ್ಸೆಲ್ (x, y) ವರೆಗೆ ಮತ್ತು ಎಲ್ಲಾ ಸಮ್ಮಿತೀಯ ಪಿಕ್ಸೆಲ್ಗಳು ಬಣ್ಣದಲ್ಲಿರುತ್ತವೆ (8 ಬಾರಿ) y = y + 1 t1 = t1 + y t2 = t1-x. ಒಂದು ಕೋನದಿಂದ ಒಂದು ಕೋನಕ್ಕೆ ಕೇವಲ ಒಂದು ನಿರ್ದಿಷ್ಟ ಚಾಪವನ್ನು ಮಾತ್ರ ಸೆಳೆಯಲು, ಅಲ್ಗಾರಿದಮ್ಗೆ ಮೊದಲು ಈ ಅಂತಿಮ ಬಿಂದುಗಳ ಮತ್ತು ನಿರ್ದೇಶಾಂಕಗಳನ್ನು ಲೆಕ್ಕ ಹಾಕಬೇಕಾಗುತ್ತದೆ, ಅಲ್ಲಿ ತ್ರಿಕೋನಮಿತಿಯ ಅಥವಾ ವರ್ಗಮೂಲದ ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಆಶ್ರಯಿಸುವುದು ಅಗತ್ಯವಾಗಿರುತ್ತದೆ (ವರ್ಗಮೂಲಗಳ ಗಣನೆಯ ವಿಧಾನಗಳನ್ನು ನೋಡಿ). ನಂತರ ಬ್ರೆಸೆನ್ಹ್ಯಾಮ್ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಸಂಪೂರ್ಣ ಆಕ್ಟಂಟ್ ಅಥವಾ ವೃತ್ತದ ಮೇಲೆ ನಡೆಸಲಾಗುತ್ತದೆ ಮತ್ತು ಪಿಕ್ಸೆಲ್ಗಳು ಬಯಸಿದ ಮಧ್ಯಂತರಕ್ಕೆ ಬಂದರೆ ಮಾತ್ರ ಅವುಗಳನ್ನು ಹೊಂದಿಸುತ್ತದೆ. ಈ ಚಾಪವನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದ ನಂತರ, ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಅಕಾಲಿಕವಾಗಿ ಕೊನೆಗೊಳಿಸಬಹುದು. ಕೋನಗಳನ್ನು ಇಳಿಜಾರುಗಳಾಗಿ ನೀಡಿದರೆ, ಯಾವುದೇ ತ್ರಿಕೋನಮಿತಿ ಅಥವಾ ವರ್ಗಮೂಲಗಳ ಅಗತ್ಯವಿಲ್ಲಃ ಬಯಸಿದ ಇಳಿಜಾರುಗಳ ನಡುವೆ ಇದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ. ಸಾಮಾನ್ಯೀಕರಣಗಳು ಪರವಲಯ, ದೀರ್ಘವೃತ್ತ ಅಥವಾ ಯಾವುದೇ ಎರಡು ಆಯಾಮದ ವಕ್ರರೇಖೆಯನ್ನು ರಾಸ್ಟರೈಸ್ ಮಾಡಲು ಅದೇ ಪರಿಕಲ್ಪನೆಯನ್ನು ಬಳಸಲು ಸಹ ಸಾಧ್ಯವಿದೆ. ಉಲ್ಲೇಖಗಳು ಬಾಹ್ಯ ಕೊಂಡಿಗಳು ರೇಖಾಚಿತ್ರ ವಲಯಗಳು-ರೇಖಾಚಿತ್ರ ವಲಯಗಳ ಕುರಿತಾದ ಒಂದು ಲೇಖನ, ಇದು ಸರಳ ಯೋಜನೆಯಿಂದ ಹಲವಾರು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳಲ್ಲಿ ಸಮರ್ಥವಾದ ಒಂದು ಮಧ್ಯಬಿಂದು ವೃತ್ತದ ಕ್ರಮಾವಳಿಗಳಿಗೆ ವ್ಯುತ್ಪನ್ನವಾಗಿದೆ ಜ್ಯಾಮಿತೀಯ ಕ್ರಮಾವಳಿಗಳು ಡಿಜಿಟಲ್ ಜ್ಯಾಮಿತಿ ಡಿಃ ರಾಸ್ಟೆರಂಗ್ ವಾನ್ Kreisen#Midpoint-ಕ್ರಮಾವಳಿಗಳು