Форум программистов, компьютерный форум, киберфорум
OpenGL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/29: Рейтинг темы: голосов - 29, средняя оценка - 4.90
134 / 7 / 8
Регистрация: 06.06.2012
Сообщений: 46

Нарисовать 1/8 сферы

23.09.2019, 15:49. Показов 6370. Ответов 30

Студворк — интернет-сервис помощи студентам
Добрый день, необходимо нарисовать 1/8 сферы, как это можно реализовать?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.09.2019, 15:49
Ответы с готовыми решениями:

Написать код, чтобы нарисовать сферы различных форм
Господа специалисты помогите написать код "Чайнику" в матлабе чтобы нарисовать сферы различных форм как на рис во вложении. ...

Найти высоту h, соответствующую положению равновесия шарика относительно сферы, и реакцию сферы N
Вот задача -- сфера радиусом R = 2 м равномерно вращается вокруг оси симметрии с частотой (n) 30 мин-1. Внутри сферы находится шарик массой...

Нарисовать флаг, нарисовать график y=ctg x Нарисовать анимацию
Дело таково у меня сейчас практика, где я очень не успиваю сделать все свои задания... Большая просьба кто готов помочь, пишите а кто...

30
9949 / 2949 / 497
Регистрация: 05.10.2013
Сообщений: 8,026
Записей в блоге: 242
26.09.2019, 14:01
Студворк — интернет-сервис помощи студентам
Если на этом заканчиваются ваше знакомство с OpenGL, то так пойдёт. Но если вы захотите продолжить, то стоит отметить, что glBegin использовали в 90x, а сейчас этот способ рисования является "deprecated" или "legacy". glBegin был удалён из OpenGL 3.2 Core в 2009 году. Так же этот способ был удалён из планшетов, смартфонов и т.д. И этот способ не был реализован в WebGL 1.0 в 2011 году. Используйте версию OpenGL 3, потому что она самая распространённая и поддерживается на большинстве платформ. Шейдеры рулят!

Добавлено через 34 минуты
На будущее, если вдруг захотите изучать шейдерный OpenGL, я вам оставлю здесь пример рисования треугольника, где для связки C# и OpenGL (а так же для математики: вектора, матрицы и т.д.) используется библиотека OpenTK. У OpenTK есть большие преимущества: имеется контрол, который позволяет комбинировать 3D графику на OpenGL и GUI на WinForms и WPF. Можно использовать для создания полезных не игровых 3D приложений для инженерии, науки, демонстраций работы механизмов, математических процессов, медицины, контсрукторов и т.д.

С этим примером можно изучать туториал: https://opentk.net/learn/chapt... indow.html

WPF:


WinForms:
1
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
26.09.2019, 20:58
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Можно использовать для создания полезных не игровых 3D приложений для инженерии, науки, демонстраций работы механизмов, математических процессов, медицины, контсрукторов и т.д.
где ты берешь такие великолепные примеры? и что читаешь?
0
26.09.2019, 21:23

Не по теме:

Цитата Сообщение от Antikl Посмотреть сообщение
где ты берешь такие великолепные примеры? и что читаешь?
Что-то сам придумываю, но в основном вдохновляюсь примерами из книги и интернета. Я столько книг накачал и курсов на английском, что места для фильмов уже не осталось, пришлось всё лишнее поудалять. Всё тоже что и другие могут найти в интернете

0
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
26.09.2019, 22:22
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Всё тоже что и другие могут найти в интернете
а на русском не удалось найти?
0
26.09.2019, 23:45

Не по теме:

Цитата Сообщение от Antikl Посмотреть сообщение
а на русском не удалось найти?
Я на русском уже давно никогда ничего не пытаюсь найти. Сразу ищу на английском. За одно и английский практикую.

0
 Аватар для COKPOWEHEU
4090 / 2688 / 432
Регистрация: 09.09.2017
Сообщений: 11,963
27.09.2019, 10:33
Цитата Сообщение от niksn13
const float PI = 3.141592f;
А чем M_PI из math.h не устроил?
float radius = 2.0f;
int gradation = 50;
Было бы логично вынести в аргументы функции. И долю сферы тоже:
C
1
static void sphere(float R, float num_triangles, float sector_angle)
glBegin(GL_TRIANGLES);
Там, наверное, должно быть GL_TRIANGLE_STRIP чтобы без дырок отображалось
#include <Windows.h>
Возможно, стоит посмотреть в сторону кроссплатформенных библиотек вроде SDL, SFML, GLFW. Помимо универсальности, сам код тоже получится проще. Вот, например, код вывода графика синуса.
Цитата Сообщение от 8Observer8 Посмотреть сообщение
glBegin был удалён из OpenGL 3.2 Core в 2009 году.
В смысле удален? Им же все еще можно пользоваться для совместимости со старым кодом. Или таки поломали?
0
134 / 7 / 8
Регистрация: 06.06.2012
Сообщений: 46
27.09.2019, 11:05  [ТС]
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
А чем M_PI из math.h не устроил?
почему-то не находила у меня это визуалка

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Там, наверное, должно быть GL_TRIANGLE_STRIP чтобы без дырок отображалось
ну мне надо было с дырками)

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Было бы логично вынести в аргументы функции. И долю сферы тоже:
ну это конечно логично, но не обязательно

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Возможно, стоит посмотреть в сторону кроссплатформенных библиотек
конечно стоит, но я не преследовал целей написания идеального кода, поэтому меня вполне устроил результат



