青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

逛奔的蝸牛

我不聰明,但我會很努力

   ::  :: 新隨筆 ::  ::  :: 管理 ::
================================= Triangle.java ==============================


import java.awt.geom.Point2D;


/*

 1. 垂心: 三角形三條邊上的高相交于一點.這一點叫做三角形的垂心. 

 2. 重心: 三角形三條邊上的中線交于一點.這一點叫做三角形的重心. 

 3. 外心: 三角形三邊的中垂線交于一點.這一點為三角形外接圓的圓心. 

 4. 內心三角形三內角平分線交于一點.這一點為三角形內切圓的圓心. 


 重心: 三邊上中線的交點 

 垂心: 三條高的交點 

 內心: 內接圓圓心, 三個角角平分線交點 

 外心: 外接圓圓心, 三條邊的垂直平分線交點, 三角形三條邊的垂直平分線的交點


 銳角三角形的外心在三角形內

 直角三角形的外心是斜邊的中點 

 鈍角三角形的外心在三角形外


 a, b, c是三角形的三條邊條

 面積s:   s*s=p(p-a)(p-b)(p-c), p=(a+b+c)/2

 外圓半徑 = abc / (4*面積)

 內圓半徑 = 2 * 面積 / 周長


 內切圓心坐標(x,y): 三角形三個頂點的坐標:A(x1,y1),B(x2,y2),C(x3,y3)

 x=(x1*BC+x2*CA+x3*AB)/(AB+BC+CA);

 y=(y1*BC+y2*CA+y3*AB)/(AB+BC+CA).

 */

public class Triangle {

    // 三角形的三個頂點

    private Point2D.Double p1;

    private Point2D.Double p2;

    private Point2D.Double p3;


    private double dis12;

    private double dis23;

    private double dis31;


    public Triangle(Point2D.Double p1, Point2D.Double p2, Point2D.Double p3) {

        this.p1 = p1;

        this.p2 = p2;

        this.p3 = p3;


        dis12 = distenceOfPoints(p1, p2);

        dis23 = distenceOfPoints(p2, p3);

        dis31 = distenceOfPoints(p3, p1);

    }


    // 兩點之間的距離

    public static double distenceOfPoints(Point2D.Double p1, Point2D.Double p2) {

        return Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));

    }


    // 內切圓圓心

    public Point2D.Double innerCenter() {

        double p = perimeter();


        double x = (p1.x * dis23 + p2.x * dis31 + p3.x * dis12) / p;

        double y = (p1.y * dis23 + p2.y * dis31 + p3.y * dis12) / p;


        return new Point2D.Double(x, y);

    }


    // 外切圓圓心

    public Point2D.Double outerCenter() {

        double x1 = p1.x;

        double x2 = p2.x;

        double x3 = p3.x;

        double y1 = p1.y;

        double y2 = p2.y;

        double y3 = p3.y;

        double x = ((y2 - y1) * (y3 * y3 - y1 * y1 + x3 * x3 - x1 * x1) - (y3 - y1)

                * (y2 * y2 - y1 * y1 + x2 * x2 - x1 * x1))

                / (2 * (x3 - x1) * (y2 - y1) - 2 * ((x2 - x1) * (y3 - y1)));

        double y = ((x2 - x1) * (x3 * x3 - x1 * x1 + y3 * y3 - y1 * y1) - (x3 - x1)

                * (x2 * x2 - x1 * x1 + y2 * y2 - y1 * y1))

                / (2 * (y3 - y1) * (x2 - x1) - 2 * ((y2 - y1) * (x3 - x1)));


        return new Point2D.Double(x, y);

    }


    // 內切圓半徑

    public double innerRadius() {

        return (2 * area()) / (dis12 + dis23 + dis31);

    }


    // 外接圓半徑

    public double outerRadius() {

        return (dis12 * dis23 * dis31) / (4 * area());

    }


    // 三角形的面積

    public double area() {

        double p = 0.5 * perimeter();

        return Math.sqrt(p * (p - dis12) * (p - dis23) * (p - dis31));

    }


    // 三角形的周長

    public double perimeter() {

        return dis12 + dis23 + dis31;

    }


    // 取得三角形的三個頂點

    public Point2D.Double getP1() {

        return (Point2D.Double) p1.clone();

    }


    public Point2D.Double getP2() {

        return (Point2D.Double) p2.clone();

    }


    public Point2D.Double getP3() {

        return (Point2D.Double) p3.clone();

    }

 

}


