Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 07.11.2015
Сообщений: 19

Невидимые линии

22.12.2015, 12:33. Показов 1419. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, не могу разобраться с алгоритмом Робертса, чтобы сделать невидимые линии у куба и пирамиды. Пыталась разобраться по университетским лекциям и методичкам, которые нам советовали + пара объяснений, которые в гугле нашла. Можете объяснить "на пальцах", что и в каком порядке делать или же скинуть/посоветовать, что и где прочитать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.12.2015, 12:33
Ответы с готовыми решениями:

Невидимые столбцы в DBGridEh
Подскажите, пожалуйста,как программно скрыть столбцы в DBGridEh?

Невидимые символы в Memo?
Добрый день. По заданию нужно сделать программу, которая шифрует текст\файлы различными методами. использую библиотеку dcpcrypt ...

Невидимые линии и контур
Доброго времени суток, имеется куб, как реализовать прорисовку его контура (ребер), для это необходимо рисовать линии вручную или имеется...

6
4041 / 2653 / 582
Регистрация: 11.09.2009
Сообщений: 9,474
22.12.2015, 15:22
Цитата Сообщение от AugenLos Посмотреть сообщение
+ пара объяснений, которые в гугле нашла.
Их там значительно больше. Вот тут, например, первое попавшееся объяснение всего на одной страничке. Что именно в таком объяснении вам непонятно?
0
0 / 0 / 0
Регистрация: 07.11.2015
Сообщений: 19
22.12.2015, 15:33  [ТС]
i8085,
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure TLizaKub.KubDraw;
var i: integer;
begin
  PaintBox1.Canvas.Pen.Color:=colk;
  for i:=1 to 5 do begin
      ku[i,1]:=trunc(80*sin(a+i*pi/2));
      ku[i,2]:=trunc(-20*cos(a+i*pi/2));
  end;
  for i:=1 to 4 do begin
    PaintBox1.Canvas.MoveTo(200+ku[i,1],100+ku[i,2]);       //Встаём на i вершину
    PaintBox1.Canvas.LineTo(200+ku[i+1,1],100+ku[i+1,2]);   //Рисуем линию к i + 1 вершине
    PaintBox1.Canvas.MoveTo(200+ku[i,1],200+ku[i,2]);       //Встаём на i вершину 2го квадрата
    PaintBox1.Canvas.LineTo(200+ku[i+1,1],200+ku[i+1,2]);   //Рисуем линию к i + 1 вершине 2го квадрата
    PaintBox1.Canvas.LineTo(200+ku[i+1,1],100+ku[i+1,2]);   //Соединяем вершины квадратов
  end;
end;
Вот сама моя фигура (куб). Я не понимаю, как написать/найти уравнения для плоскостей такие, чтобы они соответствовали уже существующему в программе кубу.
0
4041 / 2653 / 582
Регистрация: 11.09.2009
Сообщений: 9,474
22.12.2015, 21:53
Цитата Сообщение от AugenLos Посмотреть сообщение
не могу разобраться с алгоритмом Робертса
Использование этого алгоритма предполагает наличие некоторых базовых математических знаний, которых у вас, по-видимому, нет, раз вы не смогли в своём коде разглядеть координаты вершин.
объяснить "на пальцах" на таком уровне, как вы просите, вряд ли возможно, так что если действительно хотите разобраться, то начните с изучения основ пространственной геометрии, чтобы понимать более сложные объяснения.
0
0 / 0 / 0
Регистрация: 07.11.2015
Сообщений: 19
23.12.2015, 08:06  [ТС]
i8085, Проблема не в геометрии, а в том, что у куба 5, а не 8 вершин. Это в любом случае не понятно, поэтому и плоскости по 5 точкам высчитать я не могу
0
4041 / 2653 / 582
Регистрация: 11.09.2009
Сообщений: 9,474
23.12.2015, 18:59
Цитата Сообщение от AugenLos Посмотреть сообщение
Проблема не в геометрии...
Конечно не в геометрии. Проблема - в её понимании.

Возьмите лист бумаги и карандаш. Прямо по тексту вашей программы, выполняя её в уме, попробуйте рисовать. Посмотрите, что получится.
Если с этим разберётесь, у вас не будут больше возникать вопросы "Почему у куба 5 вершин".
0
0 / 0 / 0
Регистрация: 07.11.2015
Сообщений: 19
24.12.2015, 00:59  [ТС]
Разобралась. Подсказали, что конкретно алгоритм Робертса для такого куба будет сложно выполнить, по-крайней мере не по обычному алгоритму. Задала вершины куба отдельными координатами, чтобы потом уже определить грани и доделать остальное

Добавлено через 2 минуты
i8085, Спасибо, но по-крайней мере по словам моего преподавателя это будет неверно для моего куба почти в любом случае. Это лишняя дополнительная работа, которую можно убрать, изменив сам куб, остальное мне понятно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.12.2015, 00:59
Помогаю со студенческими работами здесь

Убрать невидимые линии у фигуры
Здравствуйте, не могу додуматься насчёт того, как убрать из фигуры невидимые линии. Знаю, что можно это как-то смоделировать при помощи...

Изобразить на экране конус, выделив пунктиром невидимые линии
Значит так, есть задание: 1. Изобразить на экране конус, выделив пунктиром невидимые линии. Провести высоту конуса и радиус основания....

Изобразить на экране куб, выделив пунктиром невидимые линии
Помогите, пожалуйста, написать программу на Lazarus: Изобразить на экране куб, выделив пунктиром невидимые линии. Вывести на экран формулу...

как закрасить ( или сделать Штрихпунктирными ) "невидимые линии" в 3-х мерном изображении
Здравствуйте. Подскажите пожалуйста, как закрасить ( или сделать Штрихпунктирными ) "невидимые линии" в 3-х мерном изображении ? ...

Форма делится на сектора. Курсором мыши можно рисовать линии. Цвет линии зависит
Народ спасайте. Задача такова " Форма делится на сектора (их количество задает пользователь). Курсором мыши можно рисовать линии. Цвет...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru