2010-10-23 16 views
5

त्रिभुज, ए, बी और सी के तीन किनारों की लंबाई दी जाएगी, और मुझे शिखर के निर्देशांक खोजने की आवश्यकता है। केंद्र (शायद circumcenter) या तो मूल हो सकता है या (एक्स, वाई)।एक समन्वय विमान में एक त्रिभुज ड्राइंग अपने तीन पक्ष

क्या कोई मुझे सही दिशा में इंगित कर सकता है?

उत्तर

10

मैंने मस्तिष्क के जवाब को पढ़ा है और जांच की है कि उसका जवाब सही है और वह सही है। गणना: ओ (0; 0), ए (ए; 0) और बी (एक्स; वाई) त्रिभुज के तीन बिंदु हैं। सी 1 ए और आर 1 = सी के आसपास सर्कल है; सी 2 ओ और आर 2 = बी के आसपास सर्कल है। बी (एक्स; वाई) सी 1 और सी 2 का चौराहे है, जिसका मतलब है कि बिंदु दोनों सर्किलों पर है।

alt text

C1: (x - एक) * (x - एक) + y * y = ग * ग

C2: x * x + y * y = b * ख

y * y = b * ख - एक्स * x

(एक्स - एक) * (x - एक) + ब * ख - एक्स * एक्स = ग * ग

x * x - 2 * एक * एक्स + ए * ए + बी * बी - एक्स * एक्स - सी * सी = 0

2 * एक * एक्स = (क * ए + बी * ख - ग * ग)

एक्स = (क * ए + बी * ख - ग * ग)/(2 * क)

वाई * वाई = बी * बी - ((ए * ए + बी * बी - सी * सी)/(2 * ए)) * ((ए * ए + बी * बी - सी * सी)/(2 * ए))

वाई = + - एसकर्ट (बी * बी - ((ए * ए + बी * बी - सी * सी)/(2 * ए)) * ((ए * ए + बी * बी - सी * ग)/(2 * एक)))

+2

+1 .. –

8

मूल (0,0) पर पहला चरम रखें। दूसरे चरम पर रखें (ए, 0)। तीसरे चरम पर गणना करने के लिए, केंद्रों (0,0) और (ए, 0) और त्रिज्या बी और सी के साथ दो मंडलियों के intersection खोजें।

अद्यतन: लाजोस अर्पाद ने this answer में तीसरे बिंदु के स्थान की गणना करने का विवरण दिया है। sqrt (ख -x)

+2

बहुत अच्छा समाधान, मैं आपको उखाड़ फेंक दूंगा, लेकिन मुझे यह जवाब अधूरा लगता है, क्योंकि आपने विवरण नीचे नहीं लिखा है। मैंने कागज और एक कलम की चादर ली और आपने जो कहा है उसकी गणना की, इस विषय में रुचि रखने वाले किसी के साथ परिणाम साझा करना चाहते हैं। –

+0

@ लाजोस, मुझे यकीन नहीं है कि साबित होने की क्या ज़रूरत है। लंबाई ए, बी, सी के किनारों में निर्माण परिणाम ... मैं कहूंगा कि यह स्पष्ट है, आप क्यों कहेंगे कि यह स्पष्ट नहीं है? – brainjam

+0

क्योंकि इस बारे में एक सवाल पूछा गया था। मुझे इस समाधान के बारे में पता नहीं था और मुझे जांच करनी पड़ी। मैं एक अज्ञेयवादी हूं, जो केवल मैं देख रहा हूं। आप अपनी पोस्ट के साथ बिल्कुल सही थे, मैं बस इसे और निर्दिष्ट करना चाहता था। इसके अलावा, समाधान एक समाधान है, क्योंकि आप कहीं भी त्रिभुज को घुमा सकते हैं जो आप रोटेशन और अनुवाद तकनीकों का उपयोग करना चाहते हैं। –

3
, यह (एक्स, वाई) जहां एक्स = (ख + एक -c)/2 ए और y = & plusmn करने पर निर्भर करता

अज्ञात त्रिभुज को चित्रित करते समय, आमतौर पर एक तरफ चुनना सबसे आसान होता है (कहें, सबसे लंबा) और इसे क्षैतिज या लंबवत रखें। उस तरफ के अंत बिंदु त्रिकोण के दो शीर्षकों को बनाते हैं, और आप त्रिभुज को दो दाएं त्रिकोणों में विभाजित करके तीसरे की गणना कर सकते हैं (अन्य दो पक्ष हाइपोटिनस हैं) और लापता कोणों को समझने के लिए व्यस्त साइन/कोसाइन फ़ंक्शंस का उपयोग करके । दाएं त्रिकोणों में विभाजित करके, मेरा मतलब है कि यहां छवि जैसा दिखता है: http://en.wikipedia.org/wiki/File:Triangle.TrigArea.svg आपकी पहली तरफ उस ड्राइंग में एसी होगी।

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

