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

逛奔的蝸牛

我不聰明,但我會(huì)很努力

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


import java.awt.geom.Point2D;


/*

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

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

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

 4. 內(nèi)心三角形三內(nèi)角平分線交于一點(diǎn).這一點(diǎn)為三角形內(nèi)切圓的圓心. 


 重心: 三邊上中線的交點(diǎn) 

 垂心: 三條高的交點(diǎn) 

 內(nèi)心: 內(nèi)接圓圓心, 三個(gè)角角平分線交點(diǎn) 

 外心: 外接圓圓心, 三條邊的垂直平分線交點(diǎn), 三角形三條邊的垂直平分線的交點(diǎn)


 銳角三角形的外心在三角形內(nèi)

 直角三角形的外心是斜邊的中點(diǎn) 

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


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

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

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

 內(nèi)圓半徑 = 2 * 面積 / 周長(zhǎng)


 內(nèi)切圓心坐標(biāo)(x,y): 三角形三個(gè)頂點(diǎn)的坐標(biāo):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 {

    // 三角形的三個(gè)頂點(diǎn)

    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);

    }


    // 兩點(diǎn)之間的距離

    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));

    }


    // 內(nèi)切圓圓心

    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);

    }


    // 內(nèi)切圓半徑

    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));

    }


    // 三角形的周長(zhǎng)

    public double perimeter() {

        return dis12 + dis23 + dis31;

    }


    // 取得三角形的三個(gè)頂點(diǎn)

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


        // 內(nèi)接圓

        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) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 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>
            国产欧美欧美| 久久久999精品| 欧美性事在线| 亚洲一级二级在线| 久久精品国产久精国产一老狼 | 久久精品视频一| 欧美一区二区视频网站| 欧美成人免费在线观看| 久久久国产91| 欧美不卡激情三级在线观看| 亚洲国产欧美一区二区三区久久| 亚洲欧美一区二区三区极速播放| 久久精品欧洲| 久久午夜国产精品| 亚洲免费观看视频| 国产精品综合视频| 欧美激情1区2区| 久久精品国产2020观看福利| 一本色道久久综合狠狠躁的推荐| 久久综合网色—综合色88| 99伊人成综合| 国产一区二区三区四区hd| 欧美国产另类| 国产精品亚洲第一区在线暖暖韩国| 久久久久久久久久久久久女国产乱 | 欧美成年人视频网站| 国产精品magnet| 在线免费观看日本一区| 国产精品爱啪在线线免费观看| 国产婷婷一区二区| 国产精品亚洲视频| 亚洲黄色免费电影| 国产日韩欧美夫妻视频在线观看| 在线日本欧美| 久久riav二区三区| 亚洲欧美日韩在线高清直播| 亚洲精品国产日韩| 亚洲国产毛片完整版 | 国产精品一区二区a| 国产日韩欧美视频在线| 亚洲精品中文字幕在线| 久久色在线播放| 欧美在线看片| 亚洲乱码视频| 亚洲国产精品一区在线观看不卡 | 国产三级精品三级| 亚洲图片在线观看| 一区二区三区国产在线| 亚洲免费电影在线观看| 欧美在线一级va免费观看| 亚洲日韩欧美视频一区| 欧美风情在线观看| 亚洲欧美视频一区| 国产精品麻豆va在线播放| 国产一级揄自揄精品视频| 一区二区三区欧美日韩| 亚洲高清一区二| 亚洲精品影视| 美日韩精品视频| 蜜臀91精品一区二区三区| 国内成+人亚洲| 91久久精品日日躁夜夜躁国产| 亚洲精品免费在线观看| 乱码第一页成人| 久久av老司机精品网站导航 | 欧美理论电影在线播放| 欧美国产日本| 亚洲欧洲日本国产| 亚洲大片在线| 欧美精品色网| 国产欧美日韩免费| 欧美一区二区三区另类| 欧美**字幕| 亚洲乱码国产乱码精品精天堂| 免费亚洲电影在线| 欧美天天在线| 国产午夜精品一区二区三区欧美| 午夜精品免费视频| 欧美激情精品久久久久久| 一本一本a久久| 国产精品午夜国产小视频| 久久aⅴ国产紧身牛仔裤| 久久精品一二三| 亚洲人成小说网站色在线| 亚洲欧洲一区二区三区在线观看 | 国产一区亚洲| 亚洲国产成人精品女人久久久| 欧美精品播放| 午夜天堂精品久久久久| 国产精品大全| 久久久久国产成人精品亚洲午夜| 激情五月***国产精品| 99爱精品视频| 欧美成人一区二区| 欧美日韩免费网站| 亚洲第一色在线| 亚洲欧洲精品一区二区三区波多野1战4| 欧美freesex8一10精品| 亚洲欧美视频在线观看视频| 久久久午夜电影| 亚洲网站啪啪| 免费观看日韩av| 亚洲精品午夜| 国产亚洲一区二区三区| 亚洲欧洲精品一区二区三区波多野1战4 | 久久久综合网| 一区二区三区国产精华| 久久久999精品| 午夜国产精品视频| 欧美高清一区| 蜜臀91精品一区二区三区| 欧美视频在线一区二区三区| 欧美电影在线观看| 国产一区日韩二区欧美三区| 亚洲视频在线一区观看| 亚洲精品美女在线观看播放| 久久不射网站| 欧美怡红院视频| 欧美日韩国产区| 亚洲精品日韩激情在线电影| 制服丝袜激情欧洲亚洲| 国产精品ⅴa在线观看h| 欧美国产精品| 国产一区在线免费观看| 亚洲一区二区在线免费观看视频 | 欧美成人免费播放| 国产精品久线观看视频| 亚洲毛片av| 9久草视频在线视频精品| 裸体歌舞表演一区二区| 久久精品一区二区三区不卡| 午夜久久影院| 国产一区二三区| 国产精品99久久久久久www| 99精品99久久久久久宅男| 欧美成人免费全部| 你懂的网址国产 欧美| 亚洲福利免费| 亚洲三级影片| 亚洲人人精品| 欧美xx69| 亚洲日韩成人| 99re热精品| 国产麻豆日韩| 午夜日韩在线| 国产日韩在线视频| 久久香蕉国产线看观看av| 国产一区二区三区丝袜| 欧美一级一区| 久久网站免费| 精品成人国产| 美女福利精品视频| 欧美大片专区| 国产精品99久久久久久人| 国产精品久久久免费| 亚洲欧美三级在线| 美国三级日本三级久久99| 一区一区视频| 免费视频最近日韩| 日韩亚洲欧美在线观看| 午夜欧美大尺度福利影院在线看 | 猛男gaygay欧美视频| 91久久精品国产91性色| 亚洲专区一区| 欧美一区三区三区高中清蜜桃| 久久频这里精品99香蕉| 亚洲国产另类精品专区| 欧美三日本三级少妇三99| 亚洲香蕉在线观看| 免费影视亚洲| 亚洲欧美日韩国产精品| 国产综合欧美| 欧美午夜精品久久久久久浪潮| 午夜精品www| 亚洲国产精品一区二区第一页| 亚洲一区二区在线视频| 尤物视频一区二区| 欧美在线一二三| 欧美jizzhd精品欧美巨大免费| 99精品视频免费观看视频| 国产精品揄拍500视频| 欧美v日韩v国产v| 亚洲午夜激情免费视频| 免费欧美在线| 欧美一级理论性理论a| 欧美精品粉嫩高潮一区二区| 亚洲欧美第一页| 亚洲欧美日韩国产一区| 亚洲第一中文字幕| 国产美女精品一区二区三区| 免费看成人av| 久久精品国产免费看久久精品| 99re这里只有精品6| 亚洲经典三级| 国产美女精品人人做人人爽| 欧美色网一区二区| 美女日韩欧美| 久久久久国产精品一区三寸| 亚洲女ⅴideoshd黑人| 正在播放亚洲一区|