自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Python作业辅导员 - 天元浪子

码路漫漫,我心灿灿

  • 博客(191)
  • 问答 (1)
  • 收藏
  • 关注

原创 写在《Python高手修炼之道》发行之前:选择一本好书,即是少走弯路

一门编程语言,总有一些独一无二的特质,不会随着语言的演变而改变,我们姑且称其为语言的DNA。一本介绍编程语言的书,如果能够捕捉到这门语言的DNA,并准确传达给读者,那就称得上是一本好书。选择一本好书,可以少走很多弯路。

2020-11-05 15:08:52 8212 14

原创 致 Python 初学者

欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你

2019-11-13 18:16:52 372641 330

翻译 Slint语言文档(机翻中文版)

Slint是一种易于学习和使用的语言,用于描述用户界面。Slint语言对于人类和机器都是可读的——如此,我们一方面拥有了出色的工具,同时通过阅读显示用户界面的代码,使得设计师和开发人员能够确切地知道会发生什么。

2023-06-23 16:41:26 3320

原创 WxGL应用实例:绘制带有塑料质感的分子模型

本文的重点是演示如何使用WxGL光照模式,以及如何通过设置漫反射系数、镜面反射系数、高光系数、透光系数等参数来模拟不同的材质。所谓的分子模型,只是笔者凭空想象出来的由圆球和圆管组成的类似积木的玩具,希望不会因此而造成误会。

2023-05-05 17:37:35 1851 1

原创 WxGL应用实例:绘制点云

如果数据中有颜色信息,或者用强度信息映射为颜色,则需要用户自行判别并在app.scatter方法中提供color(颜色)参数,或者data(数据)和cm(调色板)参数。还有另外一种更简单的方式,那就是直接使用app.pointcloud方法,只需要一个点云文件参数即可绘制出点云模型,该方法会自动识别文件是否包含颜色信息和激光强度信息。以下代码在IDLE中演示了read_pcfile函数的用法,其中用到的点云文件可从以下地址下载。数据解读出来之后,调用app.scatter方法即可绘制出点云模型。

2023-05-04 17:23:02 2365

原创 WxGL应用实例:绘制高精度的3D太阳系模型

远古时期的人类就对神秘幽邃的星空充满了好奇与敬畏。仰望星空,宇宙浩瀚。比宇宙更壮阔的,是人类对宇宙的不懈追问和沉淀在基因中的探索精神。本文尝试用WxGL来回答“日月安属、列星安陈”这个古老的问题。太阳系天体轨道数据来源于JPL(美国喷气实验室)星历表,天体自转周期和自转轴倾角来源于网路。

2023-04-21 17:37:24 4187

原创 计算1亿以内素数的个数,C/Rust/Python的性能差距有多大?测试结果出乎意料

C被公认为速度最快的编程语言,Rust的速度接近于C,二者差距在毫厘之间。如果单纯和C/Rust比速度的话,Python处于被碾压的地位,差不多慢了一个量级。不过,下面这个测试,却呈现了一个颠覆性的结果:使用相同的算法,分别用C语言、Rust语言和Python语言编程计算1亿以内素数的个数,三者用时之比为!差距如此之小,勘堪打了个平手。

2023-03-31 17:28:02 2630 2

原创 十分钟玩转3D绘图:WxGL完全手册

WxGL是一个基于PyOpenGL的跨平台三维数据快速可视化工具包,提供类似Matplotlib风格的应用方式。WxGL也可以集成到wxPython或PyQt6中实现更多的功能和控制。WxGL提供了一套简洁易用、对用户友好的API,将OpenGL的复杂概念封装起来,使得用户可以更加专注于数据的处理,而无需在3D显示方面耗费精力。WxGL还提供了着色器语言接口,允许用户定制着色器,以应对特殊的应用需求。

2023-03-17 15:24:23 3708 8

原创 元宵节就要到了,花灯要不要来一盏?3D的那种

说起元宵节,各位有没有觉得这是咱们中国人最浪漫的节日呢?国人向来拘谨古板,一年到头都是小心谨慎地过日子,唯有元宵节这天可以纵情豪放一把。东风夜放花千树,宝马雕车香满路,火树银花霓虹闪烁,豪车遍地美女如云。细品,你甚至都能嗅到香奈儿的味道!月上柳梢头,人约黄昏后,这又是何等的浪漫!比起烛光晚宴、鲜花加持,这份浪漫更显纯真。晚至明清,民间元宵节的喜庆气氛,堪比西班牙的奔牛节、巴西的狂欢节、泰国的泼水节。

