2012-08-12 24 views
16

मुझे जावा में draw(Graphics g) विधि के साथ एक त्रिकोण ड्राइंग करने में परेशानी है। मैं बहुत की तरह एक आयत आकर्षित कर सकते हैं:त्रिभुज ड्रा विधि

public void draw(Graphics g) { 
    g.setColor(colorFill); 
    g.fillRect(p.x, p.y, width, height); 
    g.setColor(colorBorder); 
    g.drawRect(p.x, p.y, width, height); 
    drawHandles(g); 

कहाँ पी "आकार के ऊपरी बाएं कोने" का प्रतिनिधित्व करता है। मैं त्रिकोण को उसी तरह कैसे आकर्षित करूं?

क्या कोई मुझे मानक त्रिकोण के लिए एक उदाहरण दे सकता है?

उत्तर

27

वहाँ ग्राफिक्स और न ही Graphics2D में न तो एक drawTriangle तरीका नहीं है: मैं यहाँ नमूना कोड को देखा। आपको इसे अपने आप करने की ज़रूरत है। आप drawLine पद्धति का उपयोग करके तीन लाइनों आकर्षित कर सकते हैं या एक इन तरीकों का उपयोग करें:

ये विधियां बहुभुज के साथ काम करती हैं। जब आप बिंदु सेट द्वारा परिभाषित बहुभुज को भरना चाहते हैं तो आप उपसर्ग draw से fill बदल सकते हैं। मैंने प्रलेखन लिंक डाले। उन्हें कैसे उपयोग करें सीखने के लिए एक नज़र डालें।

GeneralPath कक्षा भी है। इसका उपयोग ग्राफिक्स 2 डी के साथ किया जा सकता है, जो Shapes आकर्षित करने में सक्षम है। एक नज़र डालें:

+0

drawPolygon वही था जो मैं ढूंढ रहा था! धन्यवाद –

+0

@ जोनसोः आपका स्वागत है! – davidbuzatto

2

आप Shape रों एपीआई का उपयोग कर प्रयास करना चाहिए।

, JPanel repaint from another class सब के बारे में त्रिकोण ड्राइंग है, जिस पर एक नजर डालें कुछ विचार

तुम भी GeneralPath & Drawing Arbitrary Shapes पर पढ़ना चाहिए के लिए getPath विधि करने के लिए लग रहे हो। https://processing.org/reference/PGraphics.html

एक विधि कहा जाता त्रिकोण() नहीं है:

इस विधि

0

को AffineTransformation रों लागू करने के लिए आप प्रसंस्करण पुस्तकालय का उपयोग कर सकते बहुत आसान है

g.triangle (x1, y1 , x2, y2, x3, y3)

0

त्रिकोण को आकर्षित करने के लिए सीधे कोई आदेश नहीं है। त्रिकोण के चित्रण के लिए हमें यहां लाइनों की अवधारणा का उपयोग करना होगा।

i.e, g।ड्रॉलाइन (अंक के समन्वय)

1

बिंदु ए के साथ बिंदु ए को जोड़ने के लिए एक लाइन एल्गोरिदम का उपयोग करें, और बाहरी लूप में, बिंदु ए को उसी पंक्ति एल्गोरिदम के साथ बिंदु बी की ओर घूमने दें और घूमने वाले निर्देशांक के साथ, उस रेखा को दोहराना दोहराएं । आप शायद एक जेड डेल्टा भी शामिल कर सकते हैं जिसके साथ इसे क्रमशः बढ़ाया जाता है। लाइन एल्गोरिदम के लिए, प्रत्येक समन्वय के डेल्टा परिवर्तन के लिए केवल दो या तीन ढलानों की गणना करें और दो अन्य को आनुपातिक रूप से बदलने के बाद 1 तक एक ढलान सेट करें ताकि वे नीचे 1 हो। कनेक्ट किए गए जाल कणों के बीच बंद ज्यामितीय क्षेत्रों को चित्रित करना बहुत महत्वपूर्ण है। क्यूटी लोचदार नोड्स उदाहरण पर एक नज़र डालें और अब एक कंकाल पर खींचने के बाद नोड्स के बीच त्रिभुज ड्राइंग की कल्पना करें। As long as it will remain online

0

त्रिकोण खींचने के लिए कोई सीधी विधि नहीं है। आप इसके लिए drawPolygon() विधि का उपयोग कर सकते हैं। यह निम्नलिखित पैरामीटर में तीन पैरामीटर लेता है: drawPolygon(int x[],int y[], int number_of_points); त्रिकोण बनाने के लिए: (सरणी एक्स में एक्स समन्वय और एक्स संख्याओं में एक्स कोऑर्डिनेट्स निर्दिष्ट करें और अंक की संख्या जो दोनों सरणी के तत्वों के बराबर होगी। त्रिकोण में आप 3 x निर्देशांक और 3 y निर्देशांक जिसका मतलब है कि आप में कुल 3 बिंदु होने होगा) मान लीजिए आप निम्नलिखित बातों का उपयोग कर त्रिकोण आकर्षित करने के लिए करना चाहते हैं:। (100,50),(70,100),(130,100) क्या निम्नलिखित public void paint(Graphics g) अंदर:

int x[]={100,70,130}; 
int y[]={50,100,100}; 
g.drawPolygon(x,y,3); 

इसी प्रकार आप जितना चाहें उतने अंक का उपयोग कर किसी भी आकार को आकर्षित कर सकते हैं।

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