Midpoint circle algorithm
கணினி வரைபடத்தில், நடுப்புள்ளி வட்டம் வழிமுறை என்பது ஒரு வட்டத்தை வரிசைப்படுத்துவதற்குத் தேவையான புள்ளிகளைத் தீர்மானிக்கப் பயன்படுத்தப்படும் ஒரு வழிமுறை ஆகும். இது ப்ரெசென்ஹாமின் லைன் அல்காரிதமின் பொதுமைப்படுத்தல் ஆகும். அல்காரிதம் மேலும் கூம்பு பிரிவுகளுக்கு பொதுமைப்படுத்தப்படலாம். மற்றும் வான் அகென். எந்திரத்தில் (சிஎன்சி), இது வட்ட இடைக்கணிப்பு என்று அழைக்கப்படுகிறது. இந்த வழிமுறை ஒவ்வொரு கார்டினல் திசையிலிருந்தும் (0°, 90°, 180°, 270°) தொடங்கி ஒரே நேரத்தில் எட்டு ஆக்டான்ட்களையும் ஈர்க்கிறது மற்றும் 45° (45°, 135°, 225°, 325°) இன் அருகிலுள்ள பெருக்கத்தை அடைய இரு வழிகளையும் விரிவுபடுத்துகிறது. இது எங்கு நிறுத்த வேண்டும் என்பதை தீர்மானிக்க முடியும், ஏனெனில் அது எப்போது =, 45 டிகிரியை எட்டியுள்ளது. இந்த கோணங்களைப் பயன்படுத்துவதற்கான காரணம் மேலே உள்ள படத்தில் காட்டப்பட்டுள்ளதுஃ அதிகரிக்கும் போது, இது 45 டிகிரியை அடையும் வரை எந்த மதிப்பையும் தவிர்க்கவோ மீண்டும் செய்யவோ இல்லை. எனவே சுழற்சியின் போது, ஒவ்வொரு மறு செய்கையிலும் 1 ஆல் அதிகரிக்கிறது, மேலும் சில சந்தர்ப்பங்களில் 1 ஆல் குறைகிறது, ஒரு மறு செய்கையில் 1 ஐத் தாண்டாது. இது 45 டிகிரியில் மாறுகிறது, ஏனெனில் இது தொடுகோடு உயரும் = ஓடும் புள்ளியாகும். அதேசமயம் எழுதல்> முன் ஓடுதல் மற்றும் எழுச்சி <பின்னால் ஓடுதல். பிரச்சினையின் இரண்டாவது பகுதி, தீர்மானிப்பவர், மிகவும் தந்திரமானது. இது எப்போது குறைக்க வேண்டும் என்பதை தீர்மானிக்கிறது. இது வழக்கமாக ஒவ்வொரு மறு செய்கையிலும் பிக்சல்களை வரைந்த பிறகு வருகிறது, ஏனெனில் இது முதல் பிக்சலில் உள்ள ஆரத்திற்கு கீழே செல்லாது. ஏனெனில் ஒரு தொடர்ச்சியான செயல்பாட்டில், ஒரு கோளத்திற்கான செயல்பாடு என்பது ஆரம் சார்ந்த (அல்லது மூன்றாவது மாறி எதுவாக இருந்தாலும்) ஒரு வட்டத்திற்கான செயல்பாடாகும், இது ஒரு தனித்துவமான (வோக்ஸெல்) கோளத்திற்கான வழிமுறையும் இந்த நடுப்புள்ளி வட்ட வழிமுறையை நம்பியிருக்கும். ஆனால் ஒரு கோளத்தைப் பார்க்கும்போது, சில அருகிலுள்ள வட்டங்களின் முழு எண் ஆரம் ஒரே மாதிரியாக இருக்கும், ஆனால் அது அதே அரைக்கோளத்தில் தன்னை ஒட்டிய அதே துல்லியமான வட்டத்தைக் கொண்டிருக்கும் என்று எதிர்பார்க்கப்படுவதில்லை. அதற்கு பதிலாக, அதே ஆரம் கொண்ட ஒரு வட்டத்திற்கு வேறுபட்ட தீர்மானிப்பவர் தேவை, வளைவு மையத்திற்கு சற்று நெருக்கமாக வர அல்லது மேலும் நீட்டிக்க அனுமதிக்கிறது. வழிமுறையின் நோக்கம் பிக்சல்களைப் பயன்படுத்தி வளைவை தோராயமாக மதிப்பிடுவதாகும்; சாதாரண மனிதனின் சொற்களில் ஒவ்வொரு பிக்சலும் மையத்திலிருந்து தோராயமாக ஒரே தூரத்தில் இருக்க வேண்டும். ஒவ்வொரு கட்டத்திலும், அருகிலுள்ள பிக்சலைத் தேர்ந்தெடுப்பதன் மூலம் பாதை நீட்டிக்கப்படுகிறது, இது திருப்தி அளிக்கிறது ஆனால் அதிகரிக்கிறது. கேண்டிடேட் பிக்சல்கள் அருகிலேயே இருப்பதால், பிந்தைய வெளிப்பாட்டைக் கணக்கிடுவதற்கான எண்கணிதம் எளிமைப்படுத்தப்பட்டுள்ளது, இதற்கு பிட் ஷிப்ட்கள் மற்றும் சேர்த்தல்கள் மட்டுமே தேவைப்படுகின்றன. ஆனால் பிட்ஷிஃப்ட்டைப் புரிந்துகொள்ள ஒரு எளிமைப்படுத்தல் செய்யப்படலாம். ஒரு பைனரி எண்ணின் இடது பிட்ஷிஃப்ட் 2 உடன் பெருக்குவதற்கு சமம் என்பதை நினைவில் கொள்ளுங்கள். எனவே, ஆரத்தின் இடது பிட்ஷிஃப்ட் விட்டத்தை மட்டுமே உருவாக்குகிறது, இது ஆரம் மடங்கு இரண்டு என வரையறுக்கப்படுகிறது. இந்த வழிமுறை வட்டம் சமன்பாட்டுடன் தொடங்குகிறது. எளிமைக்கு, வட்டத்தின் மையம் உள்ளது என்று வைத்துக்கொள்வோம். முதலில் முதல் ஆக்டாண்டை மட்டுமே கருத்தில் கொண்டு, புள்ளியில் தொடங்கி எதிர் கடிகார திசையில் சென்று, 45 கோணத்தை அடையும் ஒரு வளைவை வரையவும். இங்குள்ள வேகமான திசை (மதிப்பில் அதிக அதிகரிப்புடன் அடிப்படை திசையன்) திசையாகும். வழிமுறை எப்போதும் நேர்மறை திசையில் (மேல்நோக்கி) ஒரு படி எடுத்து வைக்கிறது, மேலும் எப்போதாவது மெதுவான திசையில் (எதிர்மறை திசையில்) ஒரு படி எடுத்து வைக்கிறது. வட்டச் சமன்பாட்டிலிருந்து மாற்றப்பட்ட சமன்பாடு பெறப்படுகிறது, இங்கு துவக்கத்தின் போது ஒரு முறை மட்டுமே கணக்கிடப்படுகிறது. வட்டத்தில் உள்ள புள்ளிகள் திசையனின் ஆயத்தொகுதிகளின் வரிசையாக இருக்கட்டும் (வழக்கமான அடிப்படையில்). முதல் புள்ளிக்கு ஒதுக்கப்பட்டபடி, வரையப்பட்ட வரிசையின்படி புள்ளிகள் எண்ணப்படுகின்றன. ஒவ்வொரு புள்ளிக்கும், பின்வருபவை உள்ளனஃ இதை இவ்வாறு மறுசீரமைக்கலாம்ஃ அதேபோல் அடுத்த புள்ளிக்கும்ஃ முதல் ஆக்டான்ட்டுக்கு அடுத்த புள்ளி எப்போதும் கடைசி புள்ளியை விட குறைந்தது 1 பிக்சல் அதிகமாக இருக்கும் என்பதால் (ஆனால் தொடர்ச்சியை பராமரிக்க அதிகபட்சம் 1 பிக்சல் அதிகமாக இருக்கும்), இது உண்மைதான்ஃ எனவே, அடுத்த-புள்ளி-சமன்பாட்டை மறுசீரமைப்பதன் மூலம் மறுசீரமைக்கவும்ஃ ஒரு வட்டத்தின் தொடர்ச்சியின் காரணமாகவும், இரண்டு அச்சுகளிலும் அதிகபட்சம் ஒரே மாதிரியாக இருப்பதால், அது வரிசையில் முன்னேறும்போது புள்ளிகளைத் தவிர்க்காது. வழக்கமாக இது ஒரே ஒருங்கிணைப்பில் இருக்கும், சில நேரங்களில் ஒன்று முன்னேறும். இதன் விளைவாக வரும் ஒருங்கிணைப்பு பின்னர் நடுப்புள்ளி ஆயத்தொகுதிகளைச் சேர்ப்பதன் மூலம் மொழிபெயர்க்கப்பட்டுள்ளது. இந்த தொடர்ச்சியான முழு எண் சேர்த்தல்கள் செயல்திறனை அதிகம் கட்டுப்படுத்தாது, ஏனெனில் அந்த சதுர (வேர்) கணக்கீடுகளை உள் வளையத்தில் தவிர்க்கலாம். மீண்டும், மாற்றப்பட்ட வட்டச் சமன்பாட்டில் உள்ள பூஜ்ஜியம் பிழைச் சொல்லால் மாற்றப்படுகிறது. பிழைச் சொல்லின் துவக்கம் ஆரம்பத்தில் 1⁄2 பிக்சலில் இருந்து பெறப்படுகிறது. செங்குத்தான கோட்டுடன் குறுக்கிடும் வரை, இது பிழைச் சொல்லில் திரட்டப்பட்ட மதிப்புக்கு வழிவகுக்கிறது, இதனால் இந்த மதிப்பு துவக்கத்திற்கு பயன்படுத்தப்படுகிறது. வட்டச் சமன்பாடு, முக்கோணவியல் வெளிப்பாடுகள் மற்றும் சதுர வேர்கள் ஆகியவற்றில் வர்க்கங்களின் தொடர்ச்சியான கணக்கீடுகளை மீண்டும் தவிர்க்க முடியும், எல்லாவற்றையும் ஒற்றை படிகளாக கரைப்பதன் மூலமும், முந்தைய மறு செய்கைகளிலிருந்து இருபடி சொற்களின் தொடர்ச்சியான கணக்கீட்டைப் பயன்படுத்துவதன் மூலமும். முழு எண் அடிப்படையிலான எண்கணிதத்துடன் மாறுபடும் பிரெசென்ஹாமின் வரி வழிமுறையைப் போலவே, இந்த வழிமுறையையும் முழு எண் அடிப்படையிலான கணிதத்திற்கு உகந்ததாக மாற்ற முடியும். சமச்சீர் காரணமாக, ஒரு ஆக்டான்ட்டுக்கான பிக்சல்களை மட்டுமே கணக்கிடும் ஒரு வழிமுறையைக் கண்டறிய முடிந்தால், பிக்சல்கள் முழு வட்டத்தையும் பெற பிரதிபலிக்க முடியும். ஆரம் பிழையை வட்டத்தின் சரியான பிரதிநிதித்துவத்திற்கும் ஒவ்வொரு பிக்சலின் மையப் புள்ளிக்கும் இடையிலான வேறுபாடு என்று வரையறுப்பதன் மூலம் தொடங்குகிறோம் (அல்லது பிக்சலில் உள்ள வேறு எந்த தன்னிச்சையான கணிதப் புள்ளியும், அது அனைத்து பிக்சல்களிலும் சீராக இருக்கும் வரை). மையத்தில் உள்ள எந்த பிக்சலுக்கும், ஆரம் பிழை பின்வருமாறு வரையறுக்கப்படுகிறதுஃ தெளிவுக்காக, ஒரு வட்டத்திற்கான இந்த சூத்திரம் தோற்றத்தில் பெறப்படுகிறது, ஆனால் வழிமுறை எந்த இடத்திற்கும் மாற்றியமைக்கப்படலாம். நேர்மறை எக்ஸ்-அச்சில் உள்ள புள்ளியுடன் தொடங்குவது பயனுள்ளதாக இருக்கும். ஆரம் முழு எண்ணிக்கையிலான பிக்சல்களாக இருப்பதால், தெளிவாக ஆரம் பிழை பூஜ்ஜியமாக இருக்கும்ஃ இது முதல் எதிர் கடிகார திசையில் நேர்மறை ஆக்டான்டில் தொடங்குவதால், அது மிகப்பெரிய பயணமான 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 = ry = 0 x <y பிக்சல் (x, y) வரை மீண்டும் செய்யவும் மற்றும் அனைத்து சமச்சீர் பிக்சல்களும் வண்ணமயமாக இருக்கும் வரை (8 முறை) y = y + 1 t1 = t1 + y t2 = t1-x என்றால் t2> = 0 t1 = t2 x = x-1 முழுமையற்ற ஆக்டான்ட்களை வரைவதற்கு மேலே உள்ள செயலாக்கங்கள் எப்போதும் முழுமையான ஆக்டான்ட்கள் அல்லது வட்டங்களை மட்டுமே ஈர்க்கின்றன. ஒரு கோணத்திலிருந்து ஒரு கோணத்திற்கு ஒரு குறிப்பிட்ட வளைவை மட்டுமே வரைய, வழிமுறைக்கு முதலில் இந்த இறுதி புள்ளிகளின் மற்றும் ஆயத்தொகுதிகளைக் கணக்கிட வேண்டும், அங்கு முக்கோணவியல் அல்லது சதுர மூலக் கணக்கீடுகளை நாடுவது அவசியம் (சதுர வேர்களைக் கணக்கிடும் முறைகளைப் பார்க்கவும்). பின்னர் பிரெசென்ஹாம் வழிமுறை முழுமையான ஆக்டான்ட் அல்லது வட்டத்தின் மீது இயக்கப்படுகிறது மற்றும் பிக்சல்கள் விரும்பிய இடைவெளியில் விழுந்தால் மட்டுமே அவற்றை அமைக்கிறது. இந்த வளைவை முடித்த பிறகு, வழிமுறையை முன்கூட்டியே முடிக்க முடியும். கோணங்கள் சரிவுகளாகக் கொடுக்கப்பட்டால், முக்கோணவியல் அல்லது சதுர வேர்கள் தேவையில்லைஃ விரும்பிய சரிவுகளுக்கு இடையில் உள்ளதா என்று சரிபார்க்கவும். பொதுமைப்படுத்தல்கள் ஒரு பரவளையம், நீள்வட்ட அல்லது வேறு எந்த இரு பரிமாண வளைவையும் சீரமைக்க அதே கருத்தைப் பயன்படுத்தலாம். குறிப்புகள் வெளிப்புற இணைப்புகள் வரைதல் வட்டங்கள்-வரைதல் வட்டங்கள் பற்றிய ஒரு கட்டுரை, இது பல நிரலாக்க மொழிகளில் ஒரு எளிய திட்டத்திலிருந்து திறமையான ஒரு நடுப்பகுதி வட்டம் வழிமுறையாக பெறப்படுகிறது வடிவியல் வழிமுறைகள் டிஜிட்டல் வடிவியல் டிஃ ராஸ்டெரங் வான் Kreisen#Midpoint-அல்காரிதம்