Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование мультимедиа
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Arina5
1 / 1 / 3
Регистрация: 17.06.2010
Сообщений: 71
#1

Моделирование поверхности Безье - Графика и игры

10.10.2011, 11:55. Просмотров 1622. Ответов 6
Метки нет (Все метки)

Здравствуйте, может у кого-нибудь есть программа по моделированию поверхности Безье? Очень нужно!
Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2011, 11:55
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Моделирование поверхности Безье (Графика и игры):

Уравнение кривой Безье
Добрый день. Получила задание, но не совсем понимаю как его решать:...

Нормаль к поверхности (треугольнику)
Всем здравствуйте. Мне нужна помощь в решении такого вопроса. Получаю значение...

Координаты точки на поверхности
Коллеги, не могу решить во такую задачу: Есть 3 точки в пространстве...

[OPENGL] Ваза из поверхности безье
Взял урок нехе 28. Нарисовал половинку Вазы: Пошаманил получи немного...

Процедуры и функции для построения Поверхности Безье
Доброго времени суток! Уважаемые пользователи! Я совершенно полный ламер в...

Создание поверхности сдвига сплайн функции Безье. Вай
Ух ребята. Контрольная работа тут у меня. Но не стоит паниковать. Я тут уже...

6
SoproMaster
50 / 50 / 1
Регистрация: 12.10.2009
Сообщений: 152
11.10.2011, 01:25 #2
Было бы не плохо если бы вы сказали для каких целей она нужна и на каком языке. Вот прога на делфи: http://www.delphisources.ru/pages/so...play-line.html
Да вообщем то программ дофига. В гугле ссылок куча.
0
Arina5
1 / 1 / 3
Регистрация: 17.06.2010
Сообщений: 71
17.10.2011, 16:12  [ТС] #3
Желательно в OpenGL. Нужно разобраться с кодом программы .
0
SoproMaster
50 / 50 / 1
Регистрация: 12.10.2009
Сообщений: 152
17.10.2011, 16:40 #4
В таком случае вы не много не корректно поставили вопрос. Вот то что вам нужно: http://pmg.org.ru/nehe/nehe28.htm
1
Arina5
1 / 1 / 3
Регистрация: 17.06.2010
Сообщений: 71
01.11.2011, 15:15  [ТС] #5
а исходник у кого-нибудь есть? Плз
0
Arina5
1 / 1 / 3
Регистрация: 17.06.2010
Сообщений: 71
26.11.2011, 14:48  [ТС] #6
Вот нашла исходный код
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
package glredbook10;
 
import java.awt.event.*;
import javax.swing.*;
 
import java.nio.*;
 
import javax.media.opengl.*;
import javax.media.opengl.glu.*;
import com.sun.opengl.util.*; 
 
public class bezsurf
  extends JFrame
    implements GLEventListener, KeyListener
{
  private GLU glu;
  private GLUT glut;
  private GLCapabilities caps;
  private GLCanvas canvas; 
  // as from C version of file
  private static final float ctrlpoints[][][] = new float[][][]
  {
  {
  { -1.5f, -1.5f, 4.0f },
  { -0.5f, -1.5f, 2.0f },
  { 0.5f, -1.5f, -1.0f },
  { 1.5f, -1.5f, 2.0f } },
  {
  { -1.5f, -0.5f, 1.0f },
  { -0.5f, -0.5f, 3.0f },
  { 0.5f, -0.5f, 0.0f },
  { 1.5f, -0.5f, -1.0f } },
  {
  { -1.5f, 0.5f, 4.0f },
  { -0.5f, 0.5f, 0.0f },
  { 0.5f, 0.5f, 3.0f },
  { 1.5f, 0.5f, 4.0f } },
  {
  { -1.5f, 1.5f, -2.0f },
  { -0.5f, 1.5f, -2.0f },
  { 0.5f, 1.5f, 0.0f },
  { 1.5f, 1.5f, -1.0f } } };
  // need float buffer instead of n-dimensional array above
  private FloatBuffer ctrlpointsBuf = BufferUtil
      .newFloatBuffer(ctrlpoints.length * ctrlpoints[0].length
                      * ctrlpoints[0][0].length);
  {// SO copy 4x4x3 array above to float buffer
    for (int i = 0; i < ctrlpoints.length; i++)
    {
      // System.out.print(ctrlpoints.length+ " ");
      for (int j = 0; j < ctrlpoints[0].length; j++)
      {
        // System.out.println(ctrlpoints[0][0].length+" ");
        for (int k = 0; k < ctrlpoints[0][0].length; k++)
        {
          ctrlpointsBuf.put(ctrlpoints[i][j][k]);
          System.out.print(ctrlpoints[i][j][k] + " ");
        }
        System.out.println();
      }
    }
    // THEN rewind it before use
    ctrlpointsBuf.rewind();
  }
 
 
  public bezsurf()
  {
    super("bezsurf");
 
    caps = new GLCapabilities();
    canvas = new GLCanvas(caps);
    canvas.addGLEventListener(this);
    canvas.addKeyListener(this);
 
    getContentPane().add(canvas);
  }
 
  public void run()
  {
    setSize(512, 256);
    setLocationRelativeTo(null);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
    canvas.requestFocusInWindow();
  }
 
  public static void main(String[] args)
  {
    new bezsurf().run();
  }
 
  public void init(GLAutoDrawable drawable)
  {
    GL gl = drawable.getGL();
    glu = new GLU();
    glut = new GLUT();
 
    gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
    gl.glEnable(GL.GL_DEPTH_TEST);
 
    gl.glEnable(GL.GL_MAP2_VERTEX_3);
    gl.glEnable(GL.GL_AUTO_NORMAL);
    gl.glEnable(GL.GL_NORMALIZE);
    gl.glMap2f(GL.GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, ctrlpointsBuf);
    gl.glMapGrid2f(20, 0.0f, 1.0f, 20, 0.0f, 1.0f);
 
    initlights(gl);
  }
 
  public void display(GLAutoDrawable drawable)
  {
    GL gl = drawable.getGL();
 
    gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
    gl.glPushMatrix();
    gl.glRotatef(85.0f, 1.0f, 1.0f, 1.0f);
    gl.glEvalMesh2(GL.GL_FILL, 0, 20, 0, 20);
    gl.glPopMatrix();
    gl.glFlush();
  }
 
  public void reshape(GLAutoDrawable drawable, int x, int y, int w, int h)
  {
    GL gl = drawable.getGL();
 
    gl.glViewport(0, 0, w, h);
    gl.glMatrixMode(GL.GL_PROJECTION);
    gl.glLoadIdentity();
    if (w <= h) gl.glOrtho(-4.0, 4.0, -4.0 * (float) h / (float) w,
        4.0 * (float) h / (float) w, -4.0, 4.0);
    else gl.glOrtho(-4.0 * (float) w / (float) h, 4.0 * (float) w / (float) h,
        -4.0, 4.0, -4.0, 4.0);
    gl.glMatrixMode(GL.GL_MODELVIEW);
    gl.glLoadIdentity();
  }
 
  public void displayChanged(GLAutoDrawable drawable, boolean modeChanged,
      boolean deviceChanged)
  {
  }
 
  private void initlights(GL gl)
  {
    float ambient[] =
    { 0.2f, 0.2f, 0.2f, 1.0f };
    float position[] =
    { 0.0f, 0.0f, 2.0f, 1.0f };
    float mat_diffuse[] =
    { 0.6f, 0.6f, 0.6f, 1.0f };
    float mat_specular[] =
    { 1.0f, 1.0f, 1.0f, 1.0f };
    float mat_shininess[] =
    { 50.0f };
 
    gl.glEnable(GL.GL_LIGHTING);
    gl.glEnable(GL.GL_LIGHT0);
 
    gl.glLightfv(GL.GL_LIGHT0, GL.GL_AMBIENT, ambient, 0);
    gl.glLightfv(GL.GL_LIGHT0, GL.GL_POSITION, position, 0);
 
    gl.glMaterialfv(GL.GL_FRONT, GL.GL_DIFFUSE, mat_diffuse, 0);
    gl.glMaterialfv(GL.GL_FRONT, GL.GL_SPECULAR, mat_specular, 0);
    gl.glMaterialfv(GL.GL_FRONT, GL.GL_SHININESS, mat_shininess, 0);
  }
 
  public void keyTyped(KeyEvent key)
  {
  }
 
  public void keyPressed(KeyEvent key)
  {
    switch (key.getKeyCode()) {
      case KeyEvent.VK_ESCAPE:
        System.exit(0);
        break;
 
      default:
        break;
    }
  }
 
  public void keyReleased(KeyEvent key)
  {
  }
}
пыталась запустить через IntelliJ IDEA не получилось, может кто подскажет ??
0
AncinetHero
49 / 49 / 12
Регистрация: 22.05.2011
Сообщений: 326
27.11.2011, 10:50 #7
Вам дали ссылку, что вам еще нужно?
1
27.11.2011, 10:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2011, 10:50
Привет! Вот еще темы с решениями:

Моделирование изображения поверхности
Я написала программу, вроде бы правильно, только мне выдаёт, что я использовала...

Моделирование водной поверхности
Почитав пару статей про моделирование воды на геймдеве остались вопросы (там не...

Моделирование поверхности через qml
Доброго времени суток столкнулся с проблемой нужно смоделировать поверхность,...

Моделирование преломления луча на плоской поверхности
Помогите вроде не так сложно но я непонимаю. нужно световой обьект который...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru