瓷器的花纹有什么表现形式?

瓷器的花纹有什么表现形式?,第1张

团菊纹始见于隋代临汝窑,一种团菊中心无花蕊;一种团菊中心为一圆圈,内印作坊主或工匠姓氏。桃花纹常见于明清瓷绘,常用来衬托少女之美,也有配以水波纹的,称为“落花流水”纹。皮球花在清代叫绣球花,是以大小不等的花头作圆形或椭圆形的适合构成,疏密均匀地适合在器物的装饰带中,一般纹样以外的空间大于纹样的比例,对器型适应性强。折枝花纹是在器物的显著部位装饰一枝折下的花卉,与周围纹样无连接关系,多为均衡的形式出现。自元代以来应用很广,如折枝牡丹、折枝梅、折枝桃等纹样。《岁寒三友图》指的是松、竹、梅三种植物,是国画中常见的题材,宋以后常被装饰在器物上。兴于乾隆时的满花纹,俗称“万花”,是在器物的装饰面上满画花朵,形状不一,繁密堆叠,有如万花汇集。

'补模块3文件。一个放不下。

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

' 渲染子程序,将新的帧数据渲染到 lpDIBitsRender 中

' 算法:

' posx = Wave1(x-1,y)-Wave1(x+1,y)+x

' posy = Wave1(x,y-1)-Wave1(x,y+1)+y

' SourceBmp(x,y) = DestBmp(posx,posy)

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Public Sub WaveRender(lpWaveObject As WAVE_OBJECT)

Dim dwPosX As Long, dwPosY As Long, dwPtrSource As Long, dwPtrDest As Long, dwFlag As Long

Dim lpWave1 As Long, LineIdx As Long, LinePtr As Long

Dim lpDIBitsSource As Long, lpDIBitsRender As Long

Dim I As Long, J As Long

dwFlag = 0

With lpWaveObject

'DebugPrint "WaveRender " & dwFlag

If (dwFlag And F_WO_ACTIVE) = 0 Then Exit Sub

dwFlag = dwFlag Or F_WO_NEED_UPDATE

lpWave1 = lpWave1

LineIdx = dwWaveByteWidth '像素指针

For I = 1 To dwBmpHeight - 2

For J = 0 To dwBmpWidth - 1

'

' PosY=i+像素上1能量-像素下1能量

' PosX=j+像素左1能量-像素右1能量

'

'LineIdx = LineIdx - dwWaveByteWidth

LinePtr = lpWave1 + LineIdx - dwWaveByteWidth

pLongPtr(0) = LinePtr

dwPosY = pLong(0)

LinePtr = lpWave1 + LineIdx + dwWaveByteWidth

pLongPtr(0) = LinePtr

dwPosY = dwPosY - pLong(0) + I

LinePtr = lpWave1 + LineIdx - 4

pLongPtr(0) = LinePtr

dwPosX = pLong(0)

LinePtr = lpWave1 + LineIdx + 4

pLongPtr(0) = LinePtr

dwPosX = dwPosX - pLong(0) + J

If dwPosX < 0 Or dwPosY < 0 Then GoTo Continue

If dwPosX >= dwBmpWidth Or dwPosY >= dwBmpHeight Then GoTo Continue

'

' ptrSource = dwPosY dwDIByteWidth + dwPosX 3

' ptrDest = i dwDIByteWidth + j 3

'

'dwPtrSource = dwPosY dwDIByteWidth + (dwPosX + dwPosX 2)

dwPosX = dwPosX + dwPosX 2 'dwPosX 3

dwPtrSource = dwPosY dwDIByteWidth + dwPosX

dwPtrDest = I dwDIByteWidth + (J + J 2) 'dwPtrDest = I dwDIByteWidth + J 3

'

' 渲染像素 [ptrDest] = 原始像素 [ptrSource]

'

lpDIBitsSource = lpDIBitsSource + dwPtrSource

lpDIBitsRender = lpDIBitsRender + dwPtrDest

If dwPtrSource <> dwPtrDest Then