2023-02-04 22:31:22 3827 11

原创 从固定管线到可编程管线:十段代码入门OpenGL

至此,一个完整的视点系统就建立起来了。视点系统对应着一个矩阵,相机方位角、高度角以及距离的变化就是改变这个矩阵,这个矩阵叫做视点矩阵(View Matrix)。视点矩阵是玩转OpenGL必须要理解的三个矩阵之一,另外两个是投影矩阵(Projection Matrix)和模型矩阵(Model Matrix),三个矩阵合称MVP矩阵。喜欢篮球或足球的话,很容易记住这个组合——MVP,最有价值球员。

2022-12-03 19:27:40 3650 6

原创 用Matplotlib绘制渐变的彩色曲线

Matplotlib没有提供直接的方法为这条曲线上的每一个点设置不同的颜色,而这一需求在数据可视化方面却是非常普遍的。比如,在一条变化复杂的曲线上,如果每个点的数值越大颜色越趋近于红色,数值越小颜色越趋近于蓝色,就更容易展示数据的变化规律。

2022-10-24 15:48:38 9604 3

原创 在Linux Mint上玩转蓝牙机械键盘

国庆假期第一天,早已被气象预报安排得明明白白的降雨如期而至。与此同时,突发的疫情也不期而至,假期出行计划不得不因此而放弃。不过,这倒也不是什么坏事。于我来说,蜗居家中闲听风雨,捧卷而读倦极则眠,才是最惬意的生活。

2022-10-02 18:50:15 8431

原创 Vim速查手册:最强大的工具,最全面的指南

vim被公认为最强的编辑器,自然有其独到之处。对于新手而言,模式、寄存器和缓冲区是有别于其他编辑器的三个核心概念。

2022-09-29 17:27:09 4000

原创 中秋节的月亮怎么拍?不用手机和相机,程序员照样能拍出大片的感觉

说话间,一年一度的中秋节又来到了跟前儿。除了品尝月饼,中秋节最重要的活动大约就是赏月了。一轮高悬月,万念俱清新。古往今来,多少文人墨客借月抒发胸臆,留下了无数吟咏明月的诗词歌赋。现如今,写诗成了贾浅浅们的专享,普通人更喜欢在中秋月圆之夜拍月亮发微博或微信朋友圈与亲朋好友互祝平安。

2022-09-10 10:28:27 4141 3

原创 七夕,当爱神丘比特遇上牛郎和织女

情人节,浪漫的程序员总喜欢搞点花样出来,为紧张且平淡的生活添点色彩。今天给各位带来的是3D动画版的丘比特爱情之剑:一只金色的丘比特爱情之剑以慢镜头方式缓缓刺中一个脉动的红心,红心的主人将会无法控制地爱上TA所看到第一个人。我猜,当初牛郎和织女一定是被丘比特的爱情之剑射中以后才相爱的,毕竟,他们都生活在天上——西方文化中,木星(Jupiter)就是小爱神丘比特,金星(Venus)则是大爱神维纳斯。............

2022-08-03 17:20:22 9545 31

原创 基于声卡实现的音频存储示波器,可作为电磁学实验的测量仪表

十年前女儿读高中,电磁学是那个学期物理课的重点内容。女儿回家吐槽说课堂上的物理实验是纸上谈兵,老师只播放幻灯片和实验动画,并没有仪表可以直观地看到电磁实验中感应电流的变化。为了帮助女儿理解电磁感应,爷儿俩花了一星期时间,做了一个用声卡测量电磁实验中感应电流的软件,还有一套楞次定律的实验装置。......

2022-07-27 17:41:48 4138 1

原创 用python演绎神奇的生命游戏,在游戏中学习numpy和matplotlib动画

仅凭3条细胞繁衍和死亡的简单规则,生命游戏就可以在计算机上模拟出丰富的生命演化过程,甚至可以模拟出与真实生命相当的复杂度——只要计算机内存足够大、计算能力足够强。生命游戏是人工生命的经典研究,推动了元胞自动机(Cellular Automaton)理论的发展。元胞自动机作为一种仿真算法在近两年的数学建模竞赛中经常出现,可谓数学建模竞赛的万金油。...

2022-07-15 17:05:06 3972 1

原创 科学计算基础软件包NumPy入门讲座(9):线性代数子模块

