Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование игр, графики и искусственного интеллекта > Могу ли я реализовать это


Автор: tatbesidovska 20.10.2010, 15:41
Никогда не программировала в 3D. В основном базы данных в Visual Studio. Тут приходит начальник и говорит. Хочу такую программу: ща опишу, как смогу.
Значит, есть у меня предположим палуба на корабле, определенного замера. На нее можно загрузить груз определенного размера и веса. Так вот он хочет к примеру ввести высоту, ширину и вес груза, получить фигуру по введенным данным, покрутить ее во все стороны и поставить ее на палубу, ухватив мышкой. Ну и таким образом заставить всю палубу. Не могу понять, с чего начать. Могу ли я реализовать всю эту красоту в Visual Studio. Знаю C#,VB. Заранее спасибо

Автор: bars80080 20.10.2010, 19:15
если он только хочет покрутить и поставить, то может ему googl sketchup поможет?

там можно нарисовать палубу, ему останется только сделать прямоугольник нужной площади и поднять его до некоторой высоты. а дальше крути как хош, полное 3D

Автор: tatbesidovska 21.10.2010, 07:48
нет, это не выход. нужна своя программа:(

Автор: bars80080 21.10.2010, 13:43
ну, как бэ, в добрый путь. сводить друг с другом трёхмерные модели - штука интересная (жаль только, что мозг иногда ломается)

лучше, имхо, всё же какую-нибудь библиотеку найти

Автор: EgoBrain 27.10.2010, 00:56
Всё реально это сделать на Managed DirectX (C#). Главное чтоб он не сказал потом учитывать параметры шхуны, полотность воды, и от этого изменять уровень погружения.  smile 

Автор: Rickert 27.10.2010, 05:06
Модератор: Название темы должно отражать ее суть!

Автор: mrbrooks 27.10.2010, 08:23
Цитата(tatbesidovska @  20.10.2010,  16:41 Найти цитируемый пост)
Могу ли я реализовать всю эту красоту в Visual Studio. Знаю C#,VB.

XNA

Автор: CatOleg 2.11.2010, 10:34
используй WPF вот пример куба в XAML
Код

<Page
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Grid>  
         <Viewport3D RenderTransformOrigin="0.5,0.5" >
            <Viewport3D.Camera>
                    <PerspectiveCamera x:Name="camera" Position="0.5 0.5 5" LookDirection="0 0 -5" />
            </Viewport3D.Camera>
            <ModelVisual3D>
                <ModelVisual3D.Content>
                        <DirectionalLight x:Name="dirLightMain" Direction="-1 -1 -1" />
                </ModelVisual3D.Content>
            </ModelVisual3D>
            <ModelVisual3D>
                <ModelVisual3D.Content>
                    <GeometryModel3D>
                        <GeometryModel3D.Geometry>
                                <MeshGeometry3D x:Name="meshMain"  
                                    Positions="0 0 0  1 0 0  0 1 0  1 1 0  0 0 1  1 0 1  0 1 1  1 1 1"  
                                    TriangleIndices="2 3 1  2 1 0  7 1 3  7 5 1  6 5 7  6 4 5  6 2 4  2 0 4  2 7 3  2 6 7  0 1 5  0 5 4" />
                        </GeometryModel3D.Geometry>
                        <GeometryModel3D.Material>
                            <DiffuseMaterial x:Name="matDiffuseMain">
                                <DiffuseMaterial.Brush>
                                    <SolidColorBrush Color="Yellow" />
                                </DiffuseMaterial.Brush>
                            </DiffuseMaterial>
                        </GeometryModel3D.Material>
                            <GeometryModel3D.Transform>
                                <Transform3DGroup>
                                    <RotateTransform3D x:Name="xRotation" CenterX="0.5" CenterY="0.5" CenterZ="0.5" >
                                        <RotateTransform3D.Rotation>
                                            <AxisAngleRotation3D Axis="1,0,0" Angle="30" />
                                        </RotateTransform3D.Rotation>
                                    </RotateTransform3D>
                                    <RotateTransform3D x:Name="yRotation" CenterX="0.5" CenterY="0.5" CenterZ="0.5" >
                                        <RotateTransform3D.Rotation>
                                            <AxisAngleRotation3D Axis="0,1,0" Angle="45" />
                                        </RotateTransform3D.Rotation>
                                    </RotateTransform3D>
                                </Transform3DGroup>
                            </GeometryModel3D.Transform>
                        </GeometryModel3D>
                </ModelVisual3D.Content>
            </ModelVisual3D>
        </Viewport3D> 
  </Grid>
</Page>


и книга по основам - http://depositfiles.com/ru/files/om5zyp2dd

Автор: SVN74 2.11.2010, 11:47
Используйте DarkBasicPro (есть бесплатный).
Писанины минимум.
Вот пример вращающегося куба все в 4 строки.

Код

make object cube 1, 50  // это создаем куб под номером 1  с размером 50 х 50
do                                 // это начало бесконечного цикла
turn object right 1, 1    // это мы вращаем наш куб со скоростью 1
loop                            // конец цикла
 

Впечатляет?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)