dwFlag = dwFlag Or 1 '如果存在源像素和目标像素不同,则表示还在活动状态

' DebugPrint dwPtrSource & " SR " & dwPtrDest

'CopyMemory ByVal lpDIBitsRender, ByVal lpDIBitsSource, 3

Call WaveGetPixel(lpDIBitsSource, lpDIBitsRender, dwDIByteWidth)

Else

CopyMemory ByVal lpDIBitsRender, ByVal lpDIBitsSource, 3

End If

'

' 继续循环

'

Continue:

LineIdx = LineIdx + 4 '像素++ '指针4个字节

Next 'J

Next 'I

SetDIBits hDcRender, hBmpRender, 0, dwBmpHeight, lpDIBitsRender, stBmpInfo, DIB_RGB_COLORS

If dwFlag = 0 Then dwFlag = dwFlag And (Not F_WO_ACTIVE)

'DebugPrint "WaveRender " & dwFlag

End With

End Sub

Public Sub WaveUpdateFrame(lpWaveObject As WAVE_OBJECT, ByVal hdc As Long, bIfForce As Boolean)

'Dim ret As Long

With lpWaveObject

If bIfForce = True Then GoTo labUpdate

If (dwFlag And F_WO_NEED_UPDATE) Then

'ret = SetDIBitsToDevice(hDcRender, 0, 0, dwBmpWidth, dwBmpHeight, 0, 0, 0, dwBmpHeight, lpDIBitsRender, stBmpInfo, DIB_RGB_COLORS)

'ret = SetDIBits(hDcRender, hBmpRender, 0, dwBmpHeight, lpDIBitsRender, stBmpInfo, DIB_RGB_COLORS)

'SetDIBits hDcRender, hBmpRender, 0, dwBmpHeight, lpDIBitsRender, stBmpInfo, DIB_RGB_COLORS

labUpdate:

BitBlt hdc, 0, 0, dwBmpWidth, dwBmpHeight, hDcRender, 0, 0, SRCCOPY

dwFlag = dwFlag And (Not F_WO_NEED_UPDATE)

End If

End With

End Sub

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

' 扔一块石头

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Public Sub WaveDropStone(lpWaveObject As WAVE_OBJECT, ByVal dwPosX As Long, ByVal dwPosY As Long, ByVal dwStoneSize As Long, ByVal dwStoneWeight As Long)

Dim dwSize As Long

Dim dwX1 As Long, dwX2 As Long

Dim dwY1 As Long, dwY2 As Long, dwY3 As Long

'Dim dwMaxX As Long, dwMaxY As Long

Dim LinePtr As Long

With lpWaveObject

'DebugPrint "WaveDropStone " & dwFlag

'

' 计算范围

'

dwSize = dwStoneSize \ &H2 '2 ^ 1

dwX1 = dwPosX + dwSize

dwX2 = dwPosX - dwSize

If (dwFlag And F_WO_ELLIPSE) Then dwSize = dwSize \ &H2 ' 2 ^ 1

dwY1 = dwPosY + dwSize

dwY2 = dwPosY - dwSize

dwSize = dwStoneSize

If dwSize = 0 Then dwSize = dwSize + 1

'

' 判断范围的合法性

'

If dwX1 + 1 >= dwBmpWidth Or dwX2 < 1 Or dwY1 + 1 >= dwBmpHeight Or dwY2 < 1 Then Exit Sub

'

' 将范围内的点的能量置为 dwStoneWeight

'

While dwX2 <= dwX1

dwY3 = dwY2

While dwY3 <= dwY1

'(x-x0)^2+(y-y0)^2<=r^2 就在圆内

If (dwX2 - dwPosX) (dwX2 - dwPosX) + (dwY3 - dwPosY) (dwY3 - dwPosY) <= dwSize dwSize Then

LinePtr = lpWave1 + (dwY3 dwBmpWidth + dwX2) &H4 '2 ^ 2

pLongPtr(0) = LinePtr

pLong(0) = dwStoneWeight

End If

