2009-09-02 4 views
5

के लिए एक सूची java.awt.geom.Point2D बदलें। मैं वर्तमान में java.awt.geom.Point2D और java.awt.geom.Area उपयोग करने के लिए कोशिश कर रहा हूँ, लेकिन कैसे एक क्षेत्र में अंक के एक समूह चालू करने के लिए को समझ नहीं सकता।मैं अंक है कि मैं जावा में एक बंद बहुभुज में बदलने के लिए चाहते हैं का एक सेट है एक java.awt.geom.Area

मुझे लगता है कि मैं अंक के आधार पर Line2Ds का एक सेट को परिभाषित करने और फिर क्षेत्रों के लिए उन में जोड़ सकते हैं, लेकिन यह बहुत काम है और मैं आलसी हूँ। तो क्या जाने का एक आसान तरीका है।

समस्या यह है कि मेरे पास लेट/लॉन निर्देशांक की एक सूची है और मैं उस क्षेत्र को बनाना चाहता हूं जिसका उपयोग मैं हिट परीक्षण के लिए कर सकता हूं।

गैर-प्रमुख जावा लाइब्रेरीज एक संभावना के रूप में अच्छी तरह से कर रहे हैं।

अपडेट, मैंने java.awt.Polygon का उपयोग करने पर देखा लेकिन यह केवल इन्ट्स का समर्थन करता है और मैं निर्देशांक के लिए युगल के साथ काम कर रहा हूं।

उत्तर

3

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4077518

कि, "ग्राहक" सुनो? आपको जनरलपाथ का उपयोग करना चाहिए, भले ही 1 99 0 के दशक के बाद से पॉलीगॉन 2 डी की अनुपस्थिति एपीआई में एक स्पष्ट राक्षस-ट्रक आकार का छेद है।

+1

सूचना वहाँ एक Polygon2D कार्यान्वयन चल जो चारों ओर मूल रूप से बर्कले यूआई से आया है प्रयोगशाला: http://www.google.com/url?sa=t&source=web&ct=res&cd=5&url=http%3A%2F%2Fptolemy.eecs.berkeley.edu%2F~ptII%2FptolemyII%2FptIIlatest%2FptII% 2Fdiva% 2Futil% 2Fjava2d% 2FPolygon2D.java और Ei = BNSeSqr3O4y4M7eMmIwC और यूएसजी = AFQjCNErxCV1f6zlpi60FEqPkgG1rAfx5A और sig2 = eWfBVNHxVQzY1eJ3DZvC1Q – M1EK

+1

बेहतर लिंक: http://ptolemy.eecs.berkeley.edu/~ptII/pto lemyII/ptIIlatest/ptII/दिवा/util/java2d/ – M1EK

+0

'GeneralPath' एक विरासत वर्ग अब कर रहा है। [कुछ विकल्प के लिए यह प्रश्न और उत्तर देखें] (http://stackoverflow.com/q/11465330/935676)। हम सितंबर में इस बग की 20 वीं वर्षगांठ मना सकते हैं;) – amoebe

1

आप वास्तव में Geodetic अक्षांश/देशांतर मूल्यों के साथ काम कर रहे हैं, तो आप वास्तव OpenMap का उपयोग इस काम के कुछ करने के लिए कर सकते हैं। मैंने बस उस एपीआई में Geo class का उपयोग करके कुछ समय बिताया ताकि लेट/लॉन पॉइंट्स के पॉलीगॉन द्वारा परिभाषित क्षेत्र के आसपास ऑब्जेक्ट को उछाल दिया जा सके। intersection calls हैं और सब कुछ और गणित गोलाकार रूप से किया जाता है ताकि अनुमानों के मुकाबले अंक अधिक सही हो जाएं।

0

सबसे सरल (और सबसे अजीब) चीज है कि अधिकतम और न्यूनतम एक्स, वाई समन्वय मानों के बिंदुओं के लिए बाध्यकारी बॉक्स बनाना है।

अपने स्वयं के एल्गोरिथ्म वसीयत आप एक करीब फिट की जरूरत है तो बजाय, तो यह शुरू करने के लिए एक अच्छी जगह हो सकती है:

संबंधित मुद्दे