在Python的世界里,没有一个模块能够像NumPy那样支撑并影响着整个生态系统:从科学计算到数据处理,从视觉识别到机器学习,从神经网络到虚拟现实,处处都有它的身影。无论是OpenCV、OpenGL,还是Pandas、Matplotlib,抑或是Scikti-learn、TensorFlow、Keras、Theano、PyTorch,无不依赖于NumPy,尤其是依赖它所创造的数组对象(numpy.ndarray)。

2022-05-10 10:30:18 2395

原创 科学计算基础软件包NumPy入门讲座(8):随机抽样子模块

在Python的世界里,没有一个模块能够像NumPy那样支撑并影响着整个生态系统:从科学计算到数据处理,从视觉识别到机器学习,从神经网络到虚拟现实,处处都有它的身影。无论是OpenCV、OpenGL,还是Pandas、Matplotlib,抑或是Scikti-learn、TensorFlow、Keras、Theano、PyTorch,无不依赖于NumPy,尤其是依赖它所创造的数组对象(numpy.ndarray)。

2022-05-07 17:34:42 2445

原创 科学计算基础软件包NumPy入门讲座(7):矩阵

在Python的世界里,没有一个模块能够像NumPy那样支撑并影响着整个生态系统:从科学计算到数据处理,从视觉识别到机器学习,从神经网络到虚拟现实,处处都有它的身影。无论是OpenCV、OpenGL,还是Pandas、Matplotlib,抑或是Scikti-learn、TensorFlow、Keras、Theano、PyTorch,无不依赖于NumPy,尤其是依赖它所创造的数组对象(numpy.ndarray)。

2022-05-07 17:15:32 2273

原创 科学计算基础软件包NumPy入门讲座(6):掩码数组

在Python的世界里,没有一个模块能够像NumPy那样支撑并影响着整个生态系统:从科学计算到数据处理,从视觉识别到机器学习,从神经网络到虚拟现实,处处都有它的身影。无论是OpenCV、OpenGL,还是Pandas、Matplotlib,抑或是Scikti-learn、TensorFlow、Keras、Theano、PyTorch,无不依赖于NumPy,尤其是依赖它所创造的数组对象(numpy.ndarray)。

2022-05-07 16:52:00 3014

原创 科学计算基础软件包NumPy入门讲座(5):常用函数

在Python的世界里,没有一个模块能够像NumPy那样支撑并影响着整个生态系统:从科学计算到数据处理,从视觉识别到机器学习,从神经网络到虚拟现实,处处都有它的身影。无论是OpenCV、OpenGL,还是Pandas、Matplotlib,抑或是Scikti-learn、TensorFlow、Keras、Theano、PyTorch,无不依赖于NumPy,尤其是依赖它所创造的数组对象(numpy.ndarray)。

2022-05-07 15:41:27 3127

原创 科学计算基础软件包NumPy入门讲座(4):操作数组

在Python的世界里,没有一个模块能够像NumPy那样支撑并影响着整个生态系统:从科学计算到数据处理,从视觉识别到机器学习,从神经网络到虚拟现实,处处都有它的身影。无论是OpenCV、OpenGL,还是Pandas、Matplotlib,抑或是Scikti-learn、TensorFlow、Keras、Theano、PyTorch,无不依赖于NumPy,尤其是依赖它所创造的数组对象(numpy.ndarray)。

2022-05-07 15:28:57 1474

原创 科学计算基础软件包NumPy入门讲座(3):创建数组

在Python的世界里,没有一个模块能够像NumPy那样支撑并影响着整个生态系统:从科学计算到数据处理,从视觉识别到机器学习,从神经网络到虚拟现实,处处都有它的身影。无论是OpenCV、OpenGL,还是Pandas、Matplotlib,抑或是Scikti-learn、TensorFlow、Keras、Theano、PyTorch,无不依赖于NumPy,尤其是依赖它所创造的数组对象(numpy.ndarray)。

2022-05-07 15:00:28 1112

原创 科学计算基础软件包NumPy入门讲座(2):基本概念

在Python的世界里,没有一个模块能够像NumPy那样支撑并影响着整个生态系统:从科学计算到数据处理,从视觉识别到机器学习,从神经网络到虚拟现实,处处都有它的身影。无论是OpenCV、OpenGL,还是Pandas、Matplotlib,抑或是Scikti-learn、TensorFlow、Keras、Theano、PyTorch,无不依赖于NumPy,尤其是依赖它所创造的数组对象(numpy.ndarray)。

2022-05-07 14:54:29 1446

原创 科学计算基础软件包NumPy入门讲座(1):概述

在Python的世界里,没有一个模块能够像NumPy那样支撑并影响着整个生态系统:从科学计算到数据处理,从视觉识别到机器学习,从神经网络到虚拟现实,处处都有它的身影。无论是OpenCV、OpenGL,还是Pandas、Matplotlib,抑或是Scikti-learn、TensorFlow、Keras、Theano、PyTorch,无不依赖于NumPy,尤其是依赖它所创造的数组对象(numpy.ndarray)。

2022-05-07 11:47:55 2057

原创 wxPython:一曲MFC时代的挽歌,更是理想主义的绝唱

wxWidgets像是一个孤独的勇士,高举开源的大旗,试图以一己之力构建一个相互承认、相互尊重的理想社会。缺少或拒绝商业化运作的支持,wxWidgets的悲情结局早已是命中注定。如果不是因为Python的兴盛和wxPython的复兴,wxWidgets也许早已经和MFC一样被遗忘在了角落里。不无夸张地说,wxPython是以MFC为代表的一个时代的挽歌,更是一曲理想主义的绝唱。

2022-05-04 21:14:38 4845 8

原创 PyQt:桌面程序设计的饕餮盛宴

在一个热爱生活的的程序员眼里,诸美皆可食。如果把wxPthon比作是珍馐玉馔,那么Tkinter就好比是肯德基套餐,而PyQt则是传说中的满汉全席了。据说一顿满汉全席要持续三天,倘若被邀赴宴,不事先了解一下宴席的礼仪规矩、菜系菜品和时序流程,恐怕要闹出不少笑话。同样的,既然把PyQt比作满汉全席,那就有必要在使用之前了解一下它的组织架构,以免被代码中导入的数量巨多的模块和类弄得晕头转向,从此产生心理阴影。

2022-05-02 15:50:13 13652 12

原创 Tkinter:实用至上主义的经典之作

相较于wx或Qt多如牛毛的控件和组件,Tk只用十几个控件就可以满足几乎所有的应用需求,用最低的学习成本、最简单的方式解决问题,这不正是实用至上主义的典范吗?从实用主义的角度看,Qt的博大精深就是尾大不掉,Wx的精致严谨就是循规蹈矩。如果你正在寻找一款用于桌面程序设计的GUI库,并且只打算花一个小时学会使用它,那么就请选择Tkinter吧。这款以学习曲线平缓和易于嵌入为特定目标而设计的GUI库,也许正是你苦苦追寻的真爱。

2022-04-30 15:58:54 14542 11

原创 我的Docker学习笔记:从入门到实战过程全记录

想要真正理解Docker,就不得不从虚拟化技术的发展历程说起。普遍认为虚拟化技术经历了物理机时代、虚拟机时代,目前已经进入到了容器化时代。可以说,Docker是虚拟化技术不断发展的必然结果。

2022-04-13 16:51:36 3412 1

原创 浅述Docker的容器编排

作为容器引擎,Docker为容器化的应用程序提供了开放标准,使得开发者可以用管理应用程序的方式来管理基础架构,实现快速交付、测试和部署代码。随着容器的大量使用,又产生了如何协调、调度和管理容器的问题,Docker的容器编排应运而生。所谓容器编排,通俗一点可以理解为集群管理。Docker的容器编排工具有很多,最出名的当属Compose、Machine和Swarm,合称Docker三剑客。其中Compose和Machine是第三方的,而Swarm则是Docker官方的容器编排工具,已经被集成在Docker中了。

2022-04-11 17:13:57 3822

原创 这才是程序员的元宵节打开方式:亲手做一盏花灯,轻松学三维绘图

又是一年元宵节,作为程序员的你,打算怎么过呢?如果昨天情人节的红包发得手软又心疼,不妨静下心来,了解一下三维数据可视化,顺便做一盏花灯送给女朋友,也许比红包更能讨她欢心呢。

2022-02-15 09:14:14 7641 15

原创 如何用OpenGL的点精灵(point sprite)绘制雪花?

看冬奥才知道,阿勒泰不但是中国的“雪都”,还是“人类滑雪起源地”。这个说法是否成立,姑且不论,阿勒泰的雪的确很漂亮。冬奥会有一个宣传片,就是借用一朵阿勒泰雪花的视角来讲述冬奥会的故事,既有历史的厚重,又有艺术的浪漫,极具视觉冲击感。那么问题来了:如何用OpenGL绘制雪花呢?通常,点精灵(point sprite)技术被用于描述大量粒子在屏幕上的运动,自然也可以用于绘制雪花。点精灵可以理解为贴了纹理图片的点——仅用一个vertex就可以把一个2D纹理图片绘制到屏幕的任何位置。在OpenGL中开启和使用

