Вверх ↑
Этот топик читают: Гость
Ответов: 26
Рейтинг: 6
#1: 2010-06-15 18:58:16 ЛС | профиль | цитата
Мне необходимо создать Звездное небо.
1.Есть файл, в котором даны название и 2 координаты.
2.Необходимо загрузить их и провести расчет над каждой звездной и отобразить с новыми координатами.
3.При клике на звезде должно выходить окно с сообщением название+координаты.

У меня 2 вопроса:
1.Это возможно?
2.Подскажите от каких элементов надо отталкиваться для загрузки и отображения звезд.

карма: 1

0
Ответов: 1926
Рейтинг: 172
#2: 2010-06-15 20:32:54 ЛС | профиль | цитата
1. Какой формат файла? Если файл легко прочитать (декодировать), то проблем быть не должно.
2. Ну вот хотя бы от этих - для вывода изображения:
code_18880.txt

Для загрузки - зависит от формата файла. Если простой текстовый, то

Add(StrList,9607669,77,224)
{
}
со вкладки "Строки".
карма: 9
0
файлы: 1code_18880.txt [142B] [162]
Ответов: 1304
Рейтинг: 405
#3: 2010-06-15 20:49:13 ЛС | профиль | цитата
1.Есть файл, в котором даны название и 2 координаты.

покажи пример или сам каталог
2.Необходимо загрузить их и провести расчет над каждой звездной и отобразить с новыми координатами.

из какой системы координат в какую?
Каталог случайно не FK4?

карма: 3

0
Ответов: 26
Рейтинг: 6
#4: 2010-06-15 22:08:20 ЛС | профиль | цитата
MAV
Каталог будет свой, но на основе FK5, упрощен как видите. Файл в Файлообменике Каталог1. Формат самого каталога текстовый.
В файле даны координаты а и б (экваториальная система) переводим в горизонтальную(высота и азимут). Тут всё понятно: как пересчитать, формулы есть.. Формулы не привожу так требуется еще надстройка других неизвестных, сами формулы не имеют значения. Вопрос здесь как пересчитать весь каталог?

3042
Если рисовать, то 2 вопроса: массовость и сообщение при нажатии как можно реализовать?
карма: 1

0
Ответов: 1926
Рейтинг: 172
#5: 2010-06-15 22:17:11 ЛС | профиль | цитата
code_18886.txt
карма: 9
0
файлы: 1code_18886.txt [1.4KB] [232]
Ответов: 1304
Рейтинг: 405
#6: 2010-06-16 00:18:54 ЛС | профиль | цитата
Dseren, проще наверное будет рисовать в экваториальной системе координат, но это уже завтра.
карма: 3

0
Ответов: 26
Рейтинг: 6
#7: 2010-06-16 20:25:47 ЛС | профиль | цитата
3042
Я так понимаю так...

