Автор Тема: Написание скриптов.  (Прочитано 395 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн -andrey-

  • Житель
Написание скриптов.
« : 01 Ноября 2016, 23:52:44 »
  Начал читать книгу, вообще не совсем понятно:
вот на рисунке представление данных о кубе, собственно рисунок вообще не понятный - нет иерархии деталей меша, стало быть выбрав любую деталь - будь то вершина, грань, ребро, можно узнать её составляющие или наоборот - частью чего она является.
и непонятно то, что меш создаётся не через указания координат вершин, а через указание углов, что на первый взгляд (второго пока не приобрёл) не только усложняет задачу, но и ставит под сомнение точность меша (всё равно будут допуски при расчётах углов, видимо так и появляются иногда неизвестно от куда откланения в десятитысячные доли единиц отсчёта по осям координат).
Вот пример создания куба из книги
from Blender import Mesh,Scene
corners=[ (-1,-1,-1), (1,-1,-1), (1,1,-1), (-1,1,-1),
 (-1,-1, 1), (1,-1, 1), (1,1, 1), (-1,1,1) ]
sides= [ (0,1,2,3), (4,5,6,7), (0,1,5,4), (1,2,6,5),
 (2,3,7,6), (3,0,4,7) ]
me = Mesh.New('Cube')
me.verts.extend(corners)
me.faces.extend(sides)
scn = Scene.GetCurrent()
ob = scn.objects.new(me, 'Cube')
Поясните пожалуйста, по мне проще вбивать координаты, на начальном этапе, а вообще всё зависит от выполняемой задачи - что за меш редактируется.

Оффлайн -andrey-

  • Житель
Re: Написание скриптов.
« Ответ #1 : 01 Ноября 2016, 23:59:52 »
Хотя, прошу прощения, кажется мне просто не хватает терпения и просто нужно читать дальше, но от подсказки не откажусь, так книги действительно пишут путано, о чём в них и говорят, точнее в переводах.

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Написание скриптов.
« Ответ #2 : 02 Ноября 2016, 02:22:30 »
>> кажется мне просто не хватает терпения и просто нужно читать дальше
... это правильное направление, по ходу ещё заглядывай в blender api и понимание кода будет более полное ...

>> меш создаётся не через указания координат вершин, а через указание углов
... ты сам привёл пример где это не так! ...
... если что, то вот ещё пример http://blender-3d.ru/forum/index.php/topic,327.msg11052.html#msg11052 ...
Для Кота

Оффлайн -andrey-

  • Житель
Re: Написание скриптов.
« Ответ #3 : 02 Ноября 2016, 20:34:19 »
Блин да это перевод такой, там написано углы, а не их позиции. Только сейчас понял в чём разгадка. Я ещё думал как так может быть
Цитировать
Мы начинаем с определения списка углов. Каждый из восьми углов представлен кортежем трех чисел - это координаты x, y, и z.
что угол описывается тремя координатами. И вроде не баран, даже спор на киберфорум выигрывал, у кодера с образованием, на предмет абстрактного мышления. Реально он проспорил - он описал абстрактное мышление по системе по которой их учили, я взял пол-года на ответ и выиграл спор.
Вот это сбило с толку и был поздний вечер уже
Цитировать
Важно получить эти индексы в правильном порядке: если мы захотим указать первую сторону как (0,1,3,2), мы получим грань, искривленную, как галстук-бабочка.
Теперь-то всё понятно, помогло замечание того, что я сам привел пример где это не так, sungreen, спасибо, от души :). Если-бы я просто читал дальше - я бы вообще ничего не понял-бы, а только дальше запутывался.
« Последнее редактирование: 02 Ноября 2016, 21:03:56 от -andrey- »

Оффлайн LanuHum

  • Житель
Re: Написание скриптов.
« Ответ #4 : 02 Ноября 2016, 21:41:41 »
Блин да это перевод такой, там написано углы, а не их позиции. Только сейчас понял в чём разгадка. Я ещё думал как так может быть

Иди вот сюда:
http://striver00.ru/
Там есть вот это:
Примеры кода. Введение в написание скриптов на Python для Blender 2.5x. Striver переводит отлично, непонятно только для кого, если тут сидят и загадки разгадывают. :o

Оффлайн Striver

  • Житель
    • http://striver00.ru
