это то, что 1/x выглядит как использование метода aalines

Current
My most current method is supposed to be a advanced Рабочая версия метода 2.
Это трудно объяснить. В основном я бы взял значение x между каждым столбцом в окне отображения. Для каждого пикселя я бы сделал это только слева и справа от него. Затем я бы подключил эти два значения к выражению, чтобы получить два значения Y. Затем я бы пробежал каждое значение y в этом столбце и проверил ли текущее значение между обоими значениями Y, рассчитанными ранее. < /P>
[*]
Код: Выделить всё
size
[*]
Код: Выделить всё
xWin
[*]
Код: Выделить всё
yWin
pixelToPoint< /code> - это функция, которая принимает скалярное значение пикселя (только x или просто Y) и преобразует ее в соответствующее значение в графическом окне < /li>
< /ul>
pixels = []
for x in range(size[0]):
leftX = pixelToPoint(x,size[0]+1, xWin, False)
rightX = pixelToPoint(x+1, size[0]+1, xWin, False)
leftY = calcPostfix(postfix, leftX)
rightY = calcPostfix(postfix, rightX)
for y in range(size[1]):
if leftY != None and rightY != None:
yPoint = pixelToPoint(y,size[1],yWin, True)
if (rightY = leftY):
pixels.append((x,y))
for p in pixels:
screen.fill(BLACK, (p, (1, 1)))
< /code>
Это исправило проблему в методе 2, чтобы пиксели не были подключены к непрерывной линии. Тем не менее, это не решит проблему метода 1 и при графике 1 /x, он выглядел точно так же, как метод Aalines. Единственный способ придумать это, используя целую кучу значений x. Но этот способ кажется действительно неэффективным. Кроме того, я пытаюсь сделать свою программу как можно более следом и настраиваемой настраиваемой, поэтому все должно быть изменчиво, и я не уверен, какой тип расчетов необходимо, чтобы выяснить, сколько значений x необходимо использовать в зависимости от размера окна программы и размера графа. (точно так же, как мой фактический графический калькулятор). < /p>
edit 1 < /h2>
Я только что пытался использовать столько значений x, сколько и пикселей (500x500 Окно отображения вычисляет 250 000 y значений). Для расчета требуется около 4 секунд (он колеблется в зависимости от уравнения). Я осмотрел онлайн и нашел графические калькуляторы, которые практически мгновенно в их графике, но я не могу понять, как они это делают. Должен быть какой -то алгоритм, кроме как использовать кучу значений x, чем можно достичь того, что я хочу, потому что этот сайт делает это ..
Подробнее здесь: https://stackoverflow.com/questions/290 ... python-2-7