Add(MainForm,3418386,553,77)
{
Width=1119
Height=536
}
Add(ArrayFind,8236864,756,511)
{
@Color=43520
Partial=0
link(onFind,6650514:doCompare,[])
link(Array,4897250:Var2,[(762,337)(888,337)])
link(Value,1731774:MouseX,[(776,411)(608,411)])
}
Add(Message,1305558,1176,91)
{
@Color=43520
}
Add(ArrayEnum,2581754,679,280)
{
@Color=16755200
link(onItem,1611444:doEvent1,[])
link(Array,5491523:Var2,[(685,263)(818,263)])
}
Add(PaintBox,1731774,595,280)
{
@Color=16755200
Left=5
Top=5
Width=1085
Height=485
Color=-16777196
Point(onMouseDown)
Point(MouseX)
Point(MouseY)
link(onBeforeDraw,2581754:doEnum,[])
link(onMouseDown,8236864:doFind,[(723,293)(723,517)])
}
Add(Img_Point,6726938,805,336)
{
@Color=16755200
Color=255
Size=3
Point(X)
Point(Y)
link(Bitmap,1731774:Bitmap,[(811,324)(601,324)])
link(X,13002286art2,[])
link(Y,13002286art3,[])
}
Add(MultiStrPart,13002286,805,280)
{
@Color=16755200
Char="9"
Count=3
}
Add(Hub,1611444,728,280)
{
link(onEvent1,13002286:doSplit,[])
link(onEvent2,6726938:doDraw,[(774,293)(774,342)])
}
Add(StrList,9920300,798,85)
{
@Color=16755200
Strings=#33:THE OCT 12,026571944 76,93428889|34:30 PSC 100,032675278 5,985916667|34:2 CET 500,062330833 16,66400278|29:233 red 60,078137222 70,5631|34:33 PSC 200,088928889 4,292386111|30:056 r56 10,113916667 22,89245|36:ALP AND 135,139795833 29,09043889|35:BET CAS 55,152970833 59,14977222|33:EPS PHE 34,156849722 44,25255833|33:22 AND 77,172015833 46,07228056|33:KAP2 SCL 45,192899167 26,20024444|33:THE SCL 23,195559444 34,86689722|
Point(doGetString)
Point(onGetString)
link(onGetString,1305558:doMessage,[(1006,98)(1006,97)])
}
Add(GetDataEx,5491523,812,175)
{
link(Data,9920300:Array,[])
}
Add(ArrayFind,15825554,924,518)
{
@Color=43520
Partial=0
link(onFind,9920300:doGetString,[(968,524)(968,328)(786,328)(786,133)])
link(Array,4897250:Var3,[(930,180)])
link(Value,1731774:MouseY,[(944,415)(615,415)])
}
Add(If_else,6650514,833,511)
{
@Color=43520
Op2=Real(-1)
link(onFalse,15825554:doFind,[])
}
Add(GetDataEx,4897250,882,175)
{
Angle=3
link(Data,5491523:Var3,[])
}
Add(PointHint,8450341,588,154)
{
Info=#20:загрузка и рисование|
Width=183
Height=95
}
Add(PointHint,7948996,994,469)
{
Info=#29:Поиск координат мыши в списке|
Width=183
Height=95
}
Но возникает трудность, уж очень точно надо попасть в точку.(точки размера 3, каталог уже есть в нем 12 звезд)

MAV писал(а):
Dseren, проще наверное будет рисовать в экваториальной системе координат, но это уже завтра.
что ж жду...
карма: 1

0
Ответов: 1926
Рейтинг: 172
#8: 2010-06-16 20:33:38 ЛС | профиль | цитата

Add(PointInRect,1208713,301,672)
{
}

С помощью него можно задать прямоугольник, куда можно тыкнуть.
карма: 9
0
Ответов: 26
Рейтинг: 6
#9: 2010-06-16 22:19:59 ЛС | профиль | цитата
Вот так вышло:

