
体渲染
文章平均质量分 77
Dezeming
研究方向:数学原理,GPU加速技术,数据结构与算法,机器学习,深度学习神经网络,3D可视化,计算机图形学,图像处理,计算机视觉,Qt程序设计,C++编程
曾学习和研究过:Java,51,stm32,msp430等单片机,嵌入式ARM,DSP,模拟/数字电路,树莓派
展开
-
基于区域求和表的实时体渲染环境光遮蔽和光晕技术
对于体模型来说,很多光学效应都很难实时生成。它们可能对渲染时间有重要影响,或者它们需要预先计算,阻止了以交互方式更改传递函数,因为它决定了遮挡。本文提出了两种在体模型上快速生成环境遮挡的方法:第一种是屏幕空间方法,它不需要任何预先计算的数据结构。 第二种方法是独立于视图的方法,它以密度值的总面积表的形式存储体信息,因此,允许按需交互改变传递函数,但是要以牺牲内存空间为代价。尽管这两种方法都能获得相似的质量结果,但是3D版本更适合于具有不连续结构的对象,如血管或肠道,并且它可以产生更好的帧速率。屏原创 2020-12-13 18:24:00 · 487 阅读 · 0 评论 -
体渲染中的非真实感技术
非照片级真实感技术:表现性可视化是一组技术,用于提供模型特征的视觉提示,以实现广泛的效果,如艺术效果或注意力集中。不同的策略强调模型的不同部分可以用来增强深度感知。Cse'bfalvi等人提出根据局部梯度的大小和观察方向与梯度之间的角度生成轮廓[1]。Hauser等人[20]提出了两级体绘制,它能够对数据集中的不同结构使用不同的渲染范式(例如直接体绘制或最大强度投影),并展示了如何将其用作焦点+上下文技术。Nagy等人[21]结合了线条图和直接体绘制技术。Yuan和Chen[22]...原创 2020-12-13 11:36:34 · 501 阅读 · 0 评论 -
Pop artifact - volume rendering
本文讲解了什么是体渲染中的Pop artifact:splatting通过重新排序体绘制积分来提高速度,这样每个体素对积分的贡献可以与其他体素隔离查看。插值核被放置在每个体素位置。这使得人们可以把体看作是一个重叠的 插值核h 的场,作为一个整体,构成了连续的对象表示:即一个平面上的点都是一起被投射然后生成到image plane上的,每个点和其他点之间进行相互叠加。“合成每个采样点”(composite every sample splatting)违反了离散体绘制模型,因为在确定体采样点的可见原创 2020-12-09 14:15:45 · 318 阅读 · 0 评论 -
半角切片阴影 half-angle slice based —— 全网最好和最易懂的算法描述
竟然没有人写过这个这么著名的技术。但是不瞎吹,个人认为在算法描述上确实已经足够清晰和透彻了(在彻底通读了三篇论文以后)。首先在说明这项看着貌似有点不太好理解的技术之前,一定要牢记一点:Adding shadows to the volume lighting model means that light gets attenuated through the volume before being reflected back to the eye.这才是阴影的本质,无非就是光照被其他体素遮原创 2020-11-30 18:04:56 · 1000 阅读 · 0 评论 -
全局体渲染光照技术总结概括(截止到2014年)
参考文献:A Survey of Volumetric Illumination Techniques for Interactive Volume Rendering交互式体光照技术的三个挑战:体照明模型 交互式传输函数 应用于GPU的算法科学可视化领域开发体光照模型的主要动机之一是提高视觉感知能力。我们将回顾和比较先进体积照明的现有技术,这些技术的适用性来自于照明能力、性能行为以及技术实现。由于本报告涉及交互式高级体积照明技术,可能适用于科学可视化,因此不考虑在渲染过程中不允许改变传递函数原创 2020-11-14 15:47:15 · 2618 阅读 · 0 评论 -
Exposure编译失败的原因总结
注意问题一:在cmake编译好以后,记得手动把编译文件中的moc_MainWindow.cxx添加到工程的Generated里面,否则会提示MainWindow.obj:error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall...原创 2020-10-24 15:47:23 · 827 阅读 · 0 评论 -
三维可视化体渲染效果
今天是程序员节。发几张最近渲染的图像吧。原创 2020-10-24 11:39:59 · 988 阅读 · 4 评论 -
体渲染方程记录
用于方便查阅和总结。符号和公式:吸收发射模型:有外部光源:单散射:多散射:参考文献:A Survey of Volumetric Illumination Techniques for Interactive Volume Rendering原创 2020-09-14 09:50:44 · 364 阅读 · 0 评论 -
三次样条插值的原理(一)
在做三次样条插值的时候,我们需要首先注意几点:第一,样条插值主要有两种,一种并不算插值,属于拟合,近似,不过每个给定的离散数据点;另一种是插值,过每个离散数据点。第二、样条插值函数是在每个段上定义的,如果有N段,就是N个函数。如果有N+1个数据点,就会一共有N个间隔。也就有分了N段的曲线。我们假设每段曲线为S(x),假设这一堆数据点为:是按照从小到大的顺序排列的,对应每个点的值假设我们取其中的一段进行分析,比如取和,在这个间隔的曲线就是首先我们需要保证的是,,当然也有...原创 2020-09-01 10:40:08 · 7451 阅读 · 0 评论 -
体渲染滤波器优化 程序卷积
计算卷积和的最直接的方法是在片段着色器中按程序计算所有权重。只要描述过滤器内核的函数可以在片段着色器中的任意位置x求值,就可以轻松计算出所有需要的权重wi(u)。所有的输入样本 fi 通过最近邻插值从输入纹理中提取。然后直接计算卷积和,如下面等式所示。示例:三次B样条曲线。三次B样条是BC样条函数族的一部分(B=1,C=0)。如下图所示。与所有三次滤波器一样,它的宽度为4,因此需要四个权重,并对四个输入样本求和。weights 定义为:参数u是两个相邻样本之间[0,1]中的分数位置,即。原创 2020-08-18 16:25:43 · 1677 阅读 · 0 评论 -
体渲染滤波器优化 卷积滤波器
Table of Contents卷积滤波计算卷积和卷积滤波一个线性的滤波器可以通过与信号进行卷积来实现。注意卷积核并不一定是线性的,这里的线性只是说线性操作。我们只考虑有限滤波器核h(·),其中卷积只需要在一定范围内(即滤波器的宽度)计算。然后,卷积积分简化为有限卷积和:这里,g(x)是给定分数重采样位置x处的滤波输出。fi 是在x的整数处给定的离散输入纹理的样本。连续的滤波器核用 h(·) 表示,m是滤波器宽度的一半,例如,对于立方(三次)滤波器m=2。下图说明了三次B样原创 2020-08-18 15:40:56 · 1742 阅读 · 0 评论 -
体渲染数据重建问题分析整理 滤波中的人工痕迹
从离散的网格点中重建原始信号的话,就需要重建滤波器了。使用滤波核来卷积就能够实现重建滤波器,重建滤波核中,最完美也是最理想的就是sinc滤波核,但是它在整个卷积域中都有值,需要卷积整个体空间。目前的图形硬件支持预过滤机制,如mipmapping和各向异性过滤缩小。对于放大倍数,提供了线性、双线性和三线性滤波器。当前图形硬件上过滤的内部精度取决于输入纹理的精度;也就是说,8位纹理在内部仅以8位精度进行过滤。为了使用gpu的内置过滤技术获得更高质量的过滤结果,我们必须在定义纹理时使用更高精度的内部纹理格原创 2020-08-18 15:01:35 · 1666 阅读 · 0 评论 -
体渲染数据重建问题分析整理 采样中的人工痕迹
我们将首先确定体绘制过程中可能出现的伪影源。在改进了对工件来源的理解之后,我们就可以找到在给定时间限制下产生高质量的体积可视化的方法。The volume-rendering pipeline. Each step in this pipeline is a potential source of artifacts首先是一个采样阶段,它访问体积数据,以沿穿过体积的直线射线获得体素的值。第二,过滤阶段,它插值体素值。第三步,分类步骤,将插值值从体积映射到发射和吸收系数。如果在计算体积原创 2020-08-14 21:43:12 · 2197 阅读 · 1 评论 -
体渲染数据重建问题分析整理 基础插值算法
体渲染的数据一般都是在离散的网格点上,但是我们采样的时候需要得到所有的点的值。根据信号处理方面的知识,数据要能重建出来的话,采样频率必须要是实际信号的最高频率的两倍以上。在数学描述上,合理的采样方法可以如下定义:首先找到该信号的最大频率,即在该频率间隔 之外的频率都是0。然后采样频率是Nyquist频率的两倍:采样信号点标记为之后原始信号就可以恢复:假设采样频率是sinc函数的傅里叶变换在频率间隔外面是0。在实践中,输入数据集的频率内容可能是未知的。在这些情况下,..原创 2020-08-14 17:11:38 · 1985 阅读 · 0 评论 -
体渲染消光优化-2016TVCG-实现
Table of Contents实现重要性函数渲染算法实现我们把数据存储在3D纹理中,然后通过传输函数进行映射。重要性函数传输函数然而,一个缺点是重要特征的区分与标准的颜色和消光分类一样受到限制(不够微妙)。感兴趣特征(缩写为FOI,feature of interest)为此,我们实现了一个更微妙的重要性函数,用户可以选择我们在空间域中指定的种子点x和数据域中的容差值指定的感兴趣特性(FOI)。然后使用洪水填充算法(flood fill algorithm)计算F原创 2020-08-14 09:17:39 · 1963 阅读 · 0 评论 -
体渲染 图像顺序方法和对象顺序方法
体绘制技术可分为图像顺序法和对象顺序法。图像排序方法:在二维图像空间中工作-图像平面上的像素作为体积遍历的起点。从像素开始,遍历数据量。例如光线投射法,从屏幕发出光线,采集数据场。对象排序方法:遵循一定的组织方式来扫描对象空间中的三维体。然后将遍历的体积区域投影到图像平面上。例如Texture-sliced方法,把体数据排列在GPU中,然后合成。...原创 2020-08-13 21:32:24 · 1843 阅读 · 0 评论 -
体渲染消光优化-2016TVCG-原理与技术
Table of Contents摘要引子我们的贡献相关工作基础1、体照明2、消光优化摘要新模型——优化单散射模型中的光衰减。以前的问题:由于光的指数衰减,导致被遮挡区域和照明区域亮度变化有很高的动态范围,以及因为光从采样点到摄像机衰减太多,可能导致重要区域不可见。本文思想:提供了重要性函数——照明这些重要结构。重要性函数——让更多光照明这里的区域。同时,周边阴影来增强深度显示。同时更多的光从采样点发射到摄像机中。方案:最小化问题——自动决定沿着视点或者阴影方原创 2020-08-13 20:36:46 · 773 阅读 · 0 评论 -
DVR光学模型
体渲染技术的起源和发展-精品文(超长预警)Table of ContentsDVR光学模型DVR光学模型终于到封顶之作了。虽然其实在Hege的模型已经把很多方面都阐述的很清楚了,但是我们仍然需要这最后一篇论文来继续强化体渲染的模型。1995年Max在图形学顶会之一的TVCG上发表了一篇文章,详细的介绍了体渲染的算法细节的方方面面。这是一篇survey,这里面的模型包括:只有体素吸收光的体渲染方程 只有体素发射光的体渲染方程 体素既能发射光又能吸收光的体渲染方程 外部照明单散射没原创 2020-08-11 10:56:05 · 1836 阅读 · 0 评论 -
体渲染数学方法和模型
体渲染技术的起源和发展-精品文(超长预警)Table of Contents体渲染数学方法和模型理论介绍吸收发射和散射吸收项:发射项:体渲染数学方法和模型Hege等人在1993年发布的文章中具体阐述了体渲染的数学方法,凡是做过体渲染的人不可能不知道这套体系。其实说实话,从内容来看,接下来的这篇文章更像是前面的技术的一个总结。不过这篇文章确实阐述的是比较完备的体渲染算法,它还是基于线性传输理论。理论介绍光具有波动性,进而有多种状态,比如干涉衍射等,还有不同的波长,这里我原创 2020-08-10 17:02:55 · 2671 阅读 · 0 评论 -
光传输理论在3D标量场可视化中的应用
体渲染技术的起源和发展-精品文(超长预警)Table of Contents光传输理论在3D标量场可视化中的应用渲染方程数据特征映射源项衰减项散射项颜色映射增强重要区域结论光传输理论在3D标量场可视化中的应用一个里程碑式的文章,诞生于1990年,由Krüger发表于IEEE Vis会议。以前很多研究主要是将3D标量场里面的所有体素都当成粒子,然后研究光传输是如何与这些粒子交互的。这篇论文乍看一眼其实和最早的研究很相近,但是实际上它们之间还是有区别的,它是假原创 2020-08-09 21:09:12 · 1783 阅读 · 0 评论 -
3D标量场可视化
体渲染技术的起源和发展-精品文(超长预警)Table of Contents3D标量场可视化两种已经存在的渲染模型(老方案)Cross-section renderingThreshold rendering散射模型3D标量场可视化我们迎来了重头戏——大名鼎鼎的 density emitted model(密度发射模型)。Sabella在图形学顶级期刊SIGGRAPH上发表的关于体渲染的论文,提出了光线追踪渲染3D标量场的技术,该算法计算沿采样光线的场的特性,如衰减强度(原创 2020-08-09 16:35:33 · 3275 阅读 · 0 评论 -
渲染方程
体渲染技术的起源和发展-精品文(超长预警)渲染方程Kajiya发布了一篇标题只有三个单词的文章:渲染方程。该文章不但综合了以前的多种模型,还发布了一种比较新的技术。不过其实这篇文章主要还是讲述的光在不同表面如何进行散射的问题。注意这种散射与粒子中的体渲染散射还是不一样的,但是基本思路差不太多。我们先看一下这个渲染方程:如果之前看过体渲染方程,对这个肯定非常熟悉。但是这个方程并不是体渲染的方程,而是比较简单的表面渲染。几何项可以理解为一个缩放关系,表示从x'到x点的图中被其他微粒表面遮原创 2020-08-08 16:44:27 · 4088 阅读 · 0 评论 -
CUDA 三维纹理的创建和使用测试
CUDA 复杂问题 + 细节问题 解答见CUDA复杂问题 + 细节问题 解答首先放上代码:#include "cuda_runtime.h"#include "device_launch_parameters.h"#include "cuda.h"#include <iostream>using std::cout;using std::endl;#define arrayNum 100#define mwidth 10#define mheight 10#de..原创 2020-07-24 18:37:31 · 2316 阅读 · 1 评论 -
体渲染方程详解 - 精品(未完结)
很早就想写这么一篇比较全而且详细的博客,介绍一下体渲染的基础算法。这篇博客,能多长我就写多长,能多详细我就写多详细,争取把基础算法都介绍清楚。那么现在我就开始逐步构建这个博客。Table of Contents光传输理论发射(emission)吸收(absorption)吸收发射模型(Volume Rendering Equation)组合(Composition)光传输理论通过模拟光线穿过体空间的过程,我们可以建模得到体渲染的光学方程。而体渲染是采用“逆向光线”的方原创 2020-07-21 22:40:31 · 4424 阅读 · 0 评论 -
《学一辈子光线追踪》 十 你的余生+极简后记
蒙特卡洛光线追踪技术系列见蒙特卡洛光线追踪技术这本书的目的是显示一种组织基于物理渲染器的采样方法的所有数学i的细节。现在你可以探索很多不同的潜在途径。如果你想探索蒙特卡罗方法,可以研究双向和路径间隔的方法,比如Metropolis。概率空间不是立体角,而是路径空间,路径是高维空间中的多维点。不要让这吓到你——如果你能用一个数列来描述一个物体,数学家称它为所有可能的数列空间中的一个点。那不只是为了作秀。一旦你得到了这样一个干净的抽象,你的代码也可以变得干净。干净的抽象是编程的全部!如果你想做电..原创 2020-06-20 21:11:19 · 580 阅读 · 0 评论 -
《学一辈子光线追踪》 十 完成pdf管理
蒙特卡洛光线追踪技术系列见蒙特卡洛光线追踪技术到目前为止,我已经使用color函数创建了两个硬编码的pdf:1、与光的形状有关2、与法向量和曲面类型相关的p1()我们可以将关于光的信息(或者我们想要采样的任何东西)传递到颜色函数中,我们可以向材质函数请求pdf(我们必须对它进行检测)。我们也可以请求hit函数或material类来提供是否有镜面反射向量。我们要考虑的一件事是像上漆的木材一样的材料,部分是理想的镜面(抛光)和部分漫反射(木材)。某些渲染器使材质生成两条光线:一条镜面反射..原创 2020-06-20 20:49:20 · 586 阅读 · 0 评论 -
《学一辈子光线追踪》 八点五 和 九 混合密度程序跟踪解读 加 一些架构决策
蒙特卡洛光线追踪技术系列见蒙特卡洛光线追踪技术我们从 color 函数开始: if (depth < 50 && rec.mat_ptr->scatter(r, rec, albedo, scattered, pdf_val)) { ........ } else { return emitted; }当采样光线已经递归到50次或者打到光源时,返回emitted。如果小于50次时执行scattered程序,产生一个散射方向以及..原创 2020-06-20 02:55:00 · 438 阅读 · 0 评论 -
《学一辈子光线追踪》 八 混合密度
蒙特卡洛光线追踪技术系列见蒙特卡洛光线追踪技术我们使用了一个与余弦θ相关的pdf和一个与光采样相关的pdf。我们想要一个总的pdf来结合这些pdf。一个常见的概率工具是把密度混合来形成一个混合密度。pdf的任何加权平均值都是pdf。例如,我们可以平均这两种密度:pdf_mixture(direction) = ½ pdf_reflection(direction) + ½ pdf_light(direction)我们该如何编写代码来实现这一点?有一个非常重要的细节,使这不如人们期望的那么容易..原创 2020-06-20 02:15:07 · 513 阅读 · 0 评论 -
《学一辈子光线追踪》 六 正交基
蒙特卡洛光线追踪技术系列见蒙特卡洛光线追踪技术在最后一章中,我们开发了生成与日晷相对的随机方向的方法。我们要做的是基于任意曲面的法向量。正交正规基(ONB)是三个相互正交的单位向量的集合。笛卡尔xyz轴就是这样的一个ONB,我有时忘记了它必须坐在某个真实的地方,有真实的方向,才能在真实世界中有意义,而在虚拟世界中有一些虚拟的地方和方向。图片是相机和场景相对位置/方向的结果,只要相机和场景在同一坐标系中描述,一切都是可以的。假设我们有一个原点o和笛卡尔单位向量x/y/z。当我们说一个位置是(3,-..原创 2020-06-18 20:05:00 · 733 阅读 · 0 评论 -
《蒙特卡洛光线追踪》 随机方法 超详分析(数学+程序预警)
蒙特卡洛光线追踪技术系列见蒙特卡洛光线追踪技术上一节说过,结束后会单独写一节关于前面所有知识的梳理和总结。这一节不可能会特别短,但很可能会特别长,因为以前的程序都写完了,这一节基本上不会写程序,而全部都是原理的详细分析(超级详细!)。就让我们做好心理准备,开始走入MC的世界。一、MC与积分首先还是我们要进行的积分:结果就是下图中蓝色区域的面积:其实也很好使用MC方法,产生一堆横坐标0-2,纵坐标0-4之间的随机数,然后判断其在蓝色区域还是黄色区域,然后根据比值计算出蓝色区..原创 2020-06-18 03:49:10 · 3017 阅读 · 0 评论 -
《学一辈子光线追踪》 五 产生随机方向
蒙特卡洛光线追踪技术系列见蒙特卡洛光线追踪技术这一节结束后,我会对前面的关于概率和光线追踪的知识进行一下总结和归纳。在本章和下两章中,让我们加强理解和工具,找出哪个康奈尔盒子的渲染结果是正确的。我们先来看看如何生成随机方向,但为了简化,我们假设z轴是曲面法向,theta是与法向的夹角。我们将在下一章中把它们定向到曲面法向量。我们只讨论关于z的旋转对称分布,所以p(direction) = f(theta)。如果你有学过高级微积分,你可能记得在球坐标系的球面上 dA = sin(theta)*dt..原创 2020-06-17 03:44:17 · 735 阅读 · 1 评论 -
《学一辈子光线追踪》 四点五 代码对比分析
蒙特卡洛光线追踪技术系列见蒙特卡洛光线追踪技术先粘贴一下以前的lambertian代码:class lambertian :public material {public: lambertian(texture*a):albedo(a){} virtual bool scatter(const ray& r_in, const hit_record& rec, vec3& attenuation, ray& scattered)const { vec3..原创 2020-06-16 16:38:29 · 477 阅读 · 0 评论 -
《学一辈子光线追踪》 四 重要性采样材料
蒙特卡洛光线追踪技术系列见蒙特卡洛光线追踪技术在接下来的两章中,我们的目标是利用我们的程序向光源发送一束额外的光线,这样我们的图片噪声就不会太多了。假设我们可以使用pdf pLight(direction) 向光源发送一束光线。假设我们有一个与s相关的pdf,我们称之为pSurface(direction)。pdf 的一个优点是,可以使用它们的线性混合来形成混合密度,这也是pdf。例如,最简单的方法是:p(direction) = 0.5*pLight(direction) + 0.5*pS..原创 2020-06-16 15:10:15 · 819 阅读 · 0 评论 -
《学一辈子光线追踪》 三 光散射
蒙特卡洛光线追踪技术系列见蒙特卡洛光线追踪技术这一小节全都是文字,但是比较重要。虽然之前在三维渲染 光能辐射基础三维渲染 BRDF双向反射分布函数三维渲染 相位函数三维渲染 体照明模型这几个章节也都很详细的描述过光学了,这里从概率的方面再进行描述。在这一章中,我们实际上不会实现任何东西。我们将在第四章中为我们的节目设置一个大的灯光变化。我们上一本书中的程序已经散射了表面或体积的光线。这是光与表面相互作用的常用模型。一种自然的建模方法是概率。首先,光线被吸收了吗?光散射..原创 2020-06-16 02:53:13 · 700 阅读 · 0 评论 -
《学一辈子光线追踪》 二点五五 在球面方向的MC积分
蒙特卡洛光线追踪技术系列见蒙特卡洛光线追踪技术竟然有两个第二章,我也是很无奈啊。原创 2020-06-15 15:15:41 · 548 阅读 · 0 评论 -
《学一辈子光线追踪》 二点五 一维MC积分(二)
蒙特卡洛光线追踪技术系列见蒙特卡洛光线追踪技术我们现在可以对以前的积分进行采样I = integral(x^2, 0, 2)我们需要解释x的pdf的不均匀性。如果我们样本太多,我们应该降低权重。pdf 是一个很好的度量方法,可以用来衡量正在进行的抽样工作有多少。所以权重函数应该与 1/pdf 成正比。实际上是1/pdf:#include <math.h>#include <stdlib.h>#include <stdio.h>#include ..原创 2020-06-15 01:24:14 · 462 阅读 · 0 评论 -
《学一辈子光线追踪》 二 一维MC积分(一)
蒙特卡洛光线追踪技术系列见蒙特卡洛光线追踪技术积分是关于计算面积和体积的,所以如果我们想让第1章最大限度地混淆,我们可以将它以一个积分的形式组织起来。但有时积分是最自然、最干净的表达方式。渲染常常是这样一个问题。让我们看一个经典的积分:在计算机科学符号中,我们可以这样写:I = area( x^2, 0, 2 )我们也可以这样写:I = 2*average(x^2, 0, 2)我们也可以这样写:这表明了一种MC方法:#include <math.h>#..原创 2020-06-15 00:30:42 · 1206 阅读 · 0 评论 -
《学一辈子光线追踪》 一 引言和一个简单的蒙特卡洛程序
蒙特卡洛光线追踪技术系列见蒙特卡洛光线追踪技术引言:在一个周末的光线跟踪和光线跟踪:下周,你建立了一个“真正的”光线跟踪器。在本卷中,我假设您将从事与光线跟踪相关的职业,我们将深入研究创建非常严肃的光线跟踪器的数学。完成后,您应该准备好开始处理电影和产品设计行业中许多重要的商业光线跟踪器。在这本小册子中,我没有介绍很多东西;我只探讨了编写Monte Carlo渲染程序的多种方法中的一种。我不做阴影光线(相反,我使光线更有可能朝向灯光)、双向方法bidirectional methods、Me..原创 2020-06-14 21:19:18 · 797 阅读 · 0 评论 -
三维渲染 体照明模型
蒙特卡洛光线追踪技术系列见蒙特卡洛光线追踪技术全部论文训练计划章节见论文训练计划原创 2020-05-08 12:32:03 · 5499 阅读 · 0 评论 -
pycharm 安装 pydicom
首先查看一下我们的解释器里有没有 pydicom:如果没有,就如下点击:等待一段时间以后,出现成功安装现在就装好了。如果你用别的途径安装的,但是安装的文件不在当前解释器搜索范围里,就不会搜索到,仍然会显示没有安装。我的python解释器目录为:安装好以后的目录为:...原创 2020-04-27 14:45:04 · 8997 阅读 · 0 评论