{"id":1218,"date":"2014-09-22T11:17:25","date_gmt":"2014-09-22T09:17:25","guid":{"rendered":"http:\/\/liceocuneo.it\/oddenino\/?p=1218"},"modified":"2014-09-22T12:03:57","modified_gmt":"2014-09-22T10:03:57","slug":"orizzonte-artificiale","status":"publish","type":"post","link":"https:\/\/liceocuneo.it\/oddenino\/orizzonte-artificiale\/","title":{"rendered":"Orizzonte artificiale"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1222\" src=\"https:\/\/liceocuneo.it\/oddenino\/wp-content\/uploads\/sites\/2\/OrizzonteArtificiale.png\" alt=\"OrizzonteArtificiale\" width=\"406\" height=\"200\" srcset=\"https:\/\/liceocuneo.it\/oddenino\/wp-content\/uploads\/sites\/2\/OrizzonteArtificiale.png 406w, https:\/\/liceocuneo.it\/oddenino\/wp-content\/uploads\/sites\/2\/OrizzonteArtificiale-300x147.png 300w\" sizes=\"auto, (max-width: 406px) 100vw, 406px\" \/><\/p>\n<pre>import java.awt.Color;\r\nimport java.awt.Dimension;\r\nimport java.awt.Graphics;\r\nimport javax.swing.JPanel;\r\n\r\npublic class JHorizon extends JPanel {\r\n\r\n    private int h = 0, a = 0;\r\n\r\n    public JHorizon() {\r\n        setMinimumSize(new Dimension(100, 100));\r\n        setPreferredSize(new Dimension(100, 100));\r\n    }\r\n\r\n    @Override\r\n    protected void paintComponent(Graphics g) {\r\n        super.paintComponent(g);\r\n\r\n        double m = Math.tan(Math.toRadians(a));\r\n        int y1 = (int) (h - m * 50), y2 = (int) (h + m * 50);\r\n        int[] x = new int[4], y = new int[4];\r\n\r\n        \/\/ parte inferiore verde\r\n        x[0] = 0;   y[0] = 50 - y1;\r\n        x[1] = 100; y[1] = 50 - y2;\r\n        x[2] = 100; y[2] = 100;\r\n        x[3] = 0;   y[3] = 100;\r\n        g.setColor(Color.GREEN);\r\n        g.fillPolygon(x, y, 4);\r\n\r\n        \/\/ parte superiore azzurra\r\n        x[0] = 0;   y[0] = 50 - y1;\r\n        x[1] = 100; y[1] = 50 - y2;\r\n        x[2] = 100; y[2] = 0;\r\n        x[3] = 0;   y[3] = 0;\r\n        g.setColor(Color.CYAN);\r\n        g.fillPolygon(x, y, 4);\r\n\r\n        \/\/ assi, gradazioni e cerchio\r\n        g.setColor(Color.BLACK);\r\n        g.drawLine(0, 50, 100, 50);\r\n        g.drawLine(50, 0, 50, 100);\r\n        for (int i = 10; i &lt; 100; i += 10)\r\n            g.drawLine(45, i, 55, i);\r\n        g.drawOval(0, 0, 100, 100);\r\n        \r\n        g.drawString(a + \"\u00b0\", 1, 10);\r\n        g.drawString(h + \"\", 82, 10);\r\n    }\r\n\r\n    public int getH() {\r\n        return h;\r\n    }\r\n\r\n    public void setH(int h) {\r\n        this.h = h;\r\n        repaint();\r\n    }\r\n\r\n    public int getA() {\r\n        return a;\r\n    }\r\n\r\n    public void setA(int a) {\r\n        this.a = a;\r\n        repaint();\r\n    }\r\n\r\n}<\/pre>\n<p>Associare nel Main a jHorizon il gestore di evento MouseMoved:<\/p>\n<pre>    private void jHorizonMouseMoved(java.awt.event.MouseEvent evt) {                                    \r\n        int x = evt.getX(), y = evt.getY();\r\n        jHorizon.setA(x - 50);\r\n        jHorizon.setH(50 - y);\r\n    }                                   \r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import javax.swing.JPanel; public class JHorizon extends JPanel { private int h = 0, a = 0; public JHorizon() { setMinimumSize(new Dimension(100, 100)); setPreferredSize(new Dimension(100, 100)); } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); double m = Math.tan(Math.toRadians(a)); int y1 = (int) (h &#8211; m * 50), y2 = (int) &hellip; <a href=\"https:\/\/liceocuneo.it\/oddenino\/orizzonte-artificiale\/\" class=\"more-link\">Continua a leggere <span class=\"screen-reader-text\">Orizzonte artificiale<\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-1218","post","type-post","status-publish","format-standard","hentry","category-informatica"],"_links":{"self":[{"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/posts\/1218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/comments?post=1218"}],"version-history":[{"count":0,"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/posts\/1218\/revisions"}],"wp:attachment":[{"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/media?parent=1218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/categories?post=1218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/tags?post=1218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}