自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(186)
  • 问答 (1)
  • 收藏
  • 关注

原创 chatgpt线性差值 将直线渐变颜色

对于每个点,计算其在直线上的位置比例,即距离直线起点的长度相对于整条直线的长度的比例。例如,如果我们在直线上距离起点A的距离为d,整条直线的长度为L,那么这个位置比例可以表示为d/L。当我们要在一条直线上实现颜色的渐变效果时,可以使用线性插值来计算每个点对应的颜色。对于每个颜色通道(红、绿、蓝),我们可以根据起始颜色和结束颜色的差值乘以位置比例来计算中间点的颜色值。通过这种方式,我们可以在直线上的每个点都得到一个根据位置比例进行线性插值计算得到的颜色值,从而实现颜色的渐变效果。

2024-05-25 18:59:08 389

原创 pygame raycasting纹理

可是图片纹理 这里不需要两种颜色,只需要获得碰撞点坐标后,如果是水平位置的墙,绿色方块,获取碰撞点x就是纹理的x坐标,也就是uv坐标中的u坐标,v坐标需要计算上面提到的差值,纹理是64X64像素,高度是64,。计算每一列的高度后,定义从哪里是墙的中间点center,gao是一列的一半,加减gao计算每一列墙的起点与结束点这一列墙其实就是一条线,多条线绘制成投影墙。1起点是kai,结束点是en。假如说x伪3 那么color=(3-x1)/(x2-x1)u=zx%64 这里%纹理宽度是为了不超出纹理大小。

2024-05-25 17:24:16 325

原创 pygame raycasting

所以在每次循环中,ray_angle 的值会改变。具体来说,对于循环中的每个 x 值,都会计算一个新的 ray_angle 值,并将其用于后续的计算和处理。140条射线 dis是射线从玩家发射 击中墙计算距离 如果q列表代表墙 在q[zx/60][zy/60]意味着在墙列表中当前射线是否击中墙,为1代表是墙,0是空。每个 x 值对应一条射线,通过计算每条射线的角度和其他参数,可以绘制出相应的投影效果,并实现伪3D效果。这样做的目的是根据屏幕上的每个像素位置计算出对应的射线角度,从而能够实现墙体的投影效果。

2024-05-23 12:56:04 397

原创 用坐标与碰撞检测效果

当射线与地图中的墙壁相交时,distance_to_wall 的值就代表了摄像机到墙壁的距离,这个距离将被用于计算墙的高度和纹理。具体来说,在循环中,对屏幕宽度进行迭代,每个迭代都会计算一个射线的角度,并逐步增加与摄像机方向的偏移量,从而模拟视野中的每个像素点。然后,通过检查射线与地图中的墙壁交点,计算出摄像机到墙壁的距离,进而确定墙的高度和纹理。在这段代码中,ray_angle 计算了每个像素点对应的射线角度,然后通过增加 distance_to_wall 的值来沿着射线前进,直到射线与墙壁相交。

2024-04-26 13:31:02 297

原创 pygame raycasting

