@ru_python

Страница 1542 из 9768
Whore Amazing
18.09.2016
10:03:56
еще и тем осложняется, что в pyqt координаты не от центра идут, а от левого верхнего угла пиздец короче

А, допустимый диапазон углов то есть разный будет в зависимости от точки столкновения
но вот размер диапазона будет все время одинаковый, может от этого плясать найти скажем одну из его (диапазона) границ только вот хз как

Ilia
18.09.2016
10:05:08
Аналитическая геометрия в помощь

Тут уже без листочка, карандаша и Гугла не подсказать

Google
Whore Amazing
18.09.2016
10:06:37
плехо, плехо ладно, пойду отвлекусь на что-нибудь другое

Ilia
18.09.2016
10:09:27
Сходи погуляй лол

На выборы еще можно сходить

Whore Amazing
18.09.2016
10:12:28
было б здесь где гулять

-
18.09.2016
10:35:23
// velocity - 2 (velocity dot normal) normal

https://gfycat.com/WaryElementaryDarklingbeetle

Код на processing: https://gist.github.com/anonymous/6f0a2cb75adbe68aca32e4d2ed7888b6 Нужные моменты выделены при помощи трёх восклицательных знаков. Основан на: https://processing.org/reference/ellipse_.html

Даниил
18.09.2016
10:41:29
Тут точно чат по Python ?

Whore Amazing
18.09.2016
10:43:00
Точно

щерт, это еще и не питон

-
18.09.2016
10:52:41
Код - просто иллюстрация для формулы. Его лучше не использовать, т.к. при увеличении скорости шаров, они начнут вести себе не так как нужно

Whore Amazing
18.09.2016
10:53:30
формулу бы вычленить я в этом коде теряюсь

-
18.09.2016
10:54:07
Смотри функцию checkBoundaryCollision()

Google
Whore Amazing
18.09.2016
10:55:04
там какие-то встроенные функции, которые хз что делают

-
18.09.2016
10:55:36
mag - длина вектора, sub - вычитаение

Whore Amazing
18.09.2016
10:56:14
ага

-
18.09.2016
10:56:17
Но, вообще, формула вот:

velocity - 2 (velocity dot normal) normal

Whore Amazing
18.09.2016
10:56:47
я не понимать что это означает

велосити какие-то, доты

-
18.09.2016
10:57:36
dot - dot product https://en.wikipedia.org/wiki/Dot_product

velocity - вектор движения шара

Whore Amazing
18.09.2016
10:58:03
аа, теперь понятнее

спасибо

а normal?

Alex
18.09.2016
10:59:10
вот тут формулы: https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D1%84%D1%84%D0%B5%D1%80%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%B3%D0%B5%D0%BE%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D1%8F_%D0%BA%D1%80%D0%B8%D0%B2%D1%8B%D1%85#.D0.A1.D0.BE.D0.BF.D1.80.D0.B8.D0.BA.D0.B0.D1.81.D0.B0.D1.8E.D1.89.D0.B0.D1.8F.D1.81.D1.8F_.D0.BF.D0.BB.D0.BE.D1.81.D0.BA.D0.BE.D1.81.D1.82.D1.8C_.D0.B8_.D0.BD.D0.BE.D1.80.D0.BC.D0.B0.D0.BB.D0.B8

-
18.09.2016
11:01:35
нормаль в точке касания. У круга очень проста: вектор из точки касания в центр круга

Whore Amazing
18.09.2016
11:01:41
фух, кажется, все проясняется дело за малым - нанести векторы на пространство pyqt виджета

спасибо!

-
18.09.2016
11:27:11
нормаль в точке касания. У круга очень проста: вектор из точки касания в центр круга
Упс. Нормаль - единичный вектор противоположно направленный описанному.

-
18.09.2016
11:38:24
Не. Противоположно направленный тому, что описан двумя постами ранее. Другими словами: единичный вектор сонаправленный вектору из центра окружности в точку касания

Google
fox.hs
18.09.2016
11:39:53
А, прошу прощения, не заметил

Whore Amazing
18.09.2016
12:39:59
ага, спасибо

velocity - 2 (velocity dot normal) normal
new_velocity = velocity - 2*(velocity dot normal)*normal, я верно понял?

-
18.09.2016
12:42:09
да

Whore Amazing
18.09.2016
12:42:21
отлично

https://github.com/rutsky/python-course/blob/master/08/asteroids/asteroids_lib/vector.py Вот тут классный модуль, но почему задается вектор двумя координатами? это координаты начала или конца? как длина тогда? чот не понимаю.

Whore Amazing
18.09.2016
12:51:51
ну, я думаю, координаты начала и конца или начала и длина

а вообще пока никак, так что могу как угодно

Sergey
18.09.2016
12:52:45
обычно начало в начале отсчета координат

Whore Amazing
18.09.2016
12:52:58
А, вот оно что

Хм, а нужно ли мне вообще в этой задаче задавать начало вектора? или она и так решится?

-
18.09.2016
13:17:57
Нет.

Поправьте меня, если ошибаюсь, но у вектора же нет начала. Это просто велечина и направление

Fox.rs
18.09.2016
13:22:50
Whore Amazing
18.09.2016
13:28:02
это смотря какая постановка задачи

-
18.09.2016
13:28:17
У вектора из геометрии есть начало и конец (направленный отрезок). А вектор из линейной алгебры задаётся одной точкой

Whore Amazing
18.09.2016
13:28:20
и так и так бывает но, думаю, в моем случае можно обойтись координатами конца

угу, т.е. координатами конца - точки, куда он указывает. а начало - в начале координат.

N
18.09.2016
13:34:09
Парни, как можно это переделать в то, чтобы каждой букве перед тем, как их перемешать задать еще допустим 4 возможных варианта одной буквы

Google
N
18.09.2016
13:34:15
import random import math #подключение нужных модулей L=input("enter text: ") # вводим текст, вводим в кавычках D=list(L) # преобразуем в список i=0 # счетчик Y=[] # пустой список F=[] l=len(D) # длина введенного текста(количество элементов списка) l=math.factorial(l) # количество вариантов написания while i<l: # делаем пока не исчерпаем все варианты random.shuffle(D) # мешаем список F=(''.join(D)) # обедняем в один элемент (было ["п","а","р"] стало ["пар"] if F in Y: # если "пар" есть в списке Y continue #начнем мешать элементы списка сначала else: #если не нашел Y[len(Y):]=[F] #добавляем в конец списка Y print (F) #печатаем F, можно распечатать и пронумеровать элементы списка Y i=i+1 #увеличиваем счетчик

N
18.09.2016
13:38:11
Да да

Whore Amazing
18.09.2016
13:38:23
иначе если у тебя будет две одинаковых буквы в строке, зависнешь в бесконечном цикле

в принципе, тут одним им можно и обойтись на весь код

N
18.09.2016
13:39:02
Да, строчки три получится

Whore Amazing
18.09.2016
13:39:30
"задаать 4 допустимых варианта одной буквы" что означает?

N
18.09.2016
13:41:25
Ну допустим смотри, перед перемешкой всех этих букв, я хочу допустим, чтобы Н, могла быть Р, П или Д

Admin
ERROR: S client not available

Whore Amazing
18.09.2016
13:41:39
где могла быть?

а, вместо одной буквы подставлять 4 варианта других и учитывать все такие кобминации?

N
18.09.2016
13:44:02
Да да

Whore Amazing
18.09.2016
13:44:20
(ты там пасслист генеришь штоль?)

если буква заменяется, она заменяется единожды или все такие буквы в строке меняются?

N
18.09.2016
13:45:22
Ну один вариант в одной итерации

Whore Amazing
18.09.2016
13:46:11
эт сложнее буква хотя бы одна точно будет?

N
18.09.2016
13:46:21
Не пасслист, а криптография)

Ну в зависимости от того может ли эта буква принимать еще значения

Whore Amazing
18.09.2016
13:47:13
составляй список из всех, проходи по нему и для каждого элемента добавляй в новый список 3 его вариации (+ он сам). (если буква там не одна, будет не 3 вариации, а n*3)

N
18.09.2016
13:48:13
Как это хотя бы примерно будет выглядеть, не поможешь?

Google
N
18.09.2016
13:49:05
Ну может быть и не один вариант в одной итерации, я не знаю, честно говоря, как лучше сделать

Whore Amazing
18.09.2016
13:50:12
ну вот у тебя результирующий лист l = [...]. l2 = [] for i in l: if 'Л' in i: l2.extend(i, list_replace(i)) else: l2.append(i)

list_replace(), соответственно, функция, которая заменяет в списке нужную букву на другую

N
18.09.2016
13:51:17
Ну это понятно

Whore Amazing
18.09.2016
13:51:30
можно на лямбдах зафигачить, красивее будет

Ну это понятно
а что непонятно?

N
18.09.2016
13:52:38
Именно ввиду, что реплэйс ясен

Whore Amazing
18.09.2016
13:53:36
а вообще, код-то элементарный выходит. поспи немного, наверное, голова не варит уже :)

-
18.09.2016
14:00:12
Да. +- погрешность

Aragaer
18.09.2016
14:01:10
если они все ортогональные - да

а что за формула?

-
18.09.2016
14:08:29
Там не единичным может быть только velocity

Whore Amazing
18.09.2016
14:21:06
не, мне его очень удобно единичным делать

ну либо я идиот кстати, как взять единичный нормаль, зная только вектор на полную длину радиуса?

-
18.09.2016
14:31:51
умножить координаты на 1/r

Whore Amazing
18.09.2016
14:37:32
спасибо

короче, зря мы это мурыжили :) с кьютовской анимацией можно просто указывать следующую конечную точку движения возле любого из краев круга и не париться...

Stanislav
18.09.2016
14:48:49
Пиздец, статика у вк почти не грузится

Страница 1542 из 9768