如何绘制具有不同线条粗细的圆弧?

如何绘制具有不同线条粗细的圆弧?

我正在尝试重新绘制现有图形蒂克兹作为学习它的练习。这次我选择了一个有趣的标志,我在画弧线时遇到了困难。这是标志 原始徽标

我注意到红色的弧线看起来几乎像一个不完整的椭圆,并arc在手册中找到了有趣的选项。这可能不是最好的方法,因为弧线的末端(靠近最后一个“n”)似乎偏离了椭圆形状。无论如何,我真正感兴趣的不是弧线的构造(我可能会为此提出一个单独的问题),而是我如何绘制具有不同线的粗细即它开始时非常薄,然后再次平稳地增加和减少。

这是我目前得到的结果(注意:字体不正确……可能是专有的):

\begin{tikzpicture}[font=\sffamily]
  % font: the 'n' has some funny curvature

  \definecolor{infblue}{HTML}{0066b3}
  \definecolor{infred}{HTML}{ec1840}
  % guessing boundary conditions
  \coordinate (upperred) at (2.,1.6);
  \coordinate (rightred) at (3.6,0.7);

  % helpers 
  \fill[gray] (upperred) circle (1pt);
  \fill[gray] (rightred) circle (1pt);
  %\draw (upperred) .. controls (-4,4) and (6,0) .. (rightred);
  %\draw plot [smooth,tension=0.7] coordinates {(upperred) (Iblue) (rightred)};

  \node[rectangle] at (2,1) {\Huge \textcolor{infblue}{Infineon}};
  \draw[thick,infred] (upperred) arc[start angle=85,end angle=330,x radius=18mm, y radius=6mm];

  % todo: initial 'I' is shorter. replace.
  \end{tikzpicture}

tikz 生成的徽标

答案1

这里有一个 TikZ 版本,虽然它被“欺骗”了:它不绘制弧线,而是在红色椭圆上覆盖一个白色椭圆:

\documentclass[parskip]{scrartcl}
\usepackage[margin=15mm]{geometry}
\usepackage{tikz}
\usepackage{kurier}

\begin{document}
\begin{tikzpicture}[scale=0.5, every node/.style={font=\fontsize{70}{70}\selectfont}];
\fill[red] (0,0) circle (10cm and 5cm);
\fill[white] (0.5,0.5) circle (9.5cm and 4.75cm);
\node[blue] at (0,1.3) {infineon};
\fill[white] (-8.1,2.8) circle (0.7cm);
\fill[blue] (-8.1,2.8) circle (0.5cm);
\end{tikzpicture}
\end{document}

在此处输入图片描述


编辑1:我对其进行了一些调整:使用了更好的字体,并且使用了您的颜色:

\documentclass[parskip]{scrartcl}
\usepackage[margin=15mm]{geometry}
\usepackage{tikz}
%\usepackage[condensed,math]{iwona}
\usepackage{iwona}
\usepackage[T1]{fontenc}

\begin{document}
\begin{tikzpicture}[scale=0.5, every node/.style={font=\fontsize{70}{70}\selectfont}];
\definecolor{infblue}{HTML}{0066b3}
\definecolor{infred}{HTML}{ec1840}

\fill[infred] (0,0) circle (10cm and 5cm);
\fill[white] (0.5,0.5) circle (9.5cm and 4.75cm);
\node[infblue] at (-0.20,0.8) {\textbf{Infineon}};
\fill[white] (-8,2.9) circle (0.7cm);
\fill[infblue] (-8,2.9) circle (0.5cm);
\end{tikzpicture}
\end{document}

在此处输入图片描述


编辑2:因为我对省略号不满意,所以我把它改得更接近原文:

\documentclass[parskip]{scrartcl}
\usepackage[margin=15mm]{geometry}
\usepackage{tikz}
%\usepackage[condensed,math]{iwona}
\usepackage{iwona}
\usepackage[T1]{fontenc}

\begin{document}
\begin{tikzpicture}[scale=0.5, every node/.style={font=\fontsize{70}{70}\selectfont}];
\definecolor{infblue}{HTML}{0066b3}
\definecolor{infred}{HTML}{ec1840}

\fill[infred] (0,0) circle (10cm and 5cm);
\fill[white] (0.5,0.25) circle (9.8cm and 4.75cm);
\node[infblue] at (-0.20,0.4) {\textbf{Infineon}};
\fill[white] (-8,2.9) circle (0.7cm);
\fill[infblue] (-8,2.9) circle (0.5cm);
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

运行它xelatex

\documentclass{scrartcl}
\usepackage{libertineotf}
\usepackage{pst-plot,pst-node}

\begin{document}

\psset{endLW=12pt}
\begin{pspicture}(-4,-2)(4,2)
\rput(0,0){\psscalebox{4}{\textcolor{blue}{\rnode[t]{I}{l}nfinion}}}
\psparametricplot[variableLW,startLW=1pt,plotpoints=500,
   linecolor=red!80]{90}{180}{t cos 3.2 mul t sin 1.2 mul}
\psparametricplot[variableLW,startLW=1pt,plotpoints=1000,
   linecolor=red!80]{350}{180}{t cos 3.2 mul t sin 1.2 mul}
\pscircle[linecolor=white,linewidth=1mm,
          fillstyle=solid,fillcolor=blue]([Ynodesep=7pt,angle=100]I){3mm}
\end{pspicture}

\end{document}

在此处输入图片描述

相关内容