3.6 艺术创作

国外大神的例子

  这篇文章里我不过多地讨论艺术,我只想说LaTex是可以用来进行艺术创作的。对于现代艺术设计需要的技术LaTex是完全支持的。比如在TikZ例子网站,有168行代码画出的龙猫Totoro
在这里插入图片描述
  我们简单整理一下,艺术创作需要哪些基本的技术,我认为需要以下几点:任意曲线,任意颜色、填充,渐变色,组件复用。当然还有其他的技术,碍于篇幅,我只讲上面四种技术。

任意曲线

  只要知道了曲线的方程,可以很精确地用Latex画出曲线。但是LaTex也支持插值技术,就是仅提供几个点,LaTex会用插值法计算出曲线方程,得到一根经过这些点地平滑曲线,这种技术叫做贝塞尔曲线Bézier curve。贝塞尔曲线有个重要概念就是控制点,控制点是曲线不经过的点,但是对曲线提供了一个特别大的“引力”。贝塞尔曲线的语法就是controls子句,下面我以一个例子讲讲贝塞尔曲线:

\documentclass[tikz,11pt]{article}
\usepackage{tikz}
\begin{document}
	\begin{tikzpicture}
		\coordinate (A) at (0,3);
		\coordinate (B) at (6,3);
		\draw [help lines, green] (0,0) grid (6,6);
		\draw (0,0) .. controls (A) and (B) .. (6,6);
		\draw [fill] (0,0) circle (2pt);
		\draw [fill] (6,6) circle (2pt);
		\draw (A) circle (2pt);
		\draw (B) circle (2pt);
	\end{tikzpicture}
\end{document}

  效果如下:
在这里插入图片描述

任意颜色

  LaTex定义颜色有两个命令,一个是直接从rgb创造的definecolor命令,另一个是改变现有颜色深浅的colorlet命令,下面我以粉红为例子,介绍这两个命令的使用:

\documentclass[tikz,11pt]{article}
\usepackage{tikz}
\usetikzlibrary{patterns} 
\begin{document}
	\definecolor{darkred}{rgb}{1,0.2,0.5}
	\colorlet{bgcolor}{darkred!60}
	\begin{tikzpicture}
		\fill[bgcolor] (1,1) rectangle(3cm,2cm);
	\end{tikzpicture}
\end{document}

  最终获得了这样的粉红:
在这里插入图片描述

填充

  填充需要用到tikz的库patterns。比如以下是一个填充砖块的例子(该例子来自TikZ官方文档):

\documentclass[tikz,11pt]{article}
\usepackage{tikz}
\usetikzlibrary{patterns} 
\begin{document}
\begin{tikzpicture}
	\def\mypath{(0,0) -- +(0,1) arc (180:0:1.5cm) -- +(0,-1)}
	\fill [red] \mypath;
	\pattern[pattern color=white,pattern=bricks] \mypath;
\end{tikzpicture}
\end{document}

  效果如下:
在这里插入图片描述

渐变色

  渐变色的使用,可以达到非常好的艺术效果,这也是手工绘图(油画、国画)很难实现的,油画或者绘画的渐变色与计算机绘图相比显得十分粗糙。计算机绘图,不管是PhotoShop还是CorelDraw都可以轻松实现精细的渐变色。Tikz的渐变色库是shadings,以下是一个渐变色的例子:

\documentclass[tikz,11pt]{article}
\usepackage{tikz}
\usetikzlibrary{shadings} 
\begin{document}
	\begin{tikzpicture}
		\draw[top color=white,bottom color=black,middle color=red] (0,0) circle (2);
	\end{tikzpicture}
\end{document}

  效果如下:
在这里插入图片描述
  你以为这就完了?下面给出一个不需要shadings库的光照效果:

\documentclass[tikz,11pt]{article}
\usepackage{tikz}
\begin{document}
	\begin{tikzpicture}
		\shade[ball color=white] (0,0) circle (2cm);
		\shade[ball color=green] (5,0) circle (2cm);
		\shade[ball color=black] (10,0) circle (2cm);
	\end{tikzpicture}
\end{document}

  效果是十分逼真的:
在这里插入图片描述

组件复用

  组件复用,在前端技术里非常常见。就拿最热的vue.js来说,就大量使用了组件复用技术。组件复用的好处是节省代码量,有改动时,能做到一改全改。Tikz中复用组件使用tikzset命令,我举个例子就清楚了:

\documentclass[tikz,11pt]{article}
\usepackage{tikz}
\tikzset{
	flower/.pic={
		\draw [smooth](0,0) .. controls (0.1,0.9) ..(1,1) .. controls(0.9,0.1) .. (0,0);
		\draw [smooth](0,0) .. controls (-0.1,0.9) ..(-1,1) .. controls(-0.9,0.1) .. (0,0);
		\draw [smooth](0,0) .. controls (0.1,-0.9) ..(1,-1) .. controls(0.9,-0.1) .. (0,0);
		\draw [smooth](0,0) .. controls (-0.1,-0.9) ..(-1,-1) .. controls(-0.9,-0.1) .. (0,0);
	}
}
\begin{document}
	\begin{tikzpicture}
		\draw [help lines, green] (-1,-1) grid (6,6);
		\pic at (1,1) {flower};
		\pic at (3,1) {flower};
		\pic at (5,1) {flower};
	\end{tikzpicture}
\end{document}

  我把四个贝塞尔曲线组成的图形定义为花,然后做成了组件,随后复用组件,花了三朵花,如图:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python 3.6是一种编程语言,可以用于开发各种类型的应用程序,包括网站、桌面应用和数据分析等。安装Python 3.6的过程,有一个重要的步骤是勾选"Add Python 3.6 to PATH",这样安装程序会自动配置环境变量,使计算机能够找到Python。如果没有勾选这个选项,你需要手动配置Python的环境变量。以下是Python 3.6的安装教程: 1. 首先,你需要下载Python 3.6的安装程序。你可以在Python官方网站上下载最新版本的Python 3.6安装程序。 2. 下载完成后,运行安装程序。在某个界面上,一定要勾选"Add Python 3.6 to PATH"选项。 3. 接下来,按照安装程序提供的指示完成Python 3.6的安装。安装过程,你可以选择自定义安装选项,或者使用默认设置。 4. 安装完成后,你可以打开控制台(在Windows上可以使用快捷键Win+R,然后输入"cmd"),输入"python"命令来验证Python是否成功安装。如果显示了Python的详细信息,那么恭喜你,Python 3.6安装成功了! 请注意,如果你没有勾选"Add Python 3.6 to PATH"选项,你需要手动配置Python的环境变量。具体的环境变量配置教程可以参考相关资源。 综上所述,Python 3.6是一种编程语言,安装Python 3.6时需要勾选"Add Python 3.6 to PATH"选项,以便计算机能够找到Python。安装完成后,你可以打开控制台并输入"python"命令来验证安装是否成功。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [windows系统Python-3.6安装教程(保姆级教程)](https://blog.csdn.net/qq_41663505/article/details/127133913)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醒过来摸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值