Add(MainForm,3418386,406,168)
{
Width=1119
Height=536
}
Add(ArrayFind,8236864,630,602)
{
@Color=43520
Partial=0
link(onFind,6650514:doCompare,[])
link(Array,4897250:Var2,[(636,428)(741,428)])
link(Value,10489984:Var2,[(650,502)(461,502)])
}
Add(Message,1305558,1029,182)
{
@Color=43520
}
Add(ArrayEnum,2581754,532,371)
{
@Color=16755200
link(onItem,1611444:doEvent1,[])
link(Array,5491523:Var2,[(538,354)(671,354)])
}
Add(PaintBox,1731774,448,371)
{
@Color=16755200
Left=5
Top=5
Width=1085
Height=485
Color=-16777196
Point(onMouseDown)
Point(MouseX)
Point(MouseY)
link(onBeforeDraw,2581754:doEnum,[])
link(onMouseDown,2584907:doWork1,[(502,384)(502,608)])
}
Add(Img_Point,6726938,658,427)
{
@Color=16755200
Color=255
Size=3
Point(X)
Point(Y)
link(Bitmap,1731774:Bitmap,[(664,415)(454,415)])
link(X,13002286:Part2,[])
link(Y,13002286:Part3,[])
}
Add(MultiStrPart,13002286,658,371)
{
@Color=16755200
Char="9"
Count=3
}
Add(Hub,1611444,581,371)
{
link(onEvent1,13002286:doSplit,[])
link(onEvent2,6726938:doDraw,[(627,384)(627,433)])
}
Add(StrList,9920300,651,176)
{
@Color=16755200
Strings=#33:THE OCT 12,026571944 76,93428889|34:30 PSC 100,032675278 5,985916667|34:2 CET 500,062330833 16,66400278|29:233 red 60,078137222 70,5631|34:33 PSC 200,088928889 4,292386111|30:056 r56 10,113916667 22,89245|36:ALP AND 135,139795833 29,09043889|35:BET CAS 55,152970833 59,14977222|33:EPS PHE 34,156849722 44,25255833|33:22 AND 77,172015833 46,07228056|33:KAP2 SCL 45,192899167 26,20024444|33:THE SCL 23,195559444 34,86689722|
Point(doGetString)
Point(onGetString)
link(onGetString,1305558:doMessage,[(859,189)(859,188)])
}
Add(GetDataEx,5491523,665,266)
{
link(Data,9920300:Array,[])
}
Add(ArrayFind,15825554,735,609)
{
@Color=43520
Partial=0
link(onFind,9920300:doGetString,[(821,615)(821,419)(639,419)(639,224)])
link(Array,4897250:Var3,[(741,271)])
link(Value,3635340:Var2,[(755,506)(468,506)])
}
Add(If_else,6650514,679,602)
{
@Color=43520
Op2=Real(-1)
link(onFalse,15825554:doFind,[])
}
Add(GetDataEx,4897250,735,266)
{
Angle=3
link(Data,5491523:Var3,[])
}
Add(PointHint,8450341,441,245)
{
Info=#20:загрузка и рисование|
Width=183
Height=95
}
Add(PointHint,7948996,644,651)
{
Info=#29:Поиск координат мыши в списке|
Width=183
Height=95
}
Add(GetDataEx,10489984,455,476)
{
link(Data,1731774:MouseX,[])
}
Add(GetDataEx,3635340,462,462)
{
link(Data,1731774:MouseY,[])
}
Add(MultiElement,2584907,525,602)
{
@Color=5636095
link(onEvent1,8236864:doFind,[])
link(Data1,10489984:Var3,[(531,481)])
link(Data2,3635340:Var3,[(538,467)])
}
BEGIN_SDK
Add(EditMulti,11385554,21,21)
{
EventCount=2
WorkCount=1
DataCount=2
Width=195
Height=151
link(doWork1,3863425:doEvent1,[(210,27)(210,321)])
}
Add(PointInRect,1208713,595,371)
{
@Color=5636095
Point2AsOffset=0
link(onTrue,11385554:onEvent1,[(639,377)(639,202)(309,202)(309,27)])
link(onFalse,11385554:onEvent2,[(639,384)(639,209)(309,209)(309,34)])
link(Point,11861739:Point,[(601,335)(496,335)])
link(RPoint1,13621300:Point,[(608,320)(692,320)])
link(RPoint2,12197227:Point,[(615,320)(559,320)])
}
Add(PointXY,11861739,490,266)
{
@Color=5636095
link(X,12651515:Var2,[(496,204)(405,204)])
link(Y,2663128:Var2,[(503,211)(412,211)])
}
Add(PointXY,12197227,553,259)
{
@Color=5636095
link(X,3906067:Result,[])
link(Y,15554686:Result,[(566,226)(594,226)])
}
Add(PointXY,13621300,686,252)
{
@Color=5636095
link(X,13758855:Result,[(692,208)(671,208)])
link(Y,140152:Result,[(699,208)(727,208)])
}
Add(Math,3906067,553,161)
{
@Color=5636095
Op2=0.4
link(Op1,218076:Var2,[(559,131)(531,131)])
}
Add(Math,15554686,588,161)
{
@Color=5636095
Op2=0.4
link(Op1,11493839:Var2,[(594,121)(538,121)])
}
Add(Math,13758855,665,161)
{
@Color=5636095
OpType=1
Op2=0.4
link(Op1,218076:Var3,[(671,96)])
}
Add(Math,140152,721,161)
{
@Color=5636095
OpType=1
Op2=0.4
link(Op1,11493839:Var3,[(727,103)])
}
Add(GetDataEx,218076,525,91)
{
link(Data,12651515:Var3,[(531,85)(469,85)(469,138)])
}
Add(GetDataEx,11493839,532,98)
{
link(Data,2663128:Var3,[(538,92)(476,92)(476,152)])
}
Add(GetDataEx,12651515,399,133)
{
link(Data,11385554:Data1,[(405,126)(27,126)])
}
Add(GetDataEx,2663128,406,147)
{
link(Data,11385554:Data2,[(412,126)(34,126)])
}
Add(Hub,3863425,245,315)
{
@Color=5636095
OutCount=5
link(onEvent1,3906067:doOperation,[(406,321)(406,167)])
link(onEvent2,15554686:doOperation,[(423,328)(423,167)])
link(onEvent3,13758855:doOperation,[(462,335)(462,167)])
link(onEvent4,140152:doOperation,[(490,342)(490,167)])
link(onEvent5,1208713:doCheck,[(329,349)(329,377)])
}
END_SDK
Add(PointHint,559438,434,637)
{
Info=#28:построение квадрата для мыши|
Width=155
Height=46
}


