找回密码
 快速注册
搜索
楼主: aaa

请问如何标记直角符号?

[复制链接]

12

主题

23

回帖

209

积分

积分
209

显示全部楼层

 楼主| aaa 发表于 2019-3-18 15:06
回复 11# kuing 谢谢kuing

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

kuing 发表于 2019-3-20 17:04
继续,来试一下仿照 11# 的方法做一个弧标记:
  1. \newlength\hur%弧半径
  2. \newlength\huj%字母与弧的间距
  3. \hur=7pt
  4. \huj=5pt
  5. \newcommand\hubj[5][]{%
  6. \draw[#1] let \p1=(#2),\p2=(#4),\p0=(#3),
  7. \n1={atan2(\y1-\y0,\x1-\x0)},
  8. \n2={atan2(\y2-\y0,\x2-\x0)},
  9. \n3={Mod(\n2-\n1,360)} in
  10. (#3)++(\n1:\hur)arc[start angle=\n1,delta angle=\n3,radius=\hur]
  11. (#3)+(\n1+0.5*\n3:\hur+\huj) node {$#5$};
  12. }
复制代码
用的时候要注意点的顺序,我的设计是让它总是逆时针。
举个栗子:
  1. \tikz{
  2. \coordinate[label=right:$A$] (A) at (2,0);
  3. \coordinate[label=below left:$B$] (B) at (1.75,1.75);
  4. \coordinate[label=left:$C$] (C) at (0,1.5);
  5. \draw (A)--(B)--(C)--cycle;
  6. \hubj ACBx
  7. \hubj BACy
  8. \hubj[red,thick]ABCz
  9. }
复制代码
效果是:
QQ截图20190320170436.png

特别需要指出的是 \n3={Mod(\n2-\n1,360)} 这一句,为什么要 mod 360?不 mod 会出啥问题?大家不妨想想。

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

kuing 发表于 2019-3-20 17:41
将 11# 及楼上的整合在一起,写个测试文档: $type zjbj_hubj.tex (1.72 KB, 下载次数: 983) 其中后面是随机点测试。

我是不是太闲了哩?

手机版|悠闲数学娱乐论坛(第3版)

GMT+8, 2025-3-4 12:15

Powered by Discuz!

× 快速回复 返回顶部 返回列表