标题:请帮忙解决有关作图画曲线的问题
只看楼主
成昆
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2020-5-30
结帖率:100%
已结贴  问题点数:20 回复次数:5 
请帮忙解决有关作图画曲线的问题
运行截图
中的代码,作出的图
中曲线明显缺了两个角。为什么?应该如何解决?谢谢!
搜索更多相关主题的帖子: 作图 运行 曲线 代码 
2020-05-30 22:24
成昆
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2020-5-30
得分:0 
补充说明一下,我想在打开窗口中显示“三尖瓣线”,但根据曲线方程写出的代码,运行结果,在圆周三分之一,三分之二的两个点位置,曲线并没有划到大圆的圆周上。请帮忙修正前面的代码,或者说说出现这结果的原因。谢谢!
2020-05-30 22:49
成昆
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2020-5-30
得分:0 
今天再查对一遍输入的曲线方程
,公式中R=9,r=3。
2020-05-31 09:56
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
得分:20 
应该是scalemode的问题,下述代码可自适应画三尖瓣线,供楼主参考
程序代码:
Private Sub Form_Load()
  Me.ScaleMode = 1
  Me.AutoRedraw = True
  Dim x As Single, i As Integer, m As Integer, h As Integer, w As Integer
  h = Me.ScaleHeight / 2
  w = Me.ScaleWidth / 2     'h、w值为圆心
  m = w
  If h < w Then m = h
  m = m - 60                'm为原的半径
  Circle (w, h), m
  For x = 0 To 8 * Atn(1) Step 0.001
    PSet (m / 3 * (2 * Cos(x) + Cos(2 * x)) + w, m / 3 * (2 * Sin(x) - Sin(2 * x)) + h)
'    PSet (m * 2 / 3 * Cos(x) + m / 3 * Cos(2 * x) + w, m * 2 / 3 * Sin(x) - m / 3 * Sin(2 * x) + h)
  Next
End Sub

能编个毛线衣吗?
2020-05-31 10:45
cwa9958
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:247
专家分:1228
注 册:2006-6-25
得分:0 
注意 圆的半径通常是按照水平单位来指定的。如果坐标系使用的水平单位和垂直单位是相同的话(按照缺省规定,应当这样),可以不用考虑单位问题。但如果使用的是自定义标尺,则水平单位和垂直单位可能对应不同的长度。
楼主的代码就是自定义标尺,x,y的长度不一定是相等的。你把窗体拉窄点,就会发现左边的两点会在圆的外面了。

解决办法:使x,y的实际值相等。
Private Sub Command1_Click()
    Dim x As Single, h As Single, w As Single
    Const Pi = 3.14159265358979
   
    Cls
    h = Me.ScaleHeight
    w = Me.ScaleWidth
   
    Scale (-20, 20 * h / w)-(20, -20 * h / w)
   
    For x = 0 To 2 * Pi Step 0.001
        PSet (6 * Cos(x) + 3 * Cos(2 * x), 6 * Sin(x) - 3 * Sin(2 * x))
    Next
    DrawStyle = 2
    Circle (0, 0), 9
   
End Sub

[此贴子已经被作者于2020-6-1 14:24编辑过]

2020-06-01 14:08
成昆
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2020-5-30
得分:0 
谢谢你的简便方法!
2020-06-02 10:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-501885-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.152557 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved