Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 3d-графика, C чего начать? 
:(
    Опции темы
RedButterfly
  Дата 25.9.2006, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



Вот такое вот задание:
Содержание экрана:
· пространственный чертеж с изображением точки Т, ее проекций Т1, Т2, Т3 и линий связи; 
· комплексный чертеж с изображением проекций Т1, Т2, Т3 и линий связи; 
· ползунковые переключатели для интерактивного изменения координат (x, y, z) точки Т. 
Динамика:
· при изменении координат точки Т должны изменяться соответствующие проекции и сама точка Т на пространственном и комплексном чертежах. 

Помогите ссылками и литературой пожалуйста.
PM MAIL ICQ Skype   Вверх
y3u
Дата 25.9.2006, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 9.9.2006
Где: Москва

Репутация: нет
Всего: 13



ну для начала понадобится почитать начальную литературку хотя бы по векторам и алгебре матриц. Откуда нужно почерпнуть информацию о представлении точки в пространстве, о матрицах поворота, масштабирования, транспонирования и т.д... Можно, к примеру, теорию почитать, скажем, Шишикин и Боресков - эти авторы много литературы про компьютерную графику написали. Затем можно почитать статейки и простенькие примеры на тему OpenGL в windows, OpenGL портированый на Java имеет очень похожий, если не идентичный API, да и подход к программированию на этом API один и тот же. Затем можно посомтреть вот этот порт OpenGL на джаву, там поолно примеров и вроде есть мануал. 

ПыСы
во, вспомнил, наикрутейший справочник по программированию 3D графики, весьма полезен, очень информативен и буквально с азов все разжевано, в бумажном варианте каждый программист маст хев - Серия "для профессионалов" Френсис Хилл OpenGL программирование компьютерной графики

Это сообщение отредактировал(а) y3u - 25.9.2006, 21:44


--------------------
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
PM MAIL   Вверх
RedButterfly
Дата 27.9.2006, 07:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



спасибоsmile
PM MAIL ICQ Skype   Вверх
LSD
Дата 27.9.2006, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Посмотри так же Daniel Selman - Java 3D Programming.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
RedButterfly
Дата 15.10.2006, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



я так понимаю вот этот код из книги Дейтела есть функция и что надо дописать окошко....ведь тут нет метода main ... 
Код

import java.awt.*;
import java.awt.event.*;
import java.net.*;
// пакет расширений Java 
import javax.swing.event.*;
import javax.media.j3d.*;
import javax.vecmath.*;
// пакеты утилит Java3D
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.image.*;
import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.behaviors.mouse.*;
public class Java3DWorld extends Canvas3D{
    private Appearance appearance; // внешний вид 3D-объекта 
    private Light ambienLight; // внешнее освещение стены
    private Box shape; // 3D-объект для манипулирования
    private Color3f lightColor; // цвет освещения
    private Light directionalLight;
    private Material material; // цвет 3D-объектов
    private SimpleUniverse simpleUniverse; // среда 3D-сцены 
    private TextureLoader textureLoader; //текстура 3D-объекта 
    // содержит информацию о преобразовании
    private TransformGroup transformGroup;
    private String imageName; // имя файла текстуры
    // конструктор Java3DWorld
    publiс Java3DWorld(String imageFileName){
        super(SimpleUniverse.getPreferredConfiguration());
        imageName = imageFileName;
        // создание SimpleUniverse (трехмерной графической среды)
        simpleUniverse = new SimpleUniverse(this);
        // задание умалчиываемой точки наблюдения сцены
        ViewingPlatform viewingPlatform = simpleUniverse.getViewingPlatform();
        viewingPlatform.setNormalViewingTransform();
        // создание трехмерной сцены
        BranchGroup branchGroup = createScene();
        // подключение BranchGroup к SimpleUniverse
        simpleUniverse.addBranchGraph(branchGroup);
    }// конец конструктора Java3DWorld
    // создание трехмерной сцены
    public BranchGroup createScene() {
        BranchGroup scene  = new BranchGroup();
        // инициализация объекта TransformGroup
        transformGroup = new YransformGroup();
        // установка разрешения на запись для TransformGroup
        transformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
        transformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
        // добавление TransformGroup в BranchGroup
        scene.addChild(transformGroup);
        // создание ограничивающей сферы BoundingsSphere
        BoundingSphere bounds = new BoudingSphere(new Point3D(0.0f,0.0f,0.0f),100.0);
        appearanse = new Appearace(); // создание оформления объекта
        material = new Material(); //создание материала текстуры
        appearance.setmaterial(material);
        String rgb = new String("RGB");
        // загрузка текстуры для объекта сцены
        textureLoader = new TextureLoader(Java3DWolrd.class.getResource(imageName), rgb, this);
        // установка битов для использования текстуры
        textureloader.getTexture().setCapability(Texture.ALLOW_ENABLE_WRITE);
        // исходная текстура отображаться не будет
        textureloader.getTexture().setEnable(false);
        // задание текстуры для объекта
        appearance.setTexture(Textureloader.getTexture());
        // создание геометрии объекта
        Box shape = new Box(0.3f,0.3f,0.3f, Box.GENERATE_NORMALS|Box.GENERATE_TEXTURE_COORDS, appearance);
        // добавление геометрии в группу TransformGroup
        transformGroup.addChild(shape);
        // инициализация внешнего освещения Ambienlight
        ambienLight = new Ambienlight();
        ambienLight.setInfluencingBounds(bounds);
        // инициализация направленного освещения
        directionalLight = DirectionalLight();
        lightColor = new Color3f(); // инициализация света освещения
        // установка начального цвета DirectionalLight
        directionalLight.setColor(lightColor);
        // установка битов разрешения на ????? 
        // цвета Color и направления Direction 
        directionalLight.setCapability(DirectionalLight.ALLOW_DIRECTION_WRITE);
        directionalLight.setCapability(DirectionalLight.ALLOW_DIRECTION_READ);
        directionalLight.setCapability(DirectionalLight.ALLOW_COLOR_WRITE);
        directionalLight.setCapability(DirectionalLight.ALLOW_COLOR_READ);
        directionalLight.setInfluencingBounds(bounds);
        // добавление углов освещения в BranchGroup
        scene.addChild(ambienLight);
        scene.addChild(directionalLight);
        // инициализация поведения для вращения
        MouseRotate rotateBehavior = new MouseRotate();
        rotateBehavior.setTransformGroup(transformGroup);
        rotateBehavior.setSchedulingBounds(bounds);
        // инициализация поведения для перемещения
        MouseTranslate translateBehavior = new MouseTranslate();
        translateBehavior.setSchedulingBouds(newBoudingBox(new Point3D(-1.0f,-1.0f,-1.0f), 
                new Point3D(1.0f,1.0f,1.0f)));
        //инициализация поведения для масштабирования
        MouseZoom scaleBehavior = new MouseZoom();
        scaleBehavior.settransformGroup(transformGroup);
        scaleBehavior.setSchedulingBounds(bounds);
        // добавление поведений в BranchGroup
        scene.addChild(scaleBehavior);
        scene.addChild(rotateBehavior);
        scene.addChild(translateBehavior);
        scene.compile();
        return scene;
    }// конец метода createScene
    // измененние цвета освещения DirectionLight
    public void changeColor(Color color) {
        lightColor.set(color);
        directionalLight.setColor(lughtColor);
    }
    // наложение текстуры    
    public void updateTexture(boolean textureValue) {
        texttureLoader.getTexture().setEnable(textureValue);
        }
    // изменение изображения текстуры
    public void setImageName(String imageFileName) {
        imageName = imageFileName;
    }
    // получение имени файла изображения
    public String getImageName() {
        return imagename;
    }
    // возврат предпочтительных размеров контейнера
    public Dimension getPreferredSize() {
        return new Dimension(500,500);
    }
    // возврат минимального размера контейнера
    public Dimension getMinimumSize() {
        return getPreferredSize();
    }
    }



PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.