//the following is the implementation i just did. import java.awt.*; import javax.swing.*; import java.io.*;class test extends JFrame { static int[] trigle=new int[3]; static final int ORINGE=150,JINDU=10000;
public void paint(Graphics g) { if(judge(trigle)==true) { drawTrigle(g,trigle); } }
public void drawTrigle(Graphics g,int[] t) {//draw a trigular in terms of the length of the trigular g.drawLine(ORINGE,ORINGE,ORINGE+t[0],ORINGE);//draw AB; double dots[][]=new double[JINDU][2]; for(int i=0;i<JINDU;i++) { dots[i][0]=ORINGE+t[1]*Math.cos(Math.PI*i/JINDU); dots[i][1]=ORINGE-t[1]*Math.sin(Math.PI*i/JINDU); } int dot[]=new int[2]; double min=JINDU; for(int i=0;i<JINDU-1;i++) { double a=Math.abs((ORINGE+t[0]-dots[i][0])*(ORINGE+t[0]-dots[i][0])+ (ORINGE-dots[i][1])*(ORINGE-dots[i][1])-t[2]*t[2]); if(a<min) { min=a; dot[0]=(int)dots[i][0]; dot[1]=(int)dots[i][1]; } } g.drawLine(ORINGE+t[0],ORINGE,dot[0],dot[1]);//draw BC g.drawLine(ORINGE,ORINGE,dot[0],dot[1]);//draw AC
} boolean judge(int[] t) {//judge whether the length surplied can form an trigular. for(int i=0;i<3;i++) { int a=i,b=a+1>2? 0:a+1,c=b+1>2? 0:b+1; if(t[a]+t[b]<t[c]||t[a]-t[b]>t[c])return false; } return true; } public static void main(String[] args)throws Exception { trigle[0]=30*3; trigle[1]=40*3; trigle[2]=50*3; new test(); }
import java.awt.*;
import javax.swing.*;
import java.io.*;class test extends JFrame
{
static int[] trigle=new int[3];
static final int ORINGE=150,JINDU=10000;
public void paint(Graphics g)
{
if(judge(trigle)==true)
{
drawTrigle(g,trigle);
}
}
public void drawTrigle(Graphics g,int[] t)
{//draw a trigular in terms of the length of the trigular
g.drawLine(ORINGE,ORINGE,ORINGE+t[0],ORINGE);//draw AB;
double dots[][]=new double[JINDU][2];
for(int i=0;i<JINDU;i++)
{
dots[i][0]=ORINGE+t[1]*Math.cos(Math.PI*i/JINDU);
dots[i][1]=ORINGE-t[1]*Math.sin(Math.PI*i/JINDU);
}
int dot[]=new int[2];
double min=JINDU;
for(int i=0;i<JINDU-1;i++)
{
double a=Math.abs((ORINGE+t[0]-dots[i][0])*(ORINGE+t[0]-dots[i][0])+
(ORINGE-dots[i][1])*(ORINGE-dots[i][1])-t[2]*t[2]);
if(a<min)
{
min=a;
dot[0]=(int)dots[i][0];
dot[1]=(int)dots[i][1];
}
}
g.drawLine(ORINGE+t[0],ORINGE,dot[0],dot[1]);//draw BC
g.drawLine(ORINGE,ORINGE,dot[0],dot[1]);//draw AC
} boolean judge(int[] t)
{//judge whether the length surplied can form an trigular.
for(int i=0;i<3;i++)
{
int a=i,b=a+1>2? 0:a+1,c=b+1>2? 0:b+1;
if(t[a]+t[b]<t[c]||t[a]-t[b]>t[c])return false;
}
return true;
}
public static void main(String[] args)throws Exception
{
trigle[0]=30*3;
trigle[1]=40*3;
trigle[2]=50*3;
new test();
}
test()
{
this.setSize(400,400);
this.setVisible(true);
}
}