но есть "ложные" срабатывание. при нажатии - выдает пустое сообщение...
карма: 1

0
Ответов: 1379
Рейтинг: 86
#10: 2010-06-16 22:27:38 ЛС | профиль | цитата
[offtop]Dseren, код вставляется между тегами code, a не scroll [/offtop]
карма: 0

0
Ответов: 1304
Рейтинг: 405
#11: 2010-06-17 00:58:27 ЛС | профиль | цитата
Dseren, хотел сделать пример на компонентах из вкладки WinManControls(Plotter), да не совсем получилось. Нехватило динамически изменяемых параметров. Набросок с фрагментом оригинального каталога fk5.
p.s завтра ещё пример помучаю
------------------------------------------------------------------------------------------------
Вопрос к Dilma, может стоит добавить в элемент PlotMarker, точку данных "Text".
карма: 3

0
Ответов: 1926
Рейтинг: 172
#12: 2010-06-17 07:21:10 ЛС | профиль | цитата
У меня вообще вот это почему-то в списке в схеме:
THE OCT 12,026571944 76,93428889|
30 P


33 PSC 200,088928889 4,292386111|

ALP AND 135,139795833 29,09043889|35:BET CAS 55,15297083


KA
TH





23,195559444 34,8668972

карма: 9
1
Голосовали:Dseren
Ответов: 26
Рейтинг: 6
#13: 2010-06-17 17:27:23 ЛС | профиль | цитата
3042 писал(а):
У меня вообще вот это почему-то в списке в схеме:

Не знаю, может не так копирую(((
но должно быть:

    HE OCT 12,026571944 76,93428889
    30 PSC 100,032675278 5,985916667
    2 CET 500,062330833 16,66400278
    233 red 60,078137222 70,5631
    33 PSC 200,088928889 4,292386111
    056 r56 10,113916667 22,89245
    ALP AND 135,139795833 29,09043889
    BET CAS 55,152970833 59,14977222
    EPS PHE 34,156849722 44,25255833
    22 AND 77,172015833 46,07228056
    KAP2 SCL 45,192899167 26,20024444
    THE SCL 23,195559444 34,86689722
MAV писал(а):
Dseren, хотел сделать пример на компонентах из вкладки WinManControls(Plotter)

Интересно и красиво получилось , да остаётся вопрос как привязать точку к инфе??? использовать поиск массиве, координат мышь?(мой код 2)?
карма: 1

0
Ответов: 1304
Рейтинг: 405
#14: 2010-06-19 01:37:43 ЛС | профиль | цитата
Dseren, ну вот ещё помучил пример, привязал инфу к координатам мыши, добавил звездная величину, по аналогии можно привязать к спектральному классу. Есть у этого решения и недостатки, за удобство использования элементов группы Plotter приходится расплачиваться заморочками с точным позиционированием мыши, поэтому пример работает корректно только на больших разрешениях экрана 1360х768 и более.
В каталоге оставил только базовые 1535 звёзд, для добавления имён лучше создать список имён с нумерацией как в каталоге чем потрошить сам каталог.
http://www.hiasm.com//getfile/18934
карма: 3

2
файлы: 1fk5_2_.rar [76.3KB] [298]
Голосовали:sla8a, Dseren
Ответов: 2265
Рейтинг: 676
#15: 2010-06-19 01:56:04 ЛС | профиль | цитата
MAV, а все впихнуть в ScrollBox и выставить нужный размер Plotter-у?
карма: 11

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)