SURFSHOW (3D Viewer)
Copyright © 2000 KCMSoft


Colors: Net & Text 
           Filling 
        Background 

Perspective     
Fill flag Labels flag

Апплет SURFSHOW представляет собой 3D вьюер для поверхности однозначного (в математическом смысле) графика функции типа z=f(x,y). График можно представлять в виде сетки (прозрачный) или в виде непрозрачной поверхности. Возможны манипуляции с перспективой и цветом.

Средство разработки: MS Visual J++ 1.1
Средства тестирования: MS Personal Web Server (Windows 95 OSR2 v 4.00.950 B), MSIE 4.0 v.4.72.3110.8, Java VM (MS DevStudio 6.0; Java Language Engine v.6.00.8163), PC Celeron 433 (RAM 64MB)

После загрузки апплет начинает качать файл, указанный в параметре FileName тега <applet>, так что придется немного подождать. Если все нормально, появляется сетка (вид поверхности снизу). Кликнете маусом на окне апплета и повозите курсором по экрану, не отпуская кнопки. Для настройки цветов там всяких, перспектив и прочей лабуды пощелкайте на сером фоне под апплетом, а вдруг чё получится. Если Вас это не впечатляет пишите мне. Если Вы обалдели, то тоже пишите.

Вот как можно задать параметры апплета:

<applet  code=surfshow.class
         width=300
         height=300 >
//имя файла на сервере с данными
//(если указан только файл,
//то он берется с адреса загрузки апплета).
<param name="FileName" value="HTTP://MySuperSite/3D.xl">
//цвет сетки и текста
<param name="TC" value="0"> 
//цвет заливки
<param name="FC" value="10"> 
//цвет фона
<param name="BG" value="12"> 
//флаг заливки поверхности, если "true", то да, иначе нет
<param name="fFill" value="true"> 
//флаг меток на осях, если "true", то метки есть, иначе нет
<param name="fLabels" value="true">
//перспектива (допустимые значения 0..1)
<param name="Perspective" value="0.75"> 
</applet>
Комментарии после бэкслэшев писать не надо. Цвета представляют собой индексы (для простоты динамического изменения) и имеют такое соответствие:
black - 0blue - 1cyan - 2darkGray - 3 gray - 4green - 5lightGray - 6magenta - 7
orange - 8pink - 9red - 10white - 11 yellow - 12

Если Вы могёте писать на каком-нибудь скриптовом языке (JScript|VBScript), дам для Вас описание поддерживаемых функций.

SetColors(int NetColor, int FillColor, int BackGrColor) - надеюсь, с этой функцией усё ясно.
int GetTCColor(),int GetFCColor(),int GetBGColor() - возвращают соответсвенно индексы для цветов сетки, заливки и бэкграунда.
boolean GetfFill(),SetfFill(boolean flag) - парные функции для возвращения и установки флага заливки графика.
boolean GetfLabels(),SetfLabels(boolean flag)- парные функции для возвращения и установки флага вывода меток на осях.
boolean SetPerspective(String a) - устанавливает "новую перспективу", возвращает true, если все правильно.
String GetPerspective() - получает информацию о перспективе.
String AboutPerspective() - возвращает информацию о валидном интервале перспективы.
String getAppletInfo() - выдает информацию об апплете.
Собственно все эти функции реализованы в этой странице, можете посмотреть код или попробовать сами.

PS. Хотелось бы еще кое-что видеть в своей неподражаемой работе, да пока бог не дал, а я не взял. Замеченный глюк: на WinNT4.0 при выходе графика за границы области появляются полосы (не правильно отрабатывает функция drawPolyline). Под 98-ой глюк не наблюдался. А так вроде бы все чики-пуки.
Просьба, если обнаружите какие-нибудь глюки, напишите c Subject = surfshow.


[HOME] [JAVA] [PERL] [ActiveX] [DHTML] [Products] [Articles]

Copyright ©  webmaster