dwY3 = dwY3 + 1

Wend

dwX2 = dwX2 + 1

Wend

dwFlag = dwFlag Or F_WO_ACTIVE

End With

End Sub

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

' 计算扩散数据、渲染位图、更新窗口、处理特效的定时器过程

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Public Sub WaveTimerProc(ByVal hWnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long)

Dim hdc As Long

Dim dwPosX As Long, dwPosY As Long, dwSize As Long, dwWeight As Long

Dim lpWaveObj As Long

'建立模拟指针

Dim pWAVE_OBJECT() As WAVE_OBJECT

Dim pWAVE_OBJECTPtr() As Long

Dim SApWAVE_OBJECT As SAFEARRAY1D

Dim SApWAVE_OBJECTPtr As SAFEARRAY1D

With SApWAVE_OBJECT

cDims = 1

fFeatures = 0

cbElements = 1

cLocks = 0

pvData = 0

Bounds(0)lLbound = 0

Bounds(0)cElements = 1

End With

With SApWAVE_OBJECTPtr

cDims = 1

fFeatures = 0

cbElements = 4

cLocks = 0

pvData = VarPtr(SApWAVE_OBJECTpvData)

Bounds(0)lLbound = 0

Bounds(0)cElements = 1

End With

CopyMemory ByVal VarPtrArray(pWAVE_OBJECT), VarPtr(SApWAVE_OBJECT), 4

CopyMemory ByVal VarPtrArray(pWAVE_OBJECTPtr), VarPtr(SApWAVE_OBJECTPtr), 4

lpWaveObj = idEvent

pWAVE_OBJECTPtr(0) = lpWaveObj

'DebugPrint "WaveTimerProc " & pWAVE_OBJECT(0)dwFlag

Call WaveSpread(pWAVE_OBJECT(0))

Call WaveRender(pWAVE_OBJECT(0))

With pWAVE_OBJECT(0)

If (dwFlag And F_WO_NEED_UPDATE) Then

hdc = GetDC(hWnd)

Call WaveUpdateFrame(pWAVE_OBJECT(0), hdc, False)

Call ReleaseDC(hWnd, hdc)

End If

'

' 特效处理

'

If (dwFlag And F_WO_EFFECT) = 0 Then Exit Sub

Select Case dwEffectType

'

' Type = 1 雨点,Param1=速度(0最快,越大越慢),Param2=雨点大小,Param3=能量

'

Case 1

'Dim ret As Long

If dwEffectParam1 > 0 Then Call WaveRandom(pWAVE_OBJECT(0), dwEffectParam1) 'ret = WaveRandom(pWAVE_OBJECT(0), dwEffectParam1)

'If ret = 0 Then

dwPosX = WaveRandom(pWAVE_OBJECT(0), dwBmpWidth - 2) + 1

dwPosY = WaveRandom(pWAVE_OBJECT(0), dwBmpHeight - 2) + 1

dwSize = WaveRandom(pWAVE_OBJECT(0), dwEffectParam2) + 1

dwWeight = WaveRandom(pWAVE_OBJECT(0), dwEffectParam3) + 50

Call WaveDropStone(pWAVE_OBJECT(0), dwPosX, dwPosY, dwSize, dwWeight)

'End If

'

' Type = 2 行船,Param1=速度(0最快,越大越快),Param2=大小,Param3=能量

'

Case 2

dwEff2Flip = dwEff2Flip + 1

If (dwEff2Flip And 1) <> 0 Then Exit Sub

dwPosX = dwEff2X + dwEff2XAdd

dwPosY = dwEff2Y + dwEff2YAdd

If dwPosX < 1 Then

dwPosX = -(dwPosX - 1)

dwEff2XAdd = -dwEff2XAdd

End If

If dwPosY < 1 Then

dwPosY = -(dwPosY - 1)

dwEff2YAdd = -dwEff2YAdd

End If

If dwPosX > dwBmpWidth - 1 Then

dwPosX = (dwBmpWidth - 1) - (dwPosX - (dwBmpWidth - 1)) '(dwBmpWidth - 1)2 -dwPosX

