|
Подскажите обработка координат XYZ
|
|||
---|---|---|---|
#18+
В фоксе нет многомерных массивов, а только двухмерные, т.е аа[X,Y,Z] не прокатит, допустим мне надо обработать объект имеющий форму куба, в том числе и все внутренние точки. Я предполагаю создать табличку с полями X,Y,Z,"здесь дополнительные свойства точки" - D1,D2... Поля X,Y,Z - числа от 0 до N. Как правильно создать составной индекс для трех числовых полей, т.е X,Y,Z - Integer. И как вести поиск координаты по этому составному индексу. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2008, 21:08 |
|
Подскажите обработка координат XYZ
|
|||
---|---|---|---|
#18+
Правильно ли я делаю составной индекс bintoc(x)+bintoc(y)+bintoc(z) т.к. каждая координата уникальна то делаю индекс Primary ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2008, 21:19 |
|
Подскажите обработка координат XYZ
|
|||
---|---|---|---|
#18+
Guest12345Правильно ли я делаю составной индекс bintoc(x)+bintoc(y)+bintoc(z) Правильно при SET COLLATE TO "MACHINE" ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2008, 21:37 |
|
Подскажите обработка координат XYZ
|
|||
---|---|---|---|
#18+
Guest12345Правильно ли я делаю составной индекс bintoc(x)+bintoc(y)+bintoc(z) Если подходить чисто формально, то это правильно. Guest12345т.к. каждая координата уникальна то делаю индекс Primary А вот это не есть хорошо. Это идеологически не верно. Цель индекса Primary - это установка связей с другими таблицами. Если Вы связываете эту таблицу с какой-либо еще и в качестве Foregn Key (внешнего ключа) в этой другой таблице используете эти 3 поля, то индекс типа Primary - уместен. Если же Ваша цель всего-лишь проверка уникальности данных. Т.е. недопущение появления еще одной записи с теми же координатами, то следует использовать индекс типа Candidad. Если же у Вас вообще не стоит задача проверки уникальности координат, а индекс нужен для ускорения поиска и запросов Select-SQL, то я бы не советовал создавать составной индекс. Лучше сделать 3 отдельных простых индекса по каждому из полей. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2008, 22:05 |
|
Подскажите обработка координат XYZ
|
|||
---|---|---|---|
#18+
Guest12345В фоксе нет многомерных массивов, а только двухмерные, т.е аа[X,Y,Z] не прокатит, Э? А я-то, серый, все время считал, что масивы в Фоксе - это список указателей, то есть всегда одномерны. Просто для удобства работы с таблицами (а массивы в Фоксе изначально нацелены на scatter, gather, into array, from array) интерпретатор поддерживает вторую размерность, а больше и не надо - таблицы-то максимум двумерны. Посему размерность можете делать сами, какую захотите. Просто придется для каждого массива описать две функции - извлечение элемента по индексам и запись. Вот вариант для предопределенного массива public: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Поскольку мы сами управляем чтением-записью, можно сделать и "полууниверсальную" функцию: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2008, 01:05 |
|
|
start [/forum/topic.php?fid=41&msg=35594708&tid=1587178]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
59ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 149ms |
0 / 0 |