Эту задачу можно разделить на такие подзадачи:
- UI, т.е. обеспечить ввод данных и вывод картинки
- построение фигуры по введённым данным
- рендеринг фигуры, т.е. построение проекции из 3D в 2D.
Можно, например, разделить окно на две панели. Слева будут компоненты для ввода данных, а справа — Canvas.
Внизу на левой панели будет находиться кнопка "Построить", которая при клике должна будет:
- Очистить Canvas.
- Построить (в памяти) фигуру из отрезков в 3D-пространстве (т.е. наполнить список кортежей из двух точек, которые являются кортежами из трёх чисел).
- Построить проекцию всех этих точек в 2D-пространство (т.е. наполнить список кортежей из двух точек, которые являются координатами из двух чисел). Самый простой способ это сделать — использовать ортогональную проекцию (грубо говоря, сплющить одно измерение). Потом уже можно будет почитать про другие проекции (аксонометрическую, перспективную).
- Эти 2D-линии добавить на Canvas.
Это, конечно, не OpenGL, но для учебных целей неплохой вариант.
Вращение мышкой — по сути дела эквивалентно быстрому многократному нажатию на кнопку "Построить" с изменением положения камеры, только по событиям мыши на объекте Canvas, а не по клику на кнопке. Я предлагаю сначала это не делать.