JRViewer does NOT display widely seperated data

Found a bug? Post here.
Post Reply
karunaMaitri
Posts: 90
Joined: Sun 16. Nov 2008, 00:24

JRViewer does NOT display widely seperated data

Post by karunaMaitri » Mon 13. Feb 2012, 00:20

The following data is a set of 100 (of 209) points with widely ranging values. This data comes from a data mining program called Weka (data file: cpu.arff). The JRViewer does not display the data (only first three coordinates were considered for the display). But if this data is normalized by the coordinate ranges (xrange, yrange and zrange), then JRViewer displays the data. In data mining applications, it is important to display the original coordinates, normalization (for displaying) is not a good idea. Further, for general (especially non-linear) geometries normalization does not help. Thus JRViewer does not work for this kind of applications. Please fix JRViewer.

Thanks!
Karuna

Code: Select all

>>>>>>>>>>>>>>>The original data
>>>>>> Printing data
		>>> Printing data for class: 0
				>>next instance: 0
						>next attribute data value: 125.0
						>next attribute data value: 256.0
						>next attribute data value: 6000.0
						>next attribute data value: 256.0
						>next attribute data value: 16.0
						>next attribute data value: 128.0
						>next attribute data value: 199.0
				>>next instance: 1
						>next attribute data value: 29.0
						>next attribute data value: 8000.0
						>next attribute data value: 32000.0
						>next attribute data value: 32.0
						>next attribute data value: 8.0
						>next attribute data value: 32.0
						>next attribute data value: 253.0
				>>next instance: 2
						>next attribute data value: 29.0
						>next attribute data value: 8000.0
						>next attribute data value: 32000.0
						>next attribute data value: 32.0
						>next attribute data value: 8.0
						>next attribute data value: 32.0
						>next attribute data value: 253.0
				>>next instance: 3
						>next attribute data value: 29.0
						>next attribute data value: 8000.0
						>next attribute data value: 32000.0
						>next attribute data value: 32.0
						>next attribute data value: 8.0
						>next attribute data value: 32.0
						>next attribute data value: 253.0
				>>next instance: 4
						>next attribute data value: 29.0
						>next attribute data value: 8000.0
						>next attribute data value: 16000.0
						>next attribute data value: 32.0
						>next attribute data value: 8.0
						>next attribute data value: 16.0
						>next attribute data value: 132.0
				>>next instance: 5
						>next attribute data value: 26.0
						>next attribute data value: 8000.0
						>next attribute data value: 32000.0
						>next attribute data value: 64.0
						>next attribute data value: 8.0
						>next attribute data value: 32.0
						>next attribute data value: 290.0
				>>next instance: 6
						>next attribute data value: 23.0
						>next attribute data value: 16000.0
						>next attribute data value: 32000.0
						>next attribute data value: 64.0
						>next attribute data value: 16.0
						>next attribute data value: 32.0
						>next attribute data value: 381.0
				>>next instance: 7
						>next attribute data value: 23.0
						>next attribute data value: 16000.0
						>next attribute data value: 32000.0
						>next attribute data value: 64.0
						>next attribute data value: 16.0
						>next attribute data value: 32.0
						>next attribute data value: 381.0
				>>next instance: 8
						>next attribute data value: 23.0
						>next attribute data value: 16000.0
						>next attribute data value: 64000.0
						>next attribute data value: 64.0
						>next attribute data value: 16.0
						>next attribute data value: 32.0
						>next attribute data value: 749.0
				>>next instance: 9
						>next attribute data value: 23.0
						>next attribute data value: 32000.0
						>next attribute data value: 64000.0
						>next attribute data value: 128.0
						>next attribute data value: 32.0
						>next attribute data value: 64.0
						>next attribute data value: 1238.0
				>>next instance: 10
						>next attribute data value: 400.0
						>next attribute data value: 1000.0
						>next attribute data value: 3000.0
						>next attribute data value: 0.0
						>next attribute data value: 1.0
						>next attribute data value: 2.0
						>next attribute data value: 23.0
				>>next instance: 11
						>next attribute data value: 400.0
						>next attribute data value: 512.0
						>next attribute data value: 3500.0
						>next attribute data value: 4.0
						>next attribute data value: 1.0
						>next attribute data value: 6.0
						>next attribute data value: 24.0
				>>next instance: 12
						>next attribute data value: 60.0
						>next attribute data value: 2000.0
						>next attribute data value: 8000.0
						>next attribute data value: 65.0
						>next attribute data value: 1.0
						>next attribute data value: 8.0
						>next attribute data value: 70.0
				>>next instance: 13
						>next attribute data value: 50.0
						>next attribute data value: 4000.0
						>next attribute data value: 16000.0
						>next attribute data value: 65.0
						>next attribute data value: 1.0
						>next attribute data value: 8.0
						>next attribute data value: 117.0
				>>next instance: 14
						>next attribute data value: 350.0
						>next attribute data value: 64.0
						>next attribute data value: 64.0
						>next attribute data value: 0.0
						>next attribute data value: 1.0
						>next attribute data value: 4.0
						>next attribute data value: 15.0
				>>next instance: 15
						>next attribute data value: 200.0
						>next attribute data value: 512.0
						>next attribute data value: 16000.0
						>next attribute data value: 0.0
						>next attribute data value: 4.0
						>next attribute data value: 32.0
						>next attribute data value: 64.0
				>>next instance: 16
						>next attribute data value: 167.0
						>next attribute data value: 524.0
						>next attribute data value: 2000.0
						>next attribute data value: 8.0
						>next attribute data value: 4.0
						>next attribute data value: 15.0
						>next attribute data value: 23.0
				>>next instance: 17
						>next attribute data value: 143.0
						>next attribute data value: 512.0
						>next attribute data value: 5000.0
						>next attribute data value: 0.0
						>next attribute data value: 7.0
						>next attribute data value: 32.0
						>next attribute data value: 29.0
				>>next instance: 18
						>next attribute data value: 143.0
						>next attribute data value: 1000.0
						>next attribute data value: 2000.0
						>next attribute data value: 0.0
						>next attribute data value: 5.0
						>next attribute data value: 16.0
						>next attribute data value: 22.0
				>>next instance: 19
						>next attribute data value: 110.0
						>next attribute data value: 5000.0
						>next attribute data value: 5000.0
						>next attribute data value: 142.0
						>next attribute data value: 8.0
						>next attribute data value: 64.0
						>next attribute data value: 124.0
				>>next instance: 20
						>next attribute data value: 143.0
						>next attribute data value: 1500.0
						>next attribute data value: 6300.0
						>next attribute data value: 0.0
						>next attribute data value: 5.0
						>next attribute data value: 32.0
						>next attribute data value: 35.0
				>>next instance: 21
						>next attribute data value: 143.0
						>next attribute data value: 3100.0
						>next attribute data value: 6200.0
						>next attribute data value: 0.0
						>next attribute data value: 5.0
						>next attribute data value: 20.0
						>next attribute data value: 39.0
				>>next instance: 22
						>next attribute data value: 143.0
						>next attribute data value: 2300.0
						>next attribute data value: 6200.0
						>next attribute data value: 0.0
						>next attribute data value: 6.0
						>next attribute data value: 64.0
						>next attribute data value: 40.0
				>>next instance: 23
						>next attribute data value: 110.0
						>next attribute data value: 3100.0
						>next attribute data value: 6200.0
						>next attribute data value: 0.0
						>next attribute data value: 6.0
						>next attribute data value: 64.0
						>next attribute data value: 45.0
				>>next instance: 24
						>next attribute data value: 320.0
						>next attribute data value: 128.0
						>next attribute data value: 6000.0
						>next attribute data value: 0.0
						>next attribute data value: 1.0
						>next attribute data value: 12.0
						>next attribute data value: 28.0
				>>next instance: 25
						>next attribute data value: 320.0
						>next attribute data value: 512.0
						>next attribute data value: 2000.0
						>next attribute data value: 4.0
						>next attribute data value: 1.0
						>next attribute data value: 3.0
						>next attribute data value: 21.0
				>>next instance: 26
						>next attribute data value: 320.0
						>next attribute data value: 256.0
						>next attribute data value: 6000.0
						>next attribute data value: 0.0
						>next attribute data value: 1.0
						>next attribute data value: 6.0
						>next attribute data value: 28.0
				>>next instance: 27
						>next attribute data value: 320.0
						>next attribute data value: 256.0
						>next attribute data value: 3000.0
						>next attribute data value: 4.0
						>next attribute data value: 1.0
						>next attribute data value: 3.0
						>next attribute data value: 22.0
				>>next instance: 28
						>next attribute data value: 320.0
						>next attribute data value: 512.0
						>next attribute data value: 5000.0
						>next attribute data value: 4.0
						>next attribute data value: 1.0
						>next attribute data value: 5.0
						>next attribute data value: 28.0
				>>next instance: 29
						>next attribute data value: 320.0
						>next attribute data value: 256.0
						>next attribute data value: 5000.0
						>next attribute data value: 4.0
						>next attribute data value: 1.0
						>next attribute data value: 6.0
						>next attribute data value: 27.0
				>>next instance: 30
						>next attribute data value: 25.0
						>next attribute data value: 1310.0
						>next attribute data value: 2620.0
						>next attribute data value: 131.0
						>next attribute data value: 12.0
						>next attribute data value: 24.0
						>next attribute data value: 102.0
				>>next instance: 31
						>next attribute data value: 25.0
						>next attribute data value: 1310.0
						>next attribute data value: 2620.0
						>next attribute data value: 131.0
						>next attribute data value: 12.0
						>next attribute data value: 24.0
						>next attribute data value: 102.0
				>>next instance: 32
						>next attribute data value: 50.0
						>next attribute data value: 2620.0
						>next attribute data value: 10480.0
						>next attribute data value: 30.0
						>next attribute data value: 12.0
						>next attribute data value: 24.0
						>next attribute data value: 74.0
				>>next instance: 33
						>next attribute data value: 50.0
						>next attribute data value: 2620.0
						>next attribute data value: 10480.0
						>next attribute data value: 30.0
						>next attribute data value: 12.0
						>next attribute data value: 24.0
						>next attribute data value: 74.0
				>>next instance: 34
						>next attribute data value: 56.0
						>next attribute data value: 5240.0
						>next attribute data value: 20970.0
						>next attribute data value: 30.0
						>next attribute data value: 12.0
						>next attribute data value: 24.0
						>next attribute data value: 138.0
				>>next instance: 35
						>next attribute data value: 64.0
						>next attribute data value: 5240.0
						>next attribute data value: 20970.0
						>next attribute data value: 30.0
						>next attribute data value: 12.0
						>next attribute data value: 24.0
						>next attribute data value: 136.0
				>>next instance: 36
						>next attribute data value: 50.0
						>next attribute data value: 500.0
						>next attribute data value: 2000.0
						>next attribute data value: 8.0
						>next attribute data value: 1.0
						>next attribute data value: 4.0
						>next attribute data value: 23.0
				>>next instance: 37
						>next attribute data value: 50.0
						>next attribute data value: 1000.0
						>next attribute data value: 4000.0
						>next attribute data value: 8.0
						>next attribute data value: 1.0
						>next attribute data value: 5.0
						>next attribute data value: 29.0
				>>next instance: 38
						>next attribute data value: 50.0
						>next attribute data value: 2000.0
						>next attribute data value: 8000.0
						>next attribute data value: 8.0
						>next attribute data value: 1.0
						>next attribute data value: 5.0
						>next attribute data value: 44.0
				>>next instance: 39
						>next attribute data value: 50.0
						>next attribute data value: 1000.0
						>next attribute data value: 4000.0
						>next attribute data value: 8.0
						>next attribute data value: 3.0
						>next attribute data value: 5.0
						>next attribute data value: 30.0
				>>next instance: 40
						>next attribute data value: 50.0
						>next attribute data value: 1000.0
						>next attribute data value: 8000.0
						>next attribute data value: 8.0
						>next attribute data value: 3.0
						>next attribute data value: 5.0
						>next attribute data value: 41.0
				>>next instance: 41
						>next attribute data value: 50.0
						>next attribute data value: 2000.0
						>next attribute data value: 16000.0
						>next attribute data value: 8.0
						>next attribute data value: 3.0
						>next attribute data value: 5.0
						>next attribute data value: 74.0
				>>next instance: 42
						>next attribute data value: 50.0
						>next attribute data value: 2000.0
						>next attribute data value: 16000.0
						>next attribute data value: 8.0
						>next attribute data value: 3.0
						>next attribute data value: 6.0
						>next attribute data value: 74.0
				>>next instance: 43
						>next attribute data value: 50.0
						>next attribute data value: 2000.0
						>next attribute data value: 16000.0
						>next attribute data value: 8.0
						>next attribute data value: 3.0
						>next attribute data value: 6.0
						>next attribute data value: 74.0
				>>next instance: 44
						>next attribute data value: 133.0
						>next attribute data value: 1000.0
						>next attribute data value: 12000.0
						>next attribute data value: 9.0
						>next attribute data value: 3.0
						>next attribute data value: 12.0
						>next attribute data value: 54.0
				>>next instance: 45
						>next attribute data value: 133.0
						>next attribute data value: 1000.0
						>next attribute data value: 8000.0
						>next attribute data value: 9.0
						>next attribute data value: 3.0
						>next attribute data value: 12.0
						>next attribute data value: 41.0
				>>next instance: 46
						>next attribute data value: 810.0
						>next attribute data value: 512.0
						>next attribute data value: 512.0
						>next attribute data value: 8.0
						>next attribute data value: 1.0
						>next attribute data value: 1.0
						>next attribute data value: 18.0
				>>next instance: 47
						>next attribute data value: 810.0
						>next attribute data value: 1000.0
						>next attribute data value: 5000.0
						>next attribute data value: 0.0
						>next attribute data value: 1.0
						>next attribute data value: 1.0
						>next attribute data value: 28.0
				>>next instance: 48
						>next attribute data value: 320.0
						>next attribute data value: 512.0
						>next attribute data value: 8000.0
						>next attribute data value: 4.0
						>next attribute data value: 1.0
						>next attribute data value: 5.0
						>next attribute data value: 36.0
				>>next instance: 49
						>next attribute data value: 200.0
						>next attribute data value: 512.0
						>next attribute data value: 8000.0
						>next attribute data value: 8.0
						>next attribute data value: 1.0
						>next attribute data value: 8.0
						>next attribute data value: 38.0
				>>next instance: 50
						>next attribute data value: 700.0
						>next attribute data value: 384.0
						>next attribute data value: 8000.0
						>next attribute data value: 0.0
						>next attribute data value: 1.0
						>next attribute data value: 1.0
						>next attribute data value: 34.0
				>>next instance: 51
						>next attribute data value: 700.0
						>next attribute data value: 256.0
						>next attribute data value: 2000.0
						>next attribute data value: 0.0
						>next attribute data value: 1.0
						>next attribute data value: 1.0
						>next attribute data value: 19.0
				>>next instance: 52
						>next attribute data value: 140.0
						>next attribute data value: 1000.0
						>next attribute data value: 16000.0
						>next attribute data value: 16.0
						>next attribute data value: 1.0
						>next attribute data value: 3.0
						>next attribute data value: 72.0
				>>next instance: 53
						>next attribute data value: 200.0
						>next attribute data value: 1000.0
						>next attribute data value: 8000.0
						>next attribute data value: 0.0
						>next attribute data value: 1.0
						>next attribute data value: 2.0
						>next attribute data value: 36.0
				>>next instance: 54
						>next attribute data value: 110.0
						>next attribute data value: 1000.0
						>next attribute data value: 4000.0
						>next attribute data value: 16.0
						>next attribute data value: 1.0
						>next attribute data value: 2.0
						>next attribute data value: 30.0
				>>next instance: 55
						>next attribute data value: 110.0
						>next attribute data value: 1000.0
						>next attribute data value: 12000.0
						>next attribute data value: 16.0
						>next attribute data value: 1.0
						>next attribute data value: 2.0
						>next attribute data value: 56.0
				>>next instance: 56
						>next attribute data value: 220.0
						>next attribute data value: 1000.0
						>next attribute data value: 8000.0
						>next attribute data value: 16.0
						>next attribute data value: 1.0
						>next attribute data value: 2.0
						>next attribute data value: 42.0
				>>next instance: 57
						>next attribute data value: 800.0
						>next attribute data value: 256.0
						>next attribute data value: 8000.0
						>next attribute data value: 0.0
						>next attribute data value: 1.0
						>next attribute data value: 4.0
						>next attribute data value: 34.0
				>>next instance: 58
						>next attribute data value: 800.0
						>next attribute data value: 256.0
						>next attribute data value: 8000.0
						>next attribute data value: 0.0
						>next attribute data value: 1.0
						>next attribute data value: 4.0
						>next attribute data value: 34.0
				>>next instance: 59
						>next attribute data value: 800.0
						>next attribute data value: 256.0
						>next attribute data value: 8000.0
						>next attribute data value: 0.0
						>next attribute data value: 1.0
						>next attribute data value: 4.0
						>next attribute data value: 34.0
				>>next instance: 60
						>next attribute data value: 800.0
						>next attribute data value: 256.0
						>next attribute data value: 8000.0
						>next attribute data value: 0.0
						>next attribute data value: 1.0
						>next attribute data value: 4.0
						>next attribute data value: 34.0
				>>next instance: 61
						>next attribute data value: 800.0
						>next attribute data value: 256.0
						>next attribute data value: 8000.0
						>next attribute data value: 0.0
						>next attribute data value: 1.0
						>next attribute data value: 4.0
						>next attribute data value: 34.0
				>>next instance: 62
						>next attribute data value: 125.0
						>next attribute data value: 512.0
						>next attribute data value: 1000.0
						>next attribute data value: 0.0
						>next attribute data value: 8.0
						>next attribute data value: 20.0
						>next attribute data value: 19.0
				>>next instance: 63
						>next attribute data value: 75.0
						>next attribute data value: 2000.0
						>next attribute data value: 8000.0
						>next attribute data value: 64.0
						>next attribute data value: 1.0
						>next attribute data value: 38.0
						>next attribute data value: 75.0
				>>next instance: 64
						>next attribute data value: 75.0
						>next attribute data value: 2000.0
						>next attribute data value: 16000.0
						>next attribute data value: 64.0
						>next attribute data value: 1.0
						>next attribute data value: 38.0
						>next attribute data value: 113.0
				>>next instance: 65
						>next attribute data value: 75.0
						>next attribute data value: 2000.0
						>next attribute data value: 16000.0
						>next attribute data value: 128.0
						>next attribute data value: 1.0
						>next attribute data value: 38.0
						>next attribute data value: 157.0
				>>next instance: 66
						>next attribute data value: 90.0
						>next attribute data value: 256.0
						>next attribute data value: 1000.0
						>next attribute data value: 0.0
						>next attribute data value: 3.0
						>next attribute data value: 10.0
						>next attribute data value: 18.0
				>>next instance: 67
						>next attribute data value: 105.0
						>next attribute data value: 256.0
						>next attribute data value: 2000.0
						>next attribute data value: 0.0
						>next attribute data value: 3.0
						>next attribute data value: 10.0
						>next attribute data value: 20.0
				>>next instance: 68
						>next attribute data value: 105.0
						>next attribute data value: 1000.0
						>next attribute data value: 4000.0
						>next attribute data value: 0.0
						>next attribute data value: 3.0
						>next attribute data value: 24.0
						>next attribute data value: 28.0
				>>next instance: 69
						>next attribute data value: 105.0
						>next attribute data value: 2000.0
						>next attribute data value: 4000.0
						>next attribute data value: 8.0
						>next attribute data value: 3.0
						>next attribute data value: 19.0
						>next attribute data value: 33.0
				>>next instance: 70
						>next attribute data value: 75.0
						>next attribute data value: 2000.0
						>next attribute data value: 8000.0
						>next attribute data value: 8.0
						>next attribute data value: 3.0
						>next attribute data value: 24.0
						>next attribute data value: 47.0
				>>next instance: 71
						>next attribute data value: 75.0
						>next attribute data value: 3000.0
						>next attribute data value: 8000.0
						>next attribute data value: 8.0
						>next attribute data value: 3.0
						>next attribute data value: 48.0
						>next attribute data value: 54.0
				>>next instance: 72
						>next attribute data value: 175.0
						>next attribute data value: 256.0
						>next attribute data value: 2000.0
						>next attribute data value: 0.0
						>next attribute data value: 3.0
						>next attribute data value: 24.0
						>next attribute data value: 20.0
				>>next instance: 73
						>next attribute data value: 300.0
						>next attribute data value: 768.0
						>next attribute data value: 3000.0
						>next attribute data value: 0.0
						>next attribute data value: 6.0
						>next attribute data value: 24.0
						>next attribute data value: 23.0
				>>next instance: 74
						>next attribute data value: 300.0
						>next attribute data value: 768.0
						>next attribute data value: 3000.0
						>next attribute data value: 6.0
						>next attribute data value: 6.0
						>next attribute data value: 24.0
						>next attribute data value: 25.0
				>>next instance: 75
						>next attribute data value: 300.0
						>next attribute data value: 768.0
						>next attribute data value: 12000.0
						>next attribute data value: 6.0
						>next attribute data value: 6.0
						>next attribute data value: 24.0
						>next attribute data value: 52.0
				>>next instance: 76
						>next attribute data value: 300.0
						>next attribute data value: 768.0
						>next attribute data value: 4500.0
						>next attribute data value: 0.0
						>next attribute data value: 1.0
						>next attribute data value: 24.0
						>next attribute data value: 27.0
				>>next instance: 77
						>next attribute data value: 300.0
						>next attribute data value: 384.0
						>next attribute data value: 12000.0
						>next attribute data value: 6.0
						>next attribute data value: 1.0
						>next attribute data value: 24.0
						>next attribute data value: 50.0
				>>next instance: 78
						>next attribute data value: 300.0
						>next attribute data value: 192.0
						>next attribute data value: 768.0
						>next attribute data value: 6.0
						>next attribute data value: 6.0
						>next attribute data value: 24.0
						>next attribute data value: 18.0
				>>next instance: 79
						>next attribute data value: 180.0
						>next attribute data value: 768.0
						>next attribute data value: 12000.0
						>next attribute data value: 6.0
						>next attribute data value: 1.0
						>next attribute data value: 31.0
						>next attribute data value: 53.0
				>>next instance: 80
						>next attribute data value: 330.0
						>next attribute data value: 1000.0
						>next attribute data value: 3000.0
						>next attribute data value: 0.0
						>next attribute data value: 2.0
						>next attribute data value: 4.0
						>next attribute data value: 23.0
				>>next instance: 81
						>next attribute data value: 300.0
						>next attribute data value: 1000.0
						>next attribute data value: 4000.0
						>next attribute data value: 8.0
						>next attribute data value: 3.0
						>next attribute data value: 64.0
						>next attribute data value: 30.0
				>>next instance: 82
						>next attribute data value: 300.0
						>next attribute data value: 1000.0
						>next attribute data value: 16000.0
						>next attribute data value: 8.0
						>next attribute data value: 2.0
						>next attribute data value: 112.0
						>next attribute data value: 73.0
				>>next instance: 83
						>next attribute data value: 330.0
						>next attribute data value: 1000.0
						>next attribute data value: 2000.0
						>next attribute data value: 0.0
						>next attribute data value: 1.0
						>next attribute data value: 2.0
						>next attribute data value: 20.0
				>>next instance: 84
						>next attribute data value: 330.0
						>next attribute data value: 1000.0
						>next attribute data value: 4000.0
						>next attribute data value: 0.0
						>next attribute data value: 3.0
						>next attribute data value: 6.0
						>next attribute data value: 25.0
				>>next instance: 85
						>next attribute data value: 140.0
						>next attribute data value: 2000.0
						>next attribute data value: 4000.0
						>next attribute data value: 0.0
						>next attribute data value: 3.0
						>next attribute data value: 6.0
						>next attribute data value: 28.0
				>>next instance: 86
						>next attribute data value: 140.0
						>next attribute data value: 2000.0
						>next attribute data value: 4000.0
						>next attribute data value: 0.0
						>next attribute data value: 4.0
						>next attribute data value: 8.0
						>next attribute data value: 29.0
				>>next instance: 87
						>next attribute data value: 140.0
						>next attribute data value: 2000.0
						>next attribute data value: 4000.0
						>next attribute data value: 8.0
						>next attribute data value: 1.0
						>next attribute data value: 20.0
						>next attribute data value: 32.0
				>>next instance: 88
						>next attribute data value: 140.0
						>next attribute data value: 2000.0
						>next attribute data value: 32000.0
						>next attribute data value: 32.0
						>next attribute data value: 1.0
						>next attribute data value: 20.0
						>next attribute data value: 175.0
				>>next instance: 89
						>next attribute data value: 140.0
						>next attribute data value: 2000.0
						>next attribute data value: 8000.0
						>next attribute data value: 32.0
						>next attribute data value: 1.0
						>next attribute data value: 54.0
						>next attribute data value: 57.0
				>>next instance: 90
						>next attribute data value: 140.0
						>next attribute data value: 2000.0
						>next attribute data value: 32000.0
						>next attribute data value: 32.0
						>next attribute data value: 1.0
						>next attribute data value: 54.0
						>next attribute data value: 181.0
				>>next instance: 91
						>next attribute data value: 140.0
						>next attribute data value: 2000.0
						>next attribute data value: 32000.0
						>next attribute data value: 32.0
						>next attribute data value: 1.0
						>next attribute data value: 54.0
						>next attribute data value: 181.0
				>>next instance: 92
						>next attribute data value: 140.0
						>next attribute data value: 2000.0
						>next attribute data value: 4000.0
						>next attribute data value: 8.0
						>next attribute data value: 1.0
						>next attribute data value: 20.0
						>next attribute data value: 32.0
				>>next instance: 93
						>next attribute data value: 57.0
						>next attribute data value: 4000.0
						>next attribute data value: 16000.0
						>next attribute data value: 1.0
						>next attribute data value: 6.0
						>next attribute data value: 12.0
						>next attribute data value: 82.0
				>>next instance: 94
						>next attribute data value: 57.0
						>next attribute data value: 4000.0
						>next attribute data value: 24000.0
						>next attribute data value: 64.0
						>next attribute data value: 12.0
						>next attribute data value: 16.0
						>next attribute data value: 171.0
				>>next instance: 95
						>next attribute data value: 26.0
						>next attribute data value: 16000.0
						>next attribute data value: 32000.0
						>next attribute data value: 64.0
						>next attribute data value: 16.0
						>next attribute data value: 24.0
						>next attribute data value: 361.0
				>>next instance: 96
						>next attribute data value: 26.0
						>next attribute data value: 16000.0
						>next attribute data value: 32000.0
						>next attribute data value: 64.0
						>next attribute data value: 8.0
						>next attribute data value: 24.0
						>next attribute data value: 350.0
				>>next instance: 97
						>next attribute data value: 26.0
						>next attribute data value: 8000.0
						>next attribute data value: 32000.0
						>next attribute data value: 0.0
						>next attribute data value: 8.0
						>next attribute data value: 24.0
						>next attribute data value: 220.0
				>>next instance: 98
						>next attribute data value: 26.0
						>next attribute data value: 8000.0
						>next attribute data value: 16000.0
						>next attribute data value: 0.0
						>next attribute data value: 8.0
						>next attribute data value: 16.0
						>next attribute data value: 113.0
				>>next instance: 99
						>next attribute data value: 480.0
						>next attribute data value: 96.0
						>next attribute data value: 512.0
						>next attribute data value: 0.0
						>next attribute data value: 1.0
						>next attribute data value: 1.0
						>next attribute data value: 15.0
				
			
<<<<<< Finished printing data

User avatar
gunn
Posts: 323
Joined: Thu 14. Dec 2006, 09:56
Location: TU Berlin
Contact:

Re: JRViewer does NOT display widely seperated data

Post by gunn » Thu 16. Feb 2012, 17:47

In order to make sure that JRViewer isn't displaying this data, here are two questions to consider:
1) What are the near and far clipping planes of the camera that you are using? Perhaps the points are just getting clipped away. I think the default near/far settings are (.1, 50) or so.
2) What settings do you have for sphere radius and other parameters used to render points? If the radius is too small (and I think the default is .02), then they also won't be visible.
jReality core developer

karunaMaitri
Posts: 90
Joined: Sun 16. Nov 2008, 00:24

Re: JRViewer does NOT display widely seperated data

Post by karunaMaitri » Fri 17. Feb 2012, 22:52

Thank you, Charles! I looked through the code of jReality for Clipping Planes. It appears that the clipping planes (near and far) are st in only one class, DefaultPerspective. This class is used in PolygonPipeline, which in turn is used in AbstractViewer (of de.jreality.soft, not the one in jogl). As I see it, the render method sets the "far" and "close" values. Outside AbstractViewer, there is no way of accessing the pipeline.

I want to modify or extend JRViewer so that I can set "far" and "close" clipping planes. How can I do it?

