次の python/pygame コードがあります。
import sys, pygame
from array import *
pygame.init()
height = 600
width = 800
セットアップ表示ウィンドウ
DISPLAYSURFACE = pygame.display.set_mode((width, height))
pygame.display.set_caption('Graphics Assignment Part 1')
ファイルを開く
file = open('F:\\school\\Graphics\\PIXA.DAT', 'r')
ファイルをリストに読み込んで閉じる
vlist = file.readlines()
#close file
file.close
#remove last value from list
del vlist[-1]
vlist の値をポイントに格納しますが、J を JUMP ビットに変更し、int を , で分割します
points = [list(map(int,v.split())) if v.strip().lower() != "j" else "JUMP" for v in vlist]
vlist
x、y、z 座標リストの 3 つのリストに分割するようにループを設定します
Xs,Ys,Zs= zip(*points)
unique_Xs = []
[unique_Xs.append(val) for val in Xs if val != "J"]
unique_Ys = []
[unique_Ys.append(val) for val in Ys if val != "U"]
unique_Zs = []
[unique_Zs.append(val) for val in Zs if val != "M"]
draw = list(zip(unique_Xs,unique_Ys))
画面上のポイントのリストを一連の線として描画します
drawing = pygame.draw.lines(DISPLAYSURFACE,(0,255,172),False, draw, 1)
ディスプレイを更新して pygame を終了します
pygame.display.update()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
私は座標のリストを読み込んで、それらをx、y、z座標のリストに格納して、pygameで一連の線を描画しています。
画像は描画できますが、ポイントが -2000 ~ 2000 の範囲にあるため、全体が画面に表示されません。
Python ウィンドウで座標範囲を変更して、画像全体を 800x600 表示ウィンドウに表示するにはどうすればよいですか?