================================= TriangleDrawer.java ==============================

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.RenderingHints;

import java.awt.Toolkit;

import java.awt.geom.Point2D;


import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.SwingUtilities;


public class TriangleDrawer extends JPanel {

    private static final long serialVersionUID = 1L;

    private Triangle triangle;


    public TriangleDrawer() {

        triangle = new Triangle(new Point2D.Double(100, 100), new Point2D.Double(207, 130),

            new Point2D.Double(220, 200));

    }


    @Override

    protected void paintComponent(Graphics g) {

        super.paintComponent(g);

        Graphics2D g2d = (Graphics2D) g;

        g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);


        // 繪制三角形

        drawLine(g, triangle.getP1(), triangle.getP2());

        drawLine(g, triangle.getP2(), triangle.getP3());

        drawLine(g, triangle.getP3(), triangle.getP1());


        // 內接圓

        double radius = triangle.innerRadius();

        Point2D.Double center = triangle.innerCenter();

        g.setColor(Color.BLUE);

        drawCircle(g, center, radius);


        // 外接圓

        radius = triangle.outerRadius();

        center = triangle.outerCenter();

        g.setColor(Color.RED);

        drawCircle(g, center, radius);

    }


    protected void drawLine(Graphics g, Point2D.Double startPoint, Point2D.Double endPoint) {

        g.drawLine((int) startPoint.x, (int) startPoint.y, (int) endPoint.x, (int) endPoint.y);

    }


    protected void drawCircle(Graphics g, Point2D.Double center, double radius) {

        g.drawOval((int) (center.x - radius), (int) (center.y - radius), (int) (2 * radius),

            (int) (2 * radius));

    }


    private static void createGUIAndShow() {

        JFrame frame = new JFrame("三角形");


        JPanel contentPane = new TriangleDrawer();

        frame.setContentPane(contentPane);


        Dimension ss = Toolkit.getDefaultToolkit().getScreenSize();

        int w = 500;

        int h = 500;

        int x = (ss.width - w) / 2;

        int y = (ss.height - h) / 2;

        x = x > 0 ? x : 0;

        y = y > 0 ? y : 0;

        frame.setBounds(x, y, w, h);


        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.setVisible(true);

    }


    public static void main(String[] args) {

        SwingUtilities.invokeLater(new Runnable() {

            @Override

            public void run() {

                createGUIAndShow();

            }

        });

    }

}

 

