Поиск по сайту
Результаты поиска по тегам 'вектор'.
Найдено 2 результата
-
После того, как я написал про метатаблицы в Lua, захотелось провернуть что-нибудь этакое. Данная библиотека добавляет одну основную функцию, которая возвращается при вызове этой библиотеки с помощью require(module: string). Эта функция возвращает вектор и принимает в качестве аргументов числа, которые соответствуят каждому новому измерению в векторе. Но сначала, разумеется нужно скачать библиотеку. Вы можете сделать это с помощью команды в OpenOS или CraftOS. pastebin get mdfDvmps /lib/vector.lua Разумеется в CraftOS нет никакого require(), но вы можете посмотреть эту тему . Хотя также в CraftOS есть своя библиотека с векторами. Вернёмся к основной функции, если до сих пор не понятно, как она принимает аргументы, я просто запишу вот так: vector(x: number, y: number, z: number, ... ). Как видите у вектора может быть не ограниченное (ограничивается возможностями Lua) количество измерений. Сам вектор хранит измерения и их значения в себе как в массиве. Каждый вектор хранит количество измерений, которое он обрабатывает в поле n. То-есть, чтобы получить кол-во, обратитесь к этому полю примерно так: local vector = require "vector" local a = vector(1, 5, 89, 6) print(a.n) --> 4 Все операции с векторами создают новые вектора, а не изменяют старые. Теперь я опишу все операции с вектором Методы: Если хотите увидеть что-нибудь ещё в этой библиотеке, пишите. Постараюсь добавить.
-
Практически для каждой программы на черепашках или роботах требуется класс 3d вектора. Раньше я пользовался классом vector из СС, но решил расширить функционал. Взяв за основу готовый код для 2д вектора, я написал свой. Кроме стандартных функций +, -, / и * так же реализовано: Быстрые арифметические операции между векторами и скалярами Повороты вокруг осей Проверка на входные параметры Полезные функции в роде unpack() Код вектора: Для подключения в свой код используйте функцию require (для ОС), или оберните в функцию как это сделано здесь: http://pastebin.com/2t1rqjek Пример использования: Пишите если пригодился, или если нашли ошибку.
- 9 ответов
-
- 2
-
- модуль
- библиотека
-
(и ещё 2 )
Теги: