社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Pure Python 3.6.3-查找两个三维向量之间的度数差异

Rees K • 5 年前 • 1602 次点击  

出于一些不虔诚的原因,我试图用Turtle库制作一个纯Python3.6.3的线框图形显示程序。我已经到了一个地步,我想跳过绘制不必要的tris优化的目的。不必要的tris意味着tris应该被模型的其他部分遮住,也就是说,从三维相机的正常面对。

程序正在处理的模型数据只是一个巨大的三维数组,每个tri的格式如下。

[[Vert],[Vert],[Vert],[Normal]]

我当前版本的代码只有一个模型(多维数据集),如下所示:

from turtle import *

Cube = [[[-50,50,-50],[-50,50,50,],[50,50,50],[0,1,0]],
        [[-50,50,-50],[50,50,50,],[50,50,-50],[0,1,0]],
        [[-50,50,-50],[-50,50,50],[-50,-50,50],[1,0,0]],
        [[-50,50,-50],[-50,-50,-50],[-50,-50,50],[1,0,0]],
        [[-50,50,50],[50,50,50],[50,-50,50],[0,0,1]],
        [[-50,50,50],[50,-50,50],[-50,50,50],[0,0,1]],
        [[-50,-50,-50],[-50,-50,50,],[50,-50,50],[0,-1,0]],
        [[-50,-50,-50],[50,-50,50,],[50,-50,-50],[0,-1,0]],
        [[50,50,-50],[50,50,50],[50,-50,50],[-1,0,0]],
        [[50,50,-50],[50,-50,-50],[50,-50,50],[-1,0,0]],
        [[-50,50,-50],[50,50,-50],[50,-50,-50],[0,0,-1]],
        [[-50,50,-50],[50,-50,-50],[-50,50,-50],[0,0,-1]]]

CamVector = [0,1,0]

def DrawModel(Model):
    for i in range(0,len(Model)):
        goto(Model[i][0][0],Model[i][0][1])
        pd()
        goto(Model[i][1][0],Model[i][1][1])
        goto(Model[i][2][0],Model[i][2][1])
        goto(Model[i][0][0],Model[i][0][1])
        pu()

Model = Cube
DrawModel(Model)

但是我想把每个tri的法向和camvector进行比较,这样代码就变成这样了:

def DrawModel(Model):
    for i in range(0,len(Model)):
        AngleAwayFromCamera = *Math voodoo*
        if AngleAwayFromCamera <= 90:
            *draw tri*

如果有人对如何帮助有任何想法,可以向像我这样有核桃大小大脑的人解释,那就太好了。我看了很多文件,但大多数都飞到了我的头上——可能是因为我没有通过GCSE数学考试。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/42903
 
1602 次点击  
文章 [ 1 ]  |  最新文章 5 年前