posted on 2010-12-28 22:27 逛奔的蝸牛 閱讀(1787) 評論(0)  編輯 收藏 引用 所屬分類: Java
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            嫩草国产精品入口| 亚洲春色另类小说| 亚洲高清免费在线| 久久综合给合久久狠狠色| 伊人久久综合| 亚洲精品中文字| 欧美视频成人| 久久国产一区| 久久先锋影音av| 日韩午夜电影av| 欧美一区二区三区免费看| 国产在线观看精品一区二区三区| 欧美成人精品1314www| 欧美破处大片在线视频| 亚洲一区二区三区777| 久久久久久久综合色一本| 91久久精品视频| 久久久久久久久伊人| 欧美激情一区二区三区在线视频| 一区二区三区精品视频| 欧美综合第一页| 亚洲国产精品嫩草影院| 欧美成人免费小视频| 小黄鸭精品aⅴ导航网站入口| 午夜精品一区二区三区四区| 亚洲一区精品电影| 久久久久久久久久久一区 | 日韩午夜免费| 亚洲一区中文| 国产一区二区三区四区hd| 亚洲精品一区二区三区不| 国产一区二区三区在线观看精品| 午夜精品久久久久久久男人的天堂| 欧美喷潮久久久xxxxx| 一本色道久久精品| 羞羞色国产精品| 在线视频欧美日韩精品| 性色av一区二区三区| 亚洲精品一区二区三区四区高清| 久久se精品一区精品二区| 洋洋av久久久久久久一区| 麻豆免费精品视频| 久久久激情视频| 久久久久久夜| 欧美一区影院| 欧美日韩亚洲在线| 亚洲精品美女在线观看| 在线成人中文字幕| 91久久亚洲| 亚洲国产综合在线| 欧美影院在线| 久久久久国产精品午夜一区| 欧美图区在线视频| 亚洲精品在线一区二区| 亚洲乱码国产乱码精品精天堂| 午夜激情亚洲| 欧美一区视频在线| 国产精品裸体一区二区三区| 国产精品99久久不卡二区| 日韩视频在线观看国产| 美女亚洲精品| 亚洲娇小video精品| 亚洲黄色成人久久久| 久久最新视频| 久久综合色婷婷| 欧美精品在线一区二区三区| 亚洲免费大片| 一区二区三区高清| 国产精品久久久久久久久久ktv| 亚洲毛片一区二区| 午夜伦理片一区| 国产九区一区在线| 亚洲人成77777在线观看网| 亚洲另类一区二区| 欧美在线观看视频一区二区| 欧美呦呦网站| 欧美日韩一区二区三区在线视频| 久久不射中文字幕| 免费成人在线观看视频| 午夜精品影院在线观看| 一道本一区二区| 亚洲精品一二三区| 久久综合色天天久久综合图片| 欧美成人按摩| 亚洲精品五月天| 欧美91精品| 亚洲国产精品久久久久秋霞影院| 亚洲日本欧美日韩高观看| 久热精品视频在线观看| 日韩一级黄色片| 亚洲欧美国产一区二区三区| 国产精品极品美女粉嫩高清在线 | 欧美午夜免费影院| 亚洲午夜一二三区视频| 亚洲网站在线| 国产日韩免费| 美女视频黄 久久| 亚洲黄色一区二区三区| 亚洲图片自拍偷拍| 久久深夜福利免费观看| 亚洲精品视频中文字幕| 午夜精品久久久久久99热| 亚洲国产成人精品女人久久久 | 精品av久久久久电影| 欧美岛国在线观看| 亚洲制服av| 欧美阿v一级看视频| 国产伪娘ts一区| 欧美色精品在线视频| 午夜精品久久久久久久蜜桃app| 亚洲国产91精品在线观看| 亚洲一区不卡| 亚洲国产日韩一级| 国产精品视频99| 一区二区三区高清视频在线观看| 久久婷婷成人综合色| 艳女tv在线观看国产一区| 亚洲第一毛片| 久久综合中文| 亚洲黄色片网站| 久久免费国产精品| 国产一区二区三区四区老人| 午夜亚洲一区| 欧美激情女人20p| 亚洲一区欧美一区| 国产精品亚洲片夜色在线| 亚洲视频在线观看| 亚洲麻豆国产自偷在线| 欧美激情在线免费观看| 亚洲福利视频免费观看| 国产欧美va欧美不卡在线| 久久免费精品视频| 午夜久久久久久| 一本不卡影院| 久久在线精品| 裸体女人亚洲精品一区| 午夜精品久久久久久久99黑人| 亚洲一区二区动漫| 亚洲精品极品| 日韩视频专区| 亚洲日本久久| 99re热精品| 日韩午夜免费视频| 日韩一级不卡| 亚洲日本在线视频观看| 亚洲国产99| 欧美视频成人| 久久久亚洲影院你懂的| 欧美在线影院| 美女在线一区二区| 久久青青草综合| 久久米奇亚洲| 欧美va天堂| 亚洲国产导航| 亚洲美女毛片| 一本色道久久综合亚洲91| 麻豆精品在线播放| 亚洲高清在线观看| 亚洲国产片色| 亚洲天堂激情| 亚洲制服少妇| 美女999久久久精品视频| 快she精品国产999| 欧美日韩岛国| 国产精品xxxav免费视频| 国产精品永久| 韩国视频理论视频久久| 亚洲欧美日韩国产成人| 久久精精品视频| 久久婷婷久久一区二区三区| 欧美成人午夜77777| 欧美激情综合亚洲一二区| 国产精品男人爽免费视频1| 国产精品久久久久77777| 黄色一区二区在线| 亚洲人www| 欧美一区二区三区四区在线观看地址| 午夜激情综合网| 欧美成人午夜剧场免费观看| 国产精品亚发布| 狠狠综合久久| 欧美图区在线视频| 亚洲一二区在线| 欧美亚洲视频一区二区| 国产欧美亚洲一区| 亚洲欧美精品中文字幕在线| 久久国产精品电影| 在线精品视频一区二区| 亚洲国产婷婷| 久久综合九色综合久99| 99视频精品全国免费| 亚洲免费精彩视频| 亚洲视频大全| 欧美1级日本1级| 国产精品av一区二区| 亚洲高清免费| 一区二区三区精品久久久| 久久国产一区二区三区| 亚洲国产精品传媒在线观看| 亚洲国产日韩一区二区|