//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();
}