当前位置:首页 > 代码 > 正文

代码编写旋转太极图(太极图是旋转图形吗)

admin 发布:2022-12-19 07:51 138


今天给各位分享代码编写旋转太极图的知识,其中也会对太极图是旋转图形吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Python如何运用turtle绘制阴阳太极图

本文详细分析如何使用Python turtle绘制阴阳太极图,先来分解这个图形,图片中有四种颜色,每条曲线上的箭头表示乌龟移动的方向,首先从中心画一个半圆(红线),以红线所示圆的直径作半径画一个校园,半径为红线所示圆半径的0.15倍(蓝线),之所以选择0.15倍,是因为这样嵌入红圆内的小圆直径和红圆直径接近黄金分割。

相关推荐:《Python视频教程》

完整代码:

效果图如下:

VB中如何用Circle方法绘制太极八卦图

先说明一下circle的语法:

object.Circle Step(x, y), radius, [color, start, end, aspect]

object 可选的。 对象表达式,其值为“应用于”列表中的对象。如果object 省略,具有焦点的窗体作为object。

Step 可选的。关键字 ,指定圆、椭圆或弧的中心,它们相对于当前 object 的 CurrentX 和 CurrentY 属性提供的坐标。

(x, y) 必需的。 Single (单精度浮点数),圆、椭圆或弧的中心坐标。object 的 ScaleMode 属性决定了使用的度量单位。

radius 必需的。Single (单精度浮点数),圆、椭圆或弧的半径。 object 的 ScaleMode 属性决定了使用的度量单位。

color 可选的。Long (长整型数),圆的轮廓的 RGB 颜色。如果它被省略,则使用 ForeColor 属性值。可用 RGB 函数或 QBColor 函数指定颜色。

start, end 可选的。 Single (单精度浮点数),当弧、或部分圆或椭圆画完以后,start 和 end 指定(以弧度为单位)弧的起点和终点位置。其范围从 -2 pi 到 2 pi 。起点的缺省值是0; 终点的缺省值是2 * pi。

aspect 可选的。 Single (单精度浮点数),圆的纵横尺寸比。缺省值为 1.0,它在如何屏幕上都产生一个标准圆(非椭圆)。

Private Sub Form_Paint()

Dim pi As Single

pi = 3.1415926

x = Form1.ScaleWidth / 2 'x是窗体宽度的1/2

y = Form1.ScaleHeight / 2 'y是窗体高度的1/2

Form1.Circle (x, y), 500 '大圆以x,y为圆心,500为半径

Form1.Circle (x - 250, y), 250, , 0, pi '小圆半径为大圆1/2,颜色缺省,0、pi分别为圆弧的起点角度与终点角度(用弧度计算)

Form1.Circle (x + 250, y), 250, , pi, 2 * pi

End Sub

我并没有做得那么复杂,但效果就相对简单一点,这样你应该能看懂,可以通过修改圆的坐标、半径、起角终角来看一下效果,应该就很好理解了。至于填充和动态旋转效果我就没做了,免得你越看越昏,如果你需要可以给你做出来。

希望对你有帮助。

用c语言做一个太极图

这个得结合 windows api写 ,我写了一个效果如下:

主要函数的代码如下:

VOID DrawTaiJi( HWND hWnd, 

HDC hDc,

int cxStart,

int cyStart,

int cxEnd,

int cyEnd, 

COLORREF color_yin,

COLORREF color_yang )

{

HBRUSH YinBrush = ::CreateSolidBrush(color_yin);

HBRUSH YangBrush = ::CreateSolidBrush(color_yang);

HPEN YinPen = ::CreatePen(PS_SOLID, 1, color_yin);

HPEN YangPen = ::CreatePen(PS_SOLID, 1, color_yang);

//使用阴笔、阴刷画出大圆

::SelectObject(hDc, YinBrush);

::SelectObject(hDc, YinPen);

::Ellipse(hDc, cxStart, cyStart, cxEnd, cyEnd);

//使用阳笔、阳刷画出半圆与阴中突出的阳半圆

::SelectObject(hDc, YangBrush);

::SelectObject(hDc, YangPen);

::Pie(hDc, cxStart, cyStart, cxEnd, cyEnd, cxStart + (cyEnd - cyStart) / 2 , cyStart, 

cxStart + (cyEnd - cyStart) / 2 , cyEnd);

::Ellipse(hDc, (cxEnd - cxStart) / 4 + cxStart, (cyEnd - cyStart) / 2 + cyStart, 

3 * (cxEnd - cxStart) / 4 + cxStart, cyEnd);

//使用阴笔,阴刷画出阳中突出的阴半圆

::SelectObject(hDc, YinBrush);

::SelectObject(hDc, YinPen);

::Ellipse(hDc, (cxEnd - cxStart) / 4 + cxStart, cyStart, 3 * (cxEnd - cxStart) / 4 + cxStart, 

(cyEnd - cyStart) / 2 + cyStart);

//使用阴笔,阴刷画出阳中突出的阳小圆

int ConValue = (cxEnd - cxStart ) / 200 + 1;

::Ellipse(hDc, (cxEnd - cxStart) / 2 + cxStart - 5 * ConValue,

3 * (cyEnd - cyStart) / 4 + cyStart - 5 * ConValue , 

(cxEnd - cxStart) / 2 + cxStart + 5 * ConValue,

3 * (cyEnd - cyStart) / 4 + cyStart + 5 *ConValue

);

//使用阳笔,阳刷画出阴中的阳小圆

::SelectObject(hDc, YangBrush);

::SelectObject(hDc, YangPen);

::Ellipse(hDc, (cxEnd - cxStart) / 2 + cxStart - 5 * ConValue,

(cyEnd - cyStart) / 4 + cyStart - 5 * ConValue,

(cxEnd - cxStart) / 2 + cxStart + 5 * ConValue,

(cyEnd - cyStart) / 4 + cyStart + 5 * ConValue

);

::DeleteObject(YinBrush);

::DeleteObject(YinPen);

::DeleteObject(YangPen);

::DeleteObject(YangBrush);

}

可能复制代码后你不有直接看到效果,所以我把相关的代码都一起打包了:

我是菜鸟,希望能帮到你,观楼主英俊潇洒,风流倜傥,必当世豪杰,诚邀加入0x30百度贴吧,共商义举,建不世之功!

代码编写旋转太极图的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于太极图是旋转图形吗、代码编写旋转太极图的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/4815.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载