pst-3dplot 与 pst-solides3d 中的测量结果

pst-3dplot 与 pst-solides3d 中的测量结果

我的目标是在使用 构造的“圆锥底”多边形上绘制一个外接圆pst-solides3d。外接是指多边形的角从内部接触圆。

我尝试强制对圆锥体进行半径测量,带有选项,但这与规范中的r=2两个半轴向量不一致。(0,1,0)(1,0,0)\pstThreeDCircle

底部带圆圈的垂直圆锥体

如何\pstThreeDCircle使用两个包的对齐测量值来指定 \psSolid[object=cone]` 中的测量值?

\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{pst-solides3d}
\usepackage{pst-3dplot}
\begin{frame}{Keglens overflade}
    % Voss: "PSTricks  - Grafik mit PostScript für Tex und LaTeX", p. 421
    \psset{lightsrc=10 5 20,viewpoint=50 20 30 rtp2xyz,Decran=20}
    \begin{pspicture}(-2,-2)(2,3)
        \pstThreeDCircle[linecolor=red](0,0,0)(0,1,0)(1,0,0)
        \psSolid[object=cone,h=5,r=2](0,0,0)
    \end{pspicture}
\end{frame}
\end{document}

注意:我添加了,h=5,r=2锥体高度和半径的锥体选项,​​以符合pst-solides3d 文档

我尝试按照建议交换 PSTrick 包的加载顺序这里没有效果。

我尝试按照建议 viewpointAplhaBeta这里 只是让圆锥体膨胀并覆盖住(倾斜的)圆圈。

答案1

运行lualatex

\documentclass{article}
\usepackage{pstricks}
\usepackage{pst-solides3d}
\begin{document}
    
\begin{pspicture}(-3,-2)(3,7.5)
    \psset{viewpoint=50 20 20 rtp2xyz,Decran=50, lightsrc=viewpoint} 
    \psSolid[object=cone,
    ngrid=20 24,
    r=2, h=6,
    fillcolor=yellow!25,
    intersectiontype=0,
    intersectionplan={
        [0 0 1 0]
        [0 0 1 -1]
        [0 0 1 -2]
        [0 0 1 -3]},
    intersectioncolor=(bleu) (rouge) (vert) (rose),
    intersectionlinewidth=2 2.5 2.8 3.2,
    linewidth=0.1pt,
    linecolor=black!20,
    action=draw**]
    \axesIIID(2,2,6)(3,3,7)
\end{pspicture}
    
\end{document}

在此处输入图片描述

答案2

h=0我可以通过绘制一个圆柱体来填充 3d 圆来解决评论中指出的不合理之处:

\documentclass{beamer}
\usepackage{pstricks}
\usepackage{pst-solides3d}
\begin{document}
\begin{frame}{Keglens overflade}
  \begin{pspicture}(-2,-1)(2,3)
    \psSolid[object=cone,h=5,r=2](0,0,0)
    \psSolid[object=cylindre,linecolor=red,linewidth=2pt,mode=5,h=0,r=2](0,0,-0.5)
  \end{pspicture}
\end{frame}
\end{document}

结果: 底面为圆的圆锥体画成圆柱体

相关内容