dwEff2XAdd = -dwEff2XAdd

End If

If dwPosY > dwBmpHeight - 1 Then

dwPosY = (dwBmpHeight - 1) - (dwPosY - (dwBmpHeight - 1)) '(dwBmpHeight-1)2-dwPosY

dwEff2YAdd = -dwEff2YAdd

End If

dwEff2X = dwPosX

dwEff2Y = dwPosY

Call WaveDropStone(pWAVE_OBJECT(0), dwPosX, dwPosY, dwEffectParam2, dwEffectParam3)

'

' Type = 3 波浪,Param1=密度,Param2=大小,Param3=能量

'

Case 3

Dim I As Long

For I = 0 To dwEffectParam1

dwPosX = WaveRandom(pWAVE_OBJECT(0), dwBmpWidth - 2) + 1

dwPosY = WaveRandom(pWAVE_OBJECT(0), dwBmpHeight - 2) + 1

dwSize = WaveRandom(pWAVE_OBJECT(0), dwEffectParam2) + 1

dwWeight = WaveRandom(pWAVE_OBJECT(0), dwEffectParam3)

Call WaveDropStone(pWAVE_OBJECT(0), dwPosX, dwPosY, dwSize, dwWeight)

Next

End Select

End With

'取消模拟指针

CopyMemory ByVal VarPtrArray(pWAVE_OBJECT), 0&, 4

CopyMemory ByVal VarPtrArray(pWAVE_OBJECTPtr), 0&, 4

End Sub

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

'释放对象

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Public Sub WaveFree(lpWaveObject As WAVE_OBJECT)

With lpWaveObject

If hDcRender > 0 Then DeleteDC (hDcRender)

If hBmpRender > 0 Then DeleteObject hBmpRender

If lpDIBitsSource > 0 Then GlobalFree lpDIBitsSource

If lpDIBitsRender > 0 Then GlobalFree lpDIBitsRender

If lpWave1 > 0 Then GlobalFree lpWave1

If lpWave2 > 0 Then GlobalFree lpWave2

KillTimer hWnd, VarPtr(lpWaveObject)

ZeroMemory ByVal VarPtr(lpWaveObject), Len(lpWaveObject)

'-----------------------------------------------------------

'取消模拟指针

CopyMemory ByVal VarPtrArray(pLong), 0&, 4

CopyMemory ByVal VarPtrArray(pLongPtr), 0&, 4

'-----------------------------------------------------------------

'取消模拟指针

CopyMemory ByVal VarPtrArray(pByte), 0&, 4

CopyMemory ByVal VarPtrArray(pBytePtr), 0&, 4

'-----------------------------------------------------------

End With

End Sub

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

' 初始化对象

' 参数:_lpWaveObject = 指向 WAVE_OBJECT结构体

' 返回:0 成功、 1 失败

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Public Function WaveInit(lpWaveObject As WAVE_OBJECT, ByVal hWnd As Long, ByVal hBmp As Long, ByVal dwSpeed As Long, ByVal dwType As WaveType) As Long

Dim stBmp As BITMAP

Dim dwReturn As Long

Dim ret As Long

Dim hdc As Long

Dim hMDC As Long

'-----------------------------------------------------------------

'建立模拟指针

With SApLong

cDims = 1

fFeatures = 0

cbElements = 1

cLocks = 0

pvData = 0

Bounds(0)lLbound = 0

Bounds(0)cElements = 1

End With

With SApLongPtr

cDims = 1

fFeatures = 0

cbElements = 4

cLocks = 0

pvData = VarPtr(SApLongpvData)

Bounds(0)lLbound = 0

Bounds(0)cElements = 1

End With

CopyMemory ByVal VarPtrArray(pLong), VarPtr(SApLong), 4

CopyMemory ByVal VarPtrArray(pLongPtr), VarPtr(SApLongPtr), 4

'-----------------------------------------------------------------

'建立模拟指针

With SApByte

cDims = 1