In your post, you suggested increasing the radius of points. I tried that and it gives the same results.

Your suggestions about extending/modifying JRViewer with the methods to set up clipping planes will be much appreciated.

Thanks,
Karuna

User avatar
gunn
Posts: 323
Joined: Thu 14. Dec 2006, 09:56
Location: TU Berlin
Contact:

Re: JRViewer does NOT display widely seperated data

Post by gunn » Sat 18. Feb 2012, 11:52

For example,

Code: Select all

CameraUtility.getCamera(viewer).setNear(1d);
CameraUtility.getCamera(viewer).setFar(10E5); 
Be careful that the ratio far:near doesn't get too large, since then the precision of the z-buffer is effected. 10E5 is about the maximum, I think (but I can't say for sure without doing more testing than I'm able now to do).
jReality core developer

karunaMaitri
Posts: 90
Joined: Sun 16. Nov 2008, 00:24

Re: JRViewer does NOT display widely seperated data

Post by karunaMaitri » Tue 21. Feb 2012, 21:57

Thanks Charles!

I tried your suggestion along with increasing the point size radius, and tried three different types of viewers. All of them do not display any points. I tested for various "far" distances and the result is the same.

Here are the viewers I constructed based on your suggestion.

Code: Select all

public void createViewer(SceneGraphComponent rootNode) {
		SceneGraphComponent cameraNode = new SceneGraphComponent("camera");
		SceneGraphComponent lightNode = new SceneGraphComponent("light");

		Light dl = new DirectionalLight();
		lightNode.setLight(dl);

		MatrixBuilder.euclidean().translate(0, 0, 3).assignTo(cameraNode);

		Camera camera = new Camera();
		camera.setNear(1);
		camera.setFar(this.maxDistance + 100);
		cameraNode.setCamera(camera);
		SceneGraphPath camPath = new SceneGraphPath(rootNode, cameraNode);
		camPath.push(camera);

		Viewer viewer = new Viewer();
		viewer.setSceneRoot(rootNode);
		viewer.setCameraPath(camPath);
		ToolSystem toolSystem = ToolSystem.toolSystemForViewer(viewer);
		toolSystem.initializeSceneTools();

		JFrame frame = new JFrame();
		frame.setVisible(true);
		frame.setSize(640, 480);
		frame.validate();
		frame.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent arg0) {
				System.exit(0);
			}
		});

		RenderTrigger rt = new RenderTrigger();
		rt.addSceneGraphComponent(rootNode);
		rt.addViewer(viewer);
	}
The second one:

Code: Select all

public void createViewer2(SceneGraphComponent root) {
		JRViewer v = new JRViewer();
		v.addBasicUI();
		v.addContentSupport(ContentType.Raw);
		v.setContent(root);
		v.startup();
		Viewer vs = v.getPlugin(View.class).getViewer();
		CameraUtility.getCamera(vs).setNear(1);
		CameraUtility.getCamera(vs).setFar(this.maxDistance + 1000);
	}
This is the final one:

Code: Select all

public void createViewer3(SceneGraphComponent root) {
		Viewer viewer = JRViewer.display(root);
		JRViewer view = JRViewer.getLastJRViewer();
		CameraUtility.getCamera(view.getViewer()).setNear(1);	
		CameraUtility.getCamera(view.getViewer()).setFar(this.maxDistance + 1000);	
	}
I created the following sample points to display:

Code: Select all

public double[][][] drawPoints(){
		//PointSetFactory psf = new PointSetFactory();
	    
	    double [][] vertices1 = new double[][] {
	    		{0, 0, 0}, {1, 0, 0}, {1, 1, 0}, {0, 1, 0}
	    		};
	    double [][] vertices2 = new double[][] {
	    		{0, 0, 0}, {2, 0, 0}, {2, 2, 0}, {0, 2, 0}
	    		};
	    double [][] vertices3 = new double[][] {
	    		{0, 0, 0}, {0, 3, 0}, {3, 0, 0}, {3, 3, 0}
	    		};
	    double [][] vertices4 = new double[][] {
	    		{0, 0, 0}, {0, 4, 0}, {4, 0, 0}, {4, 4, 0}
	    		};
	    double [][] vertices5 = new double[][] {
	    		{0, 0, 0}, {0, 5000, 0}, {5000, 0, 0}, {5000, 5000, 0}
	    		};
	    double [][] vertices6 = new double[][] {
	    		{0, 0, 4000}, {0, 4000, 0}, {4000, 0, 0}, {4000, 4000, 0}
	    		};
	    double[][][] vertices = new double[6][][];
	    vertices[0] = vertices1;
	    vertices[1] = vertices2;
	    vertices[2] = vertices3; 
	    vertices[3] = vertices4;
	    vertices[4] = vertices5;
	    vertices[5] = vertices6;
	    return vertices; 
	}
I spent a lot of time on this single plot with the hope that it would ease development of rest of the plots (for various kinds of geometries). So far I have no success.

**** I also noticed another problem: CoordinateSystemFactory freezes whenever I try to create an instance with a SceneGraphComponent with my original diverse point data.

Please (please!) help!

Karuna

User avatar
gunn
Posts: 323
Joined: Thu 14. Dec 2006, 09:56
Location: TU Berlin
Contact:

Re: JRViewer does NOT display widely seperated data

Post by gunn » Wed 22. Feb 2012, 10:46

You implemented the near and far clipping planes, but the code you posted does not adjust the size of the displayed points. When that is added to your sample code, things work. One sees 9 points: that is the 8 far points (16-23); the other 16 points are so close to each other that their spheres are virtually identical. As noted, one can also achieve the same affect with sprites, but then one cannot use the attenuation feature. See this tutorial for details on how points are shaded.

Code: Select all

/*
 * Created on Feb 22, 2012
 *
 */
package charlesgunn.test;

import de.jreality.geometry.PointSetFactory;
import de.jreality.geometry.PointSetUtility;
import de.jreality.math.Pn;
import de.jreality.plugin.JRViewer;
import de.jreality.plugin.JRViewer.ContentType;
import de.jreality.plugin.basic.View;
import de.jreality.scene.Appearance;
import de.jreality.scene.SceneGraphComponent;
import de.jreality.scene.Viewer;
import de.jreality.shader.CommonAttributes;
import de.jreality.util.CameraUtility;

