![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| SuperRembo |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 24.11.2008 Репутация: нет Всего: нет |
Здравствуйте!
Пишу презентационную программу для поиска экстремальных значений функции минимума и максимума и графически отображаю это с помощью Canvas. Всё это работает на троих файлах, первый это Index.htm в нём организованы фреймы:
Эти два фреймы очень взаимосвязаны первый это пульт управления и инициализатор, второй отображает результат и график: Dashboard.htm (Пульт)
и Graph.htm (график):
А вот собственно проблемы. 1. Как вы заметили пульт изменяет параметры графика, программа ещё не дописана, и много елементов ещё не уместны... из-за специфики работы с канвой (Canvas), одну из переменных (стартовая граница а) пришлось обьявлять локально в одной из функций, а вывод графика организововать с помощу рекурсии. Необходима возможность её изменять, если Вы попробуйте запустить программу и протестировать, то заметите, что границу b можно изменять как угодно, но границу а - нет. После редактирование во времемя работы программы этой границы, программа перестаёт нормально функционировать... 2. Проблема с маштабированием. Автомаштабирование происходит в функции Analize(); в следующих строках scaleY = (yc / 2) / (max - min); scaleX = (xc - 200) / (b-a); вместо (yc / 2) должно быть просто yc, а вместо (xc - 200) - xc. xc и yc множатся на 0.8 для создания рамки, но умножение почему-то происходит не коректно 3. Хотелось бы при создании канвы: <canvas width="700" height="700" id="canvas" style="position:absolute; top:10px; left:10; border-style:solid; border-width:thin"></canvas> вместо чисел 700 использовать переменные, но похоже что использование в данном случае переменных не возможно, но в подобных формах переменные я использовал, наверняка с канвой это не проходит, но если можно, то подскажите как. 4. Можно ли опредилить расширение компютера на котором запускаеться эта программа, и автоматически подстраивать размер канвы и фрейма для коректного отображения на любых мониторах. 5. В (пульте) используеться кнопки увеличить/уменьшить, в программе используеться инкременты и декрем., при попытки организовать таким образом: onclick="BorderB.value.numb+=0.1" - значения слаживались как текстовые, что нужно для указания на сложение чисел? Очень Вас прошу помочь с решением, спасибо за внимание, буду очень благодарен за помощь хоть с одной из этих проблем. Этот же вопрос на http://forums.realcoding.net/index.php?showtopic=22509. (Были решены некоторые вопросы) Это сообщение отредактировал(а) SuperRembo - 19.2.2009, 22:10 |
||||||
|
|||||||
| acdcee |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 5.7.2007 Репутация: нет Всего: 1 |
Для того что бы сложение двух значение
c = a + b; происходило не как сложение строк т.е "строка1"+"строка2" нужно использовать parseInt - для целых чисел, и parseFloat - для чисел с плавающей точкой.
аргументы функции parseInt - parseInt(value, base) - гле value это перменная передаваемая в parseInt, а base - это система исчесления шестадцатиричная, восмеричная или десятичная. Если в строке "Test string" parseInt не найдет не одного числа то она вернет NaN - это можно проверить так
В том месте где тебе нужно выводить canvas напиши так: document.write('<canvas width="'+width+'" height="'+height+'" id="canvas" style="position:absolute; top:10px; left:10; border-style:solid; border-width:thin"><\/canvas>'); где width и height - переменные со значением ширины и высоты соотвественно. можно определить размер ширины body для IE
для FF
|
||||||||
|
|||||||||
| SuperRembo |
|
||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 24.11.2008 Репутация: нет Всего: нет |
Вау!!! Спасибо, со многим помогли! )) А на первый вопрос ничего не сможете сказать, у меня работа из-за этой проблемы простаивает ( |
||||||||||
|
|||||||||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |