क्या यह चतुर्भुज चक्रीय है?


18

गणित में, एक चक्रीय चतुर्भुज वह होता है जिसके सभी वृत्त एक ही वृत्त पर स्थित होते हैं। दूसरे शब्दों में, प्रत्येक शीर्ष अन्य तीन की परिधि पर है। अधिक जानकारी के लिए, MathWorld लेख देखें

उदाहरण

ये चतुर्भुज चक्रीय हैं:

चक्रीय चतुर्भुज

यह ट्रेपोजॉइड चक्रीय नहीं है।

चतुर्भुज

(चित्र विकिपीडिया से)

उद्देश्य

वामावर्त क्रम में चार कोने के निर्देशांक को देखते हुए जो उत्तल चतुर्भुज बनाते हैं, यह निर्धारित करते हैं कि क्या चतुर्भुज चक्रीय है।

निर्देशांक पूर्णांक होंगे (ध्यान दें, हालांकि, परिधि निर्देशांक और परिधि आवश्यक रूप से पूर्णांक नहीं हैं।) जैसा कि पिछले पैराग्राफ द्वारा निहित है, कोई तीन अंक सह-रैखिक नहीं होंगे और कोई दो संयोग नहीं होंगे।

आई / ओ

आप किसी भी उचित प्रारूप का उपयोग करके इनपुट ले सकते हैं। विशेष रूप से [[x1,x2,x3,x4],[y1,y2,y3,y4]], [[x1,y1],[x2,y2],[x3,y3],[x4,y4]]और जटिल संख्या सभी ठीक हैं।

सच और झूठ के लिए किसी भी अलग-अलग संगत मूल्यों का उपयोग करके आउटपुट।

परीक्षण के मामलों

सच:

[0,0], [314,0], [314,1], [0,1]
[-5,5], [5,-5], [1337,42], [42,1337]
[104, -233], [109, -232], [112, -231], [123, -224]

असत्य:

[0,0], [314,0], [314,100], [0,99]
[31,41],[59,26],[53,58],[0,314]

जवाबों:


11

वोल्फ्राम भाषा (गणितज्ञ) , 23 बाइट्स

#∈Circumsphere@{##2}&

इसे ऑनलाइन आज़माएं!

{x1,y1}{x2,y2}{x3,y3}{x4,y4}n+1आरnnCircumsphere

वैकल्पिक रूप से, यहां गणितीय दृष्टिकोण है:

वोल्फ्राम भाषा (गणितज्ञ) , २ ९ २ by २५ २४ बाइट्स