2022-02-05 12:48:42 9945 6

原创 用OpenGL导演一场烟花盛会,迎接即将到来的新年

忙碌了一年,今天终于放假了。原本打算好好休息一下,没成想只过了半天就觉得有点无聊。看家人和朋友们都在忙年,那我就用OpenGL导演一场烟花盛会,献给即将到来的新年吧。一说到OpenGL,很多人都会觉得复杂,其实不然。只要掌握了几个基本的概念,借助于工具软件,任何人都可以很轻松地上手。在制作烟花之前,我先介绍一下WxGL这个三维数据快速可视化工具。1. 安装WxGLWxGL是一个基于PyOpenGL的三维数据可视化库,以wx为显示后端,提供Matplotlib风格的交互式应用方式。WxGL也可以和wxP

2022-01-29 17:39:13 5674 1

原创 最新版的Python写春联,支持行书隶书楷书,不再有缺失汉字

1. 前言两年前的今天,我写过一篇名为《用Python写春联:抒写最真诚的祝福和最美好的祈愿》的文章,吸引了很多书法爱好者的关注。该文用的是田英章老师的楷书,我在网上总共找到了1600个汉字,因此,春联用字被限制在这1600个汉字的小字库中。近日,随着春节临近,这篇旧文又再次被网友们翻出,每日浏览量超过5000人次。由于字库过小,连很多常用字都没有收入,很多朋友留言,要求扩容字库以及支持其他字体。我个人精力有限,同时受知识产权保护的限制,不可能制作完整的毛笔字库。那么,能否借用现有的矢量字库,满足朋友们

2022-01-21 17:10:16 32918 101

原创 OpenGL着色器语言GLSL资料汇编

OpenGL的工作流程通常被描述为渲染管线(rendering pipeline),该管线上的每一个环节都依赖相应的着色器(shader)来处理数据。在OpenGL 3.0版本(包括该版本)之前,用户可以使用固定功能管线(fixed-function pilpline)以避免编写着色器程序,但是从3.1版本开始,OpenGL从核心模式中移除了固定功能管线,使用着色器成了用户唯一的选择。

2021-11-23 13:44:07 2986 3

原创 用Python模拟高尔顿钉板实验

这个实验之所以有名,是因为实验结果服从正态分布。不过也有人说,高尔顿钉板的实验结果服从二项分布,只是二项分布的概率密度函数可以用正态分布近似而已,和正态分布没什么关系。我不懂数学,只好把两种说法都罗列在这里,供读者参考。

2021-11-03 11:34:24 3896 3

原创 Python居然开始抄作业了,这次抄的是Rust

众所周知,Rust有两样镇山之宝,一是安全的内存模型,二是模式匹配。在内存管理上,Python使用了传统的垃圾回收的内存模型,与Rust相比没有多少可比性。随着Python3.10的发布,模式匹配被引入到Python中,而且几乎是完全照搬了Rust的概念。 Rust支持模式匹配中的变量绑定、结构体/元组解构、守卫条件判断、数值范围匹配等特性,Python照单全收,连下划线 _ 匹配任意情形的原封不动地继承了过来。

2021-10-24 22:55:12 10612 12

原创 Python正面硬刚C语言,结果会怎样?

用C来实现同样的功能,究竟会比Python快多少呢?平时总听到很多人说,Python如何如何慢,何不借此问题,让Python和C来一个正面较量呢?

2021-08-26 17:17:42 9519 64

原创 CT片居然可以这么玩:用头部CT断层扫描片复原三维头像

CT是现代医学影像的主力设备,寻常百姓并不陌生。通常,一张CT片由多张连续断层扫描的图像组成。在医生眼中,CT片展示了人体器官的形态和性质,是判断病人健康状况的重要依据。对于普通人而言,CT片则像天书,几无大用。不过呢,总有不甘寂寞喜欢折腾的程序员,把看似无用的CT片玩出了新花样——用头部CT断层扫描片成功复原出了逼真的三维头像。

2021-07-30 11:47:58 3715 15

ScreenToClient cannot work when toplevel window is not shown

解决Debian/Ubuntu/mint等操作系统上使用wxPython时出现如下调试信息: Debug: ScreenToClient cannot work when toplevel window is not shown 解包后根据硬件架构选择i386或amd64包直接安装即可。

2022-11-18

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

TA关注的人

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