2

पहले जांचें कि त्रिकोण संभव है:

 
    a+b >= c 
    b+c >= a 
    c+a >= b
फिर, यदि यह है, तो दो मंडलियों के चौराहे के लिए हल करें। मूल शिखर
 
    {0,0}, {a,0}, {x,y}
जहां
 
    x = (a^2-b^2+c^2)/(2a) 
    y = sqrt(c^2-x^2)
इस बिंदु से circumcenter ढूँढना बहुत आसान है।

+0

आपको 'x' और 'y' के लिए सूत्र कहां मिला? –

+0

सूत्र सही नहीं है (उदाहरण के लिए ए, बी, सी = 4,3,5 के लिए इसे आजमाएं)। लाजोस द्वारा उत्तर में सही सूत्र तैयार किया गया है। – brainjam

+0

@ ब्रेनजम: एक्स = (4^2 - 3^2 + 5^2)/(8) == 32/8 == 4 == ए, जैसा कि अपेक्षित है। y = sqrt (5^2-16) = 3 == बी, जैसा कि अपेक्षित है। यह कोसाइन के कानून और फिर पाइथागोरियन प्रमेय के कपड़े पहने हुए संस्करण है।यह दो सर्किलों के चौराहे के लिए * केवल * समाधान होता है जो * * * पक्ष की लंबाई के लिए त्रिभुज असमानता को भी संतुष्ट करता है (मैंने जो तीन संभावित परीक्षण दिए हैं)। –

5

enter image description here

यह सवाल और जवाब helpe इसे लागू करने में आज मुझे बाहर करो। यह अज्ञात शिखरों की गणना करेगा, सर्कल चौराहे के "सी" को 2 ज्ञात बिंदु (ए, बी) और दूरी (एसी_लेथ, बीसी_लेथेंथ) को तीसरे अज्ञात वर्टेक्स, "सी" में दिया गया है। यहां रुचि रखने वाले किसी के लिए मेरा परिणाम पायथन कार्यान्वयन है।

http://mathworld.wolfram.com/RadicalLine.html

http://mathworld.wolfram.com/Circle-CircleIntersection.html

Point() वस्तु है, जो सुडौल, या बिंदु पूरी तरह वास्तव में वस्तुओं को निकालकर प्रतिस्थापित किया जा सकता के लिए Django के GEOS मॉड्यूल का उपयोग करना:

मैं भी निम्नलिखित संदर्भित किया है।

from math import sqrt 
from django.contrib.gis.geos import Point 

class CirclesSeparate(BaseException): 
    pass 

class CircleContained(BaseException): 
    pass 

def discover_location(point_a, point_b, ac_length, bc_length): 
    """ 
    Find point_c given: 
     point_a 
     point_b 
     ac_length 
     bc_length 

    point_d == point at which the right-angle to c is formed. 
    """ 
    ab_length = point_a.distance(point_b)  
    if ab_length > (ac_length + bc_length): 
     raise CirclesSeparate("Given points do not intersect!")  
    elif ab_length < abs(ac_length - bc_length): 
     raise CircleContained("The circle of the points do not intersect")  

    # get the length to the vertex of the right triangle formed, 
    # by the intersection formed by circles a and b 
    ad_length = (ab_length**2 + ac_length**2 - bc_length**2)/(2.0 * ab_length)  

    # get the height of the line at a right angle from a_length 
    h = sqrt(abs(ac_length**2 - ad_length**2)) 

    # Calculate the mid point (point_d), needed to calculate point_c(1|2) 
    d_x = point_a.x + ad_length * (point_b.x - point_a.x)/ab_length 
    d_y = point_a.y + ad_length * (point_b.y - point_a.y)/ab_length 
    point_d = Point(d_x, d_y)  

    # get point_c location 
    # --> get x 
    c_x1 = point_d.x + h * (point_b.y - point_a.y)/ab_length 
    c_x2 = point_d.x - h * (point_b.y - point_a.y)/ab_length 

    # --> get y 
    c_y1 = point_d.y - h * (point_b.x - point_a.x)/ab_length 
    c_y2 = point_d.y + h * (point_b.x - point_a.x)/ab_length  

    point_c1 = Point(c_x1, c_y1) 
    point_c2 = Point(c_x2, c_y2)  
    return point_c1, point_c2 
संबंधित मुद्दे