Size: a a a

Хирьянов Т.Ф., Практика программирования на Python 3 (2019)

2020 April 04

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Dmitry Ermolayev
Углы вращения в координатных плоскостях xy и zx рандомизировать в пределах 0;2pi. Два списка одинаковой длины со случайными значениями коэффициента (0; 1), применяемых к xy и zx. Такой упрощенный вариант на собесе бы прошел?
нет)
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
ну мое решение было такое - сперва заполняем равномерно объем куба точками
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
и выкидываем те точки которые снаружи сферы
и проецируем
объем куба~равен объему сферы
так что получаем примерно равномерное распределение точек по поверхности
источник

DE

Dmitry Ermolayev in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Кхм, триангуляция Делоне у меня в магистерской по хаотической нейронке была.
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
все махинации с полярными координатами приводят к неравномерности распределения или артефактам на полюсах
источник

DE

Dmitry Ermolayev in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Но я такие вещи на память не помню, лол
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
ну я тоже
суть была в том чтобы придумать решение)
источник

DE

Dmitry Ermolayev in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Можно и псевдорандом юзать, как я делал в матлабовских тестах для магистерской. Нужны n точек на поверхности. Тогда каждый радианный диапазон разбить на n-1 равномерных отрезков. Рандомом из полученных списков с углами извлекать элементы. Визуально равномерность гарантирована.
источник

DE

Dmitry Ermolayev in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Пардон, я с отрезками кажись неправильно посчитал.
источник

DE

Dmitry Ermolayev in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Все, я вроде понял, про какие артефакты речь.
источник

DE

Dmitry Ermolayev in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Всегда забываю, что равномерность - это выравненные расстояния между точками на поверхности, я тупанул.
источник

DE

Dmitry Ermolayev in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Если память мне не изменяет, то точки распределены равномерно, если построение треугольной сетки таким образом, чтобы у каждого треугольника сетки не было точек на ребрах и внутри треугольников, а только на вершинах, приводило к тому, что все треугольники были равносторонними с одинаковой длиной ребра среди всех треугольников.
источник

DE

Dmitry Ermolayev in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
А предложенный мной способ в полярных координатах приводит к равномерному покрытию сферы квадратной решёткой.
источник

Y

Yaris in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
#вопрос
Зачем здесь нужно в самом конце + 1?
s = input()
if s.count('f') == 1:
   print(-1)
elif s.count('f') < 1:
   print(-2)
else:
   print(s.find('f', s.find('f') + 1))
источник

OM

Oleg Makarikhin in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
а что код делает?
может оказаться +1 нужен чтобы компенсировать нумерацию списка с 0
источник

Y

Yaris in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Дана строка. Найдите в этой строке второе вхождение буквы f, и выведите индекс этого вхождения. Если буква f в данной строке встречается только один раз, выведите число -1, а если не встречается ни разу, выведите число -2.
источник

OM

Oleg Makarikhin in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Yaris
Дана строка. Найдите в этой строке второе вхождение буквы f, и выведите индекс этого вхождения. Если буква f в данной строке встречается только один раз, выведите число -1, а если не встречается ни разу, выведите число -2.
find(...)
   S.find(sub[, start[, end]]) -> int
возвращает индекс (номер по порядку) искомого символа в строке. второй аргумент означает с какого символа начинать.
так вот   print(s.find('f', s.find('f') + 1)) - находит индекс первого вхождения, и добавляет еще один символ говоря чтобы внешний find искал начиная после этого символа.
источник

Y

Yaris in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
а, спасибо
источник

T

TURDUMAMAT UULU T in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Здравствуйте
источник