если подойти к этому основательно, то менять надо очень много и очень долго, углубляться в opengl и конечно же реализовывать все красиво и более современно, нежели чем код, который был написан "Для галочки"
0
9949 / 2949 / 497
Регистрация: 05.10.2013
Сообщений: 8,026
Записей в блоге: 242
27.09.2019, 12:28
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
В смысле удален? Им же все еще можно пользоваться для совместимости со старым кодом. Или таки поломали?
Да, удалён из OpenGL 3.2 Core Profile. Для совместимости сделали отдельную спецификацию OpenGL 3.2 Compatibility Profile. Теперь для совместимости идёт отдельная Compatibility спецификация для каждой версии OpenGLА вот на Android и iOS удалили старую функциональность полностью. При разработки спецификации WebGL старую функциональность даже не стали включать, сразу от неё отказались.

Добавлено через 19 минут
Цитата Сообщение от niksn13 Посмотреть сообщение
если подойти к этому основательно, то менять надо очень много и очень долго, углубляться в opengl и конечно же реализовывать все красиво и более современно, нежели чем код, который был написан "Для галочки"
По своему опыту могу сказать, что на практике всегда есть к чему стремиться и самосовершенствованию нет конца. При этом никогда не будет такого, что вы прочитаете книгу типа "Каким писать совершенный код с использованием OpenGL" и такой начнёте писать и будет получаться красивый код. Нет, такого не будет. Всё даётся через рутину, через переписывание, через ошибки, которые долго не можешь найти. Но ошибки - это очень хорошо, потому что помогают лучше и углубиться в код. Сам OpenGL для большинства базовых повседневных вещей - это довольно простая штука. Сложнее всего разбираться с обычной математикой: линейная алгебра (матрицы, вектора, кватернионы), геометрия, тригонометрия, математический анализ (если дело доходит до симуляции физики). Мой любимый предмет в школе был - геометрия, а в универе - линейная (векторая) алгебра и аналитическая геометрия. Для меня графика - это единственная возможность объединить вместе все мои любимые предметы. Должна быть очень сильная мотивация для изучения математики компьютерной графики. По сути вся компьютерная графики - это и есть сплошная математика, а OpenGL - это лишь инструмент простого и прозрачного взаимодействия с железом.
0
134 / 7 / 8
Регистрация: 06.06.2012
Сообщений: 46
27.09.2019, 14:24  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
При этом никогда не будет такого, что вы прочитаете книгу типа "Каким писать совершенный код с использованием OpenGL" и такой начнёте писать и будет получаться красивый код
ну это так абсолютно всегда, с любым делом, если прочитать книгу "Как писать калиграфическим почерком" калиграфического почерка от этого не будет, во всем нужны тренировки и чем тренировок больше, тем ближе можно стать к совершениству, но при этом понятие совершенства тоже можно рассматривать с разных сторон
0
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
27.09.2019, 21:00
Цитата Сообщение от niksn13 Посмотреть сообщение
Как писать калиграфическим почерком
книга
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
28.09.2019, 09:14
Сколько внимания задаче 2*2, особенно что есть коды по первой ссылке в гугле.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.09.2019, 09:14
Помогаю со студенческими работами здесь

Сферы применения с++
Всем привет) Подскажите пожалуйста где можно применять c++?Веб?Низкоуровневые задачи? Заранее спасиб)

Визуализация сферы
Здравствуйте, пишу программу под Android на OpenGL ES2. Нужно создать сферу, чтобы производить в дальнейшем с ней действия. Я подумал и...

Создание 3D сферы
Здравствуйте, Меня интересует простенький пример создания 3D сферы в wpf. В интернете примеров мало, а те, что есть представлены в...

Движение сферы
саму сферы я создала на OpenGl, нашла инфу, как двигатся вокруг себя (т е вокруг своей оси) а вот как заставить ее двигаться ...

Рисование сферы
подскажите фунцию рисования сферы. вот пример из книги (супер книга опенгл) я попытался взять отдельную часть кода. void...


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

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
[golang] Двоичная куча, min-heap
alhaos 20.05.2026
Двоичная куча Двоичная куча — структура данных, которая всегда держит самый важный элемент наготове. Представьте очередь к хилеру в игре, и очередь из игроков в приоритете те у кого меньше. . .
[golang] Breadth-First Search
alhaos 19.05.2026
BFS (Breadth-First Search) — это базовый алгоритм обхода графа в ширину, который поуровнево исследует все связанные вершины. Он начинает с выбранной точки и проверяет всех соседей, прежде чем. . .
[golang] Алгоритм «Хак Госпера»
alhaos 17.05.2026
Алгоритм «Хак Госпера» Хак Госпера (Gosper's Hack) — алгоритм нахождения следующего по величине числа с тем же количеством установленных бит. Придуман Биллом Госпером в 1970-х, опубликован в. . .
Рисование бинарного древа до 6-го колена на js, svg.
russiannick 17.05.2026
<svg width="335" height="240" viewBox="0 0 335 240" fill="#e5e1bb"> <style> <!]> </ style> <g id="bush"> </ g> </ svg> function fn(){ let rost;/ / высота древа let xx=165,yy=210,w=256;
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов, содержащихся в реализации модуля. По-умолчанию все члены модуля доступны: module Foo let x = 10 let boo () = printfn "boo" . . .
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible". . .
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru