Как исправить эффект рыбьи на моем Python Raycaster?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как исправить эффект рыбьи на моем Python Raycaster?

Сообщение Anonymous »

Я действительно не могу исправить эффект Fisheye, я читал другие решения и начинаю думать, что есть более глубокая проблема, даже если код работает. Вертикальные линии, нарисованные для представления «стен», изогнуты, когда они должны быть прямыми, я думаю, что это вызвано тем, что лучи, исходящие от игрока, имеют разные длины при взаимодействии с прямой стеной. Я все еще довольно новичок в Python. < /P>
# imports
import turtle, math

# variables

raycastAngle = 90
raycastRayNum = 100
raycastRayRange = 100
raycastRayStep = 2

screenX, screenY = 800, 600
screen = turtle.Screen()
screen.screensize(screenX, screenY)
screen.tracer(0)
screen.bgcolor(0, 0, 0)

raycaster = turtle.Turtle()
raycaster.penup()
raycaster.hideturtle()

player = turtle.Turtle()
player.penup()
player.setheading(45)
player.hideturtle()

sceneStamp = turtle.Turtle()
sceneStamp.penup()
sceneStamp.hideturtle()

walls = {

'test wall1':{

'x': 70,
'y': 70,
'width': 100,
'height': 100
},

}

# subprograms

def distFromCoords(startCoord, endCoord):
xDist = endCoord[0] - startCoord[0]
yDist = endCoord[1] - startCoord[1]

distance = math.sqrt((xDist * xDist) + (yDist * yDist))
roundedDistance = round(distance)
return roundedDistance

def isInsideWall(turtle):
turtleX, turtleY = turtle.xcor(), turtle.ycor()

for wall in walls.values():
wallX, wallY = wall['x'], wall['y']
wallWidth, wallHeight = wall['width'], wall['height']

left = wallX - wallWidth / 2
right = wallX + wallWidth / 2
bottom = wallY - wallHeight / 2
top = wallY + wallHeight / 2

if left

Подробнее здесь: https://stackoverflow.com/questions/796 ... -raycaster
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как исправить эффект рыбьи на моем Python Raycaster?
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Как мне это исправить (raycaster в pygame)? [дубликат]
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Деформация в рендерере raycaster, сделанном в Unity
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Raycaster не отображает текстуры по оси Y.
    Anonymous » » в форуме C++
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Эффект анимации CardView для recyclerview в Android – эффект смахивания
    Гость » » в форуме Android
    0 Ответы
    106 Просмотры
    Последнее сообщение Гость

Вернуться в «Python»