fFeatures = 0

cbElements = 1

cLocks = 0

pvData = 0

Bounds(0)lLbound = 0

Bounds(0)cElements = 3

End With

With SApBytePtr

cDims = 1

fFeatures = 0

cbElements = 4

cLocks = 0

pvData = VarPtr(SApBytepvData)

Bounds(0)lLbound = 0

Bounds(0)cElements = 1

End With

CopyMemory ByVal VarPtrArray(pByte), VarPtr(SApByte), 4

CopyMemory ByVal VarPtrArray(pBytePtr), VarPtr(SApBytePtr), 4

'-----------------------------------------------------------------

dwReturn = 0

ZeroMemory ByVal VarPtr(lpWaveObject), Len(lpWaveObject)

'ZeroMemory lpWaveObject, &H84 ' Len(WAVE_OBJECT)

With lpWaveObject

If dwType = sEllipse Then

dwFlag = dwFlag Or F_WO_ELLIPSE

End If

'

' 获取位图尺寸

'

hWnd = hWnd

dwRandom = GetTickCount()

ret = GetObject(hBmp, Len(stBmp), stBmp)

If ret = 0 Then

dwReturn = 1

GoTo result

End If

dwBmpHeight = stBmpbmHeight

'if lpWaveObjectdwBmpHeight < 3 then dwReturn = 1:GoTo result

dwBmpWidth = stBmpbmWidth

'if lpWaveObjectdwBmpWidth < 3 then dwReturn = 1:GoTo result

dwWaveByteWidth = stBmpbmWidth &H4 '2 ^ 2 'dwBmpWidth 4

dwDIByteWidth = (stBmpbmWidth + stBmpbmWidth 2 + 3) And (Not &H3&) '(dwBmpWidth 3 + 3) and ~3 ' ((W 3& + 3&) And (Not 3&))

'

' 创建用于渲染的位图

'

hdc = GetDC(hWnd)

hDcRender = CreateCompatibleDC(hdc)

hBmpRender = CreateCompatibleBitmap(hdc, dwBmpWidth, dwBmpHeight)

'MsgBox hBmpRender

SelectObject hDcRender, hBmpRender

'

' 分配波能缓冲区

'

lpWave1 = GlobalAlloc(GPTR, dwWaveByteWidth dwBmpHeight)

lpWave2 = GlobalAlloc(GPTR, dwWaveByteWidth dwBmpHeight)

'

' 分配像素缓冲区

'

lpDIBitsSource = GlobalAlloc(GPTR, dwDIByteWidth dwBmpHeight)

lpDIBitsRender = GlobalAlloc(GPTR, dwDIByteWidth dwBmpHeight)

'

' 获取原始像素数据

'

'With stBmpInfobmiHeader

stBmpInfobmiHeaderbiSize = Len(stBmpInfobmiHeader) ' &H28 'len(BITMAPINFOHEADER)

stBmpInfobmiHeaderbiWidth = dwBmpWidth

stBmpInfobmiHeaderbiHeight = -dwBmpHeight '- dwBmpHeight

stBmpInfobmiHeaderbiPlanes = 1

stBmpInfobmiHeaderbiBitCount = 24

stBmpInfobmiHeaderbiCompression = BI_RGB

stBmpInfobmiHeaderbiSizeImage = 0

'End With

hMDC = CreateCompatibleDC(hdc)

SelectObject hMDC, hBmp

ReleaseDC hWnd, hdc

GetDIBits hMDC, hBmp, 0, dwBmpHeight, lpDIBitsSource, stBmpInfo, DIB_RGB_COLORS

GetDIBits hMDC, hBmp, 0, dwBmpHeight, lpDIBitsRender, stBmpInfo, DIB_RGB_COLORS

DeleteDC hMDC

If lpWave1 = 0 Or lpWave2 = 0 Or lpDIBitsSource = 0 Or lpDIBitsRender = 0 Or hDcRender = 0 Then

WaveFree lpWaveObject

dwReturn = 1

End If

'DebugPrint "WaveInit " & dwFlag

SetTimer hWnd, ByVal VarPtr(lpWaveObject), dwSpeed, AddressOf WaveTimerProc

dwFlag = dwFlag Or F_WO_ACTIVE Or F_WO_NEED_UPDATE

'DebugPrint "WaveInit " & dwFlag

WaveRender lpWaveObject

hdc = GetDC(hWnd)

WaveUpdateFrame lpWaveObject, hdc, True

ReleaseDC hWnd, hdc

End With

'

result:

WaveInit = dwReturn

End Function

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

' 一些特效

' 输入:dwType = 0 关闭特效

' dwType <> 0 开启特效,参数具体见上面

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Public Sub WaveEffect(lpWaveObject As WAVE_OBJECT, ByVal dwEffectType As WaveEffectType, ByVal dwParam1 As Long, ByVal dwParam2 As Long, ByVal dwParam3 As Long)

Dim dwMaxX As Long, dwMaxY As Long

With lpWaveObject

' DebugPrint "WaveEffect " & dwFlag

Select Case dwEffectType

Case wClose '关闭特效

dwFlag = dwFlag And (Not F_WO_EFFECT)

dwEffectType = dwEffectType

Exit Sub

'Case wrain '下雨

Case wLaunch '汽艇

dwEff2XAdd = dwParam1

dwEff2YAdd = dwParam1

dwEff2X = WaveRandom(lpWaveObject, dwBmpWidth - 2) + 1

dwEff2Y = WaveRandom(lpWaveObject, dwBmpHeight - 2) + 1

' dwEffectType = dwEffectType

' dwEffectParam1 = dwParam1

' dwEffectParam2 = dwParam2

' dwEffectParam3 = dwParam3

' dwFlag = dwFlag Or F_WO_EFFECT

'Case wWaves '风浪

'Case Else '默认

End Select

dwEffectType = dwEffectType

dwEffectParam1 = dwParam1

dwEffectParam2 = dwParam2

dwEffectParam3 = dwParam3

dwFlag = dwFlag Or F_WO_EFFECT

End With

End Sub

http://downteachercncom/Kj/Wlkj/Gzwlkj/2006/200612179681html

1、水波属于什么波?

高忠明(06级博士生):“横波一般只能在固体中传播,不能在液体和气体中传播;而纵波既可以在固体中传播也可在液体和气体中传播。水是液体,由于表面张力,故也可以传播横波。水波(表面波)是比较复杂的机械波,其中既有横波,又有纵波,在中学物理中通常把水波视为横波,这是将水波简化了的缘故。横波是由于拉伸而产生的,而纵波是由于挤压而产生的。那么水面上为什么可以传播横波呢这就是由于水表面张力的缘故,由于有表面张力,因此在振动幅度不太大的情况下,水面也可承受微小拉伸,从而会产生横波;同时振动在水面传播的过程中也会有挤压,于是也就能形成纵波。由此可见,严格地说水波应该是横波和纵波的复合波。

余丽君(04级硕士生):书上的答案是:纵向横向振动混合而成的混合波。

高忠明(06级博士生):可以合成,这里指的是水面上的波,不涉及水面下的波,相当于互相垂直方向上的两个波的合成。

杜明荣(05级博士生):水面波和深水波是由于圆、椭圆形态的不同而形成的,多数情况下是混合而成的。潜水为横波,深水为纵波。但是在中学教学中不要搞得太复杂,这些问题提出来学生很容易混淆,不提为好。

(三)牛顿理论中的波动性思想

他提出:“扔一石头到平静的水面中,由此激起的水波将在石头落水的地方持续一段时间,并从这里以同心圆的形式在水面上向远处传播.空气用力撞击所激起的振动和颤动也将持续少许时间,并从撞击处以同心球的形式传播到远方,

欢迎分享,转载请注明来源:浪漫分享网

原文地址:https://hunlipic.com/meirong/11431938.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-11-30
下一篇2023-11-30

发表评论

登录后才能评论

评论列表(0条)

    保存