对,你观察得很仔细。在这个代码中,int(ray_y // 40)和int(ray_x // 40)是用来将光线的位置映射到地图数组上的索引。光线的位置被映射到了地图数组上的索引位置,而40是用来计算映射的因子。在这种情况下,40是一个任意选择的数值,用来匹配地图的尺寸和预期的光线检测范围。这些计算基于光线的角度(ray_angle)以及三角函数的计算,所以它们确实可以取地图中的任意位置,不受限制。在代码中,ray_x和ray_y是用来表示光线射到的位置的变量,它们的值是根据光线的方向和长度计算而来的。

2024-04-23 11:49:11 635 1

原创 pygame raycast使用纹理

【代码】pygame raycast使用纹理。

2024-04-12 15:34:17 257

原创 pygame使用旋转发射多个子弹碰撞计算距离 而不是通过一个碰撞点计算出其他距离

【代码】pygame使用旋转发射多个子弹碰撞计算距离 而不是通过一个碰撞点计算出其他距离。

2024-04-12 13:34:05 432

原创 pygame子弹碰撞后还会继续前进

通过这样的修改,当子弹与墙体发生碰撞时,子弹将被从子弹数组中移除,不再更新其位置或绘制射线。这样就可以避免碰撞后子弹仍然前进以及绘制射线的问题。在您的代码中,在碰撞检测部分,可以在检测到碰撞后将该子弹从sz列表中移除。xiansz.append((self.x, self.y)) # 使用对象外的数组,要是对象自己的变量,在碰撞后会覆盖碰撞位置的x,y。要解决子弹碰撞后仍然前进的问题,您可以在检测到碰撞后将该子弹从子弹数组中移除。问题是碰撞后子弹还会前进 撞到外面墙后还会绘制射线 怎么解决。

2024-04-12 12:41:26 178

原创 pygame在循环外定义列表 append就会一直加重复变量 在循环内定义列表就会按循环次数加入变量

在pygame while true中 我有一个循环执行10次,每次有个变量x,我想在列表中加入这个x,可是为什么我的列表本应该只有10个x,现在却一直增加在这种情况下,可能是由于列表未正确初始化导致的。请确保你在 while 循环外面初始化列表,并在循环内添加 x 值到列表中。以下是一个示例代码段:python。

2024-04-11 18:27:10 163

原创 pygame让射线距离更密集

【代码】pygame让射线距离更密集。

2024-04-11 18:13:13 134

原创 pygame发射子弹后绘制射线

【代码】pygame发射子弹后绘制射线。

2024-04-10 17:09:47 420

原创 pygame旋转角度发射射线

旋转角度,70是间隔 间隔太小会卡。

2024-04-10 17:07:18 157

原创 pygame按空格发射子弹 碰撞后划线

【代码】pygame按空格发射子弹 碰撞后划线。

2024-04-10 16:01:11 375

原创 pygame raycast 射线

【代码】pygame raycast 射线。

2024-04-08 16:13:39 88

原创 pygame旋转直线,计算角色到墙距离

pygame怎么计算距离在Pygame中,计算两点之间的距离可以使用几何公式。给定两点P1(x1, y1)和P2(x2, y2),距离D可以用以下公式计算:D = √((x2 - x1)² + (y2 - y1)²)在Python中,你可以使用math库中的sqrt函数来计算平方根。以下是一个计算两点之间距离的Pygame示例代码:import mathimport pygamepoint1 = pygame.math.Vector2(100, 100)point2 = pygame.math.Vec

2024-04-08 15:51:51 511

原创 pygame子弹碰撞

pygame子弹碰撞

2024-04-08 13:32:44 110

原创 pygame画围墙

【代码】pygame画围墙。

2024-04-05 18:27:26 104

原创 pygame三角形重心坐标填充 沿x轴旋转

【代码】pygame三角形重心坐标填充 沿x轴旋转。

2024-04-02 16:39:38 420

原创 pygame用自己的函数 扫描线根据重心坐标填充三角形

其实就是在扫描线填充三角形的基础上,对三个顶点的xy坐标计算三角形重心坐标,然后在填充时,原来三角形重心坐标填充是遍历整个屏幕像素,然后判断是否在在三角形内,变成根据直线方程计算x起点与y起点,然后将需要求重心坐标的点zx,zy,从遍历屏幕像素的点xy,换成扫描线起始点xy。280是三角形上顶点与下边之间的高度,还需要加上上顶点的y才能填充580这个高度的三角形,不然出现两个三角形。

2024-04-02 16:26:41 178

原创 怎么让chatgpt给你写你想要的程序

angle_x = math.radians(30) # 30度的旋转角度rotation_speed = 0.01 # 每帧旋转的速度。

2024-03-30 16:35:10 580

原创 gpt 3d三角形 重心坐标填充 沿x轴炫赵师傅

【代码】gpt 3d三角形 重心坐标填充 沿x轴炫赵师傅。

2024-03-30 16:34:20 564

原创 pygame通过重心坐标 用纹理填充三角形

在使用重心坐标进行纹理映射时,通常是通过计算 alpha 和 beta 来确定纹理图片上的对应位置,而 gamma 通常是通过 alpha 和 beta 相互关系来计算的,因为重心坐标满足 alpha + beta + gamma = 1。因此,通常情况下不需要单独计算 gamma,因为它可以通过 alpha 和 beta 推导得到,从而减少了计算的复杂性和冗余。texture_y = int(beta * texture_image.get_height())为什么没有gama。

2024-03-30 15:48:34 127

原创 chatgpt用pygame根据重心坐标 填充三角形

颜色是由三个重心坐标权重abc。

2024-03-30 15:34:26 164

原创 chatgpt赋值变量

【代码】chatgpt赋值变量。

2024-03-29 17:34:30 86

原创 pygame三角形重心坐标应用 判断点是否在三角形内

比如,重心的重心坐标为(1/3, 1/3, 1/3),含义就是重心将原三角形分割成的 3 个小三角形,每个占总面积的三分之一。这样理解重心坐标,就很容易理解:为什么三角形内的点,重心坐标之和为 1。比如,重心的重心坐标为(1/3, 1/3, 1/3),含义就是重心将原三角形分割成的 3 个小三角形,每个占总面积的三分之一。这样理解重心坐标,就很容易理解:为什么三角形内的点,重心坐标之和为 1。综上,我们可以得出,当PP的重心坐标的三个值都属于[0, 1][0,1]区间,则PP点在三角形内。

2024-03-29 16:24:41 246

原创 pygame用自带函数绘制三角形 计算重心坐标

三角形重心的坐标可以通过其三个顶点的坐标计算得出,公式为((X1+X2+X3)/3,(Y1+Y2+Y3)/3)。这是因为在平面直角坐标系中,重心的坐标是顶点坐标的算术平均数。

2024-03-29 14:22:44 195

原创 pygame用自己函数旋转三角形 填充纹理

【代码】pygame用自己函数旋转三角形 填充纹理。

2024-03-29 13:06:32 152

原创 pygame 3d三角形沿y轴旋转后 透视投影在屏幕上

transformed_points.append((x, y)) # 将转换后的坐标添加到列表中。x = p[0]*30/suofang +300 # 将x坐标用透视投影在屏幕上。y = p[1]*30/suofang +200# 将y坐标用透视投影在屏幕上。以及suofang=100。

2024-03-29 12:22:21 329

原创 pygame用chatgpt绘制3d沿x轴旋转的

vertices = [(0, 100, 0), (100, -100, 0), (-100, -100, 0)]顶点为什么有-数在三维空间中,一个三角形的顶点可以位于任意位置,包括正半轴、负半轴和原点等位置。在您提供的顶点数组 vertices = [(0, 100, 0), (100, -100, 0), (-100, -100, 0)] 中,每个顶点的坐标包括 x、y 和 z 三个分量。(0, 100, 0): 这个顶点位于 x=0, y=100, z=0 的位置,y 坐标为正值。

2024-03-28 20:12:20 1333

原创 pygame自己的函数绘制三角形 填充纹理

【代码】pygame自己的函数绘制三角形 填充纹理。

2024-03-26 20:34:29 204 1

原创 pygame光栅化三角形,使用自己的函数绘制三角形填充

【代码】pygame光栅化三角形,使用自己的函数绘制三角形填充。

2024-03-21 20:28:41 103

原创 autojs自动化刷视频脚本

【代码】autojs自动化刷视频脚本。

2024-02-13 18:07:49 1321

原创 c#遍历文件重命名

【代码】c#遍历文件重命名。

2023-09-20 17:30:46 465

原创 pygame多图伪3d

【代码】pygame多图伪3d。

2023-08-06 13:19:26 1582

原创 pygame单图伪3d

【代码】pygame单图伪3d。

2023-08-06 13:15:54 645

原创 图片不重复伪3d 其实就是透视投影了

【代码】图片不重复伪3d 其实就是透视投影了。

2023-07-15 12:07:37 353

原创 伪3d原理解释 主要是透视投影

当我们将图像投影到一个旋转的表面上时,我们需要考虑以下几个方面:像素位置的计算:对于每个显示窗口中的像素,我们需要计算它在旋转表面上的位置。在代码中,使用了以下公式来计算旋转表面上的位置:这里,x和y表示像素在显示窗口中的位置,z表示距离旋转表面的距离,sc控制透视效果。通过这个计算,我们可以得到像素在旋转表面上的坐标(px, py)。取样像素的获取:一旦我们计算出像素在旋转表面上的位置,我们需要从图像的3D数组中获取相应的像素值。

2023-07-15 11:50:38 1568

原创 使用像素代替三维数组的伪3d

【代码】使用像素代替三维数组的伪3d。

2023-07-14 15:23:07 108

原创 用像素填充代替三维数组

【代码】用像素填充代替三维数组。

2023-07-11 12:48:07 68

原创 pygame伪3d 地面旋转

【代码】pygame伪3d 地面旋转。

2023-07-08 19:46:21 682

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除