Re: Написание скриптов.
« Ответ #5 : 02 Ноября 2016, 23:39:17 »
Не знаю, что за книга обсуждается, но попытаюсь вступиться за автора...
Если бы была какая-нибудь сложная конструкция, то вряд-ли бы её вершины назвали "углами", но вот применительно к кубу это вполне обычное понятие: "Вот куб, у него 8 углов", так же как "Вот квадрат, у него 4 угла". Конечно, это может добавить дополнительной путаницы, но вина автора гораздо меньше, чем у тех, кто называет рёбра словом "грани" (а такие на русскоязычных форумах по Блендеру, в том числе и на этом, появляются с отвратительной регулярностью).

Оффлайн LanuHum

  • Житель
Re: Написание скриптов.
« Ответ #6 : 03 Ноября 2016, 15:45:54 »
Не знаю, что за книга обсуждается, но попытаюсь вступиться за автора...
Если бы была какая-нибудь сложная конструкция, то вряд-ли бы её вершины назвали "углами", но вот применительно к кубу это вполне обычное понятие: "Вот куб, у него 8 углов", так же как "Вот квадрат, у него 4 угла". Конечно, это может добавить дополнительной путаницы, но вина автора гораздо меньше, чем у тех, кто называет рёбра словом "грани" (а такие на русскоязычных форумах по Блендеру, в том числе и на этом, появляются с отвратительной регулярностью).
При желании заблудиться можно и в трёх соснах.
У́гол — геометрическая фигура, образованная двумя лучами (сторонами угла), выходящими из одной точки (которая называется вершиной угла)
Измеряется в градусах, радианах. Таких уголов у куба 24.

Чем измеряются те углы, которых у куба всего 8?
Теле́сный у́гол — часть пространства, которая является объединением всех лучей, выходящих из данной точки (вершины угла) и пересекающих некоторую поверхность (которая называется поверхностью, стягивающей данный телесный угол). Частными случаями телесного угла являются трёхгранные и многогранные углы. Границей телесного угла является некоторая коническая поверхность. Обозначается телесный угол обычно буквой Ω.

Не думаю, что создавая меш уместно говорить о телесных углах...дабы не запутывать обучающегося. :)
Ну, а про грани хорошо знают только ювелиры. Я, чтобы не вносить путаницу не употребляю слова "грань". Есть уже укоренившееся в графике слово полигон, которое чётко заменяет скользкое понятие грань.

Оффлайн Striver

  • Житель
    • http://striver00.ru
Re: Написание скриптов.
« Ответ #7 : 03 Ноября 2016, 16:50:20 »
Цитировать
чётко заменяет скользкое понятие грань.
Ничего скользкого, это слово из школьного учебника стереометрии.

Оффлайн LanuHum

  • Житель
Re: Написание скриптов.
« Ответ #8 : 03 Ноября 2016, 17:51:11 »
Цитировать
чётко заменяет скользкое понятие грань.
Ничего скользкого, это слово из школьного учебника стереометрии.
Я не пытаюсь спорить, просто, русский язык очень богат синонимами, сбивающими с толку. Типа, ребро монеты.
В любом случае, меш в Блендере строится по списку вершин с указанием поверхностей, ограниченных группой вершин списка. Никаких углов там не считается и не указывается. Ни плоских, ни круглых, ни сиреневеньких. :)

Оффлайн Samovar

  • Житель
  • Пятигорье
Re: Написание скриптов.
« Ответ #9 : 03 Ноября 2016, 17:59:27 »
LanuHum,  есть такая точная древняя наука-геометрия и там есть  русская терминология, отличная от языка обывателей :)
Чтобы собеседник точно понимал о чём речь, надо именно её и использовать... а то, что Striver написал про 8 углов куба - это было как пример языка обыденного, а не научного... думаю, он именно об этом хотел сказать.
¯\_(ツ)_/¯

Оффлайн LanuHum

  • Житель
Re: Написание скриптов.
« Ответ #10 : 03 Ноября 2016, 18:56:43 »
LanuHum,  есть такая точная древняя наука-геометрия и там есть  русская терминология, отличная от языка обывателей :)
Чтобы собеседник точно понимал о чём речь, надо именно её и использовать... а то, что Striver написал про 8 углов куба - это было как пример языка обыденного, а не научного... думаю, он именно об этом хотел сказать.
Я не пытаюсь спорить, просто, многие учебники не стоят того, чтобы их открывали, не говоря уже о чтении. Поэтому, я посоветовал перевод Striver-a :)
Но, если вы желаете, чтоб я пофлудил, то я могу. :)
Я вот изучаю С++ и вижу, что учат создавать заголовочные файлы, файлы .cpp, а сами любой пример пишут в одном файле. Пишут, что класс не является объектом, объект создаётся с помощью new, а у самих в коде этого самого new днём с огнём не сыскать. Использование cmake представляют создав проект из одного файла с одной единственной строчкой int main (){}. На хрена мне смаке для компиляции пустой функции?
В 99% примеров рендереров - рендер шариков и кубиков.
Я это к тому, что не нужно приставать к кубикам и шарикам, считая, сколько у них углов. Учите ученика с первого урока создавать тор. Вам не придёт в голову говорить в этом случае про углы на китайском, китайцы правильно сделают перевод вашего урока и китайский ученик не будет искать у тора углы. :)

