{"id":1574,"date":"2010-02-20T00:44:07","date_gmt":"2010-02-19T22:44:07","guid":{"rendered":"http:\/\/firefang.net\/blog\/?p=1574"},"modified":"2010-02-20T09:32:30","modified_gmt":"2010-02-20T07:32:30","slug":"%d7%97%d7%9c%d7%95%d7%9f-%d7%9e%d7%94%d7%99%d7%a8","status":"publish","type":"post","link":"https:\/\/firefang.net\/blog\/1574","title":{"rendered":"\u05d7\u05dc\u05d5\u05df \u05de\u05d4\u05d9\u05e8"},"content":{"rendered":"<p>\u05dc\u05e4\u05e0\u05d9 \u05db\u05de\u05d4 \u05e4\u05d5\u05e1\u05d8\u05d9\u05dd <a href=\"http:\/\/firefang.net\/blog\/1550\">\u05e9\u05d0\u05dc\u05ea\u05d9<\/a> \u05d0\u05ea \u05d4\u05e9\u05d0\u05dc\u05d4 \u05d4\u05d1\u05d0\u05d4:<\/p>\n<p>\u05e0\u05ea\u05d5\u05df \u05de\u05e2\u05e8\u05da \u05d1\u05d2\u05d5\u05d3\u05dc NxN \u05e9\u05dc \u05e4\u05d9\u05e7\u05e1\u05dc\u05d9\u05dd \u05db\u05d0\u05e9\u05e8 \u05db\u05dc \u05d4\u05e4\u05d9\u05e7\u05e1\u05dc\u05d9\u05dd \u05e9\u05d7\u05d5\u05e8\u05d9\u05dd \u05d7\u05d5\u05e5 \u05de\u05d0\u05d7\u05d5\u05d6 \u05de\u05e1\u05d5\u05d9\u05d9\u05dd \u05de\u05d4\u05dd \u05e9\u05d0\u05d9\u05e0\u05d5 \u05e9\u05d7\u05d5\u05e8 \u05d5\u05de\u05e4\u05d5\u05d6\u05e8 \u05d1\u05d0\u05d5\u05e4\u05df \u05d0\u05e7\u05e8\u05d0\u05d9,<br \/>\n\u05d1\u05d4\u05d9\u05e0\u05ea\u05df \u05e7\u05d5\u05d0\u05d5\u05e8\u05d3\u05d9\u05e0\u05d8\u05d4 (x,y) \u05de\u05e1\u05d5\u05d9\u05d9\u05de\u05ea \u05d1\u05ea\u05de\u05d5\u05e0\u05d4, \u05de\u05e6\u05d0 \u05d1\u05de\u05d4\u05d9\u05e8\u05d5\u05ea \u05d0\u05ea \u05db\u05dc \u05d4\u05e0\u05e7\u05d5\u05d3\u05d5\u05ea \u05e9\u05e0\u05de\u05e6\u05d0\u05d5\u05ea \u05d1\u05ea\u05d5\u05da \u05d7\u05dc\u05d5\u05df \u05d1\u05d2\u05d5\u05d3\u05dc K \u05e2\u05dc K (\u05db\u05d0\u05e9\u05e8 K \u05e7\u05d1\u05d5\u05e2 \u05d1\u05d1\u05e2\u05d9\u05d4) \u05e9\u05de\u05e8\u05db\u05d6\u05d5 (x,y), \u05de\u05e9\u05d4\u05d5 \u05db\u05d6\u05d4:<br \/>\n<a href=\"http:\/\/firefang.net\/blog\/wp-content\/uploads\/2010\/01\/dots2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"http:\/\/firefang.net\/blog\/wp-content\/uploads\/2010\/01\/dots2.png\" alt=\"\" width=\"198\" height=\"199\" \/><\/a><\/p>\n<p>\u05e4\u05e2\u05d5\u05dc\u05ea \u05d4\u05de\u05e6\u05d9\u05d0\u05d4 \u05e2\u05e6\u05de\u05d4 \u05e6\u05e8\u05d9\u05db\u05d4 \u05dc\u05d4\u05d9\u05d5\u05ea \u05de\u05d4\u05d9\u05e8\u05d4 \u05de\u05d0\u05d5\u05d3, \u05d0\u05d1\u05dc \u05de\u05d5\u05ea\u05e8 \u05dc\u05e2\u05d1\u05d3 \u05de\u05e8\u05d0\u05e9 \u05d0\u05ea \u05d4\u05ea\u05de\u05d5\u05e0\u05d4 \u05e4\u05e2\u05dd \u05d0\u05d7\u05ea (\u05d1\u05d6\u05de\u05df \u05e1\u05d1\u05d9\u05e8).<\/p>\n<p>\u05d0\u05d6 \u05d4\u05e0\u05d4 \u05d4\u05e4\u05ea\u05e8\u05d5\u05df \u05e9\u05dc\u05d9:<br \/>\n\u05e0\u05d7\u05dc\u05e7 \u05d0\u05ea \u05d4\u05ea\u05de\u05d5\u05e0\u05d4 \u05dc\u05de\u05e9\u05d1\u05e6\u05d5\u05ea \u05d1\u05d2\u05d5\u05d3\u05dc KxK, \u05d5\u05e0\u05e9\u05de\u05d5\u05e8 \u05e8\u05e9\u05d9\u05de\u05d4 \u05e9\u05dc \u05db\u05dc \u05d4\u05e0\u05e7\u05d5\u05d3\u05d5\u05ea \u05d1\u05db\u05dc \u05de\u05e9\u05d1\u05e6\u05ea.<br \/>\n\u05db\u05d0\u05e9\u05e8 \u05de\u05d1\u05e7\u05e9\u05d9\u05dd \u05de\u05d0\u05d9\u05ea\u05e0\u05d5 \u05dc\u05ea\u05ea \u05d0\u05ea \u05e8\u05e9\u05d9\u05de\u05ea \u05d4\u05e0\u05e7\u05d5\u05d3\u05d5\u05ea \u05d1\u05d7\u05dc\u05d5\u05df \u05de\u05e1\u05d5\u05d9\u05d9\u05dd, \u05e0\u05e1\u05ea\u05db\u05dc \u05d1\u05d0\u05e8\u05d1\u05e2\u05ea \u05d4\u05d7\u05dc\u05d5\u05e0\u05d5\u05ea \u05e9\u05d4\u05d7\u05dc\u05d5\u05df \u05d4\u05d6\u05d4 \u05d7\u05d5\u05ea\u05da \u05d5\u05e0\u05e1\u05e0\u05df \u05d0\u05ea \u05db\u05dc \u05d4\u05e0\u05e7\u05d5\u05d3\u05d5\u05ea \u05d1\u05d0\u05e8\u05d1\u05e2\u05ea \u05d4\u05d7\u05dc\u05d5\u05e0\u05d5\u05ea \u05e9\u05dc\u05d0 \u05e0\u05de\u05e6\u05d0\u05d5\u05ea \u05d1\u05ea\u05d5\u05da \u05d4\u05d7\u05dc\u05d5\u05df \u05d4\u05de\u05d1\u05d5\u05e7\u05e9.<br \/>\n\u05d6\u05d4 \u05d4\u05db\u05dc \u05d1\u05e2\u05e6\u05dd.<br \/>\n\u05d4\u05d1\u05d9\u05e6\u05d5\u05e2\u05d9\u05dd \u05e9\u05dc \u05d4\u05e4\u05ea\u05e8\u05d5\u05df \u05d4\u05d6\u05d4 \u05de\u05e2\u05d5\u05dc\u05d9\u05dd, \u05db\u05d3\u05d9 \u05dc\u05d4\u05db\u05d9\u05df \u05d0\u05ea \u05d4\u05d2\u05e8\u05d9\u05d3 (Grid) \u05e0\u05e2\u05d1\u05d5\u05e8 \u05e2\u05dc \u05db\u05dc \u05d4\u05e4\u05d9\u05e7\u05e1\u05dc\u05d9\u05dd \u05d1\u05ea\u05de\u05d5\u05e0\u05d4, \u05d5\u05dc\u05db\u05dc \u05e0\u05e7\u05d5\u05d3\u05d4 \u05e0\u05de\u05e6\u05d0 \u05d1\u05d6\u05de\u05df \u05e7\u05d1\u05d5\u05e2 \u05d0\u05ea \u05d4\u05de\u05e9\u05d1\u05e6\u05ea \u05e9\u05d0\u05dc\u05d9\u05d4 \u05d4\u05d9\u05d0 \u05e9\u05d9\u05d9\u05db\u05ea.<br \/>\n\u05db\u05e9\u05de\u05de\u05e9 \u05de\u05d7\u05e4\u05e9\u05d9\u05dd \u05d0\u05ea \u05d4\u05e0\u05e7\u05d5\u05d3\u05d5\u05ea \u05d1\u05d7\u05dc\u05d5\u05df \u05de\u05e1\u05d5\u05d9\u05d9\u05dd, \u05e0\u05d1\u05d3\u05d5\u05e7 \u05d1\u05de\u05e7\u05e8\u05d4 \u05d4\u05d2\u05e8\u05d5\u05e2 2K*2K \u05e4\u05d9\u05e7\u05e1\u05dc\u05d9\u05dd (\u05d0\u05dd \u05db\u05dc \u05d4\u05e0\u05e7\u05d5\u05d3\u05d5\u05ea \u05dc\u05d1\u05e0\u05d5\u05ea) \u05d0\u05d1\u05dc \u05d1\u05de\u05e7\u05e8\u05d4 \u05d4\u05e8\u05d2\u05d9\u05dc \u05e0\u05d1\u05d3\u05d5\u05e7 \u05d4\u05e8\u05d1\u05d4 \u05e4\u05d7\u05d5\u05ea (\u05d5\u05d0\u05dd \u05d4\u05d7\u05dc\u05d5\u05df \u05dc\u05d0 \u05de\u05db\u05d9\u05dc \u05e0\u05e7\u05d5\u05d3\u05d5\u05ea \u05db\u05dc\u05dc \u05e0\u05d3\u05e2 \u05d0\u05ea \u05d6\u05d4 \u05de\u05d4\u05e8 \u05de\u05d0\u05d5\u05d3).<br \/>\n\u05d6\u05d4 \u05d4\u05e7\u05d5\u05d3 \u05e9\u05dc \u05d4\u05e2\u05d9\u05d1\u05d5\u05d3 \u05d4\u05de\u05e7\u05d3\u05d9\u05dd:<br \/>\n[code lang=&quot;java&quot;]<br \/>\nprivate static int [][][] buildgrid(byte[][] image, int width, int height, int gridSize)<br \/>\n{<br \/>\n    int grid[][][] = new int[width \/ gridSize][height \/ gridSize][];<br \/>\n    \/\/ count the number of points in each grid cell<br \/>\n    int numpoints[][] = new int[width \/ gridSize][height \/ gridSize];<br \/>\n    for(int x=0;x<width;x++)\n    {\n        for(int y=0;y<height;y++)\n        {\n            if (image[x][y] > Byte.MIN_VALUE)<br \/>\n            {<br \/>\n                numpoints[x\/gridSize][y\/gridSize]++;<br \/>\n            }<br \/>\n        }<br \/>\n    }<\/p>\n<p>    for(int x=0;x<width;x++)\n    {\n        for(int y=0;y<height;y++)\n        {\n            int c = image[x][y];\n            if (c > Byte.MIN_VALUE)<br \/>\n            {<br \/>\n                int gy = y\/gridSize;<br \/>\n                int gx = x\/gridSize;<br \/>\n                int list[] = grid[gx][gy];<br \/>\n                if (list == null)<br \/>\n                {<br \/>\n                \tint np = numpoints[gx][gy];<br \/>\n                    list = new int[np * 2];<br \/>\n                    grid[gx][gy] = list;<br \/>\n                    numpoints[gx][gy] = 0;<br \/>\n                }<\/p>\n<p>                list[numpoints[gx][gy]++] = x;<br \/>\n                list[numpoints[gx][gy]++] = y;<br \/>\n            }<br \/>\n        }<br \/>\n    }<br \/>\n    return grid;<br \/>\n}<br \/>\n[\/code]<\/p>\n<p>\u05d4\u05e7\u05d5\u05d3 \u05d4\u05d1\u05d0 \u05e1\u05d5\u05e4\u05e8 \u05d0\u05ea \u05d4\u05de\u05e1\u05e4\u05e8 \u05d4\u05e0\u05e7\u05d5\u05d3\u05d5\u05ea \u05d1\u05ea\u05d5\u05da \u05d4\u05d7\u05dc\u05d5\u05df \u05e9\u05de\u05e8\u05db\u05d6\u05d5 (x,y)' \u05e9\u05d9\u05de\u05d5 \u05dc\u05d1 \u05e9\u05d4\u05dc\u05d5\u05dc\u05d0\u05d5\u05ea \u05e2\u05d5\u05d1\u05e8\u05d5\u05ea \u05e2\u05dc \u05d0\u05e8\u05d1\u05e2\u05d4 \u05e8\u05d9\u05d1\u05d5\u05e2\u05d9\u05dd \u05d1\u05d2\u05e8\u05d9\u05d3 \u05d1\u05dc\u05d1\u05d3:<br \/>\n[code lang=&quot;java&quot;]<br \/>\n\/\/ window boundaries:<br \/>\nint rx1 = x &#8211; grid_size\/2;<br \/>\nint ry1 = y &#8211; grid_size\/2;<br \/>\nint rx2 = rx1 + grid_size;<br \/>\nint ry2 = ry1 + grid_size;<\/p>\n<p>\/\/ top left grid cell (out of 2&#215;2 group to be checked)<br \/>\nint gx = rx1 \/ grid_size;<br \/>\nint gy = ry1 \/ grid_size;<\/p>\n<p>for(int grid_x=gx;grid_x<gx+2 &#038;&#038; grid_x >= 0 &#038;&#038; grid_x < gwidth;grid_x++)\n{\n    for(int grid_y=gy;grid_y<gy+2 &#038;&#038;  grid_y >= 0 &#038;&#038; grid_y < gheight;grid_y++)\n    {\n        int list[] = grid[grid_x][grid_y];\n        if (list == null) continue;\n        for(int i=0;i<list.length\/2;i++)\n        {\n            int jj = i*2;\n            int dx = list[jj];\n            int dy = list[jj+1];\n            if (dx >= rx1 &#038;&#038; dx < rx2 &#038;&#038; dy >= ry1 &#038;&#038; dy < ry2)\n            {\n                c++;\n            }\n        }\n    }\n}\n[\/code]\n\n\u05d9\u05ea\u05db\u05df \u05e9\u05d0\u05e4\u05e9\u05e8 \u05dc\u05e9\u05e4\u05e8 \u05d0\u05ea \u05d4\u05d1\u05d9\u05e6\u05d5\u05e2\u05d9\u05dd \u05d0\u05dd \u05e0\u05d7\u05dc\u05e7 \u05d0\u05ea \u05d4\u05d2\u05e8\u05d9\u05d3 \u05dc\u05e8\u05d9\u05d1\u05d5\u05e2\u05d9\u05dd \u05d9\u05d5\u05ea\u05e8 \u05e7\u05d8\u05e0\u05d9\u05dd \u05d5\u05e0\u05db\u05dc\u05d5\u05dc \u05e8\u05d9\u05d1\u05d5\u05e2\u05d9\u05dd \u05e9\u05dc\u05de\u05d9\u05dd \u05e9\u05e0\u05d5\u05e4\u05dc\u05d9\u05dd \u05d1\u05ea\u05d5\u05da \u05d4\u05d7\u05dc\u05d5\u05df \u05d1\u05dc\u05d9 \u05dc\u05d1\u05d3\u05d5\u05e7 \u05db\u05dc \u05e0\u05e7\u05d5\u05d3\u05d4 \u05d1\u05d0\u05d5\u05e4\u05df \u05e4\u05e8\u05d8\u05e0\u05d9, \u05d0\u05d1\u05dc \u05dc\u05d0 \u05e0\u05d9\u05e1\u05d9\u05ea\u05d9.\n\u05d4\u05d1\u05d9\u05e6\u05d5\u05e2\u05d9\u05dd \u05e9\u05dc \u05d4\u05e4\u05ea\u05e8\u05d5\u05df \u05d4\u05d6\u05d4 \u05d3\u05d9 \u05de\u05d8\u05d5\u05e8\u05e4\u05d9\u05dd. \u05e2\u05dc Q6600 \u05d1\u05de\u05d4\u05d9\u05e8\u05d5\u05ea 2.4GHZ, \u05e2\u05dd \u05ea\u05de\u05d5\u05e0\u05d4 \u05d1\u05d2\u05d5\u05d3\u05dc 500X500 \u05e4\u05d9\u05e7\u05e1\u05dc\u05d9\u05dd \u05d5\u05d7\u05dc\u05d5\u05df \u05e9\u05dc 20X20, \u05d1\u05d3\u05d9\u05e7\u05d4 \u05e9\u05dc \u05db\u05de\u05d4 \u05d6\u05de\u05df \u05dc\u05d5\u05e7\u05d7 \u05dc\u05e1\u05e4\u05d5\u05e8 \u05d0\u05ea \u05d4\u05e4\u05d9\u05e7\u05e1\u05dc\u05d9\u05dd \u05d1\u05db\u05dc 250,000 \u05d4\u05d7\u05dc\u05d5\u05e0\u05d5\u05ea \u05d4\u05d0\u05e4\u05e9\u05e8\u05d9\u05d9\u05dd \u05dc\u05e7\u05d7\u05d4 \u05db160 \u05de\u05d9\u05dc\u05d9\u05e9\u05e0\u05d9\u05d5\u05ea, \u05de\u05d4 \u05e9\u05e0\u05d5\u05ea\u05df \u05de\u05d4\u05d9\u05e8\u05d5\u05ea \u05d1\u05d3\u05d9\u05e7\u05d4 \u05e9\u05dc \u05de\u05e2\u05dc 1500 \u05d7\u05dc\u05d5\u05e0\u05d5\u05ea \u05d1\u05de\u05d9\u05dc\u05d9\u05e9\u05e0\u05d9\u05d4 (\u05d0\u05d5 \u05d9\u05d5\u05ea\u05e8 \u05de\u05de\u05dc\u05d9\u05d5\u05df \u05d5\u05d7\u05e6\u05d9 \u05d7\u05dc\u05d5\u05e0\u05d5\u05ea \u05d1\u05e9\u05e0\u05d9\u05d4), \u05d1\u05dc\u05d9 \u05ea\u05dc\u05d5\u05ea \u05d1\u05d2\u05d5\u05d3\u05dc \u05d4\u05ea\u05de\u05d5\u05e0\u05d4 \u05e9\u05e0\u05d1\u05d3\u05e7\u05ea (\u05e2\u05dc \u05ea\u05de\u05d5\u05e0\u05d4 \u05e9\u05dc 1000X1000 \u05d4\u05de\u05d4\u05d9\u05e8\u05d5\u05ea \u05d4\u05d9\u05ea\u05d4 \u05d3\u05d5\u05de\u05d4).\n\n\u05d4\u05d0\u05e4\u05dc\u05d8 \u05d4\u05d1\u05d0\u05d4 \u05de\u05d3\u05d2\u05d9\u05de\u05d4 \u05d0\u05ea \u05d4\u05d0\u05dc\u05d2\u05d5\u05e8\u05d9\u05ea\u05dd. \u05d0\u05e4\u05e9\u05e8 \u05dc\u05d4\u05d5\u05e8\u05d9\u05d3 \u05d0\u05d5\u05ea\u05d4 <a href=\"http:\/\/firefang.net\/files\/fast_window.jar\">\u05de\u05e4\u05d4<\/a>. \u05d4\u05e7\u05d5\u05d3 \u05db\u05dc\u05d5\u05dc \u05d1\u05ea\u05d5\u05da \u05d4JAR (\u05d0\u05e4\u05e9\u05e8 \u05dc\u05e4\u05ea\u05d5\u05d7 \u05d0\u05ea \u05d4JAR \u05e2\u05dd \u05ea\u05d5\u05db\u05e0\u05d4 \u05dc\u05e4\u05ea\u05d9\u05d7\u05ea \u05e7\u05d1\u05e6\u05d9 ZIP).<br \/>\n\u05d1\u05e0\u05d5\u05e1\u05e3, \u05d4\u05d0\u05e4\u05dc\u05d8 \u05d9\u05db\u05d5\u05dc\u05d4 \u05dc\u05e8\u05d5\u05e5 \u05db\u05ea\u05d5\u05db\u05e0\u05d9\u05ea \u05e8\u05d2\u05d9\u05dc\u05d4 : java -jar fast_window.jar<br \/>\n\u05d0\u05e4\u05e9\u05e8 \u05dc\u05dc\u05d7\u05d5\u05e5 \u05d1\u05ea\u05d5\u05da \u05d4\u05d0\u05e4\u05dc\u05d8 \u05db\u05d3\u05d9 \u05dc\u05e1\u05de\u05df \u05d0\u05ea \u05d4\u05e0\u05e7\u05d5\u05d3\u05d5\u05ea \u05d1\u05d7\u05dc\u05d5\u05df.<\/p>\n<p><applet code=\"Test\" width=500 height=500 archive=\"http:\/\/firefang.net\/files\/fast_window.jar\"><br \/>\n\u05d4\u05d3\u05e4\u05d3\u05e4\u05df \u05e9\u05dc\u05da \u05dc\u05d0 \u05ea\u05d5\u05de\u05da \u05d1\u05d2'\u05d0\u05d5\u05d5\u05d4, \u05db\u05db\u05d4 \u05d4\u05d0\u05e4\u05dc\u05d8 \u05e0\u05d9\u05e8\u05d0\u05d9\u05ea (\u05e8\u05e7 \u05e9\u05d4\u05d9\u05d0 \u05d0\u05d9\u05e0\u05d8\u05e8\u05d0\u05e7\u05d8\u05d9\u05d1\u05d9\u05ea) : <BR\/><br \/>\n<a href=\"http:\/\/firefang.net\/blog\/wp-content\/uploads\/2010\/02\/fast_window.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/firefang.net\/blog\/wp-content\/uploads\/2010\/02\/fast_window.png\" alt=\"\" title=\"fast_window\" width=\"297\" height=\"249\" class=\"alignnone size-full wp-image-1571\" \/><\/a><br \/>\n<\/applet><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u05dc\u05e4\u05e0\u05d9 \u05db\u05de\u05d4 \u05e4\u05d5\u05e1\u05d8\u05d9\u05dd \u05e9\u05d0\u05dc\u05ea\u05d9 \u05d0\u05ea \u05d4\u05e9\u05d0\u05dc\u05d4 \u05d4\u05d1\u05d0\u05d4: \u05e0\u05ea\u05d5\u05df \u05de\u05e2\u05e8\u05da \u05d1\u05d2\u05d5\u05d3\u05dc NxN \u05e9\u05dc \u05e4\u05d9\u05e7\u05e1\u05dc\u05d9\u05dd \u05db\u05d0\u05e9\u05e8 \u05db\u05dc \u05d4\u05e4\u05d9\u05e7\u05e1\u05dc\u05d9\u05dd \u05e9\u05d7\u05d5\u05e8\u05d9\u05dd \u05d7\u05d5\u05e5 \u05de\u05d0\u05d7\u05d5\u05d6 \u05de\u05e1\u05d5\u05d9\u05d9\u05dd \u05de\u05d4\u05dd \u05e9\u05d0\u05d9\u05e0\u05d5 \u05e9\u05d7\u05d5\u05e8 \u05d5\u05de\u05e4\u05d5\u05d6\u05e8 \u05d1\u05d0\u05d5\u05e4\u05df \u05d0\u05e7\u05e8\u05d0\u05d9, \u05d1\u05d4\u05d9\u05e0\u05ea\u05df \u05e7\u05d5\u05d0\u05d5\u05e8\u05d3\u05d9\u05e0\u05d8\u05d4 (x,y) \u05de\u05e1\u05d5\u05d9\u05d9\u05de\u05ea \u05d1\u05ea\u05de\u05d5\u05e0\u05d4, \u05de\u05e6\u05d0 \u05d1\u05de\u05d4\u05d9\u05e8\u05d5\u05ea \u05d0\u05ea \u05db\u05dc \u05d4\u05e0\u05e7\u05d5\u05d3\u05d5\u05ea \u05e9\u05e0\u05de\u05e6\u05d0\u05d5\u05ea \u05d1\u05ea\u05d5\u05da \u05d7\u05dc\u05d5\u05df \u05d1\u05d2\u05d5\u05d3\u05dc K \u05e2\u05dc K (\u05db\u05d0\u05e9\u05e8 K \u05e7\u05d1\u05d5\u05e2 \u05d1\u05d1\u05e2\u05d9\u05d4) \u05e9\u05de\u05e8\u05db\u05d6\u05d5 (x,y), \u05de\u05e9\u05d4\u05d5 \u05db\u05d6\u05d4: \u05e4\u05e2\u05d5\u05dc\u05ea \u05d4\u05de\u05e6\u05d9\u05d0\u05d4 \u05e2\u05e6\u05de\u05d4 \u05e6\u05e8\u05d9\u05db\u05d4 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/firefang.net\/blog\/1574\" class=\"more-link\">\u05dc\u05d4\u05de\u05e9\u05d9\u05da \u05dc\u05e7\u05e8\u05d5\u05d0<span class=\"screen-reader-text\"> \u05d7\u05dc\u05d5\u05df \u05de\u05d4\u05d9\u05e8<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19,92,17],"tags":[],"class_list":["post-1574","post","type-post","status-publish","format-standard","hentry","category-java","category-92","category-open-soruce"],"_links":{"self":[{"href":"https:\/\/firefang.net\/blog\/wp-json\/wp\/v2\/posts\/1574","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/firefang.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/firefang.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/firefang.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/firefang.net\/blog\/wp-json\/wp\/v2\/comments?post=1574"}],"version-history":[{"count":6,"href":"https:\/\/firefang.net\/blog\/wp-json\/wp\/v2\/posts\/1574\/revisions"}],"predecessor-version":[{"id":1579,"href":"https:\/\/firefang.net\/blog\/wp-json\/wp\/v2\/posts\/1574\/revisions\/1579"}],"wp:attachment":[{"href":"https:\/\/firefang.net\/blog\/wp-json\/wp\/v2\/media?parent=1574"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/firefang.net\/blog\/wp-json\/wp\/v2\/categories?post=1574"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/firefang.net\/blog\/wp-json\/wp\/v2\/tags?post=1574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}