Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package testing; import ExtractShapeGoogleDescriptor.ExtractShapeGoogleDescriptor; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner; import javax.imageio.ImageIO; import javax.xml.transform.TransformerException; import org.apache.commons.lang3.StringUtils; import org.exist.xquery.modules.mpeg7.validation.Validator; import org.exist.xquery.modules.mpeg7.x3d.colors.ScalableColorImpl; import org.exist.xquery.modules.mpeg7.x3d.textures.EdgeHistogramImplementation; import org.exist.xquery.modules.mpeg7.x3d.filters.ExtrusionToIFSFilter; import org.exist.xquery.modules.mpeg7.x3d.helpers.CommonUtils; import org.exist.xquery.modules.mpeg7.x3d.textures.SURFManager.SURFDescriptor; /** * * @author Patti Spala <pd.spala@gmail.com> */ public class test { public static void main(String[] args) throws IOException, TransformerException { String temp = ".848 .745 .819 .745 .841 .764 .938 .819 .99 .838 .964 .819 .96 .838 .912 .836 .908 .736 .898 .745 .908 .753 .999 .765 .999 .745 .96 .76 .938 .776 .898 .771 .947 .777 .974 .781 .898 .718 .954 .723 .974 .749 .999 .724 .96 .854 .999 .854 .96 .799 .912 .801 .976 .819 .999 .819 .999 .798 .953 .788 .944 .789 .999 .709 .947 .709 .912 .819 .905 .781 .841 .792 .855 .802 .855 .819 .855 .835 .841 .812 .841 .835 .841 .854 .841 .825 .841 .709 .841 .725 .841 .802 .812 .828 .812 .854 .783 .854 .812 .765 .812 .754 .783 .765 .783 .724 .783 .827 .812 .81 .812 .793 .783 .794 .783 .81 .812 .724 .783 .709 .812 .709 .675 .834 .675 .822 .675 .79 .675 .759 .675 .804 .675 .709 .675 .854 .999 .781 .939 .735 .905 .854 .999 .84 .812 .735 .953 .759 .905 .709 .848 .964 .84 .944 .819 .963 .973 .89 .99 .871 .938 .89 .959 .87 .912 .873 .907 .955 .897 .964 .907 .972 .959 .949 .998 .964 .998 .944 .938 .932 .897 .938 .974 .927 .946 .931 .897 .99 .974 .96 .953 .986 .998 .984 .959 .854 .998 .854 .959 .909 .912 .907 .998 .89 .975 .89 .952 .92 .998 .911 .944 .919 .946 1 .998 1 .912 .89 .904 .928 .84 .916 .855 .906 .855 .873 .855 .89 .84 .896 .84 .854 .84 .874 .84 .883 .84 .984 .84 1 .84 .906 .811 .854 .811 .881 .782 .854 .811 .954 .811 .944 .782 .943 .782 .985 .811 .899 .782 .881 .811 .915 .782 .914 .782 .898 .811 .984 .782 1 .811 1 .675 .874 .675 .887 .675 .919 .675 .95 .675 .905 .675 1 .675 .854 .998 .927 .939 .973 .904 .854 .998 .869 .811 .974 .952 .95 .904 1 .061 .4 .04 .391 .029 .349 .029 .336 .016 .297 .085 .303 .085 .354 .079 .331 .139 .112 .123 .112 .145 .072 .119 .047 .063 .055 .052 .051 .055 .048 .048 .048 .107 .079 .084 .047 .082 .033 .102 .034 .156 .075 .145 .072 .148 .114 .164 .114 .156 .114 .114 .112 .091 .272 .015 .265 .019 .213 .056 .177 .019 .177 .094 .213 .094 .177 .103 .053 .057 .135 .062 .033 .082 .053 .083 .225 .03 .222 .058 .215 .024 .234 .055 .036 .144 .047 .14 .034 .122 .034 .156 .046 .156 .034 .145 .046 .167 .046 .167 .034 .02 .135 .055 .093 .04 .091 .088 .239 .048 .04 .083 .396 .145 .034 .167 .072 .056 .213 .095 .135 .067 .092 .051 .049 .656 .914 .628 .902 .656 .921 .656 .942 .624 .941 .632 .946 .656 .937 .618 .934 .605 .914 .608 .923 .592 .923 .589 .94 .656 .946 .616 .908 .582 .91 .575 .9 .553 .896 .55 .906 .522 .916 .53 .912 .522 .91 .55 .913 .53 .905 .582 .916 .49 .981 .484 .972 .479 .981 .507 .99 .504 .972 .504 .99 .516 .972 .509 .972 .553 .857 .54 .845 .538 .858 .603 .859 .603 .841 .594 .859 .619 .896 .581 .719 .566 .729 .566 .718 .555 .917 .535 .719 .563 .922 .575 .918 .595 .946 .626 .756 .619 .722 .652 .756 .543 .943 .548 .946 .522 .946 .589 .896 .585 .902 .613 .722 .581 .731 .522 .896 .568 .907 .591 .859 .597 .839 .586 .841 .56 .847 .558 .831 .551 .838 .652 .711 .627 .717 .627 .711 .652 .732 .668 .732 .668 .744 .579 .927 .534 .734 .519 .729 .529 .729 .537 .917 .533 .922 .522 .927 .522 .933 .528 .931 .536 .928 .522 .917 .526 .922 .538 .937 .532 .939 .57 .935 .568 .914 .588 .756 .545 .756 .553 .845 .546 .837 .572 .841 .528 .842 .528 .847 .528 .858 .484 .99 .535 .726 .529 .721 .512 .756 .512 .729 .519 .756 .516 .99 .56 .858 .672 .937 .672 .946 .672 .92 .672 .929 .672 .91 .656 .91 .668 .756 .254 .155 .284 .172 .28 .155 .175 .273 .215 .306 .224 .298 .175 .264 .401 .292 .475 .301 .475 .292 .408 .306 .402 .317 .223 .317 .403 .278 .475 .275 .383 .278 .352 .281 .359 .298 .315 .292 .223 .288 .175 .247 .222 .172 .245 .168 .402 .24 .373 .24 .475 .244 .269 .292 .276 .244 .31 .244 .241 .29 .251 .244 .346 .24 .225 .244 .18 .217 .368 .182 .401 .182 .471 .188 .302 .185 .277 .189 .254 .189 .229 .189 .189 .185 .341 .182 .401 .155 .368 .155 .471 .174 .227 .155 .189 .155 .263 .168 .194 .171 .341 .155 .305 .172 .31 .155 .195 .101 .214 .012 .235 .046 .234 .003 .259 .1 .262 .032 .283 .1 .289 .016 .282 .046 .344 .1 .37 .033 .369 .008 .349 .015 .314 .1 .394 .005 .393 .1 .366 .1 .319 .036 .318 .011 .443 .036 .432 .02 .396 .033 .46 .156 .446 .097 .242 -.001 .217 -.029 .272 .003 .293 .002 .265 .012 .375 .002 .357 .002 .327 .001 .39 .001 .43 .003 .229 .1 .348 .033 .212 .046 .29 .173 .255 .154 .285 .154 .475 .301 .43 .301 .432 .286 .475 .282 .372 .29 .425 .286 .379 .308 .327 .301 .218 .297 .175 .291 .172 .274 .219 .308 .217 .173 .243 .169 .413 .245 .43 .246 .475 .25 .273 .301 .28 .25 .321 .25 .24 .299 .251 .25 .364 .246 .175 .246 .22 .25 .407 .183 .429 .184 .475 .187 .282 .191 .312 .187 .254 .191 .225 .191 .186 .187 .358 .184 .39 .154 .429 .154 .475 .173 .186 .154 .222 .154 .266 .169 .194 .172 .358 .154 .315 .173 .321 .154 .195 .096 .218 -.003 .231 .007 .232 .038 .261 .096 .266 .035 .289 .096 .288 .003 .295 .023 .362 .096 .366 .011 .39 -0 .392 .033 .327 .096 .425 .001 .389 .096 .42 .096 .33 .015 .331 .037 .435 .043 .422 .033 .435 .032 .445 .096 .461 .154 .207 .001 .25 .002 .3 .001 .275 .002 .265 .004 .398 0 .377 .001 .331 .016 .341 .001 .42 .001 .443 .005 .225 .096 .366 .033 .209 .04 .361 .745 .418 .745 .419 .724 .268 .488 .3 .486 .299 .464 .462 .751 .461 .719 .361 .485 .361 .587 .335 .596 .361 .596 .361 .724 .361 .464 .27 .466 .361 .793 .39 .832 .386 .789 .361 .776 .388 .78 .416 .762 .302 .566 .292 .55 .292 .572 .361 .536 .361 .506 .303 .536 .361 .493 .299 .493 .451 .881 .428 .851 .423 .868 .459 .855 .449 .843 .297 .506 .429 .99 .402 .932 .405 .957 .361 .609 .34 .609 .393 .957 .39 .939 .361 .566 .308 .585 .361 .834 .401 .847 .402 .839 .277 .603 .233 .61 .293 .618 .288 .558 .471 .825 .467 .763 .418 .776 .458 .932 .416 .847 .411 .841 .347 .62 .361 .616 .425 .901 .361 .626 .303 .63 .338 .633 .434 .99 .297 .63 .367 .894 .388 .921 .443 .893 .265 .543 .352 .629 .347 .633 .398 .87 .361 .936 .361 .87 .365 .872 .46 .698 .423 .677 .361 .686 .361 .42 .308 .427 .274 .441 .292 .432 .273 .407 .303 .724 .306 .748 .456 .488 .422 .464 .422 .486 .264 .75 .263 .723 .422 .587 .387 .596 .454 .468 .266 .693 .296 .678 .267 .654 .305 .837 .332 .832 .337 .789 .421 .509 .452 .494 .422 .493 .431 .577 .436 .566 .422 .536 .272 .881 .272 .832 .263 .856 .305 .776 .246 .829 .297 .99 .318 .958 .324 .932 .332 .939 .295 .851 .299 .868 .306 .847 .428 .618 .492 .603 .453 .601 .432 .564 .241 .842 .293 .99 .268 .932 .356 .843 .381 .609 .297 .901 .28 .894 .374 .62 .383 .633 .418 .63 .263 .958 .337 .921 .424 .63 .355 .894 .438 .572 .456 .572 .444 .564 .369 .629 .374 .633 .329 .958 .324 .87 .359 .661 .414 .427 .43 .432 .454 .643 .355 .4 .302 .403 .456 .44 .453 .404 .419 .403 .366 .4 .434 .635 .4 .634 .363 .661 .289 .634 .322 .634 .353 .634 .368 .634 .263 .557 .469 .845 .306 .761 .259 .772 .417 .768 .273 .496 .462 .957 .417 .837 .361 .892 .357 .872 .366 .843 .322 .847 .311 .842 .321 .839 .305 .768 .334 .781"; String delimiter = " "; // getLength(temp, delimiter); //testValidator(); //testColorExtraction(); //testColorDescriptor(); //testIndexer(new String[]{"."}); //testExtrusion(); //testURIResolver(); //testIFSExtraction(); //testSURF(); testShapeGoogle(); } private static void testValidator() { File mp7File = new File("mpeg7.xml"); Validator mpeg7Validator = new Validator(mp7File); Boolean isValid = mpeg7Validator.isValid(); } private static void testColorExtraction() throws IOException { BufferedImage img = ImageIO.read(new File("MarineDesertCamo.jpg")); int imgWidth = img.getWidth(); int imgHeight = img.getHeight(); //System.out.println(img.getRGB(1024, 0)); //System.out.println(Arrays.toString(getPixelData(img, 974, 197))); String inputX3DCoordinates = ".848 .745 .819 .745 .841 .764 .938 .819 .99 .838 .964 .819 .96 .838 .912 .836 .908 .736 .898 .745 .908 .753 .999 .765 .999 .745 .96 .76 .938 .776 .898 .771 .947 .777 .974 .781 .898 .718 .954 .723 .974 .749 .999 .724 .96 .854 .999 .854 .96 .799 .912 .801 .976 .819 .999 .819 .999 .798 .953 .788 .944 .789 .999 .709 .947 .709 .912 .819 .905 .781 .841 .792 .855 .802 .855 .819 .855 .835 .841 .812 .841 .835 .841 .854 .841 .825 .841 .709 .841 .725 .841 .802 .812 .828 .812 .854 .783 .854 .812 .765 .812 .754 .783 .765 .783 .724 .783 .827 .812 .81 .812 .793 .783 .794 .783 .81 .812 .724 .783 .709 .812 .709 .675 .834 .675 .822 .675 .79 .675 .759 .675 .804 .675 .709 .675 .854 .999 .781 .939 .735 .905 .854 .999 .84 .812 .735 .953 .759 .905 .709 .848 .964 .84 .944 .819 .963 .973 .89 .99 .871 .938 .89 .959 .87 .912 .873 .907 .955 .897 .964 .907 .972 .959 .949 .998 .964 .998 .944 .938 .932 .897 .938 .974 .927 .946 .931 .897 .99 .974 .96 .953 .986 .998 .984 .959 .854 .998 .854 .959 .909 .912 .907 .998 .89 .975 .89 .952 .92 .998 .911 .944 .919 .946 1 .998 1 .912 .89 .904 .928 .84 .916 .855 .906 .855 .873 .855 .89 .84 .896 .84 .854 .84 .874 .84 .883 .84 .984 .84 1 .84 .906 .811 .854 .811 .881 .782 .854 .811 .954 .811 .944 .782 .943 .782 .985 .811 .899 .782 .881 .811 .915 .782 .914 .782 .898 .811 .984 .782 1 .811 1 .675 .874 .675 .887 .675 .919 .675 .95 .675 .905 .675 1 .675 .854 .998 .927 .939 .973 .904 .854 .998 .869 .811 .974 .952 .95 .904 1 .061 .4 .04 .391 .029 .349 .029 .336 .016 .297 .085 .303 .085 .354 .079 .331 .139 .112 .123 .112 .145 .072 .119 .047 .063 .055 .052 .051 .055 .048 .048 .048 .107 .079 .084 .047 .082 .033 .102 .034 .156 .075 .145 .072 .148 .114 .164 .114 .156 .114 .114 .112 .091 .272 .015 .265 .019 .213 .056 .177 .019 .177 .094 .213 .094 .177 .103 .053 .057 .135 .062 .033 .082 .053 .083 .225 .03 .222 .058 .215 .024 .234 .055 .036 .144 .047 .14 .034 .122 .034 .156 .046 .156 .034 .145 .046 .167 .046 .167 .034 .02 .135 .055 .093 .04 .091 .088 .239 .048 .04 .083 .396 .145 .034 .167 .072 .056 .213 .095 .135 .067 .092 .051 .049 .656 .914 .628 .902 .656 .921 .656 .942 .624 .941 .632 .946 .656 .937 .618 .934 .605 .914 .608 .923 .592 .923 .589 .94 .656 .946 .616 .908 .582 .91 .575 .9 .553 .896 .55 .906 .522 .916 .53 .912 .522 .91 .55 .913 .53 .905 .582 .916 .49 .981 .484 .972 .479 .981 .507 .99 .504 .972 .504 .99 .516 .972 .509 .972 .553 .857 .54 .845 .538 .858 .603 .859 .603 .841 .594 .859 .619 .896 .581 .719 .566 .729 .566 .718 .555 .917 .535 .719 .563 .922 .575 .918 .595 .946 .626 .756 .619 .722 .652 .756 .543 .943 .548 .946 .522 .946 .589 .896 .585 .902 .613 .722 .581 .731 .522 .896 .568 .907 .591 .859 .597 .839 .586 .841 .56 .847 .558 .831 .551 .838 .652 .711 .627 .717 .627 .711 .652 .732 .668 .732 .668 .744 .579 .927 .534 .734 .519 .729 .529 .729 .537 .917 .533 .922 .522 .927 .522 .933 .528 .931 .536 .928 .522 .917 .526 .922 .538 .937 .532 .939 .57 .935 .568 .914 .588 .756 .545 .756 .553 .845 .546 .837 .572 .841 .528 .842 .528 .847 .528 .858 .484 .99 .535 .726 .529 .721 .512 .756 .512 .729 .519 .756 .516 .99 .56 .858 .672 .937 .672 .946 .672 .92 .672 .929 .672 .91 .656 .91 .668 .756 .254 .155 .284 .172 .28 .155 .175 .273 .215 .306 .224 .298 .175 .264 .401 .292 .475 .301 .475 .292 .408 .306 .402 .317 .223 .317 .403 .278 .475 .275 .383 .278 .352 .281 .359 .298 .315 .292 .223 .288 .175 .247 .222 .172 .245 .168 .402 .24 .373 .24 .475 .244 .269 .292 .276 .244 .31 .244 .241 .29 .251 .244 .346 .24 .225 .244 .18 .217 .368 .182 .401 .182 .471 .188 .302 .185 .277 .189 .254 .189 .229 .189 .189 .185 .341 .182 .401 .155 .368 .155 .471 .174 .227 .155 .189 .155 .263 .168 .194 .171 .341 .155 .305 .172 .31 .155 .195 .101 .214 .012 .235 .046 .234 .003 .259 .1 .262 .032 .283 .1 .289 .016 .282 .046 .344 .1 .37 .033 .369 .008 .349 .015 .314 .1 .394 .005 .393 .1 .366 .1 .319 .036 .318 .011 .443 .036 .432 .02 .396 .033 .46 .156 .446 .097 .242 -.001 .217 -.029 .272 .003 .293 .002 .265 .012 .375 .002 .357 .002 .327 .001 .39 .001 .43 .003 .229 .1 .348 .033 .212 .046 .29 .173 .255 .154 .285 .154 .475 .301 .43 .301 .432 .286 .475 .282 .372 .29 .425 .286 .379 .308 .327 .301 .218 .297 .175 .291 .172 .274 .219 .308 .217 .173 .243 .169 .413 .245 .43 .246 .475 .25 .273 .301 .28 .25 .321 .25 .24 .299 .251 .25 .364 .246 .175 .246 .22 .25 .407 .183 .429 .184 .475 .187 .282 .191 .312 .187 .254 .191 .225 .191 .186 .187 .358 .184 .39 .154 .429 .154 .475 .173 .186 .154 .222 .154 .266 .169 .194 .172 .358 .154 .315 .173 .321 .154 .195 .096 .218 -.003 .231 .007 .232 .038 .261 .096 .266 .035 .289 .096 .288 .003 .295 .023 .362 .096 .366 .011 .39 -0 .392 .033 .327 .096 .425 .001 .389 .096 .42 .096 .33 .015 .331 .037 .435 .043 .422 .033 .435 .032 .445 .096 .461 .154 .207 .001 .25 .002 .3 .001 .275 .002 .265 .004 .398 0 .377 .001 .331 .016 .341 .001 .42 .001 .443 .005 .225 .096 .366 .033 .209 .04 .361 .745 .418 .745 .419 .724 .268 .488 .3 .486 .299 .464 .462 .751 .461 .719 .361 .485 .361 .587 .335 .596 .361 .596 .361 .724 .361 .464 .27 .466 .361 .793 .39 .832 .386 .789 .361 .776 .388 .78 .416 .762 .302 .566 .292 .55 .292 .572 .361 .536 .361 .506 .303 .536 .361 .493 .299 .493 .451 .881 .428 .851 .423 .868 .459 .855 .449 .843 .297 .506 .429 .99 .402 .932 .405 .957 .361 .609 .34 .609 .393 .957 .39 .939 .361 .566 .308 .585 .361 .834 .401 .847 .402 .839 .277 .603 .233 .61 .293 .618 .288 .558 .471 .825 .467 .763 .418 .776 .458 .932 .416 .847 .411 .841 .347 .62 .361 .616 .425 .901 .361 .626 .303 .63 .338 .633 .434 .99 .297 .63 .367 .894 .388 .921 .443 .893 .265 .543 .352 .629 .347 .633 .398 .87 .361 .936 .361 .87 .365 .872 .46 .698 .423 .677 .361 .686 .361 .42 .308 .427 .274 .441 .292 .432 .273 .407 .303 .724 .306 .748 .456 .488 .422 .464 .422 .486 .264 .75 .263 .723 .422 .587 .387 .596 .454 .468 .266 .693 .296 .678 .267 .654 .305 .837 .332 .832 .337 .789 .421 .509 .452 .494 .422 .493 .431 .577 .436 .566 .422 .536 .272 .881 .272 .832 .263 .856 .305 .776 .246 .829 .297 .99 .318 .958 .324 .932 .332 .939 .295 .851 .299 .868 .306 .847 .428 .618 .492 .603 .453 .601 .432 .564 .241 .842 .293 .99 .268 .932 .356 .843 .381 .609 .297 .901 .28 .894 .374 .62 .383 .633 .418 .63 .263 .958 .337 .921 .424 .63 .355 .894 .438 .572 .456 .572 .444 .564 .369 .629 .374 .633 .329 .958 .324 .87 .359 .661 .414 .427 .43 .432 .454 .643 .355 .4 .302 .403 .456 .44 .453 .404 .419 .403 .366 .4 .434 .635 .4 .634 .363 .661 .289 .634 .322 .634 .353 .634 .368 .634 .263 .557 .469 .845 .306 .761 .259 .772 .417 .768 .273 .496 .462 .957 .417 .837 .361 .892 .357 .872 .366 .843 .322 .847 .311 .842 .321 .839 .305 .768 .334 .781"; String[] splitInputX3DCoordinates = inputX3DCoordinates.split(" "); List<STCoords> stValues = new ArrayList<STCoords>(); List<XYCoords> invXYValues = new ArrayList<XYCoords>(); List<XYCoords> xyCoords = new ArrayList<XYCoords>(); List<int[]> pixels = new ArrayList<int[]>(); for (int i = 0; i < splitInputX3DCoordinates.length / 2; i++) { Float s = Math.abs(Float.valueOf(splitInputX3DCoordinates[2 * i])); Float t = Math.abs(Float.valueOf(splitInputX3DCoordinates[2 * i + 1])); int x = Math.round(s * imgWidth); int _y = Math.round(t * imgHeight); int y = imgHeight - _y; //edge correction for neighbourhood detection if (x >= imgWidth) { x = imgWidth - 1; } if (y >= imgHeight) { y = imgHeight - 1; } STCoords coord = new STCoords(s, t); stValues.add(coord); XYCoords _xycoord = new XYCoords(x, _y); invXYValues.add(_xycoord); XYCoords xycoord = new XYCoords(x, y); xyCoords.add(xycoord); } for (int i = 0; i < xyCoords.size(); i++) { //logger.info(i + "--> x: " + (xyCoords.get(i)).x() + " y: " + (xyCoords.get(i)).y()); pixels.add(getPixelData(img, (xyCoords.get(i)).x(), (xyCoords.get(i)).y())); } System.out.println(xyCoords.size()); int[] p = CommonUtils.toIntArray(pixels); } private static int[] getPixelData(BufferedImage img, int x, int y) { int argb = img.getRGB(x, y); int rgb[] = new int[] { (argb >> 16) & 0xff, //red (argb >> 8) & 0xff, //green (argb) & 0xff //blue }; //System.out.println("rgb: " + rgb[0] + " " + rgb[1] + " " + rgb[2]); return rgb; } private static void testColorDescriptor() throws FileNotFoundException, IOException { String imageFilePath = "image2.jpg"; BufferedImage img = ImageIO.read(new FileInputStream(imageFilePath)); //EHD EdgeHistogramImplementation ehdi = new EdgeHistogramImplementation(img); String ehdiOut = ehdi.getStringRepresentation(); System.out.println("EHD: " + ehdiOut); String[] ehdiBitsCount = ehdiOut.split(" "); System.out.println("numOfBits: " + ehdiBitsCount.length); //SCD // int[] pixels = {2, 4, 3}; // ScalableColorImpl scdi = new ScalableColorImpl(pixels); // scdi.extract(img); ScalableColorImpl scdi = new ScalableColorImpl(img); String scdiOut = scdi.getStringRepresentation(); System.out.println("SCD: " + scdiOut); String[] output = scdiOut.split(";")[3].split(" "); for (int i = 0; i < output.length; i++) { System.out.println(output[i]); } System.out.println(scdiOut.substring(scdiOut.indexOf(";") + 1, scdiOut.length())); String[] scdiOutBits = scdiOut.split(" "); System.out.println("numOfBits: " + scdiOutBits.length); } private static List getPointParts(String points, int indexSize) { List pointParts = new ArrayList(); String test[] = points.split(" "); System.out.println(test.length); Scanner scannedPoints = new Scanner(points).useDelimiter(" "); int totalPointIndex = 3 * (indexSize + 1); System.out.println("totalPointIndex: 3 * (" + indexSize + " + 1) = " + totalPointIndex); int index = 0; double[] floats = new double[totalPointIndex]; while ((scannedPoints.hasNextDouble()) && (index < floats.length)) { double fl = scannedPoints.nextDouble(); floats[index] = fl; index++; } for (int i = 0; i < floats.length; i += 3) { String nextPart = Double.toString(floats[i]) + " " + Double.toString(floats[i + 1]) + " " + Double.toString(floats[i + 2]); pointParts.add(nextPart); } return pointParts; } private static String resolveExistUri(String basePath, String filePath) { int countSteps = StringUtils.countMatches(filePath, "../"); String basePathParts[] = basePath.split("/"); List<String> basePathPartsList = new ArrayList<String>(Arrays.asList(basePathParts)); basePathPartsList.removeAll(Arrays.asList("", null)); String newBasePath = ""; int remainingParts = basePathPartsList.size() - 1 - countSteps; for (int i = 0; i <= remainingParts; i++) { newBasePath = newBasePath.concat("/").concat(basePathPartsList.get(i)); } return newBasePath.concat(filePath.substring(filePath.lastIndexOf("../") + 2)); } private static void testExtrusion() { String command[] = new String[1]; command[0] = "Extrusion5.txt"; try { ArrayList<String> resultedExtrExtractionList = new ArrayList<String>(); ArrayList<String> resultedExtrBBoxList = new ArrayList<String>(); StringBuilder ExtrShapeStringBuilder = new StringBuilder(); StringBuilder ExtrBBoxStringBuilder = new StringBuilder(); String resultedExtraction = new ExtrusionToIFSFilter(command).filterGeometry(); String ExtrBBox = resultedExtraction.substring(0, resultedExtraction.indexOf("&")); String ExtrShape = resultedExtraction.substring(resultedExtraction.indexOf("&") + 1); resultedExtrBBoxList.add(ExtrBBox); resultedExtrExtractionList.add(ExtrShape); for (int i = 0; i < resultedExtrExtractionList.size(); i++) { ExtrShapeStringBuilder.append(resultedExtrExtractionList.get(i)); ExtrShapeStringBuilder.append("#"); ExtrBBoxStringBuilder.append(resultedExtrBBoxList.get(i)); ExtrBBoxStringBuilder.append("#"); } // System.out.println("ExtrShape:" + ExtrShape); // // System.out.println("ExtrShapeStringBuilder: " + ExtrShapeStringBuilder.toString()); // System.out.println("ExtrBBox: " + ExtrBBox); // System.out.println("ExtrBBoxStringBuilder:" + ExtrBBoxStringBuilder.toString()); } catch (Exception e) { e.printStackTrace(); } } private static void testURIResolver() { String pt = "../HelloWorld.x3d"; String bp = "/db/3dData/x3d/X3DForWebAuthors/Chapter13-Grouping"; System.out.println(resolveExistUri(bp, pt)); } private static void testIFSExtraction() { String[] coordIndexArray = null; String coordIndex = "0 1 2 3 -1"; String points = "-1 -1 1 1 -1 1 1 1 1 -1 1 1 1 1 -1 -1 1 -1 -1 -1 -1 1 -1 -1"; List totalPointParts = null; coordIndex = coordIndex.replaceAll("\\r|\\n", " ").trim().replaceAll(" +", " ").replaceAll(",", ""); System.out.println(coordIndex); points = points.replaceAll("\\r|\\n", " ").trim().replaceAll(" +", " ").replaceAll(",", ""); System.out.println(points); Scanner sc = new Scanner(coordIndex).useDelimiter(" "); int maxCoordIndex = 0; while (sc.hasNextInt()) { int thisVal = sc.nextInt(); if (thisVal > maxCoordIndex) { maxCoordIndex = thisVal; } } System.out.println("maxCoordIndex: " + maxCoordIndex); totalPointParts = new ArrayList(); totalPointParts = getPointParts(points, maxCoordIndex); if (coordIndex.contains("-1")) { coordIndex = coordIndex.substring(0, coordIndex.lastIndexOf("-1")); coordIndexArray = coordIndex.split(" -1 "); } else { coordIndexArray = new String[1]; coordIndexArray[0] = coordIndex; } System.out.println("coordIndexArray"); System.out.println("coordIndexArray.length: " + coordIndexArray.length); for (int i = 0; i < coordIndexArray.length; i++) { System.out.println(i + ": " + coordIndexArray[i]); } System.out.println("totalPointsParts"); for (int j = 0; j < totalPointParts.size(); j++) { System.out.println(j + ": " + totalPointParts.get(j)); } } private static void getLength(String temp, String delim) { //System.out.println(temp.split(delim).length); String[] tempSplit = temp.split(delim); for (int i = 0; i < tempSplit.length; i++) { System.out.println(i + ": " + tempSplit[i]); } } private static void testSURF() throws IOException { BufferedImage bimg = ImageIO.read(new File("MarineDesertCamo.jpg")); SURFDescriptor surf = new SURFDescriptor(bimg, 64); String histogram = surf.getStringRepresentation(); System.out.println("histogram:" + histogram); System.out.println("length:" + surf.clusterSize()); } private static void testShapeGoogle() { String indexes = "0 1 2 -1 3 4 5 -1 6 3 7 -1 8 9 10 -1 11 12 13 -1 14 10 15 -1 11 16 17 -1 18 9 8 -1 19 20 21 -1 22 6 7 -1 22 23 6 -1 3 24 25 -1 24 26 27 -1 28 17 29 -1 25 24 30 -1 19 23 22 -1 19 21 23 -1 3 31 7 -1 3 25 31 -1 14 32 25 -1 25 33 34 -1 7 35 36 -1 7 31 35 -1 15 0 2 -1 9 0 15 -1 31 25 35 -1 35 34 37 -1 36 38 39 -1 36 35 40 -1 39 41 18 -1 7 36 39 -1 25 32 33 -1 15 2 33 -1 35 25 34 -1 34 33 42 -1 18 0 9 -1 18 41 0 -1 40 35 37 -1 40 43 44 -1 43 45 44 -1 46 47 48 -1 49 48 47 -1 43 40 37 -1 50 43 51 -1 2 46 52 -1 46 48 53 -1 51 42 33 -1 54 52 53 -1 39 55 41 -1 45 49 44 -1 50 56 45 -1 50 57 56 -1 53 48 58 -1 48 59 58 -1 60 54 53 -1 60 53 58 -1 57 50 54 -1 57 54 60 -1 49 59 48 -1 61 59 49 -1 45 61 49 -1 56 61 45 -1 11 13 16 -1 17 28 62 -1 28 29 24 -1 28 24 27 -1 11 17 62 -1 10 9 15 -1 19 63 20 -1 12 20 13 -1 21 20 12 -1 19 8 63 -1 7 39 64 -1 22 7 64 -1 26 4 65 -1 6 23 4 -1 3 5 24 -1 27 26 65 -1 54 51 52 -1 2 52 33 -1 51 33 52 -1 50 51 54 -1 43 37 51 -1 43 50 45 -1 52 46 53 -1 2 1 46 -1 44 55 39 -1 55 66 1 -1 44 49 55 -1 39 38 44 -1 41 55 1 -1 41 1 0 -1 66 47 1 -1 1 47 46 -1 49 47 66 -1 49 66 55 -1 30 14 25 -1 17 16 29 -1 19 18 8 -1 20 63 67 -1 20 67 13 -1 13 67 14 -1 67 63 10 -1 67 10 14 -1 19 22 18 -1 8 10 63 -1 37 34 42 -1 37 42 51 -1 38 40 44 -1 36 40 38 -1 32 15 33 -1 14 15 32 -1 22 64 18 -1 39 18 64 -1 4 23 65 -1 6 4 3 -1 24 5 26 -1 26 5 4 -1 29 14 30 -1 24 29 30 -1 29 16 14 -1 13 14 16 -1 68 69 70 -1 71 72 73 -1 74 75 73 -1 76 77 78 -1 79 80 81 -1 82 83 76 -1 81 84 85 -1 77 86 78 -1 87 88 89 -1 90 75 74 -1 90 74 91 -1 92 73 93 -1 92 94 95 -1 96 84 97 -1 98 92 93 -1 88 90 91 -1 88 91 89 -1 73 75 99 -1 93 73 99 -1 82 93 100 -1 101 93 102 -1 75 103 104 -1 75 104 99 -1 83 69 68 -1 77 83 68 -1 93 99 104 -1 102 104 105 -1 103 106 107 -1 103 108 104 -1 109 106 86 -1 75 106 103 -1 100 93 101 -1 83 101 69 -1 102 93 104 -1 101 102 110 -1 68 86 77 -1 68 109 86 -1 105 104 108 -1 108 111 112 -1 112 111 113 -1 114 115 116 -1 116 117 114 -1 105 108 112 -1 118 112 119 -1 69 120 115 -1 115 121 116 -1 101 110 118 -1 121 120 122 -1 123 106 109 -1 117 113 111 -1 119 113 124 -1 119 124 125 -1 116 121 126 -1 116 126 127 -1 121 122 128 -1 121 128 126 -1 122 119 125 -1 122 125 128 -1 116 127 117 -1 127 129 117 -1 117 129 113 -1 129 124 113 -1 81 85 79 -1 130 97 84 -1 96 97 92 -1 92 97 94 -1 81 130 84 -1 76 83 77 -1 131 88 87 -1 80 79 87 -1 87 89 80 -1 131 78 88 -1 75 132 106 -1 90 132 75 -1 95 133 72 -1 72 91 74 -1 92 71 73 -1 95 94 133 -1 120 118 122 -1 69 101 120 -1 120 101 118 -1 118 119 122 -1 118 105 112 -1 112 113 119 -1 115 120 121 -1 69 115 70 -1 123 111 106 -1 70 134 123 -1 117 111 123 -1 106 111 107 -1 70 123 109 -1 70 109 68 -1 114 134 70 -1 70 115 114 -1 114 117 134 -1 134 117 123 -1 98 93 82 -1 84 96 85 -1 78 86 88 -1 135 131 87 -1 135 87 79 -1 79 82 135 -1 135 76 131 -1 135 82 76 -1 88 86 90 -1 76 78 131 -1 110 102 105 -1 110 105 118 -1 107 111 108 -1 103 107 108 -1 100 101 83 -1 82 100 83 -1 86 132 90 -1 86 106 132 -1 72 133 91 -1 72 74 73 -1 92 95 71 -1 72 71 95 -1 96 98 82 -1 96 92 98 -1 96 82 85 -1 79 85 82 -1 136 137 138 -1 139 140 141 -1 136 138 142 -1 143 139 141 -1 144 145 146 -1 145 139 146 -1 147 148 149 -1 148 150 151 -1 145 152 139 -1 153 154 140 -1 155 156 157 -1 144 155 158 -1 159 156 143 -1 157 156 159 -1 159 143 160 -1 159 160 161 -1 141 140 162 -1 140 154 162 -1 163 164 152 -1 161 160 164 -1 165 153 140 -1 145 163 152 -1 160 166 167 -1 166 141 167 -1 160 168 164 -1 149 169 153 -1 153 170 147 -1 171 172 173 -1 169 172 171 -1 150 174 171 -1 160 167 175 -1 176 139 137 -1 139 138 137 -1 138 139 143 -1 142 138 143 -1 177 136 178 -1 176 137 136 -1 143 179 142 -1 178 179 143 -1 170 148 147 -1 148 151 149 -1 174 169 171 -1 173 150 171 -1 180 167 150 -1 180 150 148 -1 150 167 174 -1 167 141 162 -1 147 149 153 -1 149 173 172 -1 152 153 165 -1 149 172 169 -1 149 151 173 -1 151 150 173 -1 176 177 155 -1 176 136 177 -1 136 142 179 -1 155 177 178 -1 136 179 178 -1 156 178 143 -1 155 178 156 -1 146 155 144 -1 146 139 176 -1 146 176 155 -1 155 157 158 -1 163 181 164 -1 152 164 168 -1 161 164 181 -1 160 175 168 -1 167 162 174 -1 162 154 174 -1 154 169 174 -1 153 169 154 -1 166 143 141 -1 160 143 166 -1 152 165 139 -1 165 140 139 -1 175 180 148 -1 167 180 175 -1 152 168 170 -1 175 148 168 -1 170 168 148 -1 152 170 153 -1 182 183 184 -1 185 186 187 -1 182 188 183 -1 189 186 185 -1 190 191 192 -1 190 192 185 -1 193 194 195 -1 195 196 197 -1 190 185 198 -1 199 187 200 -1 201 202 203 -1 204 202 191 -1 205 189 201 -1 203 205 201 -1 205 206 189 -1 205 207 206 -1 186 208 187 -1 187 208 200 -1 209 198 210 -1 207 210 206 -1 211 187 199 -1 190 198 209 -1 206 212 213 -1 213 212 186 -1 206 210 214 -1 194 199 215 -1 199 193 216 -1 217 218 219 -1 215 217 219 -1 197 217 220 -1 206 221 212 -1 222 184 185 -1 185 184 183 -1 183 189 185 -1 188 189 183 -1 223 182 224 -1 182 184 222 -1 189 188 225 -1 223 189 225 -1 216 193 195 -1 195 194 196 -1 220 217 215 -1 197 218 217 -1 226 197 212 -1 226 195 197 -1 197 220 212 -1 212 208 186 -1 193 199 194 -1 218 194 219 -1 198 211 199 -1 194 215 219 -1 218 196 194 -1 197 196 218 -1 224 222 202 -1 182 222 224 -1 182 225 188 -1 223 224 202 -1 225 182 223 -1 201 189 223 -1 223 202 201 -1 202 192 191 -1 192 222 185 -1 202 222 192 -1 203 202 204 -1 209 210 227 -1 198 214 210 -1 207 227 210 -1 206 214 221 -1 212 220 208 -1 208 220 200 -1 200 220 215 -1 199 200 215 -1 213 186 189 -1 206 213 189 -1 198 185 211 -1 211 185 187 -1 221 195 226 -1 212 221 226 -1 198 216 214 -1 221 214 195 -1 216 195 214 -1 198 199 216 -1 228 229 230 -1 231 232 233 -1 234 235 232 -1 230 236 237 -1 230 237 234 -1 235 238 239 -1 231 233 240 -1 230 229 241 -1 236 241 242 -1 243 244 245 -1 246 247 248 -1 247 249 250 -1 236 242 251 -1 252 253 254 -1 255 256 257 -1 255 258 259 -1 260 261 262 -1 258 229 259 -1 241 229 258 -1 263 264 244 -1 247 264 249 -1 265 244 264 -1 266 238 267 -1 232 268 233 -1 233 269 240 -1 268 270 271 -1 271 270 272 -1 258 263 273 -1 258 233 274 -1 263 243 273 -1 258 274 263 -1 244 265 250 -1 242 243 275 -1 256 260 262 -1 276 269 255 -1 233 258 269 -1 228 276 229 -1 277 240 269 -1 125 124 277 -1 239 238 278 -1 236 251 238 -1 279 280 281 -1 281 282 264 -1 283 284 285 -1 278 238 266 -1 286 278 266 -1 286 266 282 -1 282 266 264 -1 274 281 264 -1 280 287 281 -1 287 282 281 -1 287 286 282 -1 286 287 283 -1 280 283 287 -1 288 278 286 -1 288 286 285 -1 270 288 289 -1 270 289 272 -1 288 290 278 -1 270 290 288 -1 239 270 268 -1 284 289 288 -1 264 267 249 -1 248 247 250 -1 242 275 291 -1 250 249 245 -1 237 236 238 -1 251 242 291 -1 238 251 267 -1 251 291 267 -1 233 268 274 -1 271 274 268 -1 270 239 290 -1 271 279 274 -1 279 281 274 -1 277 269 276 -1 292 257 261 -1 292 261 260 -1 256 262 253 -1 261 293 254 -1 262 254 253 -1 257 252 293 -1 261 257 293 -1 265 248 250 -1 246 248 265 -1 284 283 280 -1 283 285 286 -1 288 285 284 -1 280 279 271 -1 272 280 271 -1 272 289 284 -1 272 284 280 -1 244 250 245 -1 263 244 243 -1 245 291 275 -1 275 243 245 -1 264 247 246 -1 246 265 264 -1 249 267 291 -1 249 291 245 -1 241 258 273 -1 242 273 243 -1 274 264 263 -1 266 267 264 -1 261 254 262 -1 252 254 293 -1 277 276 228 -1 234 232 231 -1 229 260 259 -1 259 256 255 -1 255 257 292 -1 269 258 255 -1 259 260 256 -1 292 260 229 -1 276 292 229 -1 276 255 292 -1 290 239 278 -1 237 238 235 -1 241 273 242 -1 230 241 236 -1 234 237 235 -1 235 239 232 -1 232 239 268 -1 257 256 252 -1 256 253 252 -1 127 231 129 -1 230 128 228 -1 126 230 234 -1 228 125 277 -1 126 128 230 -1 128 125 228 -1 127 234 231 -1 231 240 129 -1 129 240 124 -1 126 234 127 -1 124 240 277 -1 294 295 296 -1 297 298 299 -1 300 298 301 -1 302 295 303 -1 295 300 303 -1 301 304 305 -1 306 297 299 -1 296 295 307 -1 307 302 308 -1 309 310 311 -1 312 313 314 -1 313 315 316 -1 302 317 308 -1 318 319 320 -1 321 322 323 -1 323 324 325 -1 326 327 328 -1 324 296 325 -1 296 307 325 -1 329 310 330 -1 313 316 330 -1 331 330 310 -1 332 333 305 -1 334 298 297 -1 335 297 306 -1 336 334 337 -1 338 336 337 -1 325 339 329 -1 325 340 297 -1 329 339 311 -1 325 329 340 -1 315 331 310 -1 311 308 341 -1 327 322 328 -1 342 323 335 -1 297 335 325 -1 294 296 342 -1 343 335 306 -1 57 343 56 -1 304 344 305 -1 302 305 317 -1 345 346 347 -1 345 330 348 -1 349 350 351 -1 344 332 305 -1 352 332 344 -1 352 348 332 -1 348 330 332 -1 345 340 330 -1 346 345 353 -1 353 345 348 -1 353 348 352 -1 353 352 349 -1 346 353 349 -1 354 352 344 -1 354 350 352 -1 355 354 336 -1 355 336 338 -1 354 344 356 -1 336 354 356 -1 336 304 334 -1 351 354 355 -1 316 333 330 -1 312 315 313 -1 341 308 357 -1 315 309 316 -1 303 305 302 -1 357 308 317 -1 305 333 317 -1 317 333 357 -1 297 340 334 -1 337 334 340 -1 336 356 304 -1 337 340 347 -1 347 340 345 -1 343 342 335 -1 358 326 321 -1 326 358 327 -1 320 328 322 -1 326 319 359 -1 319 328 320 -1 321 359 318 -1 326 359 321 -1 331 315 312 -1 314 331 312 -1 351 346 349 -1 349 352 350 -1 350 354 351 -1 346 337 347 -1 338 337 346 -1 351 355 338 -1 338 346 351 -1 315 310 309 -1 310 329 311 -1 309 341 357 -1 309 311 341 -1 313 330 314 -1 314 330 331 -1 316 357 333 -1 316 309 357 -1 307 339 325 -1 311 339 308 -1 329 330 340 -1 332 330 333 -1 319 326 328 -1 318 359 319 -1 343 294 342 -1 300 299 298 -1 327 296 324 -1 323 322 324 -1 321 323 358 -1 335 323 325 -1 327 324 322 -1 358 296 327 -1 358 342 296 -1 342 358 323 -1 356 344 304 -1 303 301 305 -1 339 307 308 -1 307 295 302 -1 300 301 303 -1 298 304 301 -1 334 304 298 -1 321 318 322 -1 322 318 320 -1 61 299 59 -1 294 60 295 -1 58 300 295 -1 343 57 294 -1 60 58 295 -1 57 60 294 -1 59 299 300 -1 306 299 61 -1 56 306 61 -1 58 59 300 -1 56 343 306 -1 360 361 362 -1 363 364 365 -1 366 363 365 -1 367 363 366 -1 368 367 369 -1 367 368 363 -1 364 370 365 -1 366 371 367 -1 366 372 371 -1 373 374 375 -1 367 371 373 -1 375 374 376 -1 377 372 366 -1 365 377 366 -1 378 379 360 -1 367 373 375 -1 380 381 373 -1 371 380 373 -1 371 372 380 -1 372 382 380 -1 383 376 384 -1 376 385 384 -1 386 384 387 -1 386 383 384 -1 373 388 374 -1 373 381 388 -1 376 388 385 -1 376 374 388 -1 372 389 382 -1 377 389 372 -1 389 386 387 -1 377 386 389 -1 380 390 381 -1 380 391 390 -1 380 392 391 -1 382 392 380 -1 384 393 394 -1 384 385 393 -1 395 384 394 -1 387 384 395 -1 389 387 395 -1 389 395 396 -1 389 392 382 -1 389 396 392 -1 381 390 388 -1 390 397 388 -1 385 388 393 -1 388 397 393 -1 398 399 391 -1 391 399 390 -1 391 400 398 -1 378 401 402 -1 395 394 361 -1 394 393 361 -1 379 395 403 -1 395 361 403 -1 378 396 395 -1 379 403 360 -1 392 378 400 -1 378 360 401 -1 399 404 397 -1 399 397 390 -1 405 404 406 -1 393 397 405 -1 405 406 361 -1 392 400 391 -1 402 401 407 -1 408 409 410 -1 409 411 412 -1 360 413 411 -1 410 409 412 -1 414 412 415 -1 399 416 404 -1 417 418 419 -1 404 420 406 -1 404 416 420 -1 421 418 417 -1 422 423 399 -1 424 425 415 -1 406 420 362 -1 426 408 427 -1 398 402 407 -1 408 163 145 -1 410 163 408 -1 181 414 161 -1 428 414 181 -1 410 181 163 -1 410 428 181 -1 158 157 419 -1 158 419 418 -1 425 157 159 -1 425 419 157 -1 414 425 161 -1 425 159 161 -1 421 158 418 -1 421 144 158 -1 408 144 421 -1 408 145 144 -1 411 413 415 -1 429 360 411 -1 362 420 413 -1 430 425 424 -1 422 427 423 -1 399 423 416 -1 422 426 427 -1 398 422 399 -1 430 419 425 -1 417 419 430 -1 413 424 415 -1 360 362 413 -1 401 360 429 -1 401 429 407 -1 398 407 422 -1 409 408 426 -1 378 395 379 -1 396 378 392 -1 361 360 403 -1 361 406 362 -1 397 404 405 -1 393 405 361 -1 400 402 398 -1 400 378 402 -1 410 412 428 -1 414 428 412 -1 429 411 409 -1 429 409 426 -1 412 411 415 -1 425 414 415 -1 416 424 420 -1 420 424 413 -1 423 430 416 -1 416 430 424 -1 407 429 426 -1 422 407 426 -1 427 417 423 -1 427 408 421 -1 427 421 417 -1 417 430 423 -1 431 432 433 -1 363 368 434 -1 363 434 435 -1 436 437 438 -1 437 434 368 -1 439 436 438 -1 440 363 435 -1 364 363 440 -1 441 432 442 -1 438 437 368 -1 443 444 437 -1 437 444 434 -1 435 434 444 -1 435 444 445 -1 446 447 439 -1 439 447 448 -1 447 449 450 -1 447 446 449 -1 451 437 436 -1 451 443 437 -1 439 448 451 -1 439 451 436 -1 435 445 452 -1 440 435 452 -1 450 449 452 -1 449 440 452 -1 453 444 443 -1 453 454 444 -1 444 454 455 -1 445 444 455 -1 447 456 457 -1 447 457 448 -1 447 458 456 -1 447 450 458 -1 458 450 452 -1 458 452 459 -1 452 445 455 -1 452 455 459 -1 451 453 443 -1 451 460 453 -1 448 457 451 -1 451 457 460 -1 461 462 454 -1 453 461 454 -1 454 462 463 -1 441 464 465 -1 431 456 458 -1 456 431 457 -1 466 458 442 -1 431 458 466 -1 458 459 441 -1 466 442 432 -1 455 463 441 -1 432 441 465 -1 460 467 461 -1 460 461 453 -1 468 469 467 -1 457 468 460 -1 431 469 468 -1 455 454 463 -1 465 464 470 -1 471 472 473 -1 474 473 475 -1 476 432 474 -1 472 475 473 -1 477 478 475 -1 479 461 467 -1 480 481 482 -1 467 469 483 -1 467 483 479 -1 482 481 484 -1 485 486 461 -1 478 487 488 -1 433 483 469 -1 489 490 471 -1 462 470 464 -1 190 209 471 -1 472 471 209 -1 207 477 227 -1 477 491 227 -1 227 472 209 -1 227 491 472 -1 204 480 203 -1 480 204 481 -1 487 205 203 -1 487 203 480 -1 477 207 487 -1 487 207 205 -1 204 484 481 -1 204 191 484 -1 471 484 191 -1 190 471 191 -1 476 474 478 -1 474 432 492 -1 433 476 483 -1 488 487 493 -1 485 490 486 -1 479 485 461 -1 486 490 489 -1 461 486 462 -1 493 487 480 -1 493 480 482 -1 476 478 488 -1 476 433 432 -1 432 465 492 -1 465 470 492 -1 462 486 470 -1 473 489 471 -1 458 441 442 -1 459 455 441 -1 431 466 432 -1 431 433 469 -1 460 468 467 -1 457 431 468 -1 463 462 464 -1 441 463 464 -1 472 491 475 -1 477 475 491 -1 474 492 473 -1 492 489 473 -1 478 474 475 -1 487 478 477 -1 479 483 488 -1 483 476 488 -1 479 493 485 -1 479 488 493 -1 470 489 492 -1 486 489 470 -1 485 482 490 -1 490 484 471 -1 482 484 490 -1 493 482 485 -1 494 495 496 -1 497 498 499 -1 497 500 496 -1 501 499 498 -1 502 503 504 -1 505 494 496 -1 501 506 499 -1 495 497 496 -1 497 499 500 -1 507 508 509 -1 510 511 512 -1 513 514 12 -1 515 516 517 -1 516 518 519 -1 27 520 521 -1 27 65 522 -1 517 523 514 -1 524 525 526 -1 527 503 528 -1 529 526 530 -1 515 517 513 -1 531 513 532 -1 533 534 535 -1 11 62 536 -1 12 514 21 -1 537 538 539 -1 524 28 525 -1 534 540 541 -1 27 522 520 -1 532 12 11 -1 528 542 543 -1 28 544 525 -1 543 542 545 -1 527 528 543 -1 542 524 526 -1 528 503 536 -1 546 28 524 -1 526 525 530 -1 536 546 542 -1 542 546 524 -1 544 547 548 -1 28 27 549 -1 21 514 537 -1 545 542 550 -1 550 542 529 -1 542 526 529 -1 530 525 548 -1 551 544 521 -1 552 530 547 -1 530 548 547 -1 549 27 521 -1 553 547 554 -1 496 500 555 -1 496 555 556 -1 370 496 556 -1 369 557 499 -1 506 369 499 -1 555 558 376 -1 500 499 558 -1 559 560 494 -1 561 562 563 -1 561 559 564 -1 562 501 563 -1 565 502 566 -1 559 494 505 -1 562 506 501 -1 560 559 561 -1 561 564 562 -1 567 568 439 -1 569 570 571 -1 570 533 507 -1 572 573 574 -1 80 575 565 -1 576 516 515 -1 572 574 516 -1 94 577 133 -1 577 578 579 -1 577 569 578 -1 574 573 561 -1 580 581 582 -1 581 583 582 -1 575 531 565 -1 575 515 531 -1 584 585 586 -1 587 130 81 -1 80 588 575 -1 133 579 91 -1 589 580 97 -1 553 533 590 -1 94 584 577 -1 80 565 81 -1 591 527 543 -1 97 592 593 -1 594 543 545 -1 543 594 591 -1 594 581 580 -1 587 566 591 -1 589 97 130 -1 582 583 595 -1 594 589 587 -1 591 594 587 -1 595 596 592 -1 94 97 593 -1 89 91 579 -1 594 545 597 -1 594 598 581 -1 597 598 594 -1 581 598 583 -1 582 595 592 -1 583 552 596 -1 583 596 595 -1 592 596 599 -1 94 593 585 -1 559 568 567 -1 559 505 370 -1 568 370 364 -1 562 369 506 -1 600 369 562 -1 564 601 562 -1 562 601 600 -1 555 376 556 -1 369 367 557 -1 367 375 557 -1 558 375 376 -1 558 557 375 -1 564 567 601 -1 567 439 601 -1 438 368 600 -1 600 368 369 -1 499 557 558 -1 500 558 555 -1 601 438 600 -1 601 439 438 -1 565 531 502 -1 502 531 532 -1 575 576 515 -1 575 588 576 -1 531 515 513 -1 532 513 12 -1 536 532 11 -1 502 532 503 -1 566 527 591 -1 566 502 504 -1 370 505 496 -1 556 376 383 -1 386 556 383 -1 365 556 386 -1 568 446 439 -1 446 568 449 -1 449 364 440 -1 370 556 365 -1 568 559 370 -1 559 567 564 -1 568 364 449 -1 365 386 377 -1 566 504 527 -1 504 503 527 -1 528 536 542 -1 503 532 536 -1 565 566 587 -1 81 565 587 -1 587 589 130 -1 21 537 23 -1 65 23 537 -1 579 573 572 -1 602 561 573 -1 512 497 495 -1 539 538 603 -1 65 537 522 -1 94 585 584 -1 133 577 579 -1 89 579 588 -1 80 89 588 -1 523 519 538 -1 519 497 538 -1 513 517 514 -1 585 592 599 -1 525 544 548 -1 580 582 97 -1 594 580 589 -1 546 62 28 -1 536 62 546 -1 537 523 538 -1 522 537 539 -1 522 539 604 -1 509 508 604 -1 514 523 537 -1 518 498 519 -1 579 578 573 -1 588 579 572 -1 602 560 561 -1 588 572 576 -1 576 572 516 -1 516 523 517 -1 563 501 518 -1 602 510 494 -1 494 512 495 -1 560 602 494 -1 596 605 553 -1 547 553 605 -1 552 547 605 -1 552 605 596 -1 544 549 521 -1 28 549 544 -1 582 592 97 -1 593 592 585 -1 596 553 606 -1 547 551 554 -1 553 554 607 -1 608 590 533 -1 585 599 608 -1 551 521 534 -1 554 534 607 -1 541 604 535 -1 609 608 610 -1 585 608 586 -1 606 553 590 -1 608 606 590 -1 553 607 533 -1 533 607 534 -1 584 569 577 -1 586 609 569 -1 540 604 541 -1 520 522 604 -1 569 609 610 -1 578 569 571 -1 533 535 508 -1 507 533 508 -1 535 534 541 -1 604 508 535 -1 521 520 540 -1 534 521 540 -1 520 604 540 -1 586 608 609 -1 584 586 569 -1 610 533 570 -1 610 608 533 -1 569 610 570 -1 608 599 606 -1 599 596 606 -1 547 544 551 -1 554 551 534 -1 570 507 571 -1 578 611 573 -1 603 538 512 -1 509 539 603 -1 612 571 507 -1 611 602 573 -1 512 538 497 -1 511 509 603 -1 494 510 512 -1 612 507 510 -1 578 571 611 -1 611 612 602 -1 611 571 612 -1 602 612 510 -1 509 604 539 -1 511 603 512 -1 507 509 511 -1 510 507 511 -1 519 498 497 -1 518 501 498 -1 574 563 518 -1 574 561 563 -1 574 518 516 -1 516 519 523 -1"; String points = ".65704 -.10533 -.64578 .6573 -.09875 -.53137 .69262 -.04461 -.6079 .46405 .1234 -.9148 .52676 .13346 -.99004 .56055 .14585 -1.0822 .41312 .01848 -.99593 .44102 .01863 -.79782 .62915 -.11846 -.90891 .63043 -.07812 -.76992 .67983 -.06998 -.90994 .48069 -.07144 -1.22732 .49067 -.13328 -1.07912 .66575 -.06952 -1.11726 .69442 .04579 -1.00054 .68239 .00872 -.76787 .69518 .04643 -1.0635 .63631 .0591 -1.20454 .53444 -.10871 -.76199 .50398 -.15514 -1.04687 .60585 -.10617 -1.10164 .45279 -.07425 -.92017 .45074 -.07047 -1.00771 .47762 .05457 -.86898 .62326 .13156 -1.08808 .58691 .1427 -.80064 .55876 .16166 -1.08296 .5329 .21145 -1.085 .49093 .18278 -1.22502 .66268 .09839 -1.08014 .65602 .09959 -1.02051 .48171 .11969 -.79321 .66396 .05165 -.78861 .65167 .06225 -.60585 .59536 .09568 -.64732 .50654 .08444 -.63862 .47506 .00025 -.64246 .54314 .11295 -.59843 .47608 -.00945 -.59715 .49579 -.06158 -.59817 .47173 .0571 -.59459 .58845 -.12662 -.60176 .60509 .0947 -.60201 .45484 .05076 -.51831 .49554 -.057 -.50142 .47915 -.03274 -.40697 .69774 -.04259 -.4981 .68622 -.07901 -.494 .68853 -.02069 -.39264 .58051 -.10095 -.38419 .4405 .08109 -.43334 .5626 .1321 -.52548 .65679 .06537 -.51217 .64937 .09373 -.42003 .54852 .16143 -.44153 .59024 -.12414 -.49093 .44153 .10653 -.07891 .41337 .18549 -.10295 .5649 .19717 -.0891 .59306 .11815 -.06501 .49554 .24587 -.1097 .51089 .05782 -.05826 .51013 .06163 -1.26878 .64348 -.10917 -1.02179 .49886 -.08127 -.78272 .49605 .1782 -.92093 .62991 -.12179 -.49042 .67752 -.0611 -1.07759 -.6317 .04561 -.6271 -.6678 .10699 -.58973 -.64425 .04326 -.51192 -.45151 .33095 -1.02741 -.31329 .21206 -1.08629 -.40441 .28642 -.85593 -.34836 .18608 -.93911 -.3975 .17784 -.74433 -.61737 .10361 -.86693 -.59126 .08104 -.74509 -.55287 .04804 -.8613 -.62044 .13469 -1.07221 -.47301 .03507 -1.03253 -.45637 .0893 -1.18407 -.63426 .23405 -.96522 -.64041 .16929 -.74202 -.57027 .25532 -1.15514 -.63324 .24244 -1.02383 -.49784 .04664 -.72974 -.569 .09266 -1.05148 -.4382 .02017 -1.01257 -.40365 .07343 -.87845 -.38701 .0997 -.96163 -.37984 .19604 -.82803 -.5393 .32737 -1.03484 -.53854 .3028 -.75405 -.40083 .38087 -1.03484 -.44434 .34503 -1.0287 -.59101 .29435 -1.03356 -.38471 .33633 -1.18176 -.58845 .28923 -.97648 -.43539 .2772 -.73742 -.61865 .21311 -.75713 -.62787 .20594 -.57463 -.56439 .24377 -.60662 -.44818 .14387 -.59638 -.47711 .22865 -.58947 -.51806 .25404 -.55159 -.47685 .07702 -.55978 -.45509 .12959 -.55261 -.44895 .19555 -.54493 -.56183 .02859 -.58615 -.58 .2383 -.56311 -.4853 .07658 -.46047 -.44127 .18191 -.46917 -.48427 .08488 -.36423 -.67445 .06373 -.48914 -.68443 .1008 -.48837 -.69697 .09842 -.38752 -.59101 .01605 -.37267 -.54545 .26722 -.4812 -.43308 .2085 -.3888 -.63964 .20733 -.47455 -.65218 .21268 -.37728 -.53777 .29256 -.40237 -.58154 .01367 -.47608 -.45561 .23057 -.03727 -.42566 .30587 -.05995 -.57539 .32455 -.05383 -.60637 .248 -.03246 -.50705 .36628 -.07108 -.52651 .18506 -.02117 -.44639 .22394 -1.22553 -.59536 .10131 -.97085 -.45944 .0753 -.74407 -.36039 .32507 -.87922 -.6207 .018 -.48248 -.62735 .14096 -1.03638 .30126 -.06353 2.50353 .19143 -.02746 2.50429 .20771 .15153 2.50686 .21234 .20236 2.45668 .19829 .35988 2.50942 .50654 .32993 2.50942 .4318 .12987 2.5066 .46457 .17843 2.45643 .24152 -.01882 2.18845 .2224 .13131 2.19843 .18897 -.0535 2.34304 .2772 .60944 2.38477 .37779 .62633 2.35942 .28181 .66012 2.41087 .47813 .6422 2.41087 .38343 .6893 2.41139 .25427 .35476 2.3067 .19847 .48786 2.43417 .19842 .48683 2.51095 .2987 -.08848 2.31361 .41337 -.07433 2.34151 .39008 -.03402 2.21353 .30382 -.04999 2.1864 .42975 .11075 2.22325 .45049 .3371 2.30644 .41337 .24014 2.22991 .52932 .45637 2.51095 .26492 .25494 2.20483 .34068 .37319 2.28162 .19834 .36039 2.43289 .50654 .3307 2.43289 .52932 .4574 2.43417 .36141 .52497 2.35814 .24915 .6102 2.51275 .26799 .50731 2.38349 .47813 .63938 2.4979 .28181 .6573 2.4979 .38343 .68853 2.48818 .50142 .58742 2.51248 .46431 .48965 2.38323 .18908 -.05352 2.45106 .29896 -.08994 2.44952 .41337 -.07454 2.45003 .41568 -.04812 2.50378 .47352 .59152 2.3845 .33172 .27439 2.20585 -.17313 .10141 2.50353 -.07843 .31355 2.50737 -.06315 .13694 2.50481 -.0827 .36449 2.4572 -.376 .4963 2.50942 -.06778 .52011 2.50993 -.30254 .29538 2.50686 -.33505 .34401 2.45668 -.10515 .30408 2.11115 -.11219 .14736 2.18665 -.06007 .11078 2.34176 -.14505 .77427 2.38502 -.14938 .82495 2.41139 -.24536 .79193 2.35968 -.25079 .8549 2.41164 -.3458 .80832 2.41087 -.12363 .5196 2.30772 -.06704 .65141 2.43468 -.06709 .65039 2.51147 -.28437 .09043 2.33946 -.16978 .07628 2.31105 -.26082 .13215 2.21123 -.17441 .10528 2.18307 -.30024 .27669 2.223 -.31995 .5027 2.30746 -.2836 .40595 2.23119 -.39802 .623 2.51095 -.13481 .42054 2.20611 -.20996 .53854 2.28263 -.06775 .52087 2.43339 -.39802 .62403 2.43417 -.376 .49707 2.43314 -.22975 .69032 2.3584 -.11708 .77504 2.513 -.13643 .6724 2.38374 -.3458 .80576 2.4979 -.25084 .85413 2.48843 -.14943 .82214 2.49841 -.3696 .7538 2.51275 -.33275 .65577 2.38349 -.06074 .11075 2.45131 -.28514 .09056 2.44952 -.17065 .07469 2.44901 -.28744 .11743 2.50378 -.34145 .75764 2.38477 -.20164 .44025 2.20738 -.46661 .35527 .0417 -.39981 .43308 .10689 -.53419 .37319 .04333 -.5562 .24851 .09248 -.55953 .3028 .25197 -.53342 .25427 .19215 -.59485 .30126 .0817 -.57053 .33531 .25022 -.47659 .48376 .23569 -.52599 .43564 .21493 -.50142 .44767 .26594 -.52446 .34426 .33812 -.51576 .21772 .09696 -.45279 .4533 .13233 -.44178 .50757 .2749 -.39008 .49528 .2987 -.36474 .47455 .30587 -.35373 .47506 .34631 -.33914 .40621 .33249 -.32583 .41465 .35118 -.31585 .41644 .33556 -.36986 .45586 .35834 -.30971 .43359 .33914 -.46405 .48069 .29179 -.33351 .45305 .2062 -.32993 .48479 .20239 -.31355 .47685 .20554 -.34862 .40672 .17485 -.37831 .44204 .18385 -.33556 .41004 .18969 -.41824 .41772 .15744 -.38727 .4359 .1695 -.37549 .44358 .13781 -.31944 .44588 .17226 -.3499 .46866 .16801 -.40134 .45996 .2598 -.39341 .44025 .32763 -.31688 .43283 .31585 -.41081 .4231 .34759 -.42182 .45714 .32276 -.50168 .31124 .3202 -.36935 .36884 .14549 -.44102 .2877 .3586 -.45151 .29154 .33889 -.42694 .26287 .30971 -.41542 .49323 .26184 -.42515 .43155 .27797 -.40058 .50449 .33095 -.35501 .39955 .11377 -.42566 .32507 .04771 -.43078 .39597 .34529 -.35706 .37344 .30792 -.34478 .34759 .26543 -.33914 .38112 .31201 -.34298 .36474 .34478 -.35655 .30894 .28283 -.39034 .27567 .29922 -.36986 .29922 .32583 -.36525 .34426 .3499 -.33403 .33582 .31048 -.41619 .29614 .36397 -.40544 .2708 .33479 -.4748 .33991 .35885 -.41644 .4853 .34298 -.34298 .41926 .14244 -.30126 .46329 .20635 .44614 .23937 .00376 .51243 .25775 .00632 .38189 .31355 .08649 .51371 .12022 .13817 .54596 .15603 .19875 .53393 .12463 .04354 .57232 .17925 .03343 .55825 .1878 .20144 .46917 .33863 .21989 .51499 .29384 .18736 .51908 .18222 .29282 .49477 .29717 .24147 .49272 .09435 .04697 .43692 .32788 .11275 .4382 .35604 .26517 .35425 .31355 .33633 .36218 .31995 .29563 .38778 .34094 .29026 .31355 .25877 .31841 .3243 .25383 .33249 .33607 .24841 .31176 .30843 .27515 .32532 .37037 .2923 .3435 .46073 .32609 .27541 .32353 .31713 .19632 .30434 .34094 .20129 .32072 .34887 .19834 .32251 .27797 .1718 .36576 .30945 .16832 .33403 .27771 .15455 .37344 .30613 .1514 .40211 .29051 .132 .30664 .31636 .16279 .35988 .31918 .12255 .33761 .33863 .16031 .39494 .31278 .24511 .3911 .28155 .30869 .31381 .27823 .30152 .40902 .26082 .32404 .41977 .29819 .30485 .494 .15329 .2708 .35092 .24562 .11411 .43539 .12475 .3092 .44434 .13202 .28974 .41696 .10955 .25801 .4103 .34478 .25179 .419 .28104 .25596 .40083 .34401 .32276 .33633 .28053 .09012 .40493 .20907 .00715 .42796 .23413 .31585 .33377 .22734 .28744 .33479 .20272 .23533 .35092 .22015 .28053 .33914 .20551 .31611 .34657 .16138 .24472 .36244 .14385 .28411 .3801 .12473 .25263 .36116 .18393 .31611 .32686 .18324 .27823 .41107 .13282 .31765 .39725 .11321 .28539 .47071 .17531 .31585 .41696 .32276 .33019 .32686 .29538 .12519 .29179 .32788 .20067 .31432 .46021 1.35479 .44946 .3952 1.22041 .44204 .40876 1.35044 .06775 .17257 .35629 .04292 .48888 .24874 .09278 .48581 .25028 .07794 .17149 .3545 .09179 -.10118 .39008 .04123 -.09125 .4144 .06486 -.14951 .24306 .06496 .47301 .10174 .10364 -.05559 .44998 .08303 .19445 .45817 .24173 -.06696 .45279 .41056 -.00623 .42054 .39725 -.06947 .29435 .47455 .16399 .32609 .10832 .4597 .33019 .17976 .39648 1.21938 .26364 .4702 1.25266 .14843 .02093 .7259 .30075 -.00436 .72897 .09294 .22256 .68213 .41184 .39392 .30869 .45791 .42694 .66549 .49707 .22312 .68392 .24321 .45944 .31662 .3005 .47839 .66037 .45817 .02135 .72743 .14815 .42668 .66421 .31457 .08976 1.14132 .18652 .11557 1.13979 .13561 .31278 1.10984 .494 .30587 1.11265 .44332 .45125 1.09039 .31534 .5027 1.09166 .18734 .45407 1.09166 .44255 .11513 1.14158 .18498 .10574 1.32304 .31304 .08127 1.32407 .14272 .29461 1.20966 .18618 .40979 1.34941 .13435 .25724 1.33456 .36551 .47455 1.23448 .44102 .10912 1.33073 .48581 .29358 1.21222 .49272 .25749 1.33687 .16072 .19263 1.74001 .22476 .1558 2.13956 .21045 .3028 2.07275 .24221 .25749 2.11652 .33812 .41593 1.76202 .33326 .33147 2.07403 .48325 .37882 1.7592 .40876 .25412 2.11652 .45612 .29998 2.07301 .48171 -.00199 1.72311 .33198 -.04587 2.10705 .33428 -.0431 2.15338 .408 -.0077 2.15696 .51345 .19102 1.74154 .24099 -.00696 2.15645 .19087 -.00066 1.72183 .33607 -.03773 1.71902 .48146 .14523 2.09425 .42617 .1503 2.13981 .18434 .14961 2.09374 .20925 -.01563 2.10961 .32532 .27541 2.11729 .19245 .3801 1.75792 .45509 -.01676 2.11063 -.31892 .58461 1.20812 -.18347 .67343 1.32561 -.3115 .62428 1.3315 .02562 -.00814 .52088 .04889 .23003 .48811 -.28027 .04451 .49707 -.11278 -.00993 .53854 -.26441 -.04382 .38061 -.33914 .1924 .3801 .0288 .46866 .32916 -.04925 .58384 1.20787 -.13259 .66242 1.22143 -.17231 .1031 .80038 -.01974 .1267 .79322 .03673 .31585 .71361 -.27746 .41798 .32097 -.32711 .51678 .66037 -.3673 .31969 .71515 -.10929 .48325 .31278 -.16945 .56516 .64629 -.32942 .1289 .79398 -.01734 .51473 .6596 -.18519 .27464 1.17485 -.0571 .29947 1.16973 -.00566 .4789 1.12059 -.31227 .60969 1.07016 -.36397 .47992 1.12212 -.18416 .65935 1.06018 -.05639 .60944 1.0699 -.31304 .29973 1.17178 -.18301 .2726 1.33124 -.05511 .29794 1.33175 -.01283 .48376 1.22092 -.00438 .44895 1.33994 -.05557 .623 1.33124 -.23497 .66293 1.22092 -.31124 .30178 1.33841 -.35578 .4853 1.22271 -.36295 .47429 1.34941 -.03084 .36884 1.74128 -.09762 .29742 2.1631 -.11421 .40185 2.14084 -.08209 .45433 2.09118 -.2083 .59152 1.76791 -.19757 .48555 2.0922 -.35348 .55441 1.76432 -.27823 .40544 2.14084 -.31329 .45637 2.09118 -.35169 .17449 1.7203 -.27823 .17461 2.18051 -.19589 .11047 2.19919 -.19773 .13282 2.09835 -.38368 .36704 1.74256 -.11388 .17318 2.20508 -.20612 .13893 1.71544 -.06087 .17602 1.71927 -.29563 .30306 2.16336 -.33812 .31124 2.11216 -.05826 .30766 2.11166 -.08198 .15882 2.1265 -.19596 .42591 2.1416 -.06268 .55594 1.7633 -.31355 .15844 2.12701 .07848 .48146 -.20902 .35655 .41593 -.21437 .36167 .41772 -.09005 .42387 .15741 -.20953 .33403 -.04745 -.20822 .34503 -.04177 -.08562 .43052 .16028 -.08923 .05375 -.0807 -.2008 -.00717 -.09929 -1.18022 .16228 -.07712 -1.2524 -.00362 -.06105 -1.24421 .07167 .45586 -.10819 .05792 -.10028 -.05887 .11132 .51985 -.5928 .26441 .46354 -.76404 .23953 .49426 -.569 .09637 .51141 -.49016 .23082 .4684 -.51601 .3737 .42591 -.40185 .41235 -.17254 -1.02153 .42694 -.09225 -.84185 .01265 -.12788 -.77146 .04116 -.10561 -.51576 .37754 -.13312 -.78809 .0528 -.06271 -.28539 .36013 -.06506 -.36167 .45074 .3586 -.89176 .4423 .38624 -.99363 .47634 .23784 -.84185 .38343 -.08736 -.51857 .28079 .08398 -1.26981 .20579 .22719 -1.18841 .18621 .14211 -1.28286 -.00007 -.02279 -1.3082 .13379 -.04625 -1.31485 .16105 .14554 -1.33047 .13294 .26594 -1.22041 -.00474 -.13576 -1.00131 .35297 -.1364 -1.17229 .11787 .50833 -.77223 .34273 .47148 -.86028 .34222 .46073 -.80883 .33735 -.02995 -1.29899 .47148 .0633 -.7648 .41619 .12386 -.35297 .40211 .43027 -.49016 .40979 .41465 -.8636 .38829 .43359 -.8293 .13223 .00589 -1.36579 .00056 -.0048 -1.3594 .37037 .27618 -1.18969 .00112 .01061 -1.40291 .30024 .05452 -1.29668 .10087 .35604 -1.13646 .14032 .29077 -1.15924 .47608 .27567 -1.15053 .11354 .01691 -1.39293 .28693 .43948 -.99875 .0623 .30434 -1.20658 .10016 .45919 -.98953 .12693 .46738 -1.00362 .44281 .16921 .04026 .38343 .40672 .15503 .36986 -.10712 .13968 .39315 -.00747 .08536 -.21751 .42566 -.08605 -.20589 .42745 -.21321 -.29205 .18537 -.20733 -.23402 -.03102 -.06248 -.22417 -.02519 -.20203 -.30638 .17339 -.07034 -.35604 -.01206 -1.13722 -.16509 -.01973 -1.23628 -.32148 .15898 .10499 -.25128 .40493 .17853 -.18639 .49272 -.77376 -.03839 .5132 -.7497 -.03668 .52216 -.56516 -.29205 -.02186 -.51294 -.28667 .17474 -.35399 -.25903 -.01915 -.36269 -.40953 -.02839 -.98109 -.33531 -.0218 -.75508 -.31867 .36602 -.80422 -.21749 .48504 -.49042 -.36321 .1859 -.72743 -.22291 .17228 -1.24498 -.11597 .19509 -1.26802 -.09639 .28027 -1.17357 -.01816 .2923 -1.21298 -.25473 .48018 -.8572 -.24516 .5068 -.95984 -.19476 .51908 -.83417 -.31739 .08488 -1.26674 -.37651 .03944 -.80345 -.25373 .15168 -1.2693 .10356 .50808 -.82291 -.13392 .00068 -1.3018 -.23392 .38215 -1.15975 -.32967 .41747 -1.11035 -.11961 .05004 -1.35325 -.01078 .31713 -1.15181 .0505 .365 -1.13389 -.101 .05454 -1.38244 -.09581 .19059 -1.31793 -.08209 .50398 -.98058 -.24255 -.10333 .23292 -.26952 -.01132 .16714 -.19297 .47429 -.40262 .38803 .42438 -.43846 .39392 .39878 -.80115 .07256 .33838 -1.11982 .07658 .47634 -1.00105 .12875 .50373 -.82419 -.1105 .55082 -.83801 -.16612 .5283 -.80217 -.11127 .53854 -.78682 -.20612 .47608 -.43948 -.04385 .49298 -.51576"; int vocabularySize = 64; try { ExtractShapeGoogleDescriptor shDescriptor; shDescriptor = new ExtractShapeGoogleDescriptor(); Object[] shParts = shDescriptor.ExtractShapeGoogleDescriptor(1, points, indexes, vocabularySize); System.out.println(shParts[0].toString()); } catch (Exception e) { e.printStackTrace(); } } } class STCoords { private final Float s; private final Float t; public STCoords(Float xin, Float yin) { s = xin; t = yin; } public Float s() { return s; } public Float t() { return t; } } class XYCoords { private final Integer x; private final Integer y; public XYCoords(Integer xin, Integer yin) { x = xin; y = yin; } public Integer x() { return x; } public Integer y() { return y; } }