Det@{#^2+#2^2,##,1^#}^0&

इसे ऑनलाइन आज़माएं!

इनपुट के रूप में दो सूचियाँ लेता है: {x1,x2,x3,x4}और {y1,y2,y3,y4}। रिटर्न Indeterminateजब चार अंक एक आम सर्कल पर हैं, और 1नहीं तो।

(एक्स1,y1),(एक्स2,y2),(एक्स3,y3),(एक्स4,y4)

[एक्स12+y12एक्स22+y22एक्स32+y32एक्स42+y42एक्स1एक्स2एक्स3एक्स4y1y2y3y41111]

इस मैट्रिक्स का निर्धारक 0 है यदि और केवल यदि चार पंक्तियाँ रैखिक रूप से निर्भर हैं, और पंक्तियों के बीच एक रैखिक निर्भरता एक सर्कल के समीकरण के समान है जो सभी चार बिंदुओं पर संतुष्ट है।

सबसे छोटा रास्ता मैं चेक के बारे में सोच सकता है अगर निर्धारक 0 है 0-वें सत्ता में यह बढ़ाने के लिए है: 0^0है Indeterminate, जबकि कुछ और देता है 1


10

पायथन 3 , 70 बाइट्स

lambda b,c,d,e,a=abs:a(a(b-d)*a(c-e)-a(b-c)*a(d-e)-a(c-d)*a(b-e))<1e-8

इसे ऑनलाइन आज़माएं!

मैं टॉलेमी प्रमेय का उपयोग करता हूं ।

एक चतुर्भुज में, यदि विपरीत पक्षों के अपने दो जोड़े के उत्पादों का योग इसके विकर्णों के उत्पाद के बराबर है, तो चतुर्भुज को एक सर्कल में अंकित किया जा सकता है।

b, c, d, eजटिल संख्या हैं।


8

पर्ल 6 , 44 बाइट्स

{!im ($^b-$^a)*($^d-$^c)/(($d-$a)*($b-$c)):}

इसे ऑनलाइन आज़माएं!

जटिल संख्याओं के रूप में लंबवत लेता है। इस तथ्य का उपयोग करता है कि चक्रीय चतुर्भुज में विपरीत कोणों का योग 180 ° है। संचालन के क्रम को गारंटी देनी चाहिए कि फ्लोटिंग-पॉइंट ऑपरेशन, (छोटे पर्याप्त) पूर्णांकों के लिए एक सटीक परिणाम प्राप्त करते हैं।

पोर्ट ऑफ मिशा लावरोव के टीआई-बेसिक समाधान, 33 बाइट्स

{![*](map */*,($_ Z-.rotate)).im}

इसे ऑनलाइन आज़माएं!


42? क्या यह अभी भी सटीक है?
जो किंग

1
@JoKing नहीं, यह नहीं है
nwellnhof

इस मामले में बृहदान्त्र क्या करता है? यह निश्चित रूप से एक लेबल नहीं है, और एक विधि कॉल भी नहीं है।
14:20 बजे user202729

@ user202729 यह है के साथ एक विधि कॉल अप्रत्यक्ष invocant वाक्य रचना
nwellnhof

6

जावास्क्रिप्ट (ES6)

कोणों का परीक्षण, 114 बाइट्स

[एक्स1,y1,एक्स2,y2,एक्स3,y3,एक्स4,y4]

a=>(F=i=>(A=Math.atan2)(a[i+3&7]-(y=a[i+1]),a[i+2&7]-a[i])-A(a[i+5&7]-y,a[i+4&7]-a[i]))(0)+F(2)+F(4)+F(6)==Math.PI

इसे ऑनलाइन आज़माएं!


एक निर्धारक की गणना, 130 बाइट्स

रूप में इनपुट लेता है[एक्स1,एक्स2,एक्स3,एक्स4][y1,y2,y3,y4]करी सिंटैक्स में इनपुट लेता है। एक बूलियन मान लौटाता है।

यह एक MishaLavrov के 2 के बराबर है , एक घुमाए गए मैट्रिक्स के साथ।

x=>y=>!(g=a=>a+a?a.reduce((v,[r],i)=>v+(i&1?-r:r)*g(a.map(r=>r.slice(1)).filter(_=>i--)),0):1)(x.map((X,i)=>[1,Y=y[i],X,X*X+Y*Y]))

इसे ऑनलाइन आज़माएं!


6

टीआई-बेसिक (83 श्रृंखला), 21 बाइट्स

e^(ΔList(ln(ΔList(augment(Ans,Ans
not(imag(Ans(1)Ans(3

चार जटिल संख्याओं की सूची के रूप में इनपुट लेता है Ans। रिटर्न 1अगर चतुर्भुज चक्रीय है और 0अन्यथा।

z1,z2,z3,z4

  • ΔList(augment(Ans,Ansz2-z1,z3-z2,z4-z3,z1-z4 (और कुछ अधिक निरर्थक शब्द),
  • e^(ΔList(ln( कि अनुपात की गणना करता है z3-z2z2-z1,z4-z3z3-z2,z1-z4z4-z3,...
  • हम जांचते हैं कि पहले और तीसरे नंबर के उत्पाद, जो है z3-z2z2-z1z1-z4z4-z3, कोई काल्पनिक हिस्सा नहीं है। ध्यान दें कि यह क्रॉस-अनुपात के समान है (z3,z1;z2,z4)=z2-z3z2-z1:z4-z3z4-z1

मैंने यह जांचने की पूरी कोशिश की कि संख्यात्मक त्रुटि एक समस्या है, और यह प्रतीत नहीं होती है, लेकिन अगर किसी के पास इसके लिए अच्छे परीक्षण मामले हैं, तो कृपया मुझे बताएं।


3

जावास्क्रिप्ट (ईएस 6) (101 बाइट्स)

p=>(h=(a,b)=>Math.hypot(p[a]-p[b],p[a+1]-p[b+1]))&&((h(2,4)*h(0,6)+h(0,2)*h(4,6)-h(0,4)*h(2,6))<1e-8)

इनपुट के रूप में लेता है [x1,y1,x2,y2,x3,y3,x4,y4], एक बूलियन आउटपुट करता है।

के आधार पर जांच की गई

=सी+
कहाँ पे , विकर्ण हैं और ,,सी, क्रम में पक्ष हैं।

इसे ऑनलाइन आज़माएं!


2

जेली , 11 बाइट्स

²Sṭ;L€€ṖÆḊ¬

इसे ऑनलाइन आज़माएं!

मिशा लावरोव के गणितज्ञ समाधान से निर्धारक दृष्टिकोण का उपयोग करता है । सच के लिए आउटपुट 1, झूठ के लिए 0।

यह काम किस प्रकार करता है

²Sṭ;L€€ṖÆḊ¬  Main link (monad). Input: [[x1,x2,x3,x4], [y1,y2,y3,y4]]
²S           Square each scalar and add row-wise; [x1*x1+y1*y1, ...]
  ṭ          Append to the input
   ;L€€      Add two rows of [1,1,1,1]'s
       Ṗ     Remove an extra row
        ÆḊ¬  Is the determinant zero?

जेली , 12 बाइट्स

Iµ÷×ƭ/÷SµḞ=A

इसे ऑनलाइन आज़माएं!

मिशा लावरोव के टीआई-बेसिक समाधान से जटिल क्रॉस-अनुपात दृष्टिकोण का उपयोग करता है । सच के लिए आउटपुट 1, झूठ के लिए 0।

यह काम किस प्रकार करता है

Iµ÷×ƭ/÷SµḞ=A  Main link (monad). Input: list of four complex numbers [z1,z2,z3,z4]
I             Increments; [z2-z1, z3-z2, z4-z3]
 µ            Refocus on above for sum function
  ÷×ƭ/÷S      (z2-z1)÷(z3-z2)×(z4-z3)÷(z4-z1)
        µ     Refocus again
         Ḟ=A  (real part) == (norm) within error margin
              i.e. imag part is negligible?

मेरा मानना ​​है कि दोनों गोल्फ रहे हैं ...


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.