public class TestKaruna {

	public void createViewer3(SceneGraphComponent root) {
	      Viewer viewer = JRViewer.display(root);
	      JRViewer view = JRViewer.getLastJRViewer();
	      // encompass sets near, far planes and moves camera as needed to see whole world
	      CameraUtility.encompass(view.getViewer(), root, false, Pn.EUCLIDEAN);
	   }
	public SceneGraphComponent drawPoints(){
	       double [][] vertices1 = new double[][] {
	             {0, 0, 0}, {1, 0, 0}, {1, 1, 0}, {0, 1, 0},
	             {0, 0, 0}, {2, 0, 0}, {2, 2, 0}, {0, 2, 0},
	             {0, 0, 0}, {0, 3, 0}, {3, 0, 0}, {3, 3, 0},
	             {0, 0, 0}, {0, 4, 0}, {4, 0, 0}, {4, 4, 0},
	             {0, 0, 0}, {0, 5000, 0}, {5000, 0, 0}, {5000, 5000, 0},
	             {0, 0, 4000}, {0, 4000, 0}, {4000, 0, 0}, {4000, 4000, 0}};
	     
	  	 PointSetFactory psf= new PointSetFactory();
		 psf.setVertexCount(vertices1.length);
		 psf.setVertexCoordinates(vertices1);
		 psf.update();
		 SceneGraphComponent sgc = new SceneGraphComponent();
		 sgc.setGeometry(psf.getPointSet());
		 Appearance ap = new Appearance();
		 ap.setAttribute(CommonAttributes.SPHERES_DRAW, true); // false also works here, 
		 ap.setAttribute(CommonAttributes.ATTENUATE_POINT_SIZE, false); // but then this must be false
		 ap.setAttribute(CommonAttributes.POINT_RADIUS, 50.0);   // for spheres
		 ap.setAttribute(CommonAttributes.POINT_SIZE, 10.0);		// for "sprites"
		 sgc.setAppearance(ap);
		 return sgc;
	   }
	
	public static void main(String[] argv)	{
		TestKaruna tk = new TestKaruna();
		tk.createViewer3(tk.drawPoints());
	}
}
jReality core developer

karunaMaitri
Posts: 90
Joined: Sun 16. Nov 2008, 00:24

Re: JRViewer does NOT display widely seperated data

Post by karunaMaitri » Thu 23. Feb 2012, 08:35

Thank you very much, Charles! It worked!

Thanks again!
Karuna

Post Reply