Оффлайн -andrey-

  • Житель
Re: Написание скриптов.
« Ответ #11 : 06 Ноября 2016, 15:15:02 »
дело такое, нужно наверное допилить свой редактор http://www.cyberforum.ru/blogs/223907/blog4462.html, потому что программу для конспектов я не нашёл фряшную, по python для Lazarus мне пока ничего не подсказывают, да и думаю что не надо делать снова костыль, а сделать его из своей программы, там в блоге ссылка на прогу.
Редактор работает так:
создается файл, вводится мерность массива, открывается таблица, если поставить галочку - вводя целые числа мы вводим размерность ветки массива, если галочку убираем - просто сёрфим по массиву. Массив сохраняется и загружается, только при загрузке вводится имя проекта, которое было дано при сохранении. Пришёл к тому, что нужно писать свои скрипты для Blender 3D, ну а в общем это работа такая - не разовая, а конспекты писать - вижу не рациональным, значит нужно обвесить этот редактор и сделать с него одновременно и прогу для конспектов и прогу составляющую код.
Ну и думаю допилить его таким образом:
В ощем думаю прикрутить к нему такую фишку, чтобы в таблице выводились рисунки, хранимые в другом массиве, и использовать эту фишку для составления кода посредством нажатий на нужной странице таблиц. В таблице сделать кнопки с изображениями.

Оффлайн -andrey-

  • Житель
Re: Написание скриптов.
« Ответ #12 : 06 Ноября 2016, 15:19:38 »
Не знаю сколько уйдёт времени - так-то не много, ну допустим по вечерам недели на 2-е прийдётся забросить работу над БПЛА(а сделано не мало так-то, даже в аэродинамической трубе фряшной продувал 3D модель заготовку с размерами и профилями, расчёты движков по своей системе, правда не под импеллер а под двухлопастной винт), но зато получить редактор для вставок шаблонов кода в поле редактирования текста. А и наче никак- при работе с несколькими языками я боюсь, что начну путаться и забывать то одно то другое, основная специальность у меня - сварщик, а не кодер, такие дела вот. К тому-же, для работы с Blender мне прийдётся написать не один аддон, для создания БПЛА своего (для выставки - трансформер), а значит нужно освоить будет не мало информации, значит редактор свой допиливать надо - однозначно. Потратив 2-е недели на допил редактора массивов до редактора кода, я выиграю во всех отношениях по времени - тут деваться некуда, математика элементарная.

Оффлайн LanuHum

  • Житель
Re: Написание скриптов.
« Ответ #13 : 06 Ноября 2016, 16:22:49 »
Цитировать
там в блоге ссылка на прогу.
Не качается прога, если не зарегистрирован на том форуме.
Пытаюсь понять, что ты изобретаешь? Какой-то редактор конспектов... где-то кликаешь по картинке... аддон для Блендера

Оффлайн -andrey-

  • Житель
Re: Написание скриптов.
« Ответ #14 : 08 Ноября 2016, 21:49:46 »
Ничего я там не изобретаю, просто программу надо дописать, ну не качается... да и не нужна она в таком виде, доделаю скину линк. Видимо надо снова комплекс витаминов+минералов купить, с едой что я сам себе готовлю далеко не уедешь, а может просто устал, помимо работы основной, за 3 месяца, я не мало работы по вечерам сделал. Смысл такой хочу - кликаешь в гриде на картинку (она-же кнопка), TMemory выводится текст, а справа или слева схемы, изображения. Так-то ничего сложного - грид уже работает как надо, массив сохраняется, немного допилить и получится полезная прога. Просто без костыля мне сложно скрипты будет писать - забывать буду и прочее, постоянно код не пишешь - бывает алгоритм разрабатываешь, способ ищёшь, да и дела всякие бывают, поэтому костыль надо для той инфы, которую используешь не постоянно.

 

* По форуму

* Последние вложения

Screw.jpg
Скачано: 4
Автор: Dmi3ryd
Cylinder_animation.gif
Скачано: 5
Автор: Dmi3ryd
seit1.jpg
Скачано: 9
Автор: sandman
nif_op_not_defined.png
Скачано: 4
Автор: corbieeye
Слежение.jpg
